JVM
在酒吧写代码
一个很懒的程序员...
展开
-
虚拟机系列 | JVM运行时数据区
一、内存与线程 1、内存结构 内存是计算机的重要部件之一,它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。JVM的内存结构规定Java程序在执行时内存的申请、划分、使用、回收的管理策略,通说来说JVM的内存管理指运行时数据区这一大块的管理。 2、线程运行 JVM中一个应用是可以有多个线程并行执行,线程被一对一映射为服务所在操作系统线程,调度在可用的CPU上执行,启动时会创建一个操作系统线程;当该线程终止时,这个操作系统线程也会被.原创 2020-09-24 19:19:31 · 237 阅读 · 0 评论 -
虚拟机系列 | JVM类加载机制
一、类加载简介 类的加载机制是指把编译后的.class类文件的二进制数据读取到内存中,并为之创建一个java.lang.Class对象,用来封装类在元数据空间的数据结构。 类在JVM中的生命周期为:加载,连接,初始化,使用,卸载。不过这里只重点描述加载,连接,初始化这三个过程。 二、加载过程 基于一张图看类加载子系统的细节流程: 1、加载阶段 过程描述 加载阶段需要完成以下三个过程: 通过类的全限定名来获取其定义的二进制字节流; 将字节流所代表的静态存储结构转化为云数据空间的运行时原创 2020-09-22 22:07:37 · 242 阅读 · 0 评论 -
面试官:String字符串的最大长度是多少?
在学习和开发过程中,我们经常会讨论 short ,int 和 long 这些基本数据类型的取值范围,但是对于 String 类型我们好像很少注意它的“取值范围”。那么对于 String 类型,它到底有没有长度限制呢? 其实 String 类型的对象,他们是有长度限制的, String 对象并不能“存储”无限长度的字符串。关于 String 的长度限制要从编译时限制和运行时限制两方面考虑。 编译期限制 有JVM虚拟机相关知识的同学肯定知道,下面定义的字符串常量“自由之路”会被放入方法区的常量池...原创 2020-09-19 20:05:43 · 944 阅读 · 0 评论