
JVM
是码农没错了
这个作者很懒,什么都没留下…
展开
-
静态内部类加载时机
引言:这两天在学习设计模式, 其中单例模式有种实现是通过静态内部类方式实现, 有些不可思议, 故在此做个小实验验证一下静态内部类的加载时机代码:public class TestStatic { private static long OUTER_TIME = System.currentTimeMillis(); static { System.out.println("外部...原创 2019-11-26 14:46:43 · 657 阅读 · 0 评论 -
Java中的堆和栈
Java中堆与栈的区别简单的说: Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组。转载 2017-11-17 21:04:48 · 152 阅读 · 0 评论 -
static关键字内存分析
通常情况下,Java把内存分为栈内存、堆内存和方法区栈内存用来存放一些基本类型的变量和数组(数组也是一种引用类型)及对象的引用变量堆内存主要是来放置对象的,即我们在程序中new出来的对象。static,意味为静态的,用static修饰的变量和方法,实际上是给这些变量和方法指定了在内存中的”位置“(这个位置也叫静态区、方法区、数据区和共享区)。既然在内存中指定了位置,那么他们的 “大小”似乎就是转载 2017-11-19 22:39:22 · 4851 阅读 · 0 评论 -
Java虚拟机运行时数据区
Java虚拟机 运行时数据区 Java在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途、创建和销毁的时间,有一些是随虚拟机的启动而创建,随虚拟机的退出而销毁,有些则是与线程一一对应,随线程的开始和结束而创建和销毁。Java虚拟机所管理的内存将会包括以下几个运行时数据区域 程转载 2017-11-19 22:53:35 · 158 阅读 · 0 评论