一.运行时数据区 共分为5块: 程序计数器 (线程私有,当前线程所执行的字节码的行号指示器) Java虚拟机栈 (线程私有,证明周期与线程相同,描述的是Java方法执行的内存模型,每个方法在执行的同时都会创建一个栈帧,用于存储:局部变量表、操作数栈、动态链接、方法出口等信息) 本地方法栈 (线程私有 ...
分类:
编程语言 时间:
2019-06-04 11:07:23
阅读次数:
105
(1) 基本数据类型的存储原理:所有的简单数据类型不存在“引用”的概念,基本数据类型都是直接存储在内存中的栈上的,数据本身的值就是存储在栈空间里面,Java语言里面八种数据类型是这种存储模型; (2) 引用类型的存储原理:引用类型继承于Object类(也是引用类型)都是按照Java里面存储对象的内存 ...
分类:
其他好文 时间:
2019-06-04 00:02:24
阅读次数:
146
概述 static 关键字的使用,它可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单是属于某个对象的。也就是说,既然属于类,就可以不靠创建对象来调用了。 静态共享数据原理 static 修饰的内容: 是随着类的加载而加载的,且只加载一次。 存储于一块固定的内存区域(静态区),所以 ...
分类:
其他好文 时间:
2019-06-01 21:27:08
阅读次数:
107
一,程序计数器 程序计数器(Program Counter Register)是一块较小的内存区域,它可以看作是当前线程所执行的字节码指示器。每条线程都需要由一个独立的的程序计数器,各条线程之间计数器互不影响,独立存储,我们称这类内存区域为“线程私有”的内存。如果线程正在执行的是一个Java方法,这 ...
分类:
编程语言 时间:
2019-05-25 13:22:25
阅读次数:
154
批量声明变量 var( 变量名 类型......) ...
分类:
编程语言 时间:
2019-05-19 16:57:33
阅读次数:
125
Java虚拟机内存区域总结:Java虚拟机相当于一个抽象的计算机操作系统, 其管理的内从区域大体上可以分为栈和堆,就像c或c++中对内存的分类一样, 但这样的分类对于Java虚拟机来说太过粗浅, 实际上Java虚拟机管理的内存区域分为程序计数器、虚拟机栈、本地方法栈、堆和方法区, 根据各区域是属于线 ...
分类:
编程语言 时间:
2019-05-13 22:44:15
阅读次数:
112
概述 一旦用了static关键字,那么这样的内容就不在属于对象自己,而是属于类的,所以凡是本类的对象,都共享一份数据。 static的作用: 修饰的成员变量 修饰成员方法 类变量: 当 static 修饰成员变量时,该变量称为类变量。该类的每个对象都共享同一个类变量的值。任何对象都可以更改该类变量的 ...
分类:
其他好文 时间:
2019-05-11 21:44:25
阅读次数:
97
所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢?其实如果你经常解决服务器性能问题,那么这些问题就会变的非常常见,了解JVM内存也是为了服务器出现性能问题的时候可以快速的了解那块的内存区域出现问 ...
分类:
其他好文 时间:
2019-05-11 21:24:46
阅读次数:
131
io流: java有两种类型的流:字节流和字符流和两种类型的流:输入流和输出流(输入和输出是相对java程序而言,磁盘和键盘等设备向程序读入文件信息就为输入,反之为输出) InputStream 和OutputStream 是字节流的输入和输出的父类,是一个抽象类,FileInputStream、F ...
分类:
其他好文 时间:
2019-05-10 11:14:44
阅读次数:
151
1、java中通过多线程机制使得多个任务同时执行处理,所有的线程共享JVM内存区域main menory,而每个线程又单独的you自己的工作内存,当线程与内存区域进行交互时,数据从主存拷贝到工作内存,进而交由线程处理(操作码+操作数)。 (1)程序计数器 程序计数器(Program Counter ...
分类:
其他好文 时间:
2019-05-09 20:19:52
阅读次数:
157