JVM(HotSpot)7种垃圾收集器 7种垃圾收集器作用于不同的分代,如果两个收集器之间存在连续,就说明他们可以搭配使用。 从JDK1.3到现在,从Serial收集器-》Parallel收集器-》CMS-》G1,用户线程停顿时间不断缩短,但仍然无法完全消除。 1、Serial收集器(串行收集器) ...
分类:
其他好文 时间:
2019-05-07 11:43:35
阅读次数:
123
1. 值编号 我们知道C1内部使用的是一种图结构的HIR,它由基本块构成一个图,然后每个基本块里面是SSA形式的指令,关于这点如可以参考 "[Inside HotSpot] C1编译器工作流程及中间表示" 。值编号(Value numbering)是指 为每个计算得到的值分配一个独一无二的编号 ,然 ...
分类:
其他好文 时间:
2019-04-24 19:35:10
阅读次数:
157
1. 条件传送指令 日常编程中有很多 根据某个条件对变量赋不同值 这样的模式,比如: cpp int cmov(int num) { int result = 10; if(num9就为result赋1,否则赋0。正因为跳转是条件的,CPU必须要等到条件成立才执行后面的指令(即数据依赖于条件),这会 ...
分类:
其他好文 时间:
2019-04-23 22:31:22
阅读次数:
233
1. C1编译器线程 C1编译器(aka Client Compiler)的代码位于 。C1编译线程(C1 CompilerThread)会阻塞在任务队列,当发现队列有编译任务即可CompileTask的时候,线程唤醒然后调用CompilerBroker,CompilerBroker再进一步选择合适 ...
分类:
其他好文 时间:
2019-04-20 12:57:55
阅读次数:
237
今天启动hadoop集群的时候发现有两台机器起不起来,用jps命令报如下的错 大致说的是内存不够的意思,然后查了一下,用find / -type f -size +500M命令查看跟目录/下大于500兆的所有文件,结果如下: 看到都是kafka里面的的东西,直接cd /usr/local/kafka ...
分类:
编程语言 时间:
2019-04-16 11:53:34
阅读次数:
132
一.对象的整体结构 引用地址 1.对象头 图中可以看出对象头分为MarkWord与Class对象指针,其中MarkWord标识了对象运行时的各种属性与状态值,哈希码(HashCode).GC分代 年状 态标志、线程持有的锁、偏向线程ID、偏向时间戳等. 而Class对象指针则指向一个类在被类加载器读 ...
分类:
其他好文 时间:
2019-04-10 20:24:45
阅读次数:
195
JDK 1.1:具有AWT、内部类、JDBC、RMI、反射 JDK 1.2:有JIT解析器、精确内存管理、提升GC性能 JDK 1.3:Hotspot发布默认的虚拟机 JDK 1.4:VM退出 Java SE 5.0(JDK 1.5):具有泛型、注解、装箱、枚举、可变长的参数、foreach循环等 ...
分类:
编程语言 时间:
2019-04-09 21:03:51
阅读次数:
209
一、理论篇(一) 1.1 概述 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookee ...
分类:
其他好文 时间:
2019-04-06 18:31:04
阅读次数:
124
系列介绍|本系列主要是记录学习jvm过程中觉得重要的内容,方便以后复习 在说垃圾收集算法之前,先要说一下垃圾收集,从大的讲,垃圾收集需要考虑三件事情: 1.哪些内存需要回收 2.什么时候回收 3.如何回收 JVM在执行java程序时,把他管理的内存分为多个数据区域: 1.程序计数器(记录程序执行到哪 ...
分类:
编程语言 时间:
2019-04-06 14:14:36
阅读次数:
145
jps命令 查看JVM进程状况 格式为:jps [options] [hostid] 功能描述: jps是用于查看有权访问的hotspot虚拟机的进程. 当未指定hostid时,默认查看本机jvm进程,否者查看指定的hostid机器上的jvm进程,此时hostid所指机器必须开启jstatd服务。 ...
分类:
其他好文 时间:
2019-04-01 21:21:59
阅读次数:
176