- 博客(5)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 JVM内存学习概要
所有的学习都需要基于原理,理解了原理才是最高效的! 理解JVM的内存,可以从理解代码在是如何在虚拟机中执行的,代码是如何存储在虚拟机?一个类、方法及其实例是怎么存储的?OutOfMemory和StackOverflow是怎么出现的?带着这些问题去阅读JVM的相关文章会事半功倍,加深理解。本文也不例外! 在看本文之前,需要先告知: 虚拟机是基于栈去执行指令的! 一、虚拟机内存区域概貌 在学...
2018-07-25 14:12:28
182
原创 JVM学习系列之Java内存模型
一、代码案例 且看如下代码,两个线程AB分别执行doSth1和doSth2函数,输出多少种结果: maybe: flag = true a = 0 flag = true a = 1 如果代码改成如下呢,函数doSth2中是否可以进入 a = a - 1的计算语句,最后结果又是多少? maybe: flag = true a = 1 最后的实验结果,还有可能的结果如下: ...
2018-12-29 17:33:29
185
原创 判断两个字符串中的最长相同子串
题目:判断两个字符串中相同的最长字符串? 思路: 1、先找到较小的字符串(A),较大字符串为B; 2、循环A的字符c,判断该字符是否存在于B中,若存在则继续3,否则继续2; 3、叠加A中字符c后的字符d与c组合成新的字符串c,判断新c是否在B中,在则继续3,否则4; 4、判断c的长度是否大于原结果串ret的长度,是则取c,否则不做操作。继续执行2。 package com; pub...
2018-07-28 15:59:50
1967
原创 HashMap resize源码分析(JDK8)
final Node<K,V>[] resize() { Node<K,V>[] oldTab = table; int oldCap = (oldTab == null) ? 0 : oldTab.length; int oldThr = threshold; int newCap, newThr = 0; ...
2018-06-27 10:57:21
1492
原创 Hashtable源码解析
首先来一波对比,Hashtable与HashMap,这两个一看到,Hashtable是线程安全,put、remove、get、size、hashCode等方法都用了synchronized同步修饰符,而HashMap是非线程安全的。Hashtable很早(JDK1.0)就出现,从复杂度上来说,先研究一下Hashtable利于后续理解HashMap和ConcurentHashMap的设计。 ...
2018-06-21 15:54:21
1055
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人