首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
带我姑娘走出平房
掘友等级
JAVA工程师
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
15
文章 15
沸点 0
赞
15
返回
|
搜索文章
最新
热门
9.字符串常量池
只要其中有一个是变量,结果就在堆中。变量拼接的原理是StringBuilder 确保字符串在内存里只有一份拷贝,这样可以节约内存空间,加快字符串操作任务的执行速度,注意,这个值会被存放在字符串内部池。(String intern pool) 另一个对象是:字符串常量池中的对象"…
8.执行引擎(Execution Engine)
JDK1.0时代,将Java语言定位为“解释执行”还是比较准确的。再后来,Java也发展出可以直接生成本地代码的编译器。 各种用二进制编码方式表示的指令,叫做机器指令码。开始,人们就用它采编写程序,这就是机器语言 不同的硬件平台,各自支持的指令,是有差别的。因此每个平台所支持的…
7. 运行时数据区[对象的实例化内存布局与访问定位、直接内存]
虚拟机遇到一条new指令,首先去检查这个指令的参数能否在Metaspace的常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、解析和初始化。( 即判断类元信息是否存在)。如果没有,那么在双亲委派模式下,使用当前类加载器以ClassLoader+包名+类…
5.运行时数据区[方法区]
Java虚拟机规范中明确说明:尽管所有的方法区在逻辑上是属于堆的一部分,但是一些简单的实现,可能不会选择去进行垃圾收集或者进行压缩。对于HotSpot而言,方法区还有一个别名叫Non-Heap(非堆),目的就是要和堆分开 在jdk7及以前,习惯上把方法区称为永久代。jdk8开始…
4.运行时数据区[堆]
Java堆区在JVM启动的时候即被创建,其空间大小也就确认了。堆内存的大小是可调节的 方法结束后,堆中的对象不会马上被移除,仅仅在垃圾收集的时候才会被移除。 每个Java应用程序都有一个Runtime类实例,它允许应用程序与运行应用程序的环境进行交互。可以从getRuntime…
3.运行时数据区[PC寄存器、虚拟机栈、本地方法栈]
在java虚拟机在执行java程序的过程中,会把它所有的内存划分成若干个不同的数据区域,这些区域有各自的用途,以及创建和销毁的时间,有的随着虚拟机的启动而创建,有的随着用户的线程启动和结束而创建和销毁。根据《Java虚拟机规范》定义一共定义了六块区域 1. PC寄存器或程序计数…
2.类加载机制
Class文件是一组以8位字节为基础单位的二进制流,各个数据项目间没有任何分隔符。当遇到8位字节以上空间的数据项时,则会按照高位在前的方式分隔成若干个8位字节进行存储。 加载的类信息存放于一块成为方法区的内存空间。除了类信息之外,方法区还会存放运行时常量池信息,可能还包括字符串…
1. jvm概述
通过引导类加载器(bootstrap class loader)创建一个初始类(initial class)来完成的,这个类是由虚拟机的具体实现指定的. 执行一个所谓的Java程序的时候,真真正正在执行的是一个叫做Java虚拟机的进程。 1. jvm概述 7. 运行时数据区[对…
个人成就
文章被点赞
31
文章被阅读
21,711
掘力值
699
关注了
33
关注者
4
收藏集
1
关注标签
10
加入于
2020-07-08