公众号:架构师与哈苏
关注公众号进入it交流群! 公众号:架构师与哈苏 不定时都会推送一些实用的干货。。。
posts - 305,comments - 4,views - 10万

随笔分类 -  jvm

SPI(服务发现机制)
摘要:什么是SPI SPI ,全称为 Service Provider Interface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。 这一机制为很多框架扩展提供了可能,比如在Dubbo、JDBC中都使用到了SPI机制 阅读全文
posted @ 2021-09-27 15:13 公众号/架构师与哈苏 阅读(246) 评论(0) 推荐(0) 编辑
你知道那些JVM性能调优
摘要:设定堆内存大小 -Xms :堆初始空间大小 -Xmx : 堆内存最大限制。 设置新生代大小。新生代不宜太小,否则会有大量对象涌入老年代 -XX:NewSize : 新生代大小 -XX:NewRatio : 新生代和老年代占比 -XX:SurivorRatio : 伊甸园空间和幸存者空间的占比 设定垃 阅读全文
posted @ 2021-08-24 16:56 公众号/架构师与哈苏 阅读(44) 评论(0) 推荐(0) 编辑
jvm调优命令
摘要:JDK监控和故障jps,jstat,jmap,jhat,jstack.jinfo jps ,JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程。 jstat ,JVM statistics Monitoring是用于监视虚拟机运行时状态信息的命令,它可以显示 阅读全文
posted @ 2021-08-24 16:47 公众号/架构师与哈苏 阅读(34) 评论(0) 推荐(0) 编辑
minor gc和Major GC,Full GC的触发条件
摘要:Minor GC Minor GC指新生代GC,即发生在新生代(包括Eden区和Survivor区)的垃圾回收操作,当新生代无法为新生对象分配内存空间的时候,会触发Minor GC。因为新生代中大多数对象的生命周期都很短,所以发生Minor GC的频率很高,虽然它会触发stop-the-world, 阅读全文
posted @ 2021-08-24 11:58 公众号/架构师与哈苏 阅读(211) 评论(0) 推荐(0) 编辑
GC垃圾收集器
摘要:垃圾收集器是垃圾收集算法的具体实现,是执行垃圾收集算法的,是守护线程。 HotSport虚拟机采用分代收集(JVM规范并未对堆区进行划分),将堆分为年轻代和老年代,垃圾收集器也是这样组合使用的,不过已有一个G1通用(新生代和老年代)垃圾收集器 JDK中默认的垃圾收集器 jdk1.7 默认垃圾收集器P 阅读全文
posted @ 2021-08-23 16:16 公众号/架构师与哈苏 阅读(52) 评论(0) 推荐(0) 编辑
垃圾回收算法
摘要:jvm中堆是垃圾回收的主要战场,之前我们聊了对象如何判断要被回收的,现在来聊聊垃圾回收的算法。 标记清除算法( Mark-Sweep ) 最基础的垃圾回收算法,分为两个阶段,标注和清除。标记阶段标记出所有需要回收的对象,清除阶段回收被标记的对象所占用的空间。 复制算法(copying) 为了解决Ma 阅读全文
posted @ 2021-08-20 17:23 公众号/架构师与哈苏 阅读(62) 评论(0) 推荐(0) 编辑
对象是否要被回收(引用计数和可达性分析算法)
摘要:java堆和方法区主要存放各种类型的对象(方法区中也存储一些静态变量和全局常量等信息),那么我们在使用GC对其进行回收的时候首先要考虑的就是如何判断一个对象是否应该被回收。也就是要判断一个对象是否还有其他的引用或关联使得这个对象处于存活的状态。我们需要将不在存活状态的所有对象标记出,以便于GC进行回 阅读全文
posted @ 2021-08-20 16:09 公众号/架构师与哈苏 阅读(133) 评论(0) 推荐(0) 编辑
双亲委派机制
摘要:当一个类收到类加载请求,他首先不会尝试自己去加载这个类,而是把这个请求委派给父类去完成,每一层次加载器都是如此,因此所有的加载请求都应该传送到启动类加载其中,只有当父类加载器反馈自己无法完成这个请求的时候(在它加载路径下没有找到所需加载的Class),子类加载器才会尝试自己去加载。 采用双亲委派的一 阅读全文
posted @ 2021-08-16 17:03 公众号/架构师与哈苏 阅读(50) 评论(0) 推荐(0) 编辑
类的加载器
摘要:有哪些加载器? Bootstrap(引导类加载器):使用C/C++实现,负责加载JVM基础核心类库rt.jar。 Extension(拓展类加载器):从java.ext.dirs系统属性所指定的目录中加载类库,他的父类加载器为Bootstrap。 System(应用程序类加载器或者称为系统类加载器) 阅读全文
posted @ 2021-08-16 16:43 公众号/架构师与哈苏 阅读(30) 评论(0) 推荐(0) 编辑
类的加载过程
摘要:Class文件需要加载到jvm虚拟机中之后才能运行和使用。 jvm加载Class文件的步骤为:加载->连接(验证->准备->解析)->初始化->使用->卸载 加载 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的入口 阅读全文
posted @ 2021-08-16 16:42 公众号/架构师与哈苏 阅读(39) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示