- 浏览: 286982 次
- 性别:
- 来自: 杭州
最新评论
-
sjx19871109:
有一个疑问,博主在做循环的时候,for(int i=0;i&l ...
ArrayList:用add代替remove -
剑锋凛冽:
不错,看了很有帮助。但有个概念不是很清楚,锁投票是什么?
java中的lock和synchronized -
星期扒的幻想:
学习了,了解了
Solr增删改查 -
programming:
很蛋痛的webx 工程与jarsource编码不一直,相关 ...
Webx3 -
xjt927:
...
Solr增删改查
文章列表
http://www.blogjava.net/xylz/archive/2013/08/05/402405.html
### 以下所有命令都要先sudo su admin
批量搜索日志
pgm -A -b -f juhost "grep 'getFloorJuIds' /home/admin/app/logs/app.log|tail -n 1"
查看gc 执行详细
2014年
2014年度无线行业数据报告 下载
2014年上半年移动APP趋势报告 下载
2013年
淘宝无线2013年度电子商务数据报告
牛叉正则截取命中桶号
- 博客分类:
- javascript
- linux
var= args="saff-33bucket=5fsafaf";
REGEXP_EXTRACT (args,"bucket=(\\d+)",0) = bucket=5
REGEXP_EXTRACT (args,"bucket=(\\d+)",1) = 5
regexp_substr (args,"bucket=[[:alnum:]]{1}") =bucket=5
打完整含依赖包的jar包
- 博客分类:
- java
如下,可以打出带依赖包的jar
package.bat
@echo off
set MAVEN_OPTS= -Xms128m -Xmx512m
call mvn clean:clean
mvn assembly:assembly
@pause
pom.xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plug ...
JVM垃圾回收器总览
- 博客分类:
- JVM
懒得写,引用自:http://blog.csdn.net/chjttony/article/details/7883748
Java堆内存被划分为新生代和年老代两部分,新生代主要使用复制和标记-清除垃圾回收算法,年老代主要使用标记-整理垃圾回收算法,因此java虚拟中针对新生代和年老代分别提供了多种不同的垃圾收集器,JDK1.6中Sun HotSpot虚拟机的垃圾收集器如下:
图中如果两个垃圾收集器直接有连线,则表明这两个垃圾收集器可以搭配使用。
(1).Serial垃圾收集器:
Serial是最基本、历史最悠久的垃圾收集器,使用复制算法,曾经是JDK1.3.1之前新生代唯一的垃 ...
Parallel Scavenge收集器详解
- 博客分类:
- JVM
Parallel Scavenge收集器是一个新生代收集器,它也是使用复制算法的收集器,又是并行的多线程收集器……看上去和ParNew都一样,那它有什么特别之处呢?
Parallel Scavenge收集器的特点是它的关注点与其他收集器不同,CMS等收集器的关注点是尽可能地缩短垃圾收集时用户线程的停顿时间,而Parallel Scavenge收集器的目标则是达到一个可控制的吞吐量(Throughput)。所谓吞吐量就是CPU用于运行用户代码的时间与CPU总消耗时间的比值,即吞吐量 = 运行用户代码时间 /(运行用户代码时间 + 垃圾收集时间),虚拟机总共运行了100分钟,其中垃圾收集花掉1分 ...
ParNew收集器详解
- 博客分类:
- JVM
以下摘自:《深入理解Java虚拟机:JVM高级特性与最佳实践》第3章垃圾收集器与内存分配策略
ParNew收集器其实就是Serial收集器的多线程版本,除了使用多条线程进行垃圾收集之外,其余行为包括Serial收集器可用的所有控制参数(例如:-XX:SurvivorRatio、 -XX:PretenureSizeThreshold、-XX:HandlePromotionFailure等)、收集算法、Stop The World、对象分配规则、回收策略等都与Serial收集器完全一样,实现上这两种收集器也共用了相当多的代码。ParNew收集器的工作过程如图3-7所示。
(点击 ...
以下内容摘自:《深入理解Java虚拟机:JVM高级特性与最佳实践》第3章垃圾收集器与内存分配策略
CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。目前很大一部分的Java应用都集中在互联网站或 ...
JVM GC 再深入一点
- 博客分类:
- JVM
这篇文章写的不错,大多来自于深入java虚拟机,确实比很多文章都深入一点,直接拷贝吧。引用自:http://blog.csdn.net/dc_726/article/details/7934101
垃圾回收包含的内容不少,但顺着下面的顺序捋清知识也并不难。首先要
搞清垃圾回收的范围(栈需要GC去回收吗?),然后就是回收的前提条件
如何判断一个对象已经可以被回收(这里只重点学习根搜索算法就行了),
之后便是建立在根搜索基础上的三种回收策略,最后便是JVM中对这三种
策略的具体实现。
阅读GC日志是处理Java虚拟机内存问题的基础技能,它只是一些人为确定的规则,没有太多技术含量。在本书的第1版中没有专门讲解如何阅读分析GC日志,为此作者收到许多读者来信,反映对此感到困惑,因此专门增加本节内容来讲解如何理解GC日志。
每一种收集器的日志形式都是由它们自身的实现所决定的,换而言之,每个收集器的日志格式都可以不一样。但虚拟机设计者为了方便用户阅读,将各个收集器的日志都维持一定的共性,例如以下两段典型的GC日志:33.125: [GC [DefNew: 3324K->152K(3712K), 0.0025925 secs] 3324K->152K(11904K), 0 ...
JVM gc 名词误解解惑
- 博客分类:
- JVM
虽然网上有很多关于java gc的文章,但有很多名词经常混淆,估计很多人被搞晕了。
无意间找到一个大婶总结的。写的很好,知识面很广。见下面:
HotSpot VM的GC组老人之一Jon Masamitsu很久之前就写过blog讲解这个:https://blogs.orac ...
一、JVM内存模型及垃圾收集算法
1.根据Java虚拟机规范,JVM将内存划分为:
New(年轻代)
Tenured(年老代)
永久代(Perm)
其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配,但可以通过-XX:PermSize -XX:MaxPermSize 等参数调整其大小。
年轻代(New):年轻代用来存放JVM刚分配的Java对象
年老代(Tenured):年轻代中经过垃圾回收没有回收掉的对象将被Copy到年老代
永久代(Perm):永久代存放Class、Met ...
很少有专门研究年轻代的文章,这里有一篇不错,但不详细,待我以后有空补充下。来源:http://shellblog.sinaapp.com/?p=786
1.为什么会有年轻代
我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话,我们把新创建的对象放到某一地方,当GC的时候先把这块存“朝生夕死”对象的区域进行回收,这样就会腾出很大的空间出来。
2.年轻代 ...
JVM 之CMS参数大全
- 博客分类:
- JVM
JVM命令行参数分为三种类型:标准选项(Java Virtual Machine Specification里定义的参数),非标准选项(以-X为前缀,不强制JVM实现),非稳定选项(以-XX为前缀,可能在某些版本被移除)
CMS相关
选项
类型
默认值
备注
-XX:+UseConcMarkSweepGC