
java
Phoenixul
热爱java,热爱编程
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java线程总结(一)
一:线程的状态和生命周期一张经典的描述java线程的图片 线程的基本状态 新建状态: 即新建线程对象 Thread t = new Thread(); 就绪状态: 当调用线程的start()方法时,线程进入就绪状态,等待CPU的调度执行。 运行状态: 当CPU开始调用处于就绪状态的线程时,此线程开始执行,进入运行状态。 阻塞状态: 处于运行状态的线程处于某种原因,放弃对CPU的使用权,停原创 2016-12-03 11:26:15 · 417 阅读 · 0 评论 -
JVM内存管理之java中需要使用内存的组件
一:Java堆java堆是存储java对象的内存区域,JVM在启动时向操作系统申请堆的大小,也可以通过-Xmx 和-Xms两个选项来控制堆的大小,但是使用这两个选项后堆的大小就会固定,不能在向操作系统重新申请内存了二:线程线程是JVM运行实际程序的实体,但是线程需要内存空间来存储一些必要的数据。每当一个线程被创建时,JVM会为他创建一个堆栈,通常在256KB-756KB之间。 如果线程的数量过多,原创 2017-01-09 21:03:15 · 678 阅读 · 0 评论 -
JVM内存管理之内存结构
JVM在运行java程序时,将他们划分成几种不同格式的数据,分别存储在不同的区域,这些数据统一称为运行时数据。主要分为以下6种存储结构。1、PC寄存器数据; 2、Java栈; 3、堆; 4、方法区; 5、本地方法区; 6、运行时常量;一:PC寄存器pc寄存器用于保存当前正常执行的程序的内存地址。 java程序是多线程执行的,当对个线程交叉执行时,被中断线程的程序当前执行到那条地址的内存地址必然要保原创 2017-01-09 21:59:59 · 890 阅读 · 0 评论 -
JVM内存管理之JVM内存分配策略
一:操作系统的内存分配策略操作系统的内存分配策略主要分为三种静态内存分配 栈内存分配 堆内存分配静态内存分配静态内存分配是在程序编译时就能够确定的每个数据的在运行时所需的内存空间。这种分配策略不允许程序中有可变的数据结构,也不允许有递归或嵌套结构出现。栈内存分配即动态内存分配,通过栈来实现。在动态内存分配方案中,程序对数据区的需求在编译时是完全未知的,直到运行时才知道,但是规定程序在运行中进入一个程原创 2017-01-15 13:42:56 · 814 阅读 · 0 评论 -
JVM内存管理之内存回收策略
一:静态内存的分配和回收策略静态内存分配指 java在编译时期就能够确定需要的内存空间,并在程序加载时一次性分配给程序。这些内存空间在程序运行期间不会发生变化,直到程序运行结束时,内存空间被回收。 通常情况下,对象的引用,类和方法中的局部变量,,包括原生数据类型都是使用静态内存分配方法。二:动态内存的分配和回收动态内存分配主要是发生在java堆中,包括对象的创建,数组的创建。对象被回收的时间也不确原创 2017-01-15 15:47:47 · 638 阅读 · 1 评论