使用idea开发scala代码 如何系统的学习JAVA?
如何系统的学习JAVA?
java的整体生态和积累真的太大了。从1995年到现在20多年的积累,几乎涉及了计算机软硬件的方方面面。目前,我认为主人 s精通是指jdk本身和一些必要的数据结构,以及通用框架和面向对象的基本思想。
从11月初开始,我一直在学习java相关的知识。也有很多弯路。根据on《设计模式》、《代码整洁之道》、《spring源码解读》和《Spring揭秘》等书。
3.了解和学习jdk类库本身的应用源代码实现以及主流第三方框架的源代码和架构设计。
比如jdk本身的数据结构,比如二叉树,红黑树,treemap,异步包的包源代码,比如unsafe,同步阻塞队列,call-futur《设计模式》、《代码整洁之道》、《spring源码解读与设计详析》、《Spring揭秘》等等,都可以在这个过程中得到理解。
4.了解jdk和jr《实战java虚拟机》,他的解释更切合实际。很好理解。
首先可以从jdk自带的工具学习入手。
例如:日本联合技术统计署、日本联合分析计划、日本联合战略计划、日本联合战略计划、HSDB......................................................................................................................................................当然,作为初步的学习,我们只需要了解几个常用的命令,知道它们代表什么。毕竟第三方监控工具,包括jdk本身,也提供了三个可视化的监控。
其次,了解jvm的运行和加载原理,了解类文件的结构。
这在这个过程中,我们可以借助之前会用到的监控工具来了解jvm加载的基本原理。可以参考jvm标准的官方版本,学习理解类文件。在此基础上,我们可以使用classpy等工具来方便我们直接读取类文件。还可以尝试支持类字节码级别的单步调试工具。你甚至可以尝试使用jvm汇编编码工具。
接下来,了解jvm垃圾收集机制的发展历史,以及各种主流垃圾收集器的工作原理。
这个过程其实很复杂。垃圾收集器有各种串行,并行,新声代/换和老龄,还有回收警戒线,满触发条件,各种基本参数和很少用的超参数,还有G1 H区,ZGC等等。。。幸运的是,GC不是官方jvm规范的一部分。
然后,做一些jvm的练习和实战。
比如jvm常见故障排查和故障总结、性能调优、热加载、类字节码的动态操作、asm等。
最后,可以尝试实现自己的jvm。(当然这一步对于很多同学来说并不是必须的。)
这里我推荐几本书,也是彻底理解jvm规范的学习路径。最好自己实现垃圾收集器。
周小姐 《深入理解Java虚拟机》南部。
接下来是《深入嵌入式java虚拟机》和支持源代码。这个cldc的jvm源代码只有1M多。目前仍可在甲骨文官网下载。是一个非常精简的jvm实现。
接下来,你可以读《自己动手写java 虚拟机》。这本书的jvm实现是用go语言写的。当然很多都不是很合理。但是它们基本上遵循jvm规范。
这时候可以看看github上各种JVM的开源实现。有go,scalajvm,javainjava,ajvm,python-jvm,lua,还有各种版本的不同jvm实现。
当然,这些实现只是基本原则。
推荐你看《实战hotspot》豹书,关注高级语言虚拟机的圈子。
当然,关于垃圾收集的书很少,这里我推荐《《The Garbage Collection Cookbook》》,一本关于垃圾收集的经典书籍。其实如果你对新的垃圾收集算法感兴趣,可以去知乎搜索相关论文和GC算法的开源演示。
当然,我的建议只是针对Java本身。
很想学java生态学,软件工程,计算机网络,大数据基础,mahuot,sparklib,分布式搜索架构,各种消息中间件,缓存中间件,数据库,DNS/CDN。。。。。这些都是互联网应用,不可避免。
我只能建议我精通一般知识,精通研究方向和相关的生态学理解。因为问题是针对java本身的。我赢了。;其他具体方向不展开。描述了大致的技术方向,没有其他答案详细讨论语法糖的水平。希望对主有帮助。
如有问题,欢迎关注回复,与我探讨。谢谢你。
Java跟大数据哪个容易学?
大数据是我的主要研究方向之一,我也出版过Java编程书籍,所以我来回答这个问题。
首先,Java是一种编程语言,广泛应用于Web开发、大数据、Android开发等领域。Java语言的特点是性能稳定,扩展性强。很多大型互联网平台往往更愿意采用Java开发方案,因为这样可以在一定程度上降低开发风险。
大数据代表的是一个技术体系,是一系列技术的组合。大数据技术涉及数据采集、整理、存储、安全、分析、展现和应用。所以大数据涉及很多技术含量和相关岗位。目前处于大数据时代,学习大数据技术是个不错的选择。对于初学者来说,如果计算机基础知识比较薄弱,从Java编程开始学习是比较现实的选择,掌握Java编程后可以继续向大数据发展。由于Java语言也是大数据开发的重要工具之一,因此在大数据平台开发、大数据应用开发等领域应用广泛。另外,Java语言已经发展了很多年,整个IT行业有大量的开发岗位,从就业的角度来说学习Java语言也是一个不错的选择。
学习Java可以规划成三个学习阶段,即基础语法阶段、Web开发阶段和分布式开发阶段,其中基础语法阶段是学习的难点。Java语言是一门纯面向对象的编程语言,所以在学习的前期需要接触很多抽象的概念。掌握了这些抽象的概念之后,后续的学习就会相对容易。
学习Java要注意三点。一种是多做实验和总结,逐步建立编程思路;二是多做技术交流,交流的过程也是学习的过程;三是紧跟技术发展趋势,目前选择大数据方向是个不错的选择。
本人从事互联网行业多年,目前在读计算机专业研究生。我的主要研究方向是大数据和人工智能。我会陆续写一些互联网技术方面的文章,有兴趣的朋友可以关注我。我相信我一定会有所收获。
如果你有任何关于互联网或者考研的问题,都可以咨询我。谢谢大家!
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。