- 博客(5)
- 资源 (25)
- 收藏
- 关注
原创 HashMap底层实现原理
在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,HashMap采用位桶+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找时间。简单说下HashMap的实现原理:首先有一...
2018-10-25 14:53:03 2235
原创 查看Java配置信息工具
jinfo(Configuration Info for Java) 的作用是实时地查看和调整虚拟机各项参数jinfo pid比如:其实可以获取到好多当前进行相关的java配置信息 我觉得最有用的就是路径吧 其他的也就看看...
2018-10-11 14:26:05 706 1
原创 linux命令直接从服务器查看死锁内存溢出等问题的命令(直接定位到代码)
1、top(查看cpu占有率最好的线程)2、top -Hp pid3、printf "%x\n" 3046 (拿到TID 转换成16进制)4、jstack -l3036 (查看当前线程下所有的线程执行状态 注意:是通过Tid号进行区分 各各进程的) 比如:这里的0xbe6 就是 16进制 , 通过Thread-0 后面的nid 来进行区分 不同的进程...
2018-10-11 14:12:40 5092
原创 jstack -l pid 内容解析
其实这些内容有个名词叫做 JVM内部线程下面我们对这些功能挨个解说 JDK 版本:Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode) 下面的输出是一个典型的HotSpot JVM的thread dump,以此为例,来说明一下JVM的内部线程功能。 2014-04-29 17:59:54...
2018-10-11 11:44:38 20051
原创 类加载全过程
1、加载 加载时类加载过程的第一个阶段,在加载阶段,虚拟机需要完成以下三件事情: 1、通过一个类的全限定名来获取其定义的二进制字节流。 2、将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。 3、在Java堆中生成一个代表这个类的java.lang.Class对象,作为对方法区中这些数据的访问入口。启动类加载器:Bootstrap Class...
2018-10-10 09:42:23 245
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人