
jvm
文章平均质量分 74
这是我的昵称。。
。。。。。。。。。。。。。。。。。。
展开
-
一些JVM常用参数配置
GC 常用参数-Xmn -Xms -Xmx –Xss 年轻代 最小堆 最大堆 栈空间-XX:+UseTLAB -XX:+PrintTLAB -XX:TLABSize 使用 TLAB, 默认打开 打印 TLAB 的使用情况 设置 TLAB 大小 -XX:+DisableExplicitGC 启用用于禁用对的调用处理的选项 System.gc() -XX:+PrintGC 查看 GC 基本信息 -XX:+PrintGCDetails -XX.原创 2021-01-21 14:52:22 · 252 阅读 · 0 评论 -
JVM 垃圾回收器之---Garbage First(G1)
Garbage First(G1)设计思想随着 JVM 中内存的增大, STW 的时间成为 JVM 急迫解决的问题, 但是如果按照传统的分代模型, 总跳不出 STW 时间不可预测这点。为了实现 STW 的时间可预测, 首先要有一个思想上的改变。 G1 将堆内存“化整为零” , 将堆内存划分成多个大小相等独立区域(Region) , 每一个 Region都可以根据需要, 扮演新生代的 Eden 空间、 Survivor 空间, 或者老年代空间。 回收器能够对扮演不同角色的 Region 采用不同的策略原创 2021-01-21 11:43:45 · 226 阅读 · 0 评论 -
JVM垃圾回收器-标记清除算法----三色标记
三色标记在三色标记法之前有一个算法叫 Mark-And-Sweep(标记清除) 。 这个算法会设置一个标志位来记录对象是否被使用。 最开始所有的标记位都是 0, 如果发现对象是可达的就会置为 1, 一步步下去就会呈现一个类似树状的结果。 等标记的步骤完成后, 会将未被标记的对象统一清理, 再次把所有的标记位设置成 0 方便下次清理。这个算法最大的问题是 GC 执行期间需要把整个程序完全暂停, 不能异步进行 GC 操作。 因为在不同阶段标记清扫法的标志位 0 和 1 有不同的含义,那么新增的对象无论原创 2021-01-21 11:30:18 · 921 阅读 · 0 评论 -
JVM---对象的分配策略
对象的分配策略栈上分配没有逃逸即方法中的对象没有发生逃逸。逃逸分析的原理: 分析对象动态作用域, 当一个对象在方法中定义后, 它可能被外部方法所引用。比如: 调用参数传递到其他方法中, 这种称之为方法逃逸。 甚至还有可能被外部线程访问到, 例如: 赋值给其他线程中访问的变量, 这个称之为线程逃逸。从不逃逸到方法逃逸到线程逃逸, 称之为对象由低到高的不同逃逸程度。如果确定一个对象不会逃逸出线程之外, 那么让对象在栈上分配内存可以提高 JVM 的效率。逃逸分析代码 这段代码在调用的过程中 Myb..原创 2021-01-20 10:12:40 · 161 阅读 · 0 评论