
jvm
stone_tomcat
路漫漫气息永存!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
windows环境如何查询端口号占用及杀死进程
查询 netstat -ano | findstr "port"终止 taskkill -PID pid -F。原创 2022-08-04 11:03:36 · 187 阅读 · 0 评论 -
jvm 可达性分析寻找垃圾
原创 2020-06-16 15:28:49 · 206 阅读 · 0 评论 -
如何定位垃圾
#### 2.如何定位垃圾1. 引用计数(ReferenceCount)2. 根可达算法(RootSearching)#### 3.常见的垃圾回收算法1. 标记清除(mark sweep) - 位置不连续 产生碎片 效率偏低(两遍扫描)2. 拷贝算法 (copying) - 没有碎片,浪费空间3. 标记压缩(mark compact) - 没有碎片,效率偏低(两遍扫描,指针需要调...原创 2020-04-18 16:37:03 · 472 阅读 · 0 评论 -
总线
1.总线分类 1.1数据传输方式分类 1.1.1串行总线 1.1.2并行总线 1.2按传输数据类型分为 1.2.1 数据总线 1.2.2 地址总线 1.2.3 命令总线1.3按总线在soc系统的不同层次位置上分类 1.3.1 片上总线(片内总线) 1.3.2 片间总线 1.3.3系统总线...原创 2020-04-17 21:40:06 · 586 阅读 · 0 评论 -
jvm 三色标记法
三色标记法这个算法就是把 GC 中的对象划分成三种情况:白色:还没有搜索过的对象(白色对象会被当成垃圾对象)灰色:正在搜索的对象黑色:搜索完成的对象(不会当成垃圾对象,不会被GC)上面说的这个问题就是可以用下图来表示:这个图的意思就是:假设有 A -> B -> C, A 是 GC Roots 关联的对象,那么首先会把 GC Roots 标记,也就是 A 标...原创 2020-04-17 21:19:00 · 6317 阅读 · 0 评论 -
jvm jdk8 MetaSpace
被废弃的持久代想起之前面试的时候有面试官问起过我一个问题:Java 8为什么要废弃持久代即Metaspace的作用。由于当时使用的Java 7且研究重心不在JVM上,一下没有回答上来,今天突然想起这个问题,就详细总结一下这个问题。首先我们看一张JVM内存布局的图:注意到里面有一块METHOD AREA,它是一块线程共享的对象,名为方法区,在HotSpot虚拟机中,这块METHOD ...原创 2019-09-18 11:40:44 · 543 阅读 · 0 评论 -
jvm 调优
-Xms1024m -Xmx1024m -XX:+PrintGCDetailsjvm 调优原创 2019-09-18 11:35:13 · 165 阅读 · 0 评论 -
jvm 常用的垃圾收集算法
1 标记-清除算法 标记-清除算法采用从根集合(GC Roots)进行扫描,对存活的对象进行标记,标记完毕后,再扫描整个空间中未被标记的对象,进行回收,如下图所示。标记-清除算法不需要进行对象的移动,只需对不存活的对象进行处理,在存活对象比较多的情况下极为高效,但由于标记-清除算法直接回收不存活的对象,因此会造成内存碎片。2 复制算法 复制算法的提出是为了克服句柄的开销和解决内...原创 2019-08-25 12:33:32 · 189 阅读 · 0 评论 -
jvm
1.为什么会有年轻代我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话,我们把新创建的对象放到某一地方,当GC的时候先把这块存“朝生夕死”对象的区域进行回收,这样就会腾出转载 2017-03-20 23:27:23 · 678 阅读 · 0 评论