会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
哈哈丶丶
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
9
10
11
12
13
14
15
16
下一页
2020年12月8日
String对象和String常量池
摘要: 1. String的基本特性 String:字符串,使用一对 “” 引起来表示 String s1 = "mogublog" ; // 字面量的定义方式 String s2 = new String("moxi"); // new 对象的方式 String声明为final的,不可被继承 String
阅读全文
posted @ 2020-12-08 10:00 哈哈丶丶
阅读(622)
评论(0)
推荐(1)
2020年12月7日
11. 执行引擎
摘要: 1. 执行引擎概述和基本执行过程 1.1 概述 在前面的博文中, 已经对 类的加载,和加载后类的运行时数据区进行说明,但是 我们的java程序是运行在jvm中的,而我们的字节码指令并不能直接被操作系统所识别, 这个时候就需要 执行引擎登场了. 执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是
阅读全文
posted @ 2020-12-07 16:32 哈哈丶丶
阅读(292)
评论(0)
推荐(0)
2020年12月4日
10. 直接内存
摘要: 我们知道 在jdk8 之后,Hotspot 将 方法区的实现改为元空间,直接使用本地内存,下面就来详细了解一下 1. 直接内存的概述 不是虚拟机运行时数据区的一部分,也不是《Java虚拟机规范》中定义的内存区域。 直接内存是在Java堆外的、直接向系统申请的内存区间。 起源于NIO,通过存在堆中的D
阅读全文
posted @ 2020-12-04 17:08 哈哈丶丶
阅读(401)
评论(0)
推荐(1)
9. 对象的实例化内存布局与访问定位
摘要: 1. 对象的实例化 1.1 对象的实例化方式 new:最常见的方式,直接new 或者 单例模式的 getInstance 方法等 Class的newInstance方法:反射方式, 在JDK9里面被标记为过时的方法,因为只能调用空参构造器,并且权限必须为 public Constructor的new
阅读全文
posted @ 2020-12-04 16:23 哈哈丶丶
阅读(219)
评论(1)
推荐(1)
8. 方法区
摘要: 1. 栈 堆 方法区的交互关系 前面的文章中已经了解了 栈 ,堆, java 运行时区中另一个非常重要的区域就是 方法区 那么这三者又有什么关系呢? 与线程共享与否的角度 从Person person = new Person(); 看 Person 类的 .class 信息存放在方法区中 pers
阅读全文
posted @ 2020-12-04 16:20 哈哈丶丶
阅读(531)
评论(0)
推荐(2)
7. 堆空间
摘要: 1. 堆的核心概述 1.1 概述 堆针对一个JVM进程来说是唯一的,也就是一个进程只有一个JVM ,但是进程包含多个线程,他们是共享同一堆空间的, 前面所学习到的 程序计数器 本地方法栈, 虚拟机栈, 是每个线程独立占有的一份, 而 堆空间 和后面所说的 方法区, 则是 所有线程共享的, 如下图 ,
阅读全文
posted @ 2020-12-04 14:03 哈哈丶丶
阅读(420)
评论(0)
推荐(0)
6. JVM本地方法
摘要: 1 本地方法 简单地讲,一个Native Method是一个Java调用非Java代码的接囗 一个Native Method是这样一个Java方法:该方法的实现由非Java语言实现,比如C。 这个特征并非Java所特有,很多其它的编程语言都有这一机制,比如在C中,你可以用extern 告知C编译器去
阅读全文
posted @ 2020-12-04 10:03 哈哈丶丶
阅读(174)
评论(0)
推荐(1)
2020年12月3日
5. JVM虚拟机栈
摘要: 1.概述 说到jvm 其中让人印象最深的就是栈和堆,也是 jvm中占用内存最大的两个地方. 从宏观上来看栈是运行时的单位,而堆是存储的单位 ,栈解决程序的运行问题,即程序如何执行,或者说如何处理数据。堆解决的是数据存储的问题,即数据怎么放,放哪里. 那么对于 jvm来说 , 运行时数据的结构为什么要
阅读全文
posted @ 2020-12-03 17:17 哈哈丶丶
阅读(460)
评论(0)
推荐(0)
2020年12月2日
4. 程序计数器
摘要: 1. 概述 JVM中的程序计数寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。这也是有人称他为 程序寄存器的原因 这里,并非是广义上所指的物理寄存器,或许将其翻译为PC计数器
阅读全文
posted @ 2020-12-02 17:24 哈哈丶丶
阅读(243)
评论(0)
推荐(0)
3. JVM运行时数据区
摘要: 1. 运行时数据区概述 前面的章节中已经将类的加载过程大致过程说清楚了,此时类已经加载到内存中,,后面就是运行时数据区的各个组件的工作了 由上图可以看出来, jvm将class字节码加载完成后,后面运行的大部分工作都是在运行时数据区中完成,也就是电脑内存中,也更加复杂, jvm中的垃圾回收 针对的也
阅读全文
posted @ 2020-12-02 17:08 哈哈丶丶
阅读(116)
评论(0)
推荐(0)
上一页
1
···
9
10
11
12
13
14
15
16
下一页
公告