jenkins全局变量查询 java主要学习哪一方面的东西?
java主要学习哪一方面的东西?
通常分成三类200以内几个方面:
计算机咨询课程的学习这主要包括计算机基础、计算机网络、数据库理论、数据结构等咨询课程。这些都是大学计算机必修课程,才能学好这些基础课程,再学Java咱们应该是科班演员。
Java的整个技术体系结束怎么学习Java的时候,我们是从基础结束,除开面向对象特性、都差不多数据类型、抽象类、接口、GUI图形编程(简直用不了,知道一点即可)、IO、网络编程等知识点。学完这些我们像是要打听一下帮一下忙Html相关知识,Jsp和Servlet也要了解下。这些知识点手中掌握以后,就到框架部分。公元前16世纪我们用SSH(strutsspringhibernate),到现在早就基本被遗弃了,所以才只要知道有过这个框架再试一下。而现在我们要手中掌握的框架是SpringMvc和Springboot,完全掌握这两个框架,基本上就可以随意应对工作了。
中间件技术,高级工程师晋升之路在掌握Java体系技术点以后,我们工作中肯定会要用很多中间件技术,包括缓存技术Redis、负载均衡Nginx、消息队列Kafka、Dubbo、Zookeeper等、Mongodb之类的非关系数据库、项目最终形成Maven、Gradle等、代码管理Git、坚持了集成Jenkins等。能熟练手中掌握这些技术点,是从初级工程师到中级工程师到高级工程师的必经之路。
如何系统的学习JAVA?
java的整体生态和学习积累真是是太大了。95年一直20多年的积累,甚至比较复杂到计算机软硬件的方方面面。我依我之见就以为,提主所说的精通,是指jdk本身和一些必要的数据结构包括具体用法框架和面向对象的基本上思想吧。
从11年初到现在为止,总是在学习java相关的知识。其中也走了不少弯路。按自己的积累,提出提主一个自以为合不合理且有是有深度的学习路线。确切分下面几个阶段吧。
1.首先应尽可能会的打牢基础的数据结构和简单的算法基础。
是可以去飞快的学习一些简单的一百头系统,来满足软件自学的兴趣和初期成就感。但,你必须回过头来,观察的培养数据结构基础和简单的算法。类似于这种书就是可以。
2.比较熟练可以使用Java类库和java第三方工具框架。
学习建议使用java的语法,接触理解Java语法电脑设计的逻辑。比较熟练完全掌握jdkjava代码本身,和各种第三方类库工具包和第三方框架的简单点使用。这里学习的同时,推荐推荐看看《设计模式》,《代码整洁之道》,《spring源码解读》,《Spring揭秘》等这一类的书集。
3.理解去学习jdk类库本身的应用源码实现程序和主流第三方框架的源码和架构设计。
比如jdk本身的数据结构二叉树,红黑树,treemap,在内异步包的unsafe,同步阻塞队列,call-future等等包源码,这些线程基础类的实现,各个类库啊,设计的结构和设计模式。弄懂第三方框架的设计思想,理解学第三方框架的核心源码。
当然,这里面可能会不属于到其他的事务,分布式协议等,这里并没有发动。这个过程并非一朝一夕,可能会要大量的时间和技术感悟。其实,《设计模式》,《代码整洁之道》,《spring源码解读与设计详析》,《Spring揭秘》等等这一大类书,在这个过程可以解释大差不差了。
4.理解jdk,jre即jvm原理和实现方法。
这里我推荐一下看下王振彪的《实战java虚拟机》,里面解说比较偏实操。容易上手解释。
简单,是可以从jdk自带的工具怎么学习来先学些。
比如说:jstat,jmap,jstack,jps,jdb.......甚至于有真接也可以窥视运行期间换算内存数据的HSDB。不过,另外自学明确的,我们只需要再理解广泛的几个命令,并知道其贞洁戒的意义去掉。况且,第三方监控工具,和jdk本身也提供给了3个可视化的监控。
或者,解释jvm的运行运行程序原理,搞明白class文件结构。
这个过程我们这个可以自身之前会是用监控工具,理解jvm加载的基本原理。这个可以可以参考官方各个版本的jvm标准,学习搞懂class文件。在此处可以不在用如classpy等工具,更方便我们就泛读class文件。也也可以再试试接受class字节码级别的循环展开调试工具。甚至,是可以试图用用jvm汇编编码工具。
接下来的,表述jvm的垃圾回收机制发展历史和各个主流垃圾回收器的工作原理。
这个过程总之非常古怪。垃圾回收器有各种串行,并行,新声代/swap和老年代,这些回收警戒线,large触发条件,各种个样的基本参数和不咋专用超参数,以及G1的H区,ZGC等等。。。而且的是,GC并属于法律jvm官方规范的一部分。
然后再,一起动手做一些jvm的实践和实战,
比如,jvm较常见的故障排查和故障学习总结,性能调优,热读取,class字节码的动态操作,asm等。
到最后,是可以数次实现方法自己的jvm。(当然这个步骤,对很多同学来说不是什么需要了)
这里我我推荐几本书,确实是全部搞懂jvm规范的要求的学习路径。最好自己实现程序垃圾回收器。
周老师的《深入理解Java虚拟机》。
下一步是《深入嵌入式java虚拟机》和配套源码。这个cldc的jvm源码唯有1M多。目前在oracle的官网上,仍然这个可以下载。是一个设计更加精简的jvm实现程序。
接下来的事情,是可以去阅读《自己动手写java 虚拟机》。这本书的jvm实现方法是按结构go语言汇编语言。当然其中也有很多设计并不是什么的很合理不。但基本是都遵循什么了jvm规范。
这会儿就也可以去看看吧github上各种jvm的开放源代码基于了。有you,scalajvm,javainjava,ajvm,python-jvm,lua,各个版本各个差别的jvm实现程序。
当然了,这些实现程序都只是因为基本原理。
后面我推荐你再去看《实战hotspot》豹子书,关注高级语言虚拟机的圈子。
当然,垃圾回收的书籍比较比较少,这里我还是推荐一下给你垃圾回收的比较经典书《The Garbage Collection Cookbook》。事实上对新的垃圾回收算法有兴趣,也可以去知乎搜索相关的论文和GC算法开源实现程序的demo。
5.当然,我的建议仅仅因为Java本身。
唯一要提升全部学好java生态,软件工程,计算机网络,大数据基础知识,mahuot,sparklib,分布式搜索架构,各种消息中间件,缓存中间件,数据库,DNS/CDN。。。。。这些也是做互联网应用,无法躲避的。
只能见意,通用知识能熟练,钻研方向精通,去相关生态打听一下。
由于提问是对于java本身。我就不再展开攻击说其他具体一点方向了。具体描述的是大的技术方向,并没有其他答主那样,具体详细去讨论到语法糖这种级别。如果能对提主有不帮助。
有任何问题,欢迎关注回复,与我讨论到。啊,谢谢。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。