- 浏览: 284992 次
- 性别:
- 来自: 北京
最新评论
-
k_kid9157:
亲测可用 特来感谢LZ分享!
the namespace on the "definitions" element, is not atorChain doIntercept Interce -
fair_jm:
归纳得很好 还有G1 学习了
java的垃圾收集算法和垃圾收集器 -
zhouchaofei2010:
有理想 赞一个
ibatis源码 -
code_cj:
好像在哪里看过,有点熟眼...
jvm如何判断对象已死? -
ansjsun:
不错不错..就是有点粗略..希望能介绍下.标记整理和标记删除. ...
jvm如何判断对象已死?
文章列表
sed: sed -n "${n}p" //awk: awk ’NR==’"$var"’’
1.插件Memory Analyzer tool 的详细安装参考如下网址:
http://blog.csdn.net/yhc13429826359/article/details/7711911
2.我这次发生错误的程序代码如下:
public static void readLogBufferRead(String logPath){
BufferedReader bufferReader = null;
try{
bufferReader = new Buffere ...
一、概述
本文档主要介绍了Tomcat的性能调优的原理和方法。可作为公司技术人员为客户Tomcat系统调优的技术指南,也可以提供给客户的技术人员作为他们性能调优的指导手册。
二、调优分类
由于Tomcat的运行依赖于JVM,从虚拟机的角度我们把Tomcat的调整分为外部环境调优和自身调优两类来描述。
1. 外部环境调优
调整Tomcat运行环境的操作系统参数和运行Tomcat的java虚拟机参数。
(a) JAVA虚拟机性能优化
Tomcat需要依赖Java虚拟机运行。根据客户选用的主机的操作系统选择对应的 JDK的版本。无论哪个厂商的JDK,都建议使用最新的版本。 虚拟机可通过命 ...
自己建了一个maven项目,用来测试log4j.xml的不同级别限定,还有自定义的appender,可以将日子中的流量写入数据库,缓存等。
具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上它还有其他选择。
Cookie机制
正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的cookie。然而纯粹的客户端脚本如JavaScript或者VBScript也可以生成cookie。而cookie的使用是由浏览器按照一定的原则在后台自动发送给服务 ...
今天是2012年10月21日,北漂一年零二个月了,有一段没写博客了,一是这段时间比较忙,刚入职,一下子有很多的东西要学,二是觉得刚入行,才疏学浅,想把知识一块一块的吃透了再写写心得。
入行一年多了,从游戏行业转到了电商,想想一年前的自己,想想现在的自己,未来的自己,不知道会怎么样,更不知道会在哪里,努力吧,为了那些挚爱的亲人,朋友,也为了自己。
Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的同步问题。然而,很多人编写Servlet/JSP程序时并没有注意到多线程同步的问题,这往往造成编写的程序在少量用户访问时没有任何问题,而在并发用户上升到一定值时,就会经常出现一些莫明其妙的问题,对于这类随机性的问题调试难度也很大。
一、在Servlet/JSP中的几种变量类型
在编写Servlet/JSP程序时,对实例变量一定要小心使用。因为实例变量是非线程安全的。在Servlet/JSP中,变量可以归 ...
1.垃圾回收算法
1.1标记-清除
该算法主要分为标记和清除两个阶段,先对需要回收的对象进行标记,然后再进行清除,该算法的有点是简单,缺点有两个,一个是效率问题,标记和清除的效率都不高,另一个问题是空间问题,标记清除之后会造成大量的空间碎片,当程序需要分配一个大对象而无法找到连续的空间时就必须出发一次垃圾回收。
1.2复制算法
该算法是将内存空间分为大小相等的两块,在其中的一块进行对象的分配,需要垃圾回收时将其中一块存活的对象拷贝到另一块即可,然后把用过的内存块给清理掉,该算法的有点是:不用考虑内存碎片问题,实现简单,运行高效,缺点是:将内存缩小为了原来的一半,代价有点儿高。
...
在java的垃圾回收中,jvm是如何判断堆中的对象是否已死呢?主流的判断方法有两种。
1.引用计数算法:
这种算法的思路是如果某一个对象被别的对象引用,那么就把他们引用计数器加上1,这样当进行垃圾回收时如何判断该引 ...
在jvm中堆空间划分为三个代:年轻代(Young Generation)、年老代(Old Generation)和永久代(Permanent Generation)。年轻代和年老代是存储动态产生的对象。永久带主要是存储的是java的类信息,包括解析得到的方法、属性、字段等等。永久带基本不参与垃圾回收。我们这里讨论的垃圾回收主要是针对年轻代和年老代。具体如下图。
年轻代又分成3个部分,一个eden区和两个相同的survior区。刚开始创建的对象都是放置在eden区的。分成这样3个部分,主要是为了生命周期短的对象尽量留在年轻带。当eden区申请不到空间的时候,进行minorGC,把存活的对 ...
1.首先java的运行时存储区域大致分为:java堆,虚拟机栈,本地方法栈,方法区,程序计数器这几个区域,下面对这几块区域的存储信息和可能抛出的异常进行分析。
1>程序计数器。
这个区域主要是用来标识字符码执行时 ...
1>定义:
堆排序是一种选择排序,堆排序将一组序列存放在一位数组上面,一依次记录序列中的点{r1,r2,r3,r4,r5·····rn},可以将此序列看做是一棵完全二叉树,此二叉树重中的各个元素满足一下的条件之一:
ri<=r2i && ri <=r2i+1 获取ri>=r2i && ri >= r2i+1,分别成称为最最大堆和最小堆。
2>算法由两部分构成,一部分是建初始堆,另一部分是调整建堆。
建立堆栈。
2.1 从倒数第一个非叶子节点开始遍历,每遍历一个节点就进行一个堆的调整。
遍历完成之后根节 ...
ANSI/ISO SQL92 标准定义了一些数据库操作的隔离级别:
l 未提交读( read uncommitted )
l 提交读( read committed )
l 重复读( repeatable read )
l 序列化( serializable )
也就是隔离级别,0,1,2,3。 ANSI/ISO SQL92 标准有很详细的说明,可是这个说明详细是详细,就是看不明白。今天经高人指点,茅厕顿开。
隔离级别0与事务无关,并且不加锁,也就是说例如select * from t1,系统扫描过和读取的每一行都不加锁。
隔离级别1与事务无关 ...
在我们写SQL Map文件时,如下行
<sqlMap namespace="User">
基本上我们是按照每个表一个命名空间(namespace)的。
在这个命名空间内有如下的SQLID行
<select id="getUserById" parameterClass="java.lang.Integer" resultClass="user">
<![CDATA[
SELECT id, username, password FROM users WHERE id = ...
随着开发团队转投Google Code旗下,ibatis3.x正式更名为Mybatis
虽然从正式版发布至今也有近一年时间,官方也非常友好的提供了中文版的使用手册,不过相信很多人还在项目中使用ibatis2.x版本。
究竟Mybatis有哪些新特性,能给我们带 ...