简单记录JVM存储空间的几大模块的常用名称;使用哪些参数对各个模块进行尺寸设置及垃圾回收;最后举例子说明下参数配置后的GC的效果。 第一步,首先对于存储的几大模块进行一下简单描述: 1)JVM的内存分为两块:A.堆heap B.非堆non-heap:即堆以外的栈、方法区、常量池、寄存器空间(称为Pe ...
分类:
其他好文 时间:
2017-10-13 20:10:18
阅读次数:
107
内存 :code segment(代码区 二进制代码),data segment(数据区),stack(栈),heap(堆) 静态变量(类级别)/字符串常量 数据区(基本类型,final,static) 局部变量(string s = "Hello world!";函数参数) 栈 new/动态分配内 ...
分类:
其他好文 时间:
2017-10-13 10:14:17
阅读次数:
137
排序算法常用的有: 当数据量不大时, 选择插入或者选择 排序, 不用冒泡排序; 其次,当数据量大而又注重空间复杂性时,, 选择 快速排序或 堆排序; 再次,当数据量大而又允许使用较多附加空间时, 选择桶排序, 最后,当要在已排序数据上增加若干新数据时, 选择插入排序. 摘自.C++数据结构原理与经典 ...
分类:
编程语言 时间:
2017-10-13 00:39:53
阅读次数:
186
网上有很多示例,我比较懒,就不写示例了,写写自己的感受。 java中是值传递还是引用传递,我认为不是很重要,重要的是对于传递的理解。 方法中的参数分为两种 当形参为基本数据类型时,jvm将实参值即变量值拷贝一份赋值给形参,这时在方法中对于形参的任何操作都不会影响实参值; 当形参为引用数据类型时,jv ...
分类:
编程语言 时间:
2017-10-11 23:57:51
阅读次数:
361
jhat(JVM Heap Analysis Tool) Sun JDK 提供jhat命令与jmap搭配使用的,来分析jmap生成的堆转储快照。 jhat内置了一个微型的http/html服务器,省的dump文件的分析结果后,可以在浏览器中查看。不过在实际应用中,基本上都不适用这个 原因有两点: 1 ...
分类:
其他好文 时间:
2017-10-11 23:45:40
阅读次数:
178
8.排序 8.1排序概述 排序分为内部排序和外部排序 8.2冒泡排序法 基本思想 对待排序记录关键字从后往前(逆序)进行多遍扫描,当发现相邻两个关键字的次序与排序要求的规则不符时,就将这两个记录进行交换。这样,关键字较小的记录将逐渐从后面向前面移动,就象气泡在水中向上浮一样,所以该算法也称为气泡排序 ...
分类:
编程语言 时间:
2017-10-11 21:53:00
阅读次数:
213
jvm内存模型如下图 垃圾回收: 方法区: 这部分的垃圾回收性价比低,一般不要求回收,暂认为是永久代 heap:新生代和永久代之分。永久代主要回收废弃常量和无用的类。 垃圾回收算法: 1. 标记-清除算法 标记判断: a) 该类所有实例都已经被回收,也就是heap中,不存在该类任何实例。 b) 加载 ...
分类:
其他好文 时间:
2017-10-11 21:50:37
阅读次数:
147
“free store” VS “heap” 当我问你C++的内存布局时,你大概会回答: “在C++中,内存区分为5个区,分别是堆、栈、自由存储区、全局/静态存储区、常量存储区”。 如果我接着问你自由存储区与堆有什么区别,你或许这样回答: “malloc在堆上分配的内存块,使用free释放内存,而n ...
分类:
编程语言 时间:
2017-10-11 15:28:20
阅读次数:
179
分库分表,顾名思义,就是把原本存储于一个库一张表的数据分块存储到多个库多张表上。对于大型互联网应用来说,当一张表的数据量达到百万、千万时,数据库每执行一次查询所花的时间会变多,并且数据库面临着极高的并发访问。通过分库分表,使数据均衡地分布到多张表中,可以缩短数据查询所需要的时间,提高数据库的吞吐,减 ...
分类:
数据库 时间:
2017-10-11 13:06:47
阅读次数:
286
根据翻阅的资料,暂时得出以下结论: 首先,ASLR的是操作系统的功能选项,作用于executable(ELF)装入内存运行时,因而只能随机化stack、heap、libraries的基址;而PIE(Position Independent Executables)是编译器(gcc,..)功能选项,作 ...
分类:
系统相关 时间:
2017-10-10 19:16:17
阅读次数:
281