- 博客(10)
- 收藏
- 关注

原创 Java虚拟机代码是如何一步一步变复杂且难以理解的?
有相关统计数据显示,Java开发者有1000万+,这么多的人每天都在使用Java虚拟机进行开发,不过真正看过虚拟机代码的人应该非常非常少吧,可能有些人研究过,不过由于Java虚拟机是一个高度复杂的系统性工程,过于复杂的实现让他们最终放弃。
2025-04-25 09:34:07
1011
原创 Java垃圾收集器除了STW,还有这些缺点
Java通过垃圾收集器(Garbage Collection,简称GC)实现自动内存管理,这样可有效减轻Java应用开发人员的负担,也避免了更多内存泄露的风险。如果你用过C++等需要手动管理内存的语言,那么你就会体会到GC带来的便利,降低了语言使用的门槛。不过在我们享受自动内存管理带来的便利时,也不得不关注它带来的一些缺点。Java的垃圾收集器最被人诟病的可能就是STW了,不过除此之外,它还有一些缺点,这一篇我们就列举一下GC的几大缺点。
2025-05-09 11:29:53
708
原创 我也来说说经典面试题目-“OOM异常会导致JVM退出吗?”
如果线程没有捕获Error异常,那么将由全局的异常处理器处理,默认的全局的异常处理器也会让当前这个发生异常的线程退出,但是如果这个线程是最后一个非守护线程,那么JVM会退出,如果不是,JVM并不会退出。对于守护线程来说,OOM并不会导致JVM退出,这里有一个非常好的线上故障:https://blog.csdn.net/shuxiaohua/article/details/114658325 ,缺少的接收客户端请求的线程Acceptor是一个守护线程,并且因为OOM退出时,并没有让Tomcat退出。
2025-04-29 16:55:33
371
原创 第3篇-如何编写一个面试时能拿的出手的开源项目?
前2篇的链接如下:第1篇-如何编写一个面试时能拿的出手的开源项目?第2篇-如何编写一个面试时能拿的出手的开源项目?第1篇介博文中详细介绍过编写一个规范开源项目所要遵循的规范,并且初步实现了博主自己的开源项目Javac AST View插件,不过只搭建了项目开发的基本框架,树状结构的数据模型也是硬编码的;第2篇从Eclipse编辑器中读取Java源代码并转换为Javac的抽象语法树,然...
2020-02-29 08:21:39
497
原创 第2篇-如何编写一个面试时能拿的出手的开源项目?
在第1篇-如何编写一个面试时能拿的出手的开源项目?博文中曾详细介绍过编写一个规范开源项目所要遵循的规范,并且初步实现了博主自己的开源项目Javac AST View插件,不过只搭建了项目开发的基本框架,树状结构的数据模型也是硬编码的,本篇博文将继续完善这个项目,实现动态从Eclipse编辑器中读取Java源代码,并在JavacASTViewer视图中展现Javac编译器的抽象语法树。实现过程...
2020-02-27 08:28:46
744
原创 第1篇-如何编写一个面试时能拿的出手的开源项目?
编写一个不错的开源项目至少有3个好处:(1)练技术,长经验(2)面试时展现自己的Coding能力(3)获取成就感练技术,长经验是最实在的,不过如果自己有一个好的开源项目,还可以在开源中国或github上开源,让更多人受益,也许能获得许多的Star,让自已获得满足,激励自己完善项目功能。在面试时,也可以在简历显眼的位置给出开源项目名称和Git地址。面试官一般都会去查看,这是程序员实力...
2020-02-12 19:08:16
2996
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人