- 博客(8)
- 问答 (1)
- 收藏
- 关注
原创 jvm-垃圾收集器
一、Serial收集器1、虚拟机新生代收集的唯一选择。(client端)2、单线程。3、简单高效。二、ParNew收集器1、Serial的多线程版本2、唯一能和CMS收集器配合使用。
2017-11-29 08:41:13 129
原创 jvm-垃圾回收算法
一、标记清除算法1、概述:标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。2、缺点:效率低,产生大量的不连续的内存碎片。二、复制算法1、将内存划分为相等的两块,每次只使用其中的一块。当这一块内存用完时,就将这一块内存赋值到未使用的那块,然后把已经用过的内存空间进行回收。2、实现简单,效率高3、内存被缩小一半,代价大。
2017-11-15 09:11:56 133
原创 jvm-判断对象是否存活的算法
一、引用计数算法1、给每一个对象添加一个引用计数器,当有引用指向对象时,计数器加一,引用移除时,计数器减一,当计数器为0时,说明对象未被引用,可以回收。2.存在问题:两个对象互相引用,此时不会被回收。3、优点:简单高效4、java虚拟机不采用二、根搜索算法1、通过一系列的名为“GC Roots”的对象作为起点,从这些节点向下搜索,经过的路径称为引用链,当一个对象没有
2017-11-10 08:41:04 479
原创 jvm内存溢出和参数设置
虚拟机栈和本地方法栈溢出:StackOverflowError-Xoss:设置本地方法栈大小java堆溢出:OutOfMemoryError java heap space-Xmx:设置虚拟机堆参数的最大值-Xms:设置虚拟机堆参数的最小值运行时常量池溢出:OutOfMemoryError PermGen space-XX:PermSize ,-XX:MaxPermS
2017-11-09 09:05:09 2302
原创 jvm-java中对象的访问
1、jvm对象的访问方式主要有:使用句柄和直接指针。1.1、使用句柄:java堆中会分出一块内存存作为句柄池,用于存放句柄,应用对象中存放的就是句柄的地址,句柄中包含实例数据和类型数据的具体地址信息。1.2、直接指针:引用类型对象直接存储的就是实例对象地址。
2017-11-08 08:37:47 285
原创 JVM-运行时数据区
一、运行时数据区总的分为:方法区、堆、虚拟机栈、本地方法栈、程序计数器。二、程序计数器:1、可以看做是当前线程所 执行的字节码的行号指示器。2、字节码解释器通过改变这个计数器选取下一条需要执行的字节码指令。3、程序计数器是线程私有的,每条线程都需要一个程序计数器来来执行线程中的指令。
2017-11-07 11:56:09 157
原创 数据库创建临时表
数据库创建临时表:IF not exists (select * from sysobjects where id = object_id(N'temp_inventory') and type='U')select * into temp_inventory from inventory语句解释:1、IF not exists (select * from sysobj
2017-11-05 00:29:47 4387
空空如也
初学数据结构,请问这个程序问题在哪
2015-03-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人