![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
liuhongbibo
这个作者很懒,什么都没留下…
展开
-
Java中几种常量池的区分
转自:http://blog.csdn.net/qq_23013625/article/details/53219438 在java的内存分配中,经常听到很多关于常量池的描述,我开始看的时候也是看的很模糊,网上五花八门的说法简直太多了,最后查阅各种资料,终于算是差不多理清了,很多网上说法都有问题,笔者尝试着来区分一下这几个概念。 1.全局字符串池(string pool也有转载 2017-11-30 12:27:38 · 153 阅读 · 0 评论 -
Java技术——你真的了解String类的intern()方法吗
转自:http://blog.csdn.net/seu_calvin/article/details/52291082 0.引言 什么都先不说,先看下面这个引入的例子: [java] view plain copy String str1 = new String("SEU")+ new String("Calvin");转载 2017-11-30 20:18:26 · 150 阅读 · 0 评论 -
漫画:什么是volatile关键字?(整合版)
转自:https://mp.weixin.qq.com/s/DZkGRTan2qSzJoDAx7QJag 漫画:什么是volatile关键字?(整合版) 2017-12-21 永远爱大家的 程序员小灰 点击上方“程序员小灰”,选择“置顶公众号” 有趣有内涵的文章第一时间送达!转载 2017-12-21 11:05:05 · 718 阅读 · 0 评论 -
Java类加载一:Class.forName()和ClassLoader.getSystemClassLoader().loadClass()区别
要想搞清楚这两个方法的区别,我们需要了解一下Class的加载过程。Class的加载过程分为三步: loading(装载)linking(链接)initializing(初始化) 大家可以通过这篇文章:Java魔法堂:类加载机制入了个门来了解类的详细加载过程。阅读以上文章后,我们一起分析一下两个方法的区别,如有不正之处,欢迎批评指正。 1、forName() Class.fo转载 2017-12-13 15:54:24 · 1826 阅读 · 0 评论 -
查看静态变量对应的对象在是否在堆中
方法区和GC堆是不冲突的两个概念,在JVM规范中,方法区被定义为一种逻辑区域,而方法区具体怎么实现是各JVM的实现细节,所以方法区的内容在堆里也好,不在堆里也好都是符合标准的。 比如曾经HotSpot中,永久代就约等于方法区,而IBM的J9以及在Java7以后的HotSpot中就不是这样设计的;至于本题中的静态实例,目前的HotSpot是在堆中存储的。 另:如果题主有类似的疑问,又是使用的Or转载 2018-01-11 13:09:25 · 2377 阅读 · 1 评论 -
正确使用 Volatile 变量
转自:https://www.ibm.com/developerworks/cn/java/j-jtp06197.html Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是synchronized 的一部分。本文介绍转载 2018-01-11 13:50:08 · 344 阅读 · 0 评论