Java内存区域划分 1、程序计数器。当前线程所执行字节码的行号指示器,程序的分支、循环、跳转、异常、线程恢复等都需要依赖程序计数器。 2、Java虚拟机栈。线程私有,线程运行时创建的栈帧,用于存储局部变量、动态连接、方法出口等信息 3、本地方法栈。类似于Java虚拟机栈,不过用于执行本地(nati ...
分类:
编程语言 时间:
2018-03-15 11:17:01
阅读次数:
238
1.java数据区域 方法区(Method Area)存放加载类的信息,常量,静态变量,编译后的代码和数据 虚拟机栈(VM Stack) 局部变量,动态链接,方法出口,方法,操作数栈 本地方法栈(Native Method Stack) 类似虚拟机栈 堆(Heap) 新建的对象实例,垃圾回收的主要对 ...
分类:
其他好文 时间:
2018-03-09 01:46:24
阅读次数:
174
jvm内存结构回顾: 1 . 程序计数器 JVM的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的 2 . Java虚拟机栈 局部变量表中存放了编译期可知的类型。 因为类型可知,帧中分配多大的局部变量空间是完全确定的,在方法运行期间局部变量表的大小也不变。 出现的异常: 3 . 本地方法栈 ...
分类:
其他好文 时间:
2018-03-04 21:14:40
阅读次数:
132
先来看看JVM运行时候的内存区域,如下图: ![][1] 大多数 JVM 将内存区域划分为 Heap(堆)、方法区、Stack(栈)、本地方法栈、程序计数器。其中 Heap 和 方法区 是线程共享的,Stack、本地方法栈 和 程序计数器 是非线程共享的。为什么分为线程共享和非线程共享的呢?请继续往 ...
分类:
其他好文 时间:
2018-02-28 16:20:31
阅读次数:
156
大多数 JVM 将内存区域划分为 Method Area(Non-Heap)(方法区) ,Heap(堆) , Program Counter Register(程序计数器) , VM Stack(虚拟机栈,也有翻译成JAVA 方法栈的),Native Method Stack ( 本地方法栈 ),其 ...
分类:
其他好文 时间:
2018-02-22 22:32:09
阅读次数:
213
java虚拟机内存管理图如下图所示: 1.线程共享区,是所有的线程所共用的,线程共享区有一下几个组成: 1.方法区:运行时常量池,已经被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据 2.java堆:存储对象实例 2.线程独占区,是每一个线程都有自己独立的虚拟机栈,本地方法栈,程序 ...
分类:
编程语言 时间:
2018-02-13 18:58:18
阅读次数:
257
首先,如果小伙伴有自己的node项目,在本地使用localhost/127.0.0.1 访问是没有任何问题的,然后部署到阿里云ECS实例上以后,通过公网IP加端口却不能访问了,可以继续往下看: 1、阿里云 ECS 实例 阿里云 ECS 实例就是在阿里云上购买的一台云服务器,然后可以上传代码,实现将自 ...
分类:
其他好文 时间:
2018-02-13 15:39:33
阅读次数:
186
基本语法 面向对象 反射 注解 序列化 异常、断言、日志和调试 泛型 集合框架 多线程 IO XML 网络编程 JDBC 国际化 安全 脚本、编译与注解处理 分布式对象 本地方法 ...
分类:
编程语言 时间:
2018-02-12 00:26:10
阅读次数:
245
java不能直接访问操作系统底层,而是通过本地方法来访问。Unsafe类提供了硬件级别的原子操作,主要提供了以下功能: 类中提供的3个本地方法allocateMemory、reallocateMemory、freeMemory分别用于分配内存,扩充内存和释放内存,与C语言中的3个方法对应。 字段的定 ...
分类:
编程语言 时间:
2018-02-11 16:12:15
阅读次数:
539
垃圾收集器(Garbage Collection, GC)的诞生引导出了三个问题: 哪些内存需要回收? 什么时候回收? 如何回收? 对于线程独占的三个区域(程序计数器、虚拟机栈、本地方法栈)不用过多的考虑垃圾回收的问题,因为他们随着线程创建而生,随着线程结束而消失。然而Java堆和方法区则不一样,一 ...
分类:
编程语言 时间:
2018-02-10 01:17:05
阅读次数:
189