一帆磨砺

生活所迫,一叶孤舟

0%

引用参考文档链接

  1. jdk14特性列表

写在开头

  1. switch已经可以正式使用,用起来很爽
  2. 官方开放了API可以访问堆外的外部内存,这个特性看起来在大数据领域可以发挥很大的作用
  3. 空指针异常信息的细节增强非常方便开发人员的本地开发过程,大大的简化了本地调试的工作
    阅读全文 »

引用参考文档链接

  1. jdk13特性列表

写在开头

  1. 本次版本没有对用户代码直接影响特性
  2. AppCDS的增强对于使用AppCDS的用户来说是降低了日常的使用成本
  3. 对于大多数开发人员来说,我想文本块的提出是非常令人舒畅的,日常的大文本的使用的确是一直为人诟病的,这个虽然只是小细节的优化调整,甚至都未开放使用,但是却令笔者对Java的后续更新迭代增加了很多期望
    阅读全文 »

引用参考文档链接

  1. jdk11特性列表
  2. nest class和inner class的区别
  3. JDK11中增加了一个常量池类型:CONSTANT_Dynamic
  4. new-jvm-features-jdk-11
  5. hands-on-java-constantdynamic

写在开头

  1. 直接影响编码的功能几乎没有,大多数都是幕后工作的更新
  2. ZGC是一个核心内容,不过JDK11中是实验版
  3. JFR的加入方便了性能监控,建议上手实际操作几次,非常好用
  4. 加密算法的几个新增实现未进行深入了解(未涉足领域,功力不足)
    阅读全文 »

引用参考文档链接

  1. JDK10特性列表
  2. megamorphic-virtual-calls
  3. class-data-sharing
  4. javah

写在开头

  1. JDK10的更新内容不多,核心就是局部变量类型推断
  2. Heap Allocation on Alternative Memory Devices可能在未来会发挥相当重要的作用,不过是在运维层面了,是和机器的物理架构相结合的技术
  3. 有一些面对运行性能的优化,比如G1的全并行Thread-Local Handshakes基于 Java 的 JIT 编译器,分别针对垃圾回收、多线程场景、代码编译,并且这几项技术启用需要做额外的性能测试,以确认是否在生产环境使用
阅读全文 »

引用参考文档链接

  1. Oracle Java9官方文档
  2. JDK 9 Release Notes
  3. Module System Quick-Start Guide
  4. JDK9迁移指南
  5. Milling Project Coin
  6. jlink: The Java Linker
  7. The Java Shell

写在开头

  1. 本文仅涉及部分JDK9变更,完整可查看官方文档Standard Edition What’s New in Oracle JDK 9
  2. 除了模块化,其他改动对日常开发影响不多,可以着重关注模块化和接口私有函数
  3. 在后续的学习中发现,在模块化后,类似于ServiceLoader.load的类加载的方法都有变动,大多数都和模块之间的类可视化有关,如果是从低版本迁移,需要额外注意
阅读全文 »

写在开头

  1. 本书适合刚学习编程,并对编程十分感兴趣的同学,此书无法立刻提升编码能力,仅仅只能提供认知拓展;
  2. 设计模式是一种经验总结,并非发明创造,因此不能刻版的使用,需要因地制宜,甚至有些场景下,不适用任何设计模式解决问题反而会是最佳方案;
  3. 有一定的项目编码经验的同学更适合其他学习方式,如文字版的网页菜鸟教程或者视频类其他知识分享者上传的视频教程,本人更推荐文字版的,比较方便,更能快速的了解;
  4. 学习设计模式主要核心是弄清楚要解决的问题即使用场景,最好是能根据教材/教程的案例,自己手敲一遍代码并运行去理解,仅仅靠定义去了解是远远不够的;
  5. 还想更进一步了解使用场景的同学可以去阅读各大开源项目的代码,尤其是中间件一类,因为更多会考虑性能和拓展问题,设计模式使用频率会远高于一般的业务项目;
  6. 思维导图中的一些优点缺点是结合部分网络教程的观点罗列而来,并非标准答案;
  7. 本文的思维导图仅是本人的读书笔记,不可作为权威版本去学习参考,可以简单浏览,如果感兴趣可以购买正版书籍学习;
    阅读全文 »

写在开头

  1. 本书推荐按章节顺序读取,但是不同篇章需要不同程度的深入了解;
  2. 对于Java开发人员,本书最重要的篇章就是自动内存管理机制部分(第2章-第5章),可以在日常的OOM和StackOverflow场景中提供巨大帮助,尤其其中提供的几个案例,更能帮助读者更好的理解内存管理;
  3. 其次就是高效并发篇章,该篇章可以帮助读者更深入的理解并发竞争的模型,理解为什么死锁,不过部分内容除了需要本书的其他篇章内容支撑外i,还需要额外了解操作系统知识(信号量),并且无死锁场景的排查案例,因此需要读者需要额外通过其他方式学习如何在死锁时定位;
  4. 其他篇章内容对于Java开发人员基本只需要阅读产生印象即可,无需更深入了解(对大部分常规日常工作无明显帮助);
  5. 平台(中间件)开发人员,需要额外深入阅读虚拟机执行子系统篇章,尤其是类加载内容,其中的双亲委派模型尤为重要;
  6. 思维导图不适合作为学习材料,可以简单一阅,建议购买正版书籍。
    阅读全文 »