JVM
文章平均质量分 90
追梦2222
Hello world
展开
-
java SPI思想机制
自己的程序提供 Search 接口,其他服务商实现 多种搜索,包括:FileSearch, DatabaseSearch在自己的程序里通过 SPI 使用服务商实现的 FileSearch, DatabaseSearch。原创 2024-05-06 10:34:49 · 470 阅读 · 1 评论 -
jvm重要参数可视化和线上问题排查
注意:不要将 -mn 和 -mx 设置相等,会导致 没有老年代,进而 oom。-mn 过小会增加Minor GC频率,过大会减小老年代的大小。一般设为整个堆空间的1/4或1/3.注意:一般在相同物理内存下,如果减少-xss值会产生更大的线程数,但不同的操作系统对进程内线程数是有限制的,是不能无限生成。建议:通常这两个配置参数相等,可以使得堆相对稳定,避免不停震荡,动态扩容。原创 2024-05-05 11:14:23 · 1209 阅读 · 0 评论 -
运行时数据区-基础
栈是运行时的单位,而堆是存储的单位。栈解决程序的运行问题,即程序如何执行,或者说如何处理数据。堆解决的是数据存储的问题,即数据怎么放、放在哪。强调对内存空间的划分。原创 2024-05-05 08:38:43 · 476 阅读 · 2 评论 -
类加载器ClassLoad-jdk1.8
自定义加载器的话,需要继承。如果我们不想打破双亲委派模型,就重写类中的方法即可,无法被父类加载器加载的类最终会通过这个方法被加载。但是,如果想打破双亲委派模型则需要重写方法。热部署、插件化类:常用的比如SpringBoot-devtools和Arthas等工具,其实现原理就用到了类加载机制加密:有些核心代码不想公开,但又必须使用,可以通过加密类字节码的方式将编译后的加密代码交给类加载器加载,再采用某种解密算法将真正的类载入JVM,保证核心代码不被反编译泄漏。原创 2024-05-04 11:22:20 · 660 阅读 · 0 评论 -
类加载过程
类加载过程分析原创 2024-05-04 06:25:29 · 821 阅读 · 0 评论