spring框架怎么使用ioc spring学习怎么记笔记?
spring学习怎么记笔记?
spring核心是管理我们的对象,记核心,学习一个框架,先去了解他的核心是什么?再去记他的一些最重要的知识点,比如说spring的AOP于IOC,他们共有为了干什么啊的,帮我们帮忙解决了什么问题。
如何系统的学习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和老年代,和回收警戒线,wide触发条件,各种个样的基本参数和不怎末带的超参数,包括G1的H区,ZGC等等。。。不过的是,GC并属于jvm官方规范的一部分。
然后,试着做一些jvm的实践和实战,
比如说,jvm最常见的一种的故障排查和故障系统的总结,性能调优,热程序加载,class字节码的动态操作,asm等。
到最后,可以数次实现程序自己的jvm。(当然这个步骤,对很多同学来说也不是要了)
这里我帮我推荐几本书,确实是再次搞明白jvm规范的学习路径。最好自己实现方法垃圾回收器。
周老师的《深入理解Java虚拟机》。
这一次是《深入嵌入式java虚拟机》和配套源码。这个cldc的jvm源码只有一1M多。目前在oracle的官网上,仍旧可以不可以下载。是一个设计相当精简整合的jvm实现程序。
接下来的事情,可以去阅读《自己动手写java 虚拟机》。这本书的jvm利用是采用go语言c语言设计。其实其中也有很多设计并又不是太合算。但基本都遵循什么了jvm规范。
这时候就可以去看下github上各种jvm的开源代码利用了。有play,scalajvm,javainjava,ajvm,python-jvm,lua,各个版本各个相同的jvm基于。
肯定,这些实现程序都仅仅基本原理。
后面推荐一下你上去看《实战hotspot》豹子书,打听一下高级语言虚拟机的圈子。
肯定,垃圾回收的书籍也很少,这里我还是推荐一下给你垃圾回收的最经典书《The Garbage Collection Cookbook》。虽然对新的垃圾回收算法有兴趣,这个可以去知乎搜索相关的论文和GC算法开源软件实现方法的demo。
5.其实,我的建议仅仅因为Java本身。
真正要至少完全把英语学好java生态,软件工程,计算机网络,大数据基础知识,mahuot,sparklib,分布式搜索架构,各种消息中间件,缓存中间件,数据库,DNS/CDN。。。。。这些也是做互联网应用,无法躲闪的。
只有见意,通用知识非常熟练,努力专研方向精通满,具体生态知道一点。
的原因提问是针对java本身。我就不再发起说其他具体方向了。具体描述的是大的技术方向,根本不会其他答主那样,具体一点去继续讨论语法糖这种级别。如果能对提主极大帮助。
有任何问题,请关注发,与我商讨。谢谢了。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。