- 浏览: 422380 次
- 性别:
- 来自: 北京
最新评论
-
masuweng:
好好好,有时间了练习下
使用Java混淆工具yguard -
shengshihouzhe:
第一个eg实现的应该是循环栅栏,不是计数器
Java Phaser使用 -
yukaizhao:
推荐一个很全的guava教程 http://outofmemo ...
google guava cache 处理 -
yanqingluo:
谢谢分享,已关注.
BTrace入门及使用实例 -
luoxiaohui_java:
谢谢分享!
这么好的文章,怎么没人回复呢。
ibm was nd websphere 集群
文章列表
shell脚本分析nginx日志
- 博客分类:
- Linux
178.255.215.86 - - [04/Jul/2013:00:00:31 +0800] "GET /tag/316/PostgreSQL HTTP/1.1" 200 4779 "-" "Mozilla/5.0 (compatible; Exabot/3.0 (BiggerBetter); +http://www.exabot.com/go/robot)" "-"-
178.255.215.86 - - [04/Jul/2013:00:00:34 +0800] "GET /tag/317/ed ...
google guava cache 处理
- 博客分类:
- cache
使用本地内存
Java代码
LoadingCache<Long, User> cache = CacheBuilder.newBuilder().maximumSize(100)
.expireAfterAccess(5, TimeUnit.SECONDS).build(new CacheLoader<Long, User>() {
@Override
在开始介绍之前,先介绍几篇写的比较详细的博客,咱们不求最精,一定最全,最省事。 http://blog.csdn.net/fenglibing/article/details/6411924 一、jstatd 启动jvm监控服务。它是一个基于rmi的应用,向远程机器提供本机jvm应用程序的信息。默认端口1099。 实例:jstatd -J-Djava.security.policy=my.policy my.policy文件需要自己建立,内如如下:
Java代码
dbcp基本配置和重连配置
- 博客分类:
- DB(biz)
1. 引入dbcp (选择1.4)
Java代码
<dependency>
<groupId>com.alibaba.external</groupId>
<artifactId>jakarta.commons.dbcp</artifactId>
<version>1.4</version>
以简单的工作过程说明各个参数的意义;一:创建连接阶段:服务器起动时,会建立initialSize个数据库连接,放入池中.随着应用程序访问量的增加,需要的数据库连接也在增加.
Jakarta-ORO是最全面以及优化得最好的正则表达式API之一,Jakarta-ORO库以前叫做OROMatcher,是由Daniel F. Savarese编写,后来他赠给Jakarta Project。 Jakarta-ORO正则表达式库支持Perl5兼容的正则表达式语法。 环境 jdk1.5.0_12, jakarta-oro-2.0.8 查找:
Java代码
public static void simp
优化SQL 语句 in 和not in 的替代方案
用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。
但是用IN的SQL性能总是比较低的,从SQL执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:
SQL试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用IN的SQL至少多了一个转换的过程。一般的SQL都可以转换成功,但对于含有分组统计等方面的SQL就不能转换了。 推荐在业务密集的SQL当中尽量不采用IN操作符
NOT IN 此操作是强列推荐不使用的, ...
这里提供的是执行性能的优化,而不是后台数据库优化器资料:
参考数据库开发性能方面的各种问题,收集了一些优化方案统计如下(当然,象索引等优化方案太过简单就不列入了,嘿嘿):
执行路径:ORACLE的这个功能大大地提高了SQL的执行性能并节省了内存的使用:我们发现,单表数据的统计比多表统计的速度完全是两个概念.单表统计可能只要0.02秒,但是2张表联合统计就可能要几十表了.这是因为ORACLE只对简单的表提供高速缓冲(cache buffering) ,这个功能并不适用于多表连接查询..数据库管理员必须在init.ora中为这个区域设置合适的参数,当这个内存区域越大,就可以保留更多的语句,当然 ...
一、前言
很显然从名字中我们就可以知道vmstat是一个查看虚拟内存(Virtual Memory)使用状况的工具,但是怎样通过vmstat来发现系统中的瓶颈呢?在回答这个问题前,还是让我们回顾一下Linux中关于虚拟内存相关内容。
二、虚拟 ...
前几篇篇文章介绍了介绍了JVM的参数设置并给出了一些生产环境的JVM参数配置参考方案。正如之前文章中提到的JVM参数的设置需要根据应用的特性来进行设置,每个参数的设置都需要对JVM进行长时间的监测,并不断进行调整才能找到最佳设置方案。本文将介绍如果通过工具及Java api来监测JVM的运行状态,并详细介绍各工具的使用方法。
需要监测的数据:(内存使用情况 谁使用了内存 GC的状况)
内存使用情况--heap&PermGen
@ 表示通过jmap –heap pid 可以获取的值
# 表示通过jstat –gcutil pid 可以获取的值
参数的查看可以通过多 ...
java application项目(非web项目)
改进前:
-Xms128m-Xmx128m-XX:NewSize=64m-XX:PermSize=64m-XX:+UseConcMarkSweepGC-XX:CMSInitiatingOccupancyFraction=78-XX:ThreadStackSize=128-Xloggc:logs/gc.log-Dsun.rmi.dgc.server.gcInterval=3600000-Dsun.rmi.dgc.client.gcInterval=3600000-Dsun.rmi.server.exceptionTrace=tr
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同(主要cup个数,内存不同),所以使用的GC种类也会不同(如何选择见GC种类及如何选择)。本文将注重介绍JVM、GC的一些重要参数的设置来提高系统的性能。
JVM内存组成及GC相关内容 ...
JVM里的GC(Garbage Collection)的算法有很多种,如标记清除收集器,压缩收集器,分代收集器等等,详见HotSpot VM GC 的种类
现在比较常用的是分代收集(generational collection,也是SUN VM使用的,J2SE1.2之后引入),即将内存分为几个区域,将不同生命周期的对象放在不同区域里:young generation,tenured generation和permanet generation。绝大部分的objec被分配在young generation(生命周期短),并且大部分的object在这里die。当young gen ...
collector种类
GC在 HotSpot VM 5.0里有四种:
incremental (sometimes called train) low pause collector已被废弃,不在介绍.
类别
serial collector
parallel collector( throughput collector )
concurrent collector(concurrent low pause collector)
Logback 分为三个模块:Core、Classic 和 Access。Core模块是其他两个模块的基础。 Classic模块扩展了core模块。Classic模块相当于log4j的显著改进版。Logback-classic 直接实现了 SLF4J API。
要引入logback,由于Logback-classic依赖slf4j-api.jar和logback-core.jar,所以要把slf4j-api.jar、