beanshell,安卓手机用什么软件来编辑运行lua?
在Android手机上编写并运行lua脚本 利用开源项目SL4A(ScriptingLayerforAndroid项目地址:可以快速在Android手机上搭建各种脚本运行环境。目前SL4A支持Python,Perl,JRuby,Lua,Beanshell,JavaScript,Tcl,shell等脚本语言。
1、下载并安装SL4A运行环境 这个应用提供了各种脚本的运行环境,通过拆apk可以看到应用内嵌了两个.so动态链接库。其中一个是ConnectBot的库,另一个是7.9K大小的脚本执行库,但显然不是脚本语言解析库。具体关于SL4A的原理,可以参考博文:《SL4A之实现原理解析》
2、下载Luaforandroid支持lua_for_android_r1.apk
3、运行Luaforandroid,它将从网络下载一些Lua脚本Demo。这些例子在SL4A中运行。 使用SL4A可以在Android手机上直接运行Lua等脚本。
企业一般用JDK哪个版本?
现在企业开发一般都用的是jdk8。我的建议,当然也是我们公司目前的情况, 选择开发环境和部署环境,关键还要看是做项目还是做平台, 做项目的话,根据项目实际情况,从非功能性需求,(可靠性,稳定性,可扩展性,可移植性,性能,易用性,开发人员技术,可用性,可维护性等多方面考虑),选择开发环境和部署环境也就属于非功能性需求的一部分,其实已经可以决定了 做平台的话,当然就是长远来考虑,稳定性和可靠算是最主要的考虑因素,当然做平台就会考虑支持从1.5到最新版本都支持,这也就不存在选择的问题,而是通用性的问题。
JDK 11 目前出现了4个JEP,计划于 2018 年 9 月发布。
JEP 309: 动态类文件常量。JEP 318: 低开销垃圾收集器 Epsilon。JEP 320: 移除 Java EE 和 CORBA 模块。JEP 323: Lambda 参数的本地变量语法。JDK 10
JDK 10 按计划将于2018年3月20日发布。新特性有:
JEP 286: 局部变量的类型推导。该特性在社区讨论了很久并做了调查,可查看 JEP 286 调查结果。JEP 296: 将 JDK 的多个代码仓库合并到一个储存库中。JEP 304: 垃圾收集器接口。通过引入一个干净的垃圾收集器(GC)接口,改善不同垃圾收集器的源码隔离性。JEP 307: 向 G1 引入并行 Full GC。JEP 310: 应用类数据共享。为改善启动和占用空间,在现有的类数据共享(“CDS”)功能上再次拓展,以允许应用类放置在共享存档中。JEP 312: 线程局部管控。允许停止单个线程,而不是只能启用或停止所有线程。JEP 313: 移除 Native-Header Generation Tool (javah)JEP 314: 额外的 Unicode 语言标签扩展。包括:cu (货币类型)、fw (每周第一天为星期几)、rg (区域覆盖)、tz (时区) 等。JEP 316: 在备用内存设备上分配堆内存。允许 HotSpot 虚拟机在备用内存设备上分配 Java 对象堆。JEP 317: 基于 Java 的 JIT 编译器(试验版本)。JEP 319: 根证书。开源 Java SE Root CA 程序中的根证书。JEP 322: 基于时间的版本发布模式。“Feature releases” 版本将包含新特性,“Update releases” 版本仅修复 Bug 。JDK 9
JDK 9 于2017年9月21日发布。新特性有:
模块化 —— Jigsaw交互式命令行 —— JShell默认的垃圾回收器 —— G1进程操作改进竞争锁的性能优化分段代码缓存优化字符串占用空间这个版本中最引人注目的时候模块化,通过这个工作,可以构建更小的运行时环境,只需要包括Java平台中任务依赖的部分。这可以更好地适应云端的开发。
具体的特性包括:
JEP 102: 改善了控制和管理操作系统进程的 API。JEP 110: 定义了一个新的 Http 客户端 API,它实现了 和 ,并且可以替代遗留的 API。该 API 将会以一个 incubator 模块的形式进行交付。JEP 143: 提高竞争 Java 对象的监视性能。JEP 158: 统一 JVM 的日志。JEP 165: 通过支持运行时管理来增加对 JVM 编译器的管理。JEP 193: 对变量处理的改进。JEP 197: 将代码缓存划分成不同的段。JEP 200: 采用 Java 平台模块化系统(Java Platform Module System,JPMS)对JDK进行模块化。JEP 201: 源代码模块化。JEP 211: 在 import 语句中 省略 的警告。JEP 212: 解决 lint 和 doclint 警告。JEP 213: Project Coin 的改变JEP 214: 移除 JDK 8 中 GC 组合器的废弃说明。JEP 215: 在 javac 中实现了一个新的类型检测策略。JEP 216: 正确地处理导入声明。JEP 217: 注解流水线 2.0。JEP 219: 定义了数据传输层安全(Datagram Transport Layer Security, DTLS)API。JEP 220: 模块化运行时镜像。JEP 221: 简化 API。JEP 222: jshell - Java 中的交互式命令行。JEP 223: 新的版本字符串模式。JEP 224: 增强了 javadoc 工具来生成 HTML5 标记。JEP 225: 增加了 javadoc 搜索。JEP 226: UTF-8 属性文件资源的Bundle相关变化。JEP 227: Unicode 7.0。JEP 228: 增加更多可诊断的命令。JEP 229: 将默认的秘钥库从 JKS 替换为 PKCS12。JEP 231: 移除运行时 JRE 版本选择。JEP 232: 增强了安全相关应用的性能。JEP 233: 开发了一个工具来自动测试运行时编译器。JEP 235: 增加关于 javac 生成类文件属性的 测试。JEP 236: 定义了解析 API 来支持 Nashorn 的 ECMAScript 抽象语法树。JEP 237: Linux/AArch64 端口相关。JEP 238: 多版本 JAR 文件。JEP 240: 移除 JVM 的 TI hprof 客户端。JEP 241: 移除 jhat 工具。JEP 243: 提供 Java 语言级的 JVM 编译接口。JEP 244: TLS 应用层协议协商。JEP 245: 验证 JVM 命令行标志参数。JEP 246: 利用 CPU 指令提升 GHASH 和 RSAd 的性能。JEP 247: 对老平台版本的编译支持。JEP 248: G1 作为默认的垃圾回收器。JEP 249: 基于 TLS 实现 OCSP Stapling。JEP 250: 在类数据分享(CDS)归档中存储 interned 字符串。JEP 251: 多方案镜像。JEP 252: 默认使用 CLDR Locale Data。JEP 253: 为 JavaFX UI 控制 和 CSS API 的模块化做准备。JEP 254: 采用一个空间更加高效的 String 内部表示。JEP 255: 合并 Xerces 2.11.0 中的更新。JEP 256: BeanInfo 注解调整。JEP 257: 更新 JavaFX/Media 中 GStreamer 的版本。JEP 258: 使用 HarfBuzz 作为字体布局引擎。JEP 259: 定义了一个高效标准的 Stack-Walking API。JEP 260: 封装大部分的内部 API。JEP 261: 实现模块化系统。JEP 262: 支持 TIFF 图像 I/O。JEP 263: 实现 Windows 和 Linux 高分辨率图像接口。JEP 264: 平台日志 API 和 服务。JEP 265: Java 2D 使用 Marlin Graphics Renderer。JEP 266: 并发相关的一些更新。JEP 267: 支持 Unicode 8.0。JEP 268: 支持 XML 目录。JEP 269: 增加一些集合类创建的工厂方法。JEP 270: 为临界区预留栈的某些区域。JEP 271: 统一 GC 日志。JEP 272: 增加特定平台的桌面特性。JEP 273: Deterministic Random Bit Generator (DRBG) 的实现。JEP 274: 增强方法处理器。JEP 275: Java 应用模块化打包。JEP 276: 语言定义对象模型的动态链接。JEP 277: 改善 Deprecation。JEP 278: 为 G1 中的巨大对象增加测试。JEP 279: 改进测试故障排除。JEP 280: 指示字符串串联。JEP 281: HotSpot C++ 单元测试框架。JEP 282: Java连接器 jlink。JEP 283: 在 Linux 上支持 GTK 3。JEP 284: 新的 HotSpot 构建系统。JEP 285: 自旋等待提示。JEP 287: 实现 SHA-3 Hash 算法。JEP 288: 禁止 SHA-1 验证。JEP 289: 废弃 Applet API。JEP 290: 过滤输入的序列化数据。JEP 291: 废弃 Concurrent Mark Sweep (CMS) 垃圾收集器。JEP 292: 在 Nashorn 中支持 ECMAScript 6 特征。JEP 294: Linux/s390x 端口。JEP 295: 提前编译。JEP 297: 统一 arm32/arm64 端口。JEP 298: 移除过时的例子。JEP 299: 重新组织文档。JDK 8
JDK 8 于2014年3月14号发布。从 Java 8 开始开发代号已经弃用了。新特性有:
Lambda 表达式Pipelines 和 StreamsDate 和 Time APIDefault 方法Type 注解Nashhorn JavaScript 引擎并发计数器Parallel 操作移除 PermGen ErrorTLS SNI第三个有里程碑意义的 Java 版本。其中最引人注目的便是 Lambda 表达式了,从此 Java 语言原生提供了函数式编程能力。Java 8 更加适应海量云计算的需要。
具体的特性包括:
JEP 117: 移除注解处理工具(Annotation-Processing Tool,apt)。JEP 124: 增强证书撤销检查 API。JEP 130: 实现 SHA-224 消息摘要算法。JEP 131: 在 64-bit Windows 中支持 PKCS#11。JEP 112: Charset 实现改善。JEP 129: 实现 NSA Suite B 加密算法。JEP 105: DocTree API。JEP 106: 扩展 API 来支持 javadoc 的访问。JEP 113: 在 JDK 的 Kerberos 5 中添加 MS-SFU 扩展。JEP 114: TLS Server Name Indication (SNI) 扩展。JEP 121: 提供更强的 Password-Based-Encryption (PBE) 算法实现。JEP 122: 移除永久带(Permanent Generation)。JEP 127: 改善 Locale Data Packaging,并且采用 Unicode CLDR Data。JEP 128: Unicode BCP 47 本地匹配。JEP 133: 支持 Unicode 6.2。JEP 136: 增强错误验证。JEP 153: 启动 JavaFX 应用。JEP 177: 优化 。JEP 103: 并行数组排序。JEP 135: Base64 编码和解码。JEP 138: 基于 Autoconf 的自动构建系统。JEP 139: 增强 javac 来提高构建速度。JEP 142: 减少对于特定域的高速缓存的争夺。JEP 147: 减少类元数据占用。JEP 148: 支持小虚拟机(不超过3M)的创建。JEP 149: 减少核心库的内存使用。JEP 150: 新的 Date 和 Time API。JEP 160: lambda 函数表达式。JEP 164: 利用 CPU 指令进行 AES 加密。JEP 166: 针对JKS、JCEKS、PKCS12秘钥存储的修改。JEP 170: JDBC 4.2。JEP 172: DocLint。JEP 173: 放弃一些很少使用的 GC 组合。JEP 101: 泛华目标类型接口。JEP 104: 在 Java 类型上加注解。JEP 107: 增加集合的批量数据操作。JEP 109: 在核心库中增加 Lambda 表达式。JEP 115: 认证加密的密码套件。JEP 118: 在运行时访问参数名称。JEP 119: 通过反射实现 API。JEP 120: 重复注解。JEP 123: 可配置的安全随机数生成。JEP 126: lambda 表达式和虚拟扩展方法。JEP 140: 限制的 doPrivileged。JEP 155: 并发库更新。JEP 161: 紧凑版本。JEP 162: 为模块化做准备。JEP 171: 在 中增加三个内存排序相关的指令。JEP 174: Nashorn JavaScript 引擎。JEP 176: 提供调用者敏感的检测机制。JEP 178: 静态链接的 jni 库。JEP 179: JDK API 的文档的支持和稳定。JEP 180: 对于频繁冲突的 HashMap 使用平衡树。JEP 184: HTTP URL的权限。JEP 185: 限制外部 XML 资源的获取。JDK 7
开发代号是 Dolphin(海豚),于2011年7月28日发行。新特性有:
语句块中允许以字符串作为分支条件;在创建泛型对象时应用类型推断;在一个语句块中捕获多种异常;支持动态语言;支持 ;引入 Java NIO.2 开发包;数值类型可以用2进制字符串表示,并且可以在字符串表示中添加下划线;钻石型语法; 值的自动处理。这个版本中的主要的特性是 NIO2 和 Fork/Join 并发包,Java 虚拟机的稳定性真正做到的工业级,成为一个计算平台而服务于全世界。
JDK 6
开发代号为 Mustang(野马),于2006年12月11日发行。新特性有:
支持脚本语言;引入 JDBC 4.0 API;引入 Java Compiler API;可插拔注解;增加对 Native PKI(Public Key Infrastructure)、Java GSS(Generic Security Service)、Kerberos 和 LDAP(Lightweight Directory Access Protocol) 的支持;继承 Web Services;做了很多优化。这个语言语法改进不多,但在虚拟机内部做了大量的改进,成为一个相当成熟稳定的版本,时至今日国内的很多公司依然以 Java6 作为主要 Java 开发版本来使用。
同年 Sun 公司做出一个伟大的决定,将 Java 开源。OpenJDK 从 Sun JDK 1.7 版本分支出去,成为今天 OpenJDK 的基础。
JDK 5
开发代号为Tiger(老虎),于2004年9月30日发行。新特性包有:
引入泛型;增强循环,可以使用迭代方式;自动装箱与自动拆箱;类型安全的枚举;可变参数;静态引入;元数据(注解);引入 Instrumentation。Sun 不再采用 J2SE, J2EE 这种命名方式,而使用 Java SE 5, Java EE 5 这样的名称。
Java 5 是第二个里程碑式的版本。Java 语言语法发生很大的变化,如注解 (Annotation),装箱 (Autoboxing),泛型 (Generic),枚举 (Enum),foreach 等被加入,提供了 java.util.concurrent 并发包。
Java 5 对于 Java 语言的推动是巨大的,特别是注解的加入,使得语言定义灵活了很多,程序员可以写出更加符合领域定义的描述性程序。
JDK 1.4
开发代号为 Merlin(隼),于2004年2月06日发行(首次在JCP下发行)。新特性有:
XML 处理;Java 打印服务;引入 Logging API;引入 Java Web Start;引入 JDBC 3.0 API;引入断言;引入 Preferences API;引入链式异常处理;支持 IPv6;支持正则表达式;引入 Image I/O slot machine API。Java 语言真正走向成熟,提供了非常完备的语言特性,如 NIO,正则表达式,XML 处理器等。
同年微软的.NET 框架发布,两者开始了为期十几年的暗自竞争。从语言特性上来说,.NET 后发先至,一直处于优势。但 Java 依赖良好的开发者生态,绝大多数大型软件公司的使用者众多和不断贡献,以及对 Linux 操作系统良好的支持,渐渐的在服务器端获得优势地位。
JDK 1.3
开发代号为 Kestrel(红隼),于2000年5月08日发行。新特性有:
引入Java Sound API;jar 文件索引;对 Java 的各个方面都做了大量优化和增强。J2EE 中的 Servlet 规范获得了极大的成功,伴随着互联网的兴起,和浏览器直接通过 HTTP 协议交互的 Servlet,和众多的 MVC 框架,成为 Web1.0 的网红。
JDK 1.2
开发代号为 Playground(操场),于1998年12月8日发行。新特性有:
引入集合(Collection)框架;对字符串常量做内存映射;引入 JIT(Just In Time) 编译器;引入对打包的 Java 文件进行数字签名;引入控制授权访问系统资源的策略工具;引入 JFC(Java Foundation Classes),包括 Swing 1.0、拖放和 Java 2D 类库;引入 Java 插件;在 JDBC 中引入可滚动结果集、BLOB、CLOB、批量更新和用户自定义类型;在 Applet 中添加声音支持。Java 第一个里程碑式的版本。JIT(Just in time)编译器技术,使得语言的可迁移性和执行效率达到最优的平衡,同时 Collections 集合类设计优良,在企业应用开发中迅速得到了广泛使用。
Sun 公司把 Java 技术体系分成三个方向,分别是 J2SE(面向桌面和通用应用开发),J2EE(面向企业级应用开发),J2ME(面向移动终端开发)。这个分类影响非常久远,体现出主流语言设计者的思想:针对于不同的应用领域,在形态,API 集合等进行划分。
JDK 1.1
于 1997年2月19日发行,新特性有:
引入JDBC(Java Database Connectivity);支持内部类;引入Java Bean;引入RMI(Remote Method Invocation);引入反射(仅用于内省)。Java 语言的基本形态基本确定了,比如反射 (reflection), JavaBean, 接口和类的关系等等,一直到今天都保持一致。然而,Java 最初的一些目标,如在浏览器中执行 Applet,以及跨平台的图形界面 Awt 很快遭遇到负面的评价。
JDK 1.0
开发代号为Oak(橡树),于1996年1月23发行。特点有:
提供了一个解释执行的 Java 虚拟机;Applet 能在 Mozilla 浏览器中运行。Java 的 Applet 能在 Mozilla 浏览器中运行,被看作是未来的互联网语言。
起源
Java 语言源于 1991 年 Sun 公司 James Gosling 领导的的 Ork 项目,1995 年 Sun 公司正式起名为 Java,并提出“Write once, Run anywhere"的口号。
程序员喜欢的编辑器有哪些?
观点
关于这个问题,和你使用的编程语言是什么会有很大的关系。
老K作为一个会用到JavaScript、Java和Python的IT工作者,平时喜欢用和自己使用过的编辑器有以下几种:
Atom: 老K主要用于前端的开发,界面非常舒适,使用非常顺畅;Sublime Text: 一个超轻量级的编辑器,又能满足大多数代码编辑需要;PyCharm: JetBrain开发的代码编辑器,如果你用Python开发项目,特别是企业级项目,这个工具非常好用!Visual Studio Code: 微软出品,代码编辑器的集大成者,相信每个程序员都会有一个自己的vscode;WebStorm: JetBrain另一款产品,主要针对前端开发,做网页开发的小伙伴可以考虑试试;Jupyter Notebook: 属于Anaconda下的代码编辑器,主要是在人工智能、机器学习相关项目时使用。部分代码编辑器,老K在其它文章里有更详尽的介绍:
【点击直达】JetBrain系列产品免费激活方式(PyCharm、WebStorm、PHPstrom、intellijIDEA等适用)【点击直达】Anaconda安装教程,含配置环境(包含JupyterNotebook,Spyder等编辑器):汇总另外,老K还用代码整理了头条上大家对“程序员喜欢的编辑器有哪些?”这个问题的反馈,进行了简单的统计和分析,帮助各位全方位地了解大家对这个问题的理解。
编写代码耗时费力,如果你看到这里,希望能点赞支持一下。
以下内容主体来自程序整理结果,不代表答主个人意见:
统计日期:2021-10-15共统计到48条该问题下的相关记录大家提及较多的观点如下(根据当前提及次数和累计点赞综合评价进行排序):
1. Sublime Text 提及:12人次 累计419个赞同以下关于Sublime Text的评论汇总自加米谷大数据张衡、SOWORD科技言、路人甲在该问题下的回答:
加米谷大数据张衡:Sublime 的特色是有良好的扩展功能(包管理器)、允许第三方库、速度快、轻量级、发布快、支持多平台、UI简洁强大。不过如果不购买许可证免费使用,会有弹窗消息提示比较烦人。
SOWORD科技言:第一选项是Sublime Text,最常用的开发编程器;
路人甲:Sublime text是路人甲最喜欢的编译器,也一定是众多开发者的最佳选择,所以作为第一选项!
2. Visual Studio Code 提及:16人次 累计109个赞同以下关于Visual Studio Code的评论汇总自码农45、MrDeng008、SOWORD科技言、米其林河粉在该问题下的回答:
SOWORD科技言:vscode常用的基本语言都能开发;码农45: 喜欢和推荐了Eclipse、HBuilder、vscode、androidstore、notepad++等;米其林河粉: 一般的代码编辑器需要很久才更新一次,但vs code的更新频率可以让你刮目相看!MrDeng008: 目前的ide开发工具中,vscode和jetbrain可能是最好的3. vim 提及:11人次 累计53个赞同以下关于vim的评论汇总自cleanairdoris、程序员老孙正经胡说、大学生编程指南在该问题下的回答:
程序员老孙正经胡说: 总是喜欢使用 vim编辑器,即使是使用带有 GUI的编辑器,我也喜欢用 vimkeymapping,否则会觉得很讨厌。cleanairdoris: 业余时间正在学习 go语言,摸索了sublime, vim, gogland,最后还是觉得 vscode最爱,默认的黑色主题是黑色,不想用任何形式去做任何事情,只需安装一个插件即可。大学生编程指南: vim编辑器4. pycharm 提及:8人次 累计64个赞同以下关于pycharm的评论汇总自因特理臻、喵星人传奇在该问题下的回答:
因特理臻: 对于集成开发工具编辑器,visual studio,androidstudio,pycharm这些你都说是编辑器,但不是单纯的编辑器;喵星人传奇: 如果你是后台程序开发工程师,就要看用的是哪种开发语言了。java可以使用eclipse,php开发可以用phpstorm,python推荐pycharm5. eclipse 提及:10人次 累计41个赞同以下关于eclipse的评论汇总自码农45、IT达人说、喵星人传奇在该问题下的回答:
喵星人传奇: 如果你是后台程序开发工程师,就要看用的是哪种开发语言了。java可以使用eclipse,php开发可以用phpstorm,python推荐pycharm;码农45: 其实用得最多的还是eclipse,因为习惯了。虽然有人说idea效率更高,但我不觉得。我也用过idea,似乎不如eclipse方便;IT达人说: 开发java或android,一般会用eclipse编辑器6. intellijIDEA 提及:7人次 累计43个赞同以下关于intellijIDEA的评论汇总自编程老妖在该问题下的回答:
编程老妖: 不太明确问题想问的是什么。编辑器可以分两类,一是记事本,二是ide。IDE的话可以考虑intellijIDEA。7. notepad++ 提及:10人次 累计18个赞同以下关于notepad++的评论汇总自码农45、IT达人说、编程老妖在该问题下的回答:
编程老妖: 不太明确问题想问的是什么。编辑器可以分两类,一是记事本,二是ide。记事本的话可以考虑notepad++;码农45: notepad++,为了临时记录一些东西方便会用,不过用处也不多。以前做node.js开发,编辑器是用notepad++,倒是挺好用;IT达人说: 编写shell、tcl、php等这些脚本,一般会用source insight, ue, vi,notepad++等编辑器8. Atom 提及:6人次 累计23个赞同以下关于Atom的评论汇总自加米谷大数据张衡、世界第一S686、HuayraJ在该问题下的回答:
世界第一S686: Atom是一款免费开源的代码编辑器,也是一个十分适合跨平台使用的编辑器,它在Windows、Linux和OS X都可以使用;加米谷大数据张衡: Atom 是一个比较新的跨平台文本编辑器,2014年2月在Github 上推出,用 Electron 框架开发而成;HuayraJ: Atom的界面十分大气和简洁,大多数编程语言都支持,而且免费!9. NetBeans 提及:3人次 累计4个赞同以下关于NetBeans的评论汇总自八戒程序猿在该问题下的回答:
八戒程序猿: NetBeans被认为是过去10年发展最好的IDE,它真正做到了模块化,所有的功能都被封装成模块包。它既适用于Java开发,也支持其它编程语言,比如PHP、C/C ++以及HTML510. HBuilder 提及:2人次 累计4个赞同以下关于HBuilder的评论汇总自鹏恺在该问题下的回答:
鹏恺: HBuilder专注于HTML、js、css。HBuilder有HTML、js、css的语法解析引擎,它能很好地认识你地代码,知道该提示什么,你写的每个变量和函数,它都会计算类型和返回值,这个事情并不容易。全世界js语法处理最好的3个编辑器就是HBuilder、VS、webstorm。
以上是我通过代码进行统计整理的结果,希望这篇总结能帮助你更便捷和快速的了解到大家对这个问题的看法。
如果你觉得我的回答对你有帮助的话,请您顺手点击一下赞同,好让更多人看到哦~!
老K,非著名IT创业者,专注分享实战项目和最新行业资讯,已累计分享超1000实战项目!
关注@老K玩代码,获取更多实战项目和技术分享。
有哪些能提升自己的软件推荐?
摘要:在我认识的所有程序员里,每个人几乎都有专属于自己的常用工具和相关资源,今天给大家奉上数十个程序员硬核工具,我相信这里总有一款工具是属于你的!
程序员生产力工具大全如下:1. Idea-Intellij IDEA (java 编程语言 开发的集成环境)
业界排名第一的java开发工具,非常非常好用,如果还在用eclipse的朋友,赶紧来体验一把,你一定会爱上她的。2. SecureCRT (SSH终端仿真程序)
SecureCRT是一款终端仿真程序,支持SSH(SSH1和SSH2)以及Telnet和rlogin协议。SecureCRT用于连接运行包括Windows、UNIX和VMS在内的远程系统的理想工具。3. Termius (全平台的远程终端)
termius是一款全平台的远程终端,Termius不仅涵盖了Windows、Linux、OSX,还变态得支持Android和iOS(以后在地铁、公交上都可以随时拿出手机来排查线上问题啦,还真是广大程序员的福音呢。4. Google Chrome (谷歌浏览器)
Google Chrome是一款由Google公司开发的网页浏览器,该浏览器基于其他开源软件撰写,包括WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。5. iTerm (为Mac OS X编写的终端仿真程序)
iTerm是一个为Mac OS X编写的,功能齐全的终端仿真程序;目标是在为用户提供OS X下最佳的命令行体验;字母i代表了本地苹果的外观和风格的程序界面,并把重点放在完整的国际支持; 它合并由两个项目, CTerminal和TerminalX ,而这两者都是基于JTerminal项目;该软件非常有实用和易用性。6. Visual Studio Code (简称“VS Code”,编写现代Web和云应用的跨平台源代码编辑器)
重新定义和优化了代码编辑,以便生成和调试新式 Web 应用程序和云应用程序。也是著名的文本编辑器,它是轻量级的,vSCode的一大特点就是你可以通过多种方式来调整设置,而且Vim可以和VScode集成在一起,它还带有一个集成终端,可用的扩展太多,使开发人员的工作变得更加轻松。我最喜欢的一些扩展是AWS Toolkit, ESLint,Live Server, Live Share, Prettier-代码格式化程序,YAML,Live Sass编译器,Docker等。7. VMware Fusion & VMware workstation (为计算机开发的虚拟机管理程序)
是在计算机上无缝运行 Windows 的最佳方式,可确保 Windows 应用程序在计算机上实现无缝运行可以在基于 Intel 的计算机上无缝运行 Windows、Linux 以及其他 PC等多个操作系统,进而构建、测试或演示软件。8. Navicat Premium (数据库管理工具)
Navicat premium是一款数据库管理工具,是一个可多重连线资料库的管理工具,它可以让你以单一程式同时连线到 MySQL、SQLite、Oracle 及 PostgreSQL 资料库,让管理不同类型的资料库更加的方便。9. Postman (api调试工具)
简单来说,四个词,简单、实用、大方、美观!postman这款网页调试工具的windows客户端,功能强大的HTTP调试与模拟插件。使用Postman可以进行API开发、请求、调试,除了它,还可以使用lnsomnia和Insomnia Designer作为API文档。10. RedisDesktopManager (一款可视化 redis管理工具 )
Redis Desktop Manager是一款简单快速、跨平台的Redis桌面管理工具,也被称作Redis可视化工具,Redis Desktop Manager官方版是一款开源软件,支持通过SSH Tunnel连接,支持windows、mac等多平台。11. Dash (基于MAC的 API文档浏览器和代码片段管理器)
“开发者不可或缺的杰作。”Dash 可让您的 Mac 即时离线访问 200 多个 API 文档集。立刻搜索离线文件集200层+的API ,100+备忘单和 href="">更多 功能。您甚至可以"">生成自己的文档集 或 href="">请求 包含href="">文档集 。12. Fiddler & Wireshark (http抓包工具)
Fiddler和Wireshark都是进行抓包的工具:所谓抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。作为开发者,经常想调试一下http请求发送的数据的详情,那么可以使用这2款软件。用抓包工具wireshark的人相对来说更多一些。13. HBuilder X (HTML5的Web开发工具)
当前最快的HTML开发工具,强大的代码助手帮你快速完成开发,最全的语法库和浏览器兼容性数据让浏览器碎片化不再头痛。作为HBuilder下一代的全新编辑器,HBuilderX被定位为ide和编辑器的完美结合,除了对某种语言的语法分析、提示、转到定义、调试,同时加强了对通用文本处理能力,界面更加清爽,拥有比上一代更加有效的快捷键体系。14. MobaXterm (远程终端控制软件,集串口,SSH远程登录和FTP传输三合一的工具)
多功能终端MobaXterm Professional Edition 是一款豪华、全功能的终端软件。MobaXterm带来了所有必要的Unix命令到Windows桌面,在开箱单便携式exe文件。MobaXterm允许您启动远程会话。远程shell,MobaXterm远比Putty好用,您可以选择创建SSH,远程登录,Rlogin,RDP,VNC,XDMCP,FTP,SFTP或串行会话。15. Sublime Text (跨平台代码编辑器)
http://www.sublimetext.cn/Sublime Text 是一款用于代码、标记和散文的精致文本编辑器。Sublime Text 中文网致力于为广大国内开发者提供详尽的中文文档、使用说明等,助力开发者快速掌握这个编辑器。16.webstorm (专业的HTML编辑工具)
web开发的必备的一款开发神器,比如写js、页面、css,那么这款软件用起来非常顺手。此软件和idea出自于同一家公司,这家公司做了很多异常好用的软件,基本上你需要的各种开发相关的IDE,这家公司都生产。可以说是“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”。新版对JavaScript,TypeScript和CSS支持更好,改进了Vue.js的体验,并为Jest集成增加了新功能。17.Xshell (功能强大的终端模拟器)
linux原创控制软件,完全免费且非常稳定的 SSH 客户端 ,支持多种远程协议,提供了很多特色与高级功能,简体中文界面也让你轻松管理远程服务器。 Xshell 的 Screen 会话不闪屏,而且可以回滚;Script 的执行顺序可以调整;可以同时发送指令到多个 session;支持布局切换等。18. SwitchHosts (修改Hosts文件的工具)
这是用于在多个HOSTS之间进行切换。可在公用hosts文件 、当前系统hosts、本地方案和在线方案间进行切换。作为一名开发人员,经常需要修改本地host,你还是通过修改host文件来操作的么?那样太慢了,这里建议大家使用switchhosts这款软件,可以快速修改本地host,非常好用。其他工具:
1. CodeIf(智能命名) : https://unbug.github.io/codelf
大部分开发者都或多或少遇到过变量命名的烦恼,如果命名不规范,不仅会影响开发的效率,而且对后面维护的同学来说也是一个不小的挑战,因为他要去揣摩你这个变量的含义。随着项目越来越复杂,变量和函数数量越来越多,虽然每个编程语言都有各种命名规范,但是也不能解决所有的问题。“计算机科学里两件最难的事:缓存失效和命名。” Codelf通过搜索在线开源平台Github, Bitbucket, Google Code, Codeplex, Sourceforge, Fedora Project的项目源码,帮开发者从中找出已有的匹配关键字的变量名,从而帮助为变量名苦恼的开发者命名。这个搜索服务支持直接搜索中文。同时可以在自己用的编辑器里安装插件,支持 VS Code、Atom、Sublime Text 和 Chrome。2. DocsChina-印记中文 : https://www.docschina.org
这是一个前端中文文档合集,进入网站可以看到开发中经常使用的前端中文文档。如果你的英文实在不怎么好,还在为找中文文档而烦恼,这里将是你非常好的选择。记得放到自己的浏览器收藏夹里哦!3. any-rule(正则表达大全): http://github.com/any86/any-rule
any-rule 维护了一个常用正则表达式合集,并且本身是一个支持 Web/VS Code/idea/Alfred Workflow 多平台的正则表达式工具。4. tool.lu(在线工具): https://tool.lu
程序员总是有很多小工具要使用,比如图片、Base64编码、Markdown编辑器时间戳转换,进制转换等,在线运行各种语言代码。这个网站包含了太多程序员需要用到的小工具了。比如你想运行点JAVA代码,又不想麻烦的在系统中安装JAVA环境,可以使用里边的在线运行代码工具,然后选择JAVA,写点JAVA代码就可以直接运行了。5. Baomitu(前端静态源库): https://cdn.baomitu.com
这个静态资源库是支持HTTP/2的CDN服务,有了它,如果你是自己的小型项目或者是做测试就不用下载任何的代码库,直接粘贴地址过来用就可以,因为是国内的CDN库,速度还非常的快。6. Typora-Markdown(编写工具):https://www.typora.io
一款实用的 Markdown 编写工具,所见即所得,用Markdown编写文章是一个程序员的标准配置,也就是标配。现在有很多在线工具都支持Markdown,什么有道云笔记、雀语,、印象笔记等。这种简单的界面,沉浸式的编写,清晰的大纲,它就像一件称手的兵器,让你一旦拥有就爱不释手。7. Snipaste (简单便捷的截图软件):https://zh.snipaste.com/download.html
一款免费的桌面截图软件,功能强大,使用方便,支持任何屏幕位置截图,支持窗口截图,支持快捷方式截图。您可通过截取贴图,使两张图合并为一张图,还能调整截图文字图像等等,是一款非常强大的贴图软件,喜欢此款贴图软件的朋友不要错过。8. Captura (最好用的开源录屏、gif动态图片制作工具)
官网:https://captura.updatestar.com/github:https://github.com/MathewSachin/Captura通过这款工具可以帮助你轻松录制各种视频。支持全屏录制、区域录制两种方式,全屏录制可以录制全部的电脑屏幕,将电脑屏幕上所有的动态都录制下来,该软件还拥有视频编解码器,可以对视频进行解码,支持mp4、avi、GIF、webm等格式,可以满足一般的解码需要。还支持屏幕截图、剪贴板,简单的图像编辑等功能,是一款非常好用的屏幕录像工具。9. 向日葵 (远程控制软件): https://sunlogin.oray.com/
向日葵远程控制是一款提供远程控制服务的软件。向日葵远程控制支持主流操作系统Windows、Linux、Mac、Android、iOS跨平台协同操作,在任何可连入互联网的地点,都可以轻松访问和控制安装了向日葵远程控制客户端的设备。整个远控过程,可通过浏览器直接进行,无需再安装软件。10. Everything (本地文件检索工具):http://www.voidtools.com/support/everything/
由voidef="">tools 开发的一款文件搜索工具,这款软件是基于名称实时定位文件和目录。Everthing功能强大,体积小巧,第一次安装使用时会建立一个索引数据库,将所有文件和文件夹的名称导入其中,后续使用能够以极快的速度快速搜索,查找到你所需要的文件。11. StarUML (UML画图工具)
画uml图的一款神器,类图、时序图、流程图、状态图等等,都可以用这款工具轻松应对。12. uTools (生产力工具集):https://u.tools/
一个极简、插件化、跨平台的现代化桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。这个工具,我只能说他是一款神奇,太牛逼,这款工具中汇集了很多好用的工具,可以通过这款工具秒开电脑上的各种软件。搜索资源网站工具:
1.Bing
Bing 国际版:https://cn.bing.com/感觉比某度要好用多了。2.DuckDuckGo
DuckDuckGo:https://duckduckgo.com/从官网的介绍来看这个搜索引擎不收集用户信息,而且没有广告。3.Stack Overflow
Stack Overflow:https://stackoverflow.com/我们如果常用 Google,很多技术问题的答案就在这个网站上,如果你无法使用 Google 可以在这个网站上直接检索就好了。4.Gitlogs
Gitlogs:https://www.gitlogs.com/Gitlogs 是专门针对 GitHub 项目的搜索引擎,我们通过他可以快速找到想要项目。5.jiumo search
文档搜索引擎 jiumo search 鸠摩搜书:https://www.jiumodiary.com/可以用来找一些技术文档手册,很多在百度网盘里。6.Ebooke
Ebooke:https://ebookee.org/Ebookee 是一个基于互联网并提供免费电子图书下载的搜索引擎网站。7.Iconfinder
图标搜索:https://www.iconfinder.com/用来查找 logo 图片。8.TinEye
TinEye:https://www.tineye.com用图片来检索图片,我们可以上传图片或输入图片的 URL 来检索。9.SemanticScholar
SemanticScholar:https://www.semanticscholar.org/SemanticScholar 是一个免费学术搜索引擎,其检索结果来自于期刊、学术会议资料或者是学术机构的文献。10.LibreStock
LibreStock:https://librestock.com/LibreStock 上可以检索一些优质的高清图片。http://11.CC Search
CC Search:https://ccsearch.creativecommons.org/CC Search 上搜索到的图片资源都是无版权的,我们可以免费的使用。12.Pexels
Pexels:https://www.pexels.com/高质量的图片网站,可以免费使用。13.Unsplash
Unsplash:https://unsplash.com/免费高清素材网站。14.The App Store
The App Store:https://theappstore.org/The App Store 是一个针对苹果手机、iPad、Mac 设备的应用搜索工具。在线画图工具:
• 在线画图工具ProcessOn:https://www.processon.com/• 在线画图工具http://draw.io:https://app.diagrams.net/• 在线思维导图工具:http://www.mindline.cn/webapp• PlantUML在线编辑器:http://haha98k.com/在线开发辅助工具:
日常开发经常会用到一些辅助工具我总结为8大类,包括:编解码工具、转换工具、正则工具、编译工具、网络工具、格式化工具、可视化工具、在线生成器、以及其他工具等等。具体列表如下:在线编码工具:
BASE64编解码工具:https://base64.supfree.net/• MD5编码工具:https://www.zxgj.cn/g/md5• AES/DES加解密:http://www.fly63.com/tool/cipher/• JWT解码工具:http://jwt.calebb.net/• ASCII编解码工具:https://www.matools.com/code-convert-ascii• Unicode编解码工具:https://www.zxgj.cn/g/unicode• UTF-8编解码工具:https://www.zxgj.cn/g/utf8• 字符串编解码工具:https://www.zxgj.cn/g/enstring• URL编解码工具:http://tool.chinaz.com/tools/urlencode.aspx?jdfwkey=lbixz1在线转换工具:
在线ASCII码对照表:http://www.fly63.com/tool/ascii/• 通用进制转换工具:https://www.zxgj.cn/g/jinzhi• 在线浮点数十进制转换:http://www.binaryconvert.com/• RGB颜色转换:https://www.zxgj.cn/g/yansezhi• 时间戳转换工具:https://www.zxgj.cn/g/unix• 计量单位换算工具:http://www.fly63.com/tool/unitable/• 在线JSON解析:http://www.json.cn/• 在线JS代码格式化工具:https://prettier.io/playground/• SQL压缩/格式化工具:https://www.zxgj.cn/g/sqlformat• JSON和XML在线转换:https://www.zxgj.cn/g/jsonxml• JSON/YAML在线转换:http://www.fly63.com/tool/jsonyaml/• 人民币大小写转换工具:http://www.fly63.com/tool/renmingbi/正则表达式工具:
正则表达式调试工具:https://regexr.com/• 正则表达式可视化工具:https://jex.im/regulex/网络工具:
IP地址归属地查询:https://www.ip138.com/• IP地址查询:https://www.ipip.net/ip.html• HTTP在线接口测试工具:http://www.fly63.com/php/http/在线编译运行工具:
C#在线编译运行:https://rextester.com/• C/C++在线编译调试:https://www.onlinegdb.com/• 在线编译工具套装:https://c.runoob.com/可视化/格式化工具:
在线前端编辑器: https://codepen.io/• 在线数据可视化:https://flourish.studio/• 在线JSON解析:http://www.json.cn/• 在线CSS代码可视化工具:https://enjoycss.com/• XML格式化工具:https://www.zxgj.cn/g/xmlformat• 在线JS代码格式化工具:https://prettier.io/playground/• SQL压缩/格式化工具:https://www.zxgj.cn/g/sqlformat• JSON和XML在线转换:https://www.zxgj.cn/g/jsonxml• JSON/YAML在线转换:http://www.fly63.com/tool/jsonyaml/在线生成器:
UUID在线生成器:https://www.zxgj.cn/g/uuid• 随机数生成器:https://www.zxgj.cn/g/suijishu其他常用工具:
在线Nginx配置工具:https://nginxconfig.io/• 在线对比工具:http://www.fly63.com/tool/textdiff/• 在线Chrome浏览器插件:https://www.crx4chrome.com/• 在线接口文档管理工具:http://www.docway.net/在线素材工具:
如果你写文章,或者做视频,那就一定少不了要找素材,包括各种图片、背景、emoji表情、表情包、壁纸、视频、gif图等等。• 免费透明背景图片素材:http://pngimg.com/• Emoji表情搜索:https://emoji.svend.cc/• Emoji表情包下载:https://emojiisland.com/• open source icons:https://feathericons.com/• 表情包在线网站:https://fabiaoqing.com/• 免费PNG图片库:https://pluspng.com/• ICON图标在线下载:https://www.iconfinder.com/• 极简壁纸:https://bz.zzzmh.cn/• Wallpaper Abyss壁纸:https://wall.alphacoders.com• Pixabay图片素材库:https://pixabay.com/zh/• Unsplash图片素材库:https://unsplash.com• Pexels图片素材库:http://www.pexels.com• NASA图片视频素材库:https://images.nasa.gov设计制作类工具:
对于那些文章创作者和视频创作者而言,设计封面,做海报,设计LOGO,图片美化等等基本也是刚需。这样大概率日常会用到一些简易好上手的在线设计制作类工具,比如在线P图、音/视频轻量化剪辑、logo制作、海报设计制作、图片美化、在线图片转换或生成等等。• 在线PS:https://www.uupoop.com/• 在线音频剪辑:https://www.weixinsyt.com/• 在线视频剪辑:https://www.kapwing.com/• 免费logo在线制作:http://www.uugai.com/• 艺术字体在线生成:https://www.qt86.com/• 在线表格转换工具: https://tableconvert.com/• 在线海报设计工具: https://www.designcap.com/• 图片智能放大工具:https://bigjpg.com/• 二维码美化器:https://mh.cli.im/• 在线代码截图工具:https://carbon.now.sh/• 在线抠图工具:https://www.remove.bg/zh• ICO图标在线生成:http://www.fly63.com/php/ico/• SVG转PNG工具:http://www.fly63.com/tool/svg2img/• 视频转GIF工具:http://www.fly63.com/tool/giftxt/• 二维码在线生成器:http://www.fly63.com/tool/ewm/• 二维码在线解码:http://www.fly63.com/php/decoder/写辅助工具:
写文章的过程中经常会用到和写作相关的辅助工具,比方说:字数统计工具、Markdown格式的文章排版工具、图床网站、代码截图工具等等,所以下面这些在线工具就能很好地满足我的需求。• 在线字数统计:https://www.eteste.com/• mdnice markdown排版工具:https://mdnice.com/• md2all markdown排版工具:http://md.aclickall.com/• 在线图床神器:https://picx.xpoet.cn/• 在线免费图床:https://sm.ms/• 图壳图床:https://imgkr.com/• 在线代码截图工具:https://carbon.now.sh/• 在线短链接工具:https://urlify.cn/• 在线文本替换:http://www.fly63.com/tool/textreplace/在线办公工具:
部分在线工具主要用来处理一些和文档以及文稿相关的事情,经常用到的比如:在线的全套pdf处理和转换工具、各种各样多媒体文件间的相互转换工具、在线识别工具、在线压缩工具等等。• pdf在线处理工具1:https://smallpdf.com/cn/pdf-tools• pdf在线处理工具2:https://tools.pdf24.org/zh/• pdf转word在线工具:https://www.pdftoword.com/• 在线多媒体转换器合集:https://cn.office-converter.com/• 在线文字识别工具:https://ocr.wdku.net/• 在线文件压缩工具:https://docsmall.com/文档笔记工具:
好记性不如烂笔头,作为一个学习者,我觉得记笔记是必不可少的步骤。当然现在基本都做电子笔记和电子文档比较多。现如今各式各样优秀的文档工具和笔记软件鳞次栉比,好用的也有很多,整理成如下列表,这东西各有长处,使用哪个最合意还得看个人习惯和需求了。• 印象笔记:https://www.yinxiang.com/• 有道笔记:https://note.youdao.com/• OneNote:https://www.onenote.com/• 幕布:https://mubu.com/• 为知笔记:https://www.wiz.cn/• 石墨文档:https://shimo.im/• Simplenote:https://simplenote.com/• 语雀:https://www.yuque.com/编程学习网:
• 哔哩哔哩:https://www.bilibili.com/• C语言网:https://www.dotcpp.com/• cppreference:http://zh.cppreference.com/• 中国大学MOOC:https://www.icourse163.org/• 牛客网:http://www.nowcoder.com• 网易公开课:http://open.163.com• CodeGym:https://codegym.cc/• BeginnersBook:https://beginnersbook.com/• JavaSED:http://www.javased.com/• codecademy:https://www.codecademy.com/• Coursera:https://www.coursera.org/• StackOverFlow:https://stackoverflow.com/• LeetCode:https://leetcode-cn.com/• LintCode:https://www.lintcode.com/在线教程文档:
这部分主要集中了在做开发过程中随手参考所要用到的几乎所有在线教程和官方文档,有中文版文档的基本都优先列出来了,但更多时候是英文的官方文档。• Git中文教程:https://git-scm.com/book/zh/v2• SVN中文手册:http://svnbook.red-bean.com/nightly/zh/index.html• jQuery API中文文档:https://jquery.cuishifeng.cn/• Nginx中文文档:https://www.nginx.cn/doc/index.html• Kafka中文文档:https://kafka.apachecn.org/• Mybatis中文文档:https://mybatis.org/mybatis-3/zh/index.html• 微信小程序官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/• Nodejs中文教程文档:http://nodejs.cn/learn• Apache Web Server文档:http://httpd.apache.org/docs/• Spring文档中文版:https://www.springcloud.cc/spring-reference.html• Golang标准库文档中文版:https://studygolang.com/pkgdoc• Java 8官方文档:https://docs.oracle.com/javase/8/docs/api/index.html• Maven官方文档:http://maven.apache.org/guides/• Tomcat 8官方文档:http://tomcat.apache.org/tomcat-8.0-doc/index.html• Spring Boot官方文档:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/• RabbitMQ官方文档:https://www.rabbitmq.com/documentation.html• RocketMQ官方文档:http://rocketmq.apache.org/docs/quick-start/• Dubbo中文文档:https://dubbo.apache.org/zh/docs/• Netty官方文档:https://netty.io/wiki/index.html• Elasticsearch官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html• Spring Cloud官方文档:https://spring.io/projects/spring-cloud• Docker官方文档:https://docs.docker.com/get-started/• kubernetes中文文档:https://kubernetes.io/zh/docs/home/• thymeleaf官方文档:https://www.thymeleaf.org/documentation.html• Vue.js中文文档:https://cn.vuejs.org/v2/guide/• React.js官方文档:https://reactjs.org/docs/getting-started.html• Jenkins中文文档:https://www.jenkins.io/zh/doc/华为云平台:
高效易用的低代码aPaaS平台-应用魔方AppCube:https://www.huaweicloud.com/product/appcube.html集华为研发实践、前沿研发理念、先进研发工具为一体的软件开发平台-软件开发平台 DevCloud:https://www.huaweicloud.com/devcloud/以上内容分享自华为云社区《吐血整理:程序员都在用什么工具?》,作者: 考过IE励志当攻城狮 ,部分内容整理自互联网~
关注我,第一时间了解华为云新鲜技术~怎么样才能学好java编程?
答案分为 学生版 与 非学生版(光收藏不点赞可耻,拒绝伸手党,从点赞做起!)
学生版
哈工大本硕985,北京公司,收到去哪儿(13K*16),华为,vipkid(18*14),茄子快传(20*16),创新工厂(12*13),秒针(18*16)offer,目前最低的月薪12K*13,最高的华为优招20K*16,最终还是签了百度毕竟bat,职位java开发工程师今年给的还挺多。
可以说我应该达到了题目中所说的北京java开发月薪2W的标准,来答一发。
--------------------------------------------------------------------------------
为了避免知乎大佬觉得我吹逼,把目前收到的offer图贴出来(应评论区建议,已经把名字打码,谢谢提醒)。有人需要联系方式,放一下微信公众号 程序员乔戈里 个人微信在公众号里面可获得。另外我要有3T的编程资料,需要的可以加我微信!!!
-----------------------------------------------------------------------------
会在offer图的后面附上java自学找工作的经验,并解答评论区的一些问题!!!
会在offer图的后面附上java自学找工作的经验,并解答评论区的一些问题!!!
会在offer图的后面附上java自学找工作的经验,并解答评论区的一些问题!!!
3T的编程资料!!!!!!关注公众号 程序员乔戈里 免费分享 !!!
3T的编程资料!!!!!!关注公众号 程序员乔戈里 免费分享 !!!
3T的编程资料!!!!!!关注公众号 程序员乔戈里 免费分享 !!!
-----------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
以下开始讲述一些我找工作的经验,希望对大家有帮助(觉得有帮助的,记得点个赞关注走一波,谢谢大家)
----------------------------------------------------------------------------------------------
一.简历篇
我是使用的乔布简历,在里面买了一个模板,本科还是免费的,研究生阶段就收费了,呵呵。
(1)个人联系方式
简历的话要把电话,email这些重要的信息放到显眼的位置,方便联系。
(2)技能掌握
熟悉 精通等词汇慎用(精通应届生就不要用了),我举一下我的java为何用了熟悉的例子,java看了《java核心技术卷1》《java编程思想》前几章《深入了解java虚拟机》前7章,《java并发编程的艺术》《java多线程编程核心技术》还看了一堆网上的博客,看了这么多我才写上了熟悉java。
了解的话适用于只是看过一点书,只是一种浅尝辄止的感觉,比如你只是通过刷了刷面经,了解了一些数据库的面试常见的问题,那么这种就应该用了解。一般都写上了解吧,你应聘啥工程师,对应的语言写上熟悉。
(3)荣誉奖励
奖学金,优秀干部,竞赛获奖,paper啥的都往上怼,多多益善。
(4)项目
项目篇很重要,基本面试的第一个环节都是扣你的项目。
项目一定要准备1到2个亮点(难点)!!!
项目一定要准备1到2个亮点(难点)!!!
项目一定要准备1到2个亮点(难点)!!!
有些人看到这里就会说,我这项目水的一批,一点亮点都没有,咋整,全完了呀,别慌,听我给你吹一波。
一开始我第一次面试的时候(第一次就去面阿里,我也是胆贼大),阿里面试官上来就怼项目,
问我这是啥,那是啥,我说了以后,他就问着玩意底层是咋实现的,我用的是一个开源的爬虫,然后我就说我只会用,底层没有看过,他估计很失望;然后他问我的项目亮点是啥,我当时一下愣住了,扯了一些有的没的,都是失败的惨痛的教训,大家参考参考就好,不一定就一定要照着我学,非要知耻而后勇,咋提前准备好也是不错的。
经过这次惨痛的教训以后,我就开始有意识地去想一些项目的亮点,即使不是我遇到的问题,我强行把这些问题加到我的项目上面,当做我的项目亮点。
亮点举例:我的第一个项目的我说我负责舆情监控项目的地域分析,这个模块其实平平无奇,很水,就是利用一个开源的NER命名实体识别的包去识别出来新闻正文的地点,然后统计地点出现的次数这样的一个简单的模块。我就这样吹:最深刻的一个项目就是最近做的网络舆情监控项目,其中我在里面有负责一个地域分析模块,就是从最新爬进来的新闻数据里面提取出来地域信息,最后在地图上显示出来,当时把后台模块写好了以后,是可以在本地的windows系统上运行的,然后导出jar包的时候,想把jar包在linux系统上运行起来,但是一运行就显示OOM内存溢出错误,当时遇到的这个问题的时候第一时间想起来了以前看的关于虚拟机方面的书,于是我在虚拟机的配置上添加了一个-XX:+HeapDumpOnOutOfMemoryError,尝试将dump文件保留到本地,然后采用了jmap命令去分析这个dump文件,发现代表老年代的参数Old Generation每次一启动都是一直满着的,然后去看了虚拟机的配置参数,发现虚拟机中的-xmx参数只有256M,而程序需要的内存大小为500M(因为需要加载一个MIT的提取名词的包),所以最后通过设置成1024M解决了这个问题,我感觉通过这个学到了很多。在项目中扮演了核心角色,独立完成了地域分析模块。
示例看不懂也没关系,这个得有一定的java虚拟机的知识才可以看懂,推荐看《深入了解java虚拟机》
看到这里,你完全可以把我的这个项目的这个亮点融合到你自己的项目里面,换个背景就是你的项目亮点了,我上面推荐的《深入了解java虚拟机》里面也有很多虚拟机调优的经验,你可以看懂之后,把这些融合到自己的项目里面,完全是可以的。
除此之外,关于项目还有一个问题:就是你看了我的简历,会发现许多项目都是与爬虫相关的,面试管会问你在爬虫上你遇到了啥问题,这种完全可以上网去搜爬虫和反爬虫的技术博客,然后理解记忆,说给面试官听。说到这里,其实也就是在说,你的项目可能涉及到的点你都得有准备,有备无患,你如果不知道自己项目涉及到哪些点,那么可以通过一些公司练练手,他问到的一些问题,就有可能是你的项目需要准备的点。
-------------------------------------------------------------------------------------------
二.简历投递篇
(1)官方网申
学历不好的,不建议这走这条路,容易被刷,985/211也有一定几率被刷。
(2)内推
关注 牛客网- 互联网求职神器和备考学习平台 的内推信息,都是真实可靠的,虽然不一定免笔试,但是可以保证你简历不被刷啊!!!
微信公众好 互联派 也有很多内推的信息,值得关注。
(3)内推完之后的添加个人信息
强推 牛客网简历助手 助手介绍_牛客简历助手-简历一次填写,N网闪填__牛客网
爽的一批,谁用谁知道,你填写完牛客网的简历助手,进来其它求职网站的时候,可以把插件调出来,如果调不出来,多点几下,自己摸索哈。
三.笔试面试篇
提前批:一般公司的提前批是面笔试的,这个机会一定要抓住,提前批不耽误正常网申流程,相当于多了一次机会。(其实你每次应聘都是会有记录的,现在的面试官可以看到你所有的过往的面试记录,但我觉得影响不大,你这次能过和上次没过还是取决于你自己的实力,能不能打动面试官)
笔试:就算你内推成功了,也会有极大可能笔试,如果你算法功力强,可以独当一面,那么不用看这里,直接跳过,如果你算法一般的话,我说一下我在秋招过程中看到的一些其他人是怎么办的。周围人一般都是三五成群,算法题互相说思路,基本知道思路就知道咋写了,也有的比如他1道题AC了,他是C++版本的,其他人把这个AC代码改成了java版本等等,也可以请周围大神帮忙A几道等等,其实周围同学的算法功底真的说不上多强,反正是通过这种方法也算是把笔试给过了。其实笔试题吧,你把剑指offer刷一刷,leetcode刷个几百道(建议一个tag一个tag的刷),问题不大,我是通过刷leedcode,然后感觉这些公司的笔试题也就那么回事,还OK,当然阿里笔试题另说,还是A不了,真的变态!!!
面试:面试这个就看平时积累了。电话面试视频面试其实还是有一定操作空间的,现场面全凭自己实力。
四.平时积累篇
-------------------------------------------------------------------------------------------
下文中截图来源于我做的一个pdf版本的面经,把所以知识点的答案整理了下来,耗费我将近至少1个月时间,在本文最后部分把这个pdf分享给大家,觉得有用的麻烦点赞关注走一波,谢谢!!!面经中有我的知识点的答案,如下图示例,非常详细!!!
下文中截图来源于我做的一个pdf版本的面经,把所以知识点的答案整理了下来,耗费我将近至少1个月时间,在本文最后部分把这个pdf分享给大家,觉得有用的麻烦点赞关注走一波,谢谢!!!面经中有我的知识点的答案,如下图示例,非常详细!!!
下文中截图来源于我做的一个pdf版本的面经,把所以知识点的答案整理了下来,耗费我将近至少1个月时间,在本文最后部分把这个pdf分享给大家,觉得有用的麻烦点赞关注走一波,谢谢!!!面经中有我的知识点的答案,如下图示例,非常详细!!!
--------------------------------------------------------------------------------------------
1.数据结构与算法篇
你是java开发你就用java代码去实现,是C++开发就用C++去实现。
书籍参考:
(0)《图解算法》入门
(1)《剑指offer》 剑指Offer_编程题_牛客网
(2)《程序员代码面试指南 IT名企算法与数据结构题目最优解》参考左神视频
(3)leetcode LeetCode - The World's Leading Online Programming Learning Platform
leedcode注意去英文官网,别去中国区,中国区讨论区讨论的少。
leedcode 注意一个tag一个tag的刷,例如动态规划,就把动态规划下的题目都刷了,基本刷个10多道,其它也基本有思路了,而且动态规划的题目笔试面试也常出。其次就是二叉树,链表,数组,回溯的题目。
(4)数据结构(严蔚敏)/大话数据结构 //如果觉得教材无聊就可以看大话系列
需要掌握的知识点:
数组、链表、二叉树、队列、栈的各种操作(性能,场景)二分查找和各种变种的二分查找(循环有序数组找最大值最小值找n,有序数组找最左下标,最右下标)各类排序算法以及复杂度分析(快排、归并、堆、冒泡、直接选择、插入排序)各类算法题(手写)理解并可以分析时间和空间复杂度。动态规划(笔试回回有。。)、贪心。红黑树、AVL树、Hash树、Tire树、B树、B+ 树(除了红黑树,其它要会插入删除查找,红黑树如果会更好,也算一个亮点)。图算法(克鲁斯卡尔算法、普林母算法、迪克拉斯算法)树的前序后序中序遍历的递归非递归实现,层次遍历,深度优先遍历,广度优先遍历递归与非递归实现排序算法总结:常见排序算法小结 - CSDN博客
排序算法递归与非递归的java实现版本:
Lintcode 快排递归与非递归实现 464. 整数排序 II java
Lintcode 464. 整数排序 II 冒泡排序三种实现 直接插入排序 直接选择排序 java
Lintcode 464. 整数排序 II 归并排序递归与非递归实现 java
2.海量数据篇
看这一篇就足够用了,什么bitmap,布隆过滤器都得知道。
教你如何迅速秒杀掉:99%的海量数据处理面试题 - CSDN博客
3.计算机网络篇
参考书籍:《图解http》《图解TCP/IP》《TCP/IP详解卷1》《计算机网络(谢希仁)》
知识点:
所有的知识点,需要做到,不看面经,能知道答案是啥,自己可以用嘴说出来!!!
所有的知识点,需要做到,不看面经,能知道答案是啥,自己可以用嘴说出来!!!
所有的知识点,需要做到,不看面经,能知道答案是啥,自己可以用嘴说出来!!!
4.数据库篇
参考书籍:《高性能MySQL》 《MySQL技术内幕:InnoDB存储引擎(第2版)》
知识点:
5.操作系统篇
参考书籍:
知识点:《操作系统精髓与设计原理(原书第6版)》
LRU会手写一个LRU的set与get的时间复杂度是o(1)的代码
6.Linux命令篇
参考书籍:《linux 鸟哥的私房菜》
7.安全加密
8.重头戏java篇
基础篇:
推荐书籍:《Java程序员面试笔试宝典-何昊》突击java面试的好书啊!!!
《写给大忙人看的JavaSE8》 《深入理解Java虚拟机:JVM高级特性与最佳实践》
《JAVA并发编程实战》《Java多线程编程核心技术》《java核心技术卷1》
1.基础篇:
2.集合篇:
3.锁
4.多线程
多看看《Java多线程编程核心技术》这块就没问题
5.jdk中的concurrent 俗称juc包
都要搞懂底层原理!!!
都要搞懂底层原理!!!
都要搞懂底层原理!!!
6.java虚拟机
主要看《深入理解java虚拟机》
7.设计模式
参考书籍:《大话设计模式》
知道每种设计模式是啥意思,可以手写一个单例模式,手写适配器模式,工厂模式,观察者模式,装饰器模式。
知识点:
----------------------------------------------------------------------------------------------
基本把我上面列的知识点都搞懂,算法题都刷地明明白白的,不说battmd这些公司,至少我觉得互联网前50+
如果没有项目经验,想做项目,可以推荐你去淘宝上去买黑马视频,照着整个java web的项目、
-----------------------------------------------------------------------------------
附上我呕心沥血整理的java面经,觉得有用的点赞关注走一波!!!
附上我呕心沥血整理的java面经,觉得有用的点赞关注走一波!!!
附上我呕心沥血整理的java面经,觉得有用的点赞关注走一波!!!
关注我的公众号 现名字:程序员乔戈里
在后台回复:面经 按照要求即可获取到我的面经,也算是对我继续输出干货的一种鼓励。谢谢大家!!!
-------------------------------------------------------------------------------------------
1.实习对于找工作的作用???
答:很重要,也不重要。很重要:实习经历的作用:1.面试都是有固定的时间,比如一些公司规定一次面试最短时间是40分钟,你如果做过实习,可以好好加工一下你的实习经历,使劲吹,可以占个10分钟多点时间,然后后来问你的东西就少了些;2.学历不好的可以通过一些实习经历获得大公司的笔试面试的机会;3.在同等面试表现的前提下,有实习经历的优先考虑
不重要:
春招的暑期实习和提前批的时间冲突,春招的暑期实习和提前批的时间冲突,春招的暑期实习和提前批的时间冲突,(如果你现在距离秋招的8月还有挺长时间,如果获得实习机会直接就去,如果是7月和8月的实习得慎重,实习也不一定能留用)所以你如果春招找到的实习不是自己想最后工作的小公司,那么不建议去实习,不如好好准备秋招。如果是心仪的部门和岗位比如BAT之类的可以去实习。假如去实习了,一定要关注转正的事,好好努力,同时也别忘准备秋招,晚上和周末看书刷题看面经。没转正立马走人准备秋招。(实习的时候也可以投提前批电话面试,楼主当初没投,其实可以投几个单独招聘的提前批,比如百度很多部门都是自己招聘提前批的,不走系统,过了才录入系统)
完全可以用实习这段时间,好好复习,准备提前批也是个不错的选择,当然如果你前期准备充分,那么可以去实习,如果你时间已经非常紧了,比如你6月份才开始准备,人家8月份就提前批了,你去不去实习就得好好衡量了,大厂的实习一定要去,秋招加成不少。
2.啥时候开始准备?
现在!!!现在!!!现在!!!
3.没有java开发的项目咋办???
答:0.关注我的公众号:原名字:HIT程序猿的日常 现名字:程序员乔戈里
在我的公众号有我做过的一些项目的源码分享,以及一些练手项目的视频教程。
1.去淘宝买黑马的视频,照着做一个javaweb的项目,然后使劲扣项目,到时候就是和面试官吹,30元左右,没钱买的话,大家可以在我评论下众筹一波,哈哈哈啊哈哈哈。
2.淘宝买牛客网的项目视频,听说叶神的项目不错;
4.HR面试
一顿跪舔就行,就是你们公司真好,你自己罗列个123哪里好;女朋友,有也说没有(也可以说有,女朋友就在xx公司的地方上班/上学);父母不干涉决定;薪资,互联网的普遍薪资就行(适用于第一份offer,以及非常想去的公司)。总之就是求生欲强一些。
5.答主,我选算法还是开发呀?
你如果是北京时间2018.10.3号看见了我这篇回答,而且自己本身的学历不错本硕985/211专业都是计算机相关的,那么我强烈建议你选算法。原因有:1.算法工资比开发高;2.算法比开发轻松;你会说算法难啊,不好找啊!!!我不知道你怕啥,你就硬着头皮去整(每天高三一般的生活,如果你每天吊儿郎当的,最后没找到,怪我了,那你滚一边去哈,我不背这锅),你本身条件不错,最后肯定会有offer。而且有的公司,就算你算法不行,会问你可以转开发不,所以搞算法何乐而不为呢???
如果你是距离2019年或者8021年的临近秋招前的2-3个月时间看到我这篇回答,而且你学历不是很好,那么我建议你去整开发。
上述说的情况也不完全适用,反正就是follow your heart!!!
6.答主你咋不回复我评论啊???
你都不赞我,我也不想回复你。。。。
7.java开发需要看的书籍推荐???
具体请查看我的专栏文章
Java后端书架
非学生版
一、基础篇JVM
JVM内存结构
堆、栈、方法区、直接内存、堆和栈区别
Java内存模型
内存可见性、重排序、顺序一致性、volatile、锁、final
垃圾回收
内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定
JVM参数及调优Java对象模型
oop-klass、对象头
HotSpot
即时编译器、编译优化
类加载机制
classLoader、类加载过程、双亲委派(破坏双亲委派)、模块化(jboss modules、osgi、jigsaw)
虚拟机性能监控与故障处理工具
jps, jstack, jmap、jstat, jconsole, jinfo, jhat, javap, btrace、TProfiler
编译与反编译
javac 、javap 、jad 、CRF
Java基础知识
阅读源代码
String、Integer、Long、Enum、BigDecimal、ThreadLocal、ClassLoader & URLClassLoader、ArrayList & LinkedList、 HashMap & LinkedHashMap & TreeMap & CouncurrentHashMap、HashSet & LinkedHashSet & TreeSet
Java中各种变量类型熟悉Java String的使用,熟悉String的各种函数
JDK 6和JDK 7中substring的原理及区别、
replaceFirst、replaceAll、replace区别、
String对“+”的重载、
String.valueOf和Integer.toString的区别、
字符串的不可变性
自动拆装箱
Integer的缓存机制
熟悉Java中各种关键字
transient、instanceof、volatile、synchronized、final、static、const 原理及用法。
集合类
常用集合类的使用
ArrayList和LinkedList和Vector的区别
SynchronizedList和Vector的区别
HashMap、HashTable、ConcurrentHashMap区别
Java 8中stream相关用法
apache集合处理工具类的使用
不同版本的JDK中HashMap的实现的区别以及原因
枚举
枚举的用法、枚举与单例、Enum类
Java IO&Java NIO,并学会使用
bio、nio和aio的区别、三种IO的用法与原理、netty
Java反射与javassist
反射与工厂模式、
Java序列化
什么是序列化与反序列化、为什么序列化
序列化底层原理
序列化与单例模式
protobuf
为什么说序列化并不安全
注解
元注解、自定义注解、Java中常用注解使用、注解与反射的结合
JMS
什么是Java消息服务、JMS消息传送模型
JMX
、
泛型
泛型与继承
类型擦除
泛型中K T V E
object等的含义、泛型各种用法
单元测试
junit、mock、mockito、内存数据库(h2)
正则表达式
常用的Java工具库
,
什么是API&SPI异常
异常类型、正确处理异常、自定义异常
时间处理
时区、时令、Java中时间API
编码方式
解决乱码问题、常用编码方式
语法糖
Java中语法糖原理、解语法糖
Java并发编程
什么是线程,与进程的区别阅读源代码,并学会使用
Thread、Runnable、Callable、ReentrantLock、ReentrantReadWriteLock、Atomic*、Semaphore、CountDownLatch、、ConcurrentHashMap、Executors
线程池
自己设计线程池、submit() 和 execute()
线程安全
死锁、死锁如何排查、Java线程调度、线程安全和内存模型的关系
锁
CAS、乐观锁与悲观锁、数据库相关锁机制、分布式锁、偏向锁、轻量级锁、重量级锁、monitor、锁优化、锁消除、锁粗化、自旋锁、可重入锁、阻塞锁、死锁
死锁volatile
happens-before、编译器指令重排和CPU指令重
synchronized
synchronized是如何实现的?
synchronized和lock之间关系
不使用synchronized如何实现一个线程安全的单例
sleep 和 waitwait 和 notifynotify 和 notifyAllThreadLocal写一个死锁的程序写代码来解决生产者消费者问题守护线程
守护线程和非守护线程的区别以及用法
二、 进阶篇Java底层知识
字节码、class文件格式CPU缓存,L1,L2,L3和伪共享尾递归位运算
用位运算实现加、减、乘、除、取余
设计模式
了解23种设计模式会使用常用设计模式
单例、策略、工厂、适配器、责任链。
实现AOP实现IOC不用synchronized和lock,实现线程安全的单例模式nio和reactor设计模式
网络编程
tcp、udp、http、https等常用协议
三次握手与四次关闭、流量控制和拥塞控制、OSI七层模型、tcp粘包与拆包
http/1.0 http/1.1 http/2之前的区别Java RMI,Socket,HttpClientcookie 与 session
cookie被禁用,如何实现session
用Java写一个简单的静态文件的HTTP服务器
实现客户端缓存功能,支持返回304 实现可并发下载一个文件 使用线程池处理客户端请求 使用nio处理客户端请求 支持简单的rewrite规则 上述功能在实现的时候需要满足“开闭原则”了解nginx和apache服务器的特性并搭建一个对应的服务器用Java实现FTP、SMTP协议进程间通讯的方式什么是CDN?如果实现?什么是DNS?反向代理
框架知识
Servlet线程安全问题Servlet中的filter和listenerHibernate的缓存机制Hiberate的懒加载Spring Bean的初始化Spring的AOP原理自己实现Spring的IOCSpring MVCSpring Boot2.0
Spring Boot的starter原理,自己实现一个starter
Spring Security
应用服务器
JBosstomcatjettyWeblogic
工具
git & svnmaven & gradle
三、 高级篇新技术
Java 8
lambda表达式、Stream API、
Java 9
Jigsaw、Jshell、Reactive Streams
Java 10
局部变量类型推断、G1的并行Full GC、ThreadLocal握手机制
Spring 5
响应式编程
Spring Boot 2.0
性能优化
使用单例、使用Future模式、使用线程池、选择就绪、减少上下文切换、减少锁粒度、数据压缩、结果缓存
线上问题分析
dump获取
线程Dump、内存Dump、gc情况
dump分析
分析死锁、分析内存泄露
自己编写各种outofmemory,stackoverflow程序
HeapOutOfMemory、 Young OutOfMemory、MethodArea OutOfMemory、ConstantPool OutOfMemory、DirectMemory OutOfMemory、Stack OutOfMemory Stack OverFlow
常见问题解决思路
内存溢出、线程死锁、类加载冲突
使用工具尝试解决以下问题,并写下总结
当一个Java程序响应很慢时如何查找问题、
当一个Java程序频繁FullGC时如何解决问题、
如何查看垃圾回收日志、
当一个Java应用发生OutOfMemory时该如何解决、
如何判断是否出现死锁、
如何判断是否存在内存泄露
编译原理知识
编译与反编译Java代码的编译与反编译Java的反编译工具词法分析,语法分析(LL算法,递归下降算法,LR算法),语义分析,运行时环境,中间代码,代码生成,代码优化
操作系统知识
Linux的常用命令进程同步缓冲区溢出分段和分页虚拟内存与主存
数据库知识
MySql 执行引擎MySQL 执行计划
如何查看执行计划,如何根据执行计划进行SQL优化
SQL优化事务
事务的隔离级别、事务能不能实现锁的功能
数据库锁
行锁、表锁、使用数据库锁实现乐观锁、
数据库主备搭建binlog内存数据库
h2
常用的nosql数据库
redis、memcached
分别使用数据库锁、NoSql实现分布式锁性能调优
数据结构与算法知识
简单的数据结构
栈、队列、链表、数组、哈希表、
树
二叉树、字典树、平衡树、排序树、B树、B+树、R树、多路树、红黑树
排序算法
各种排序算法和时间复杂度 深度优先和广度优先搜索 全排列、贪心算法、KMP算法、hash算法、海量数据处理
大数据知识
Zookeeper
基本概念、常见用法
Solr,Lucene,ElasticSearch
在linux上部署solr,solrcloud,,新增、删除、查询索引
Storm,流式计算,了解Spark,S4
在linux上部署storm,用zookeeper做协调,运行storm hello world,local和remote模式运行调试storm topology。
Hadoop,离线计算
HDFS、MapReduce
分布式日志收集flume,kafka,logstash数据挖掘,mahout
网络安全知识
什么是XSS
XSS的防御
什么是CSRF什么是注入攻击
SQL注入、XML注入、CRLF注入
什么是文件上传漏洞加密与解密
MD5,SHA1、DES、AES、RSA、DSA
什么是DOS攻击和DDOS攻击
memcached为什么可以导致DDos攻击、什么是反射型DDoS
SSL、TLS,HTTPS如何通过Hash碰撞进行DOS攻击用openssl签一个证书部署到apache或nginx
四、架构篇分布式
数据一致性、服务治理、服务降级
分布式事务
2PC、3PC、CAP、BASE、 可靠消息最终一致性、最大努力通知、TCC
Dubbo
服务注册、服务发现,服务治理
分布式数据库
怎样打造一个分布式数据库、什么时候需要分布式数据库、mycat、otter、HBase
分布式文件系统
mfs、fastdfs
分布式缓存
缓存一致性、缓存命中率、缓存冗余
微服务
SOA、康威定律
ServiceMeshDocker & KubernetsSpring BootSpring Cloud
高并发
分库分表CDN技术消息队列
ActiveMQ
监控
监控什么
CPU、内存、磁盘I/O、网络I/O等
监控手段
进程监控、语义监控、机器资源监控、数据波动
监控数据采集
日志、埋点
Dapper
负载均衡
tomcat负载均衡、Nginx负载均衡
DNS
DNS原理、DNS的设计
CDN
数据一致性
五、 扩展篇云计算
IaaS、SaaS、PaaS、虚拟化技术、openstack、Serverlsess
搜索引擎
Solr、Lucene、Nutch、Elasticsearch
权限管理
Shiro
区块链
哈希算法、Merkle树、公钥密码算法、共识算法、Raft协议、Paxos 算法与 Raft 算法、拜占庭问题与算法、消息认证码与数字签名
比特币
挖矿、共识机制、闪电网络、侧链、热点问题、分叉
以太坊超级账本
人工智能
数学基础、机器学习、人工神经网络、深度学习、应用场景。
常用框架
TensorFlow、DeepLearning4J
其他语言
Groovy、Python、Go、NodeJs、Swift、Rust
六、 推荐书籍
《深入理解Java虚拟机》
《Effective Java》
《深入分析Java Web技术内幕》
《大型网站技术架构》
《代码整洁之道》
《Head First设计模式》
《maven实战》
《区块链原理、设计与应用》
《Java并发编程实战》
《鸟哥的Linux私房菜》
《从Paxos到Zookeeper》
《架构即未来》
以下是我的编程资料,还有其他的将近3T需要的关注我公众号程序员乔戈里:
最后推广一下我的公众号,名字:程序员乔戈里 公众号中有我的联系方式,有上述所以知识点的所有答案的面经整合版,也有我收集的一些java有关的资源,各种视频教程,我的一些校招经历,相关电子书籍,以及未来的干货分享,相信不会让大家失望,谢谢大家,来一波关注,谢谢,也算是对我的这篇回答的一个肯定,您的点赞与关注是我创作分享干货的源泉!!!您的点赞与关注是我创作分享干货的源泉!!!您的点赞与关注是我创作分享干货的源泉!!!
还没有评论,来说两句吧...