E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
虚拟机学习
深入理解JAVA
虚拟机学习
笔记15——字节码执行引擎(栈帧)
每天进步一点点!今天主要了解一下栈帧中的内容,大部分为内容都比较容易理解,且做以下记录。首先介绍以下栈帧的概念:栈帧(StackFrame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区的虚拟机栈(VirtualMachineStack)的栈元素。栈帧中主要存储了5方面的内容:方法的局部变量表,操作数栈,动态连接,方法返回地址和一些额外的附加信息。在编译代码的时候,栈帧中
云水禅音
·
2020-08-20 09:46
JAVA虚拟机
深入理解JAVA
虚拟机学习
笔记15——字节码执行引擎(方法调用)
每天进步一点点!这里说的方法调用阶段的任务并不是执行过程,而是确定方法运行时的入口地址。前面我们已经学习过,在Class文件的常量池中,类型为CONSTANT_Methodref_info的,存储的就是方法信息,并最终指向方法的符号引用。对于方法调用,首先要进行的就是解析,这个其实在前面我们已经有了一些涉及,虚拟机提供了五条字节码指令,用于方法调用,我们再来回顾一下。1.invokestatic:
云水禅音
·
2020-08-20 09:46
JAVA虚拟机
java
虚拟机
jvm
字节码执行引擎(
方法调用
深入理解JAVA
虚拟机学习
笔记10——JDK可视化工具JConsole
JConsole:Java监视与管理控制台,基于JMX的可视化监视,管理工具。在jdk的bin目录下(如D:\Java\jdk1.8.0_131\bin),就可以找到jconsole.exe。在运行之前,我们先写用debug执行一段程序,创建一个线程,sleep30分钟。然后,再双击启动jconsole.exe。在如下界面中选择本地进程,笔者使用的是IDEA,这里选择第二个。打开之后,我们可以看到
云水禅音
·
2020-08-20 05:31
JAVA虚拟机
Java
虚拟机学习
计算机存储元件:寄存器和内存内存包括:内核空间和用户空间。所谓内核空间就是操作系统运行需要占用的,而用户空间则是应用程序需要占用的。字长:CPU一次能并行处理二进制的位数(Bit)Java内存区域:堆是用来存放对象而栈是用来执行程序的。运行时数据区域:绿色为所有线程共享区域,白色为线程独有区域。1.线程独有的内存区域(1)PROGRAMCOUNTERREGISTER,程序计数器区域小,当前线程所执
StefanChoo
·
2020-08-19 21:42
Java
虚拟机学习
之 代码编译和执行的整个过程
来自:http://wiki.jikexueyuan.com/project/java-vm/java-debug.htmlJava代码编译是由Java源码编译器来完成,流程图如下所示:Java字节码的执行是由JVM执行引擎来完成,流程图如下所示:Java代码编译和执行的整个过程包含了以下三个重要的机制:Java源码编译机制类加载机制类执行机制Java源码编译机制Java源码编译由以下三个过程组成
liuyi1207164339
·
2020-08-19 18:26
Java开发笔记
转-Java
虚拟机学习
- 垃圾收集器
上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。Serial(串行GC)收集器Serial收集器是一个新生代收集器,单线程执行,使用复制算法。它在进行垃圾收集时,必须暂停其他所有的工作线程(用户线程)。是Jvmclient模式下默认的新生代收集器。对于限定单个CPU的环境来说,Serial收集器由于没有线程交互的开销,专心做垃
iteye_12311
·
2020-08-16 19:44
java
java
运维
数据库
Java
虚拟机学习
参考书籍:《深入了解Java虚拟机》----2017/9/241.运行时数据区域a.程序计数器字节码解释器通过改变这个计数器的值来选择下一条需要执行的字节码指令,包括分支、循环、跳转、异常处理。Java多线程是通过线程轮流切换来实现的,每个线程都有独立的线程计数器。这些计数器能够让线程切换后回到正确的执行位置b.Java虚拟机栈java虚拟机栈描述的是Java方法的内存模型,每个Java方法都执行
zhoudqa
·
2020-08-15 04:32
Java
虚拟机
Java
垃圾收集
Java
虚拟机学习
关于 类加载机制
类加载机制JVM把class文件加载的内存,并对数据进行校验、转换解析和初始化,最终形成JVM可以直接使用的Java类型的过程就是加载机制。类从被加载到虚拟机内存中开始,到卸载出内存为止,它的生命周期包括了:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸载(Unl
QQ1394520090
·
2020-08-15 02:50
接口
方法
value
变量
解析
Java
虚拟机学习
入门
1前言想深入了解Java,虚拟机是必须掌握的技能,任何一个Java程序都离不开虚拟机,对于初学者了解JVM也可以更好的理解Java的初始化、内存使用等知识点。总结了一下自己在学习虚拟机过程中的一些知识点,整理了一下笔记,有不妥和不当之处欢迎Java爱好者批评指正,也欢迎各位来自五湖四海的朋友交流任何问题。Java虚拟机(JavaVirtualMachine)简称JVM,Java虚拟机是一个想象的虚
大象2016
·
2020-08-13 18:08
java--学习笔记
JVM学习笔记 1
bilibili-深入理解JVM
虚拟机学习
笔记P3_深入理解JVM课程大纲分析与工具使用(3)《深入java虚拟机》R大iteye工具jconsolejvisualvm命令jmap学习目录大纲P4_类加载器深入解析与阶段分解
morningcat2018
·
2020-08-13 10:41
JVM
Java
虚拟机学习
笔记(五)——高效并发
一:内存与线程1.Java内存模型的概念定义程序中各个变量(实例字段、静态字段、数组元素)的访问规则所有变量存储在主内存每条线程还有自己的工作内存,保存了使用到的变量在主内存的副本拷贝。(不同线程之间无法访问彼此的变量,线程也无法访问主内存的变量)2.Java内存模型之间的交互(1)主要操作lock锁定(主内存):把主内存的变量标志为一条线程独占的状态unlock解锁(主内存):主内存的变量可被其
零号元素
·
2020-08-10 23:06
JAVA
高效并发
双硬盘安装双系统详解
这是原因一;最近对LINUX挺感兴趣,一直拿着
虚拟机学习
鸟哥的私房菜,可是每次都要先打开虚拟机再启动LINU
star714cong
·
2020-08-08 21:00
other
linux
双系统
双硬盘
U盘启动盘
U盘启动盘安装系统
Java
虚拟机学习
笔记
Java
虚拟机学习
笔记//https://mp.weixin.qq.com/s/f9BiAW5y_UhRF-XMh98SgA1.线程共享内存区域堆方法去直接内存2.线程隔离的数据区域程序计数器虚拟机栈本地方法栈
Yogurt丶
·
2020-08-02 23:11
java
Hadoop平台架构--硬件篇
还记得刚接触Hadoop的时候,还是1.x版本,硬是在自己的4GB内存上面弄了3个
虚拟机学习
,条件有些艰苦,Hadoop测试集群搭建不需要太多考虑,随着毕业开始进入企业,在企业中实践Hadoop,特别是一定规模的集群
茄肥猫
·
2020-08-01 13:49
Hadoop
数据库
VMware上Ubuntu虚拟机黑屏问题的案例
VMware上Ubuntu虚拟机黑屏问题的案例最近想学习ROS,但是由于入门不敢冒着损失电脑其他已近装好的软件需要再重装的风险,决定先用
虚拟机学习
,完成正常的安装后,出现了系统安装完成后重启即黑屏的问题经过网上查找大致有几个方案在
Deskunn
·
2020-07-31 13:37
虚拟机搭建
lua学习
Lua
虚拟机学习
:http://blog.csdn.net/yuanlin2008/article/details/8491112https://blog.codingnow.com/eo/luaoeeeaeau
Struggling-Snail
·
2020-07-29 06:52
其他
lua
在Windows10下安装个
虚拟机学习
Linux?
这是飞哥写于2020年6月11日,学习Linux,安装虚拟机劝退,配置网络劝退,打开桌面版劝退。搜索全网没有好的教程,自己下载软件,自己安装,自己写操作说明,就是这么的良心大大的……1.软件安装:VituralBox和CentosVirtualBox:https://www.virtualbox.org/wiki/Downloads下载之后的样子:Centos安装:这里选择阿里云的链接,速度更快:
育种数据分析之放飞自我
·
2020-07-29 01:43
软件安装
深入理解JAVA
虚拟机学习
笔记8——HotSpot的算法实现
这一篇应该是在垃圾收集器那一篇之前的,当时由于有些地方不太理解,一直搁置了,几天写出来,仍然有很多自己揣测的地方,看的朋友可以有选择的采纳。前面垃圾收集器概述的笔记中已经写过,通过可达性分析算法——是否有到达GCRoots的引用链来判断,对象是否可以被回收。对象之间的引用在类的成员变量初始化以及类的方法中都会出现,如果逐个遍历,会消耗很多时间。虚拟机是怎么做的呢?使用一组OopMap来记录对象在栈
云水禅音
·
2020-07-29 00:13
JAVA虚拟机
Dalvik
虚拟机学习
之路
Dalvik
虚拟机学习
之路Dalvik虚拟机,是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。
wd_113634687
·
2020-07-28 15:26
安卓基础
Dalvik虚拟机学习之路
深入理解Java
虚拟机学习
笔记2-JVM中对象布局
一、对象的内存布局在Hotspot中,对象在内存中存储布局可以分为三块:对象头(Header)、实例数据(InstanceData)、对齐填充(Padding)二、对象头1、对象运行时数据:哈希吗、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳;官方成为MarkWord,一种非固定数据结构,根据对象状态标志位复用存储空间存储对象数据的结构。2、类型指针:指向类元数据的指针三、实例
小和尚的心愿
·
2020-07-28 14:14
java虚拟机
深入理解JAVA
虚拟机学习
笔记(一)JVM内存模型
上周末搬家后,家里的宽带一直没弄好,跟电信客服反映了N遍了终于约了个师傅明天早上来迁移宽带,可以结束一个多星期没网的痛苦日子了。这段时间也是各种忙,都一个星期没更新博客了,再不写之前那种状态和激情都要慢慢褪去了,总觉得心里慌的一逼,这怎么行呢?!趁明天周末,在公司电脑上记录下这周的一些学习内容。近期在看一本很经典的java书籍:《深入理解java虚拟机第二版》,几年前也翻过,但那时候功力不够,不太
sweetfire
·
2020-07-28 12:51
Java高效并发之锁优化(深入理解Java
虚拟机学习
笔记)
引言高效并发是从JDK1.5到JDK1.6的一个重要改进,HotSpot虚拟机开发团队在这个版本上花费了大量的精力去实现各种锁优化技术,如适应性自旋(AdaptiveSpinning)、锁消除(LockElimination)、锁粗化(LockCoarsening)、轻量级锁(LightweightLocking)和偏向锁(BiasedLocking)等,这些技术都是为了在线程之间更高效地共享数据
ting说你跳
·
2020-07-28 11:47
JVM
Java与线程(深入理解Java
虚拟机学习
笔记)
线程的实现我们知道,线程是比进程更轻量级的调度执行单位,线程的引入,可以把一个进程的资源分配和执行调度分开,各个线程既可以共享进程资源(内存地址、文件I/O等),又可以独立调度(线程是CPU调度的基本单位)。主流的操作系统都提供了线程实现,Java语言则提供了在不同硬件和操作系统平台下对线程操作的统一处理,每个已经执行start()且还未结束的java.lang.Thread类的实例就代表了一个线
ting说你跳
·
2020-07-28 11:47
JVM
Java内存模型(深入理解Java
虚拟机学习
笔记)
参考文章:深入理解Java内存模型(一)——基础主内存与工作内存Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。此处的变量(Variables)与Java编程中所说的变量有所区别,它包括了实例字段、静态字段和构成数组对象的元素,但不包括局部变量与方法参数,因为后者是线程私有的,不会在线程之间共享,不会有内存可见性问题,也不受内
ting说你跳
·
2020-07-28 11:46
JVM
Java线程安全(深入理解Java
虚拟机学习
笔记)
Java语言中的线程安全我们已经有了线程安全的一个抽象定义,那接下来就讨论一下在Java语言中,线程安全具体是如何体现的?有哪些操作是线程安全的?我们这里讨论的线程安全,就限定于多个线程之间存在共享数据访问这个前提,因为如果一段代码根本不会与其他线程共享数据,那么从线程安全的角度来看,程序是串行执行还是多线程执行对它来说是完全没有区别的。为了更加深入地理解线程安全,在这里我们可以不把线程安全当做一
ting说你跳
·
2020-07-28 11:14
JVM
深入理解java
虚拟机学习
笔记(一)
纲领Java的运行时数据区为:A.方法区-----------(线程共有)B.堆-----------(线程共有)C.虚拟机栈-----------(线程私有)D.本地方法栈-----------(线程私有)E.程序计数器-----------(线程私有)注意:A.线程私有,也就是说每条线程都有一个C,D,E这样的区域,这样才能在各个线程运行时不受影响B.线程私有的数据区的生命周期与线程相同虚拟机
chunqiuwei
·
2020-07-27 20:13
java
虚拟机学习
之与宿主机文件交流的方法
1.VMtoolsvmtools是虚拟机与宿主机进行交互文件的主要工具,一般来说拖拽方式就可以实现。安装方法:打开“安装VMTOOLS”会出现一个链接帮助安装,按照要求安装即可2.open-vm-tools虽然vmtools的功能很强大,但是它在不同虚拟机版本下安装方式不同,有些情况下,如在Kali虚拟机中就很难安装成功。安装方法:(1)修改Kali的源gedit/etc/apt/sources.
苏州暮雨
·
2020-07-27 18:54
深入理解java
虚拟机学习
总结(超赞!!!)
我是技术搬运工,好东西当然要和大家分享啦.原文地址内存模型注:白色区域为线程私有的,蓝色区域为线程共享的。1.程序计数器记录正在执行的虚拟机字节码指令的地址(如果正在执行的是Native方法则为空)。2.Java虚拟机栈每个Java方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法从调用直至执行完成的过程,就对应着一个栈帧在Java虚拟机栈中入栈和出栈
FanceFu
·
2020-07-27 15:55
JVM
深入理解Java
虚拟机学习
总结(一) 自动内存管理机制
1、java技术体系:主要五类如下java语言各种硬件平台上的java虚拟机class文件格式javaAPI类库第三方java类库javacardJAVAME(J2ME)JAVASE(standardedition)JAVAEE(enterpriseedition)java语言,java虚拟机,javaAPI类库:不准确的统称为JDK(javadevelopmentkit):支持java程序开发的
买糖买板栗
·
2020-07-27 14:57
Java虚拟机
深入理解Java虚拟机
虚拟机
深入理解java
虚拟机学习
笔记(一)JVM内存模型
上周末搬家后,家里的宽带一直没弄好,跟电信客服反映了N遍了终于约了个师傅明天早上来迁移宽带,可以结束一个多星期没网的痛苦日子了。这段时间也是各种忙,都一个星期没更新博客了,再不写之前那种状态和激情都要慢慢褪去了,总觉得心里慌的一逼,这怎么行呢?!趁明天周末,在公司电脑上记录下这周的一些学习内容。近期在看一本很经典的java书籍:《深入理解java虚拟机第二版》,几年前也翻过,但那时候功力不够,不太
weixin_34081595
·
2020-07-27 13:12
基于Ubuntu虚拟机的Linux驱动开发入门
该教程面向Linux驱动开发的初学者,基于Ubuntu
虚拟机学习
驱动开发,无需开发板一,Linux概述及课程特色二,搭建开发环境,安装VMware。安装souceinsight。
gaoyanli1972
·
2020-07-15 23:59
linux
驱动
3万字的Java
虚拟机学习
笔记,首次公开分享,还贴心准备了PDF!
java虚拟机一直属于比较难的一个知识点,很多初学者会不知如何下手,很多文章写的晦涩难懂,只因JVM本身比较难理解,想学习的可以先看看我在学习JVM的时候记的笔记,大概三万多字,绝对让你有收获,底部有获取PDF的方法哦!重点先理解这些随着自己的不断学习,对之前所做的笔记会有不同的认识和理解,所以在不断学习的过程中,也要经常回顾自己的笔记。当我们完成一个java文件的编写,然后经过javac命令的编
ithuangqing
·
2020-07-15 15:51
JVM专题
Java
虚拟机
JVM
java虚拟机
学习笔记
深入理解Java
虚拟机学习
笔记-2.JVM垃圾回收
JVM垃圾回收1.简介jvm要进行垃圾回收粗略分为两个步骤:找出需要清理的内存(无效的内存区域),清理无效的内存区域程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的(尽管在运行期会由JIT编译器进行一些优化,但在本章基于概念模型的讨论中,大体上可以认为是编译期可
吾已六
·
2020-07-14 09:11
jvm
CentOS7 安装
因为自己是用
虚拟机学习
使用的所以就先贴一下虚拟机创建的过程。(一)系统文件下载1.1:百度搜索centos进入第一个网站或者直接进入官网https://www.centos.
chifangbi9190
·
2020-07-13 03:27
深入理解JAVA
虚拟机学习
笔记11——JDK可视化工具-VisualVM以及案例分析
VisualVM:多合一故障处理工具,功能比较全面的一个工具,与其它的检测工具相比,对实际性能影响很小,并且还具备安装插件功能。这个工具和前面介绍的JConsole工具有很多类似的功能,但是比JConsole功能更全面,朋友们可以自己到JDK的bin目录下找到jvisualvm.exe进行测试。这里简单介绍两个比较有用的插件。一个是VisualGC,可以堆内存的使用有一个更全面的监控,包括类的编译
云水禅音
·
2020-07-12 16:41
JAVA虚拟机
深入理解JAVA
虚拟机学习
笔记13——字节码指令4(其他指令)
每天进步一点点!指令这块的相关信息我们在前几篇的文章中已经有了基本了解,这一篇不过多解释了,将剩下的指令列出来,作为记录(节选自《深入理解JAVA虚拟机》)。1、对象创建与访问指令JVM对类实例和数组创建和操作使用了不同的字节码指令,包括:创建类实例的指令:new创建数组的指令:newarray,anewarray,multianewarray访问类字段(static字段,或者称为类变量)和实例字
云水禅音
·
2020-07-12 16:41
JAVA虚拟机
Java
虚拟机学习
- JDK可视化监控工具
1.JConsoleJConsole工具在JDK/bin目录下,启动JConsole后,将自动搜索本机运行的jvm进程,不需要jps命令来查询指定。双击其中一个jvm进程即可开始监控,也可使用“远程进程”来连接远程服务器。进入JConsole主界面,有“概述”、“内存”、“线程”、“类”、“VM摘要”和"Mbean"六个页签:内存页签相当于jstat命令,用于监视收集器管理的虚拟机内存(Java堆
weixin_33958585
·
2020-07-12 08:47
Java
虚拟机学习
---Mac下编译openJDK 1.9
准备1、安装homebrew,打开命令行工具:/usr/bin/ruby-e"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"2、安装必备工具:brewinstallmercurialbrewinstallccachebrewinstallfreetype3、下载jdk源码,注意提前创建好文
Groople
·
2020-07-12 01:22
java
【大数据学习】在云服务器安装配置伪分布式Hadoop
刚好又要上大数据云计算的课,要在本地使用
虚拟机学习
,操作不方便,而且还耗电脑资源,电脑卡又经常报莫名的错,所以我决定用阿里云服务器来学习,因为只有一条机器,所以只能用伪分布式的方式。
歌在路上
·
2020-07-11 19:30
大数据
Java
虚拟机学习
笔记(一)macOS 10.12 编译JDK9
为了深入了解Java的运行机制,了解久负盛名的JVM,笔者决定开始学习JVM相关知识。参考书为《深入理解Java虚拟机(第2版)》(以下简称为《深入》)零、为什么是JDK9?《深入》中,作者使用的是JDK6来编译JDK7,环境使用的是OSX10.8,对Xcode的要求为4.5.2及以上。笔者从JDK7尝试到JDK8,皆因为Xcode版本的原因导致编译失败。简而言之就是:虽然JDK源码声称要求4.5
七弦生
·
2020-07-11 10:18
学习笔记
JAVA
虚拟机学习
笔记(一)Windows10下编译OpenJDK8
转载请注明源地址:http://www.cnblogs.com/lighten/p/5906359.html1.编译环境的准备1.1JDK源码下载OpenJDK是JAVA发展史中的一个开源项目,本文以OpenJDK8为例进行编译。OpenJDK的官网为:http://openjdk.java.net/,直接访问http://openjdk.java.net/install/index.html进入
decvo6179
·
2020-07-11 04:58
深入理解JAVA
虚拟机学习
笔记15——字节码执行引擎(解释执行)
每天进步一点点!在第二篇方法调用中,我们主要学习的是确定目标方法,这篇我们就来看看方法内容的具体执行。目前基于虚拟机的语言中,既有编译执行的(以c,c++为代表),也有解释执行的(比如Python,JavaScript等)。下面让我们针对java虚拟机简单分析一下这两种执行的区别。编译执行:编译器将源文件编译成目标机器码文件,运行时不需要重新翻译,下次再运行该文件的时候也无需再次编译。典型的比如说
云水禅音
·
2020-07-10 12:25
JAVA虚拟机
Java
虚拟机学习
:分代收集算法
当前商业虚拟机的垃圾收集都采用“分代收集”(GenerationalCollection)算法,这种算法并没有什么新的思想,只是根据对象的存活周期的不同将内存划分为几块。一般是把Java堆分为新生代和老年代,这样就可以根据各个年代的特点采用最适当的收集算法。在新生代中,每次垃圾收集时都发现有大批对象死去,只有少量存活,那就选用复制算法,只需要付出少量存活对象的复制成本就可以完成收集。而老年代中因为
赵-旭-东
·
2020-07-09 15:17
jvm
Ubuntu20.04中进入MySQL8.0.12需要加sudo的问题,MySQL -u root -p进不去数据库问题
Ubuntu20.04中进入MySQL8.0.12需要加sudo的问题问题描述:最近新搞了个
虚拟机学习
Python,但是遇到了一个问题,每次在需要进入MySQL数据库的时候通过“mysql-uroot-p
FeibaoCrystal
·
2020-07-06 21:16
Linux学习笔记——远程ssh(putty)登录linux + wifi配置与静态ip设置
最近学习了一段时间linux的基本操作,但在pc机上使用
虚拟机学习
比较麻烦。
jim船长
·
2020-07-04 23:22
树莓派
Java
虚拟机学习
资料整理
深入理解java虚拟机第二版文字版本-带目录.PDF--下载地址链接:https://pan.baidu.com/s/1gNEo1gn4iyl48UkPpmaRyA提取码:emg6深入理解java虚拟机第二版极简版http://note.youdao.com/noteshare?id=4fd1b05c58f5b9ea2b847144e41fe33c1.走进Java2.Java内存区域与内存溢出异常
lj淡然一笑
·
2020-07-04 22:44
Java
Java
虚拟机学习
- 体系结构 内存模型
一:Java技术体系模块图二:JVM内存区域模型1.方法区也称"永久代”、“非堆”,它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize和-XX:MaxPermSize参数限制方法区的大小。运行时常量池:是方法区的一部分,Class文件中除了有类的版本、字段、方法、接口等描述信息外,还有一项信息是常量池,用
iteye_3619
·
2020-07-04 19:16
Java
虚拟机学习
笔记(二)——对象创建、对象内存分布、oop-klass
文章目录对象的创建对象的堆内存分布对象的访问定位oop-klass模型关于的String的一些补充对象的创建通常情况下,我们是通过new指令完成一个对象的创建的。虚拟机在接受到一个new指令会做如下操作:判断对象的类是否加载、链接、初始化,虚拟机在接收到一条new指令时,首先会检查这个指令的参数是否在常量池中定位到一个类的引用,并且检查这个符号引用代表的类是否被类加载器加载、链接和初始化。如果没有
PdKingLiu
·
2020-07-04 05:16
Java
Java
虚拟机学习
笔记(2)——一个Java程序在虚拟机中的运行过程
一.概述二.执行细节三.总结一.概述程序执行流程我把它划分为以下几个步骤:编辑源码、编译生成class文件、(加载class文件、运行class字节码文件),其中后两个步骤都是在jvm虚拟机上执行的。二.执行细节2.1一个Java类packagecom.javase.string;classPerson{privateStringname;privateintage;publicPerson(in
魔术兔
·
2020-07-02 16:43
Java虚拟机
Java
虚拟机学习
笔记(3)——垃圾回收机制
一.为什么需要“垃圾”回收二.如何确定“垃圾”?三.怎么回收?四.Java垃圾回收器一.为什么需要“垃圾”回收1.什么是“垃圾”?此处讲的“垃圾”分为两种:废弃常量和无用的类。废弃常量,主要是判断当前系统中有没有对象引用这个常量;无用类则比较严格,需要满足下面三个条件:(1)该类的所有实例都已经被回收,即堆中不存在该类任何势力;(2)加载该类的ClassLoader已经被回收;(3)对类对应的ja
魔术兔
·
2020-07-02 16:43
Java虚拟机
Java虚拟机
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他