1. 内在管理三种方式:GC(GarbageConnection): 和Java类似,在程序执行过程中,由程序准确的将内在垃圾回收.Reference Count(引用计数):类似于C++的共享指计,会C++的都懂,当一段内在被申请后,就会记录这段内存被使用次数.当次数为0时,被申请的内在就会被释放...
分类:
其他好文 时间:
2015-04-13 09:18:08
阅读次数:
122
在引进Compacting GC后,ART运行时优化了堆内存分配过程。最显著特点是为每个ART运行时线程增加局部分配缓冲区(Thead Local Allocation Buffer)和在OOM前进行一次同构空间压缩(Homogeneous Space Compact)。前者可提高堆内存分配效率,后者可解决内存碎片问题。本文就对ART运行时引进Compacting GC后的堆内存分配过程进行分析。...
分类:
其他好文 时间:
2015-04-13 01:45:17
阅读次数:
412
题目大意:求方程xk≡a(mod p)x^k≡a(mod\ p)在[0,p)[0,p)区间内的全部解
取pp的一个原根gg,两侧取指标得到:
k?indgx≡indga(mod p?1)k*ind_gx≡ind_ga(mod\ p-1)
上EXGCD即可
注意a=0a=0要特判
(EXGCD已死系列……#include
#include
#include...
分类:
其他好文 时间:
2015-04-11 18:01:57
阅读次数:
142
1 问题描述 某服务有两台机器,每隔几天会报警load高,一开始看监控发现gc时间抖动很大,以为是发生了fullgc引起卡顿而未加注意,之后登入线上机器查看日志发现是jvm崩溃导致了服务重启从而引发gc时间抖动。以某天为例,该服务分别在上午7点和上午10点发生jvm崩溃,如果同时发生崩溃将导...
分类:
其他好文 时间:
2015-04-11 11:36:43
阅读次数:
177
内存泄露Java和C++一个很大的区别就是Java有垃圾回收GC(Garbage Collection)自动管理内存的回收。但是我们在实际的项目中仍然会遇到内存泄露的问题。
Java中对内存对象得访问是通过引用的方式,通过一个内存对象的引用变量来访问到对应的内存地址中的对象。
GC会从代码栈的引用变量开始追踪,从而判断哪些内存是正在使用,如果无法跟踪到某一块堆内存,那么GC就认为这块内存不再使用...
分类:
其他好文 时间:
2015-04-10 15:34:21
阅读次数:
346
项目需要C++代码与flume对接,进而将日志写入HDFS。flume原生为java代码,原先的解决方案是通过JNI调用flume java方法。但是由于一来对jni的调用效率的担心,二来C++调用JNI需要照顾local reference和GC的问题,被搞得头痛了。一怒之下,重写代码了,使用C+...
分类:
编程语言 时间:
2015-04-09 19:15:42
阅读次数:
161
前几篇篇文章介绍了介绍了JVM的参数设置并给出了一些生产环境的JVM参数配置参考方案。正如之前文章中提到的JVM参数的设置需要根据应用的特性来进行设置,每个参数的设置都需要对JVM进行长时间的监测,并不断进行调整才能找到最佳设置方案。本文将介绍如果通过工具及Java api来监测JVM的运行状态,并...
分类:
其他好文 时间:
2015-04-09 15:08:36
阅读次数:
206
内存作为系统中重要的资源,对于系统稳定运行和高效运行起到了关键的作用,Java和C之类的语言不同,不需要开发人员来分配内存和回收内存,而是由JVM来管理对象内存的分配以及对象内存的回收(又称为垃圾回收、GC),这对于开发人员来说确实大大降低了编写程序的难度,但带来的一个副作用就是,当系统运行过程中出...
分类:
其他好文 时间:
2015-04-09 13:24:22
阅读次数:
181
JVM内存模型
JVM分别对新生代和旧生代采用的两种垃圾回收机制
如何判断对象是否可以被回收
gc的原因(Log释义)...
分类:
移动开发 时间:
2015-04-09 10:37:34
阅读次数:
122