- 博客(11)
- 资源 (12)
- 收藏
- 关注
原创 HashMap并发情况下,导致闭环链
主要是由于hashmap的resize方法引起,resize是扩容map大小。 里面个transfer方法,用于将原表中的结点依次放入到新表中。如: 假设当前表大小为4,threashold为3,存在hash值分别7,3,5。前两个结点被分配在位置3上,顺序为3->77,3分别代表结点7及结点3 当线程1和线程2分别插入一个元素,元素的hash值刚好是11,这时由于
2014-01-26 20:23:10 6033 2
原创 学习了spring mvc
今天用spring mvc搭建个例子。 spring mvc,比较轻量。 原理是: 请求通过声明的核心控制器dispatcherServlet,转发给handlerMapper,handlerMapper负责找出相应的controller(我们写的业务处理类)。 找到controller后进行处理,处理完指定一个modle(用于存储需要显示的数据)及view(可以是一个js
2014-01-25 21:12:00 759
原创 对于浏览器cache理解
今天看了coolshell.cn/articles/6470.html 这篇文章 其中有介绍前端的优化,其中包括将多个css或js文件写成一个,这样可以减少客户端浏览器的tcp连接请求。 用firfox的内置功能(右键点击查看详情),查看了下连接请求,发现现在12306确实有50多个请求。 从请求列表中可以发现先发送get请求主页,然后浏览器分别请求js或css文件。 浏览
2014-01-22 19:20:51 1332
原创 对开发服务器作了优化
之前,jboss数据源最大连接是20,最小连接数据是5,在jboss的deploy文件夹下*-xa.xml文件中设置最大jboss线程数maxThreads是250,等待区线程数acceptcount是100,在jboss的deploy下jboss-web.deployer下的server.xml设置jboss运行时,有一个等待区与运行区,一个请求会先进入等待区,运行区有空
2014-01-20 13:36:12 765
原创 关于java内存模型与java线程模型
java内存模型,分为主内存及工作内存。 其中主内存主要是指堆中实例这部分空间,工作内存则是指线程自己的栈。 之所以存在工作内存,一方面是由于性能原因(工作内存中有些值存储在寄存器或高速缓存当中) 另一方面,是提供了线程间独立内存。 java围绕着在线程需要对某个主存中的实例变量进行操作时,规定了以下八个操作: 1.lock指令,如果加了syncroniz
2014-01-18 16:59:42 727
原创 jvm垃圾回收性能测试
JVM性能测试:-verbose:gc -Xms1200M -Xmx1200M -Xmn1024M -XX:+PrintGCDetails -XX:SurvivorRatio=8-XX:+PrintGCTimeStamps-XX:+UseConcMarkSweepGC-XX:+UseParNewGC-XX:ParallelGCThreads=2总结:对于堆中,如果大量对
2014-01-15 14:00:21 924
原创 visualvm监控远程服务器
visualvm,原理是通过rmi来实现本机或远程jvm的信息反馈。 首先在服务端,让jdk的tools.jar能够有所有的权限: 配置java安全访问,将如下的代码存为文件 jstatd.all.policy: grant codebase "file:${java.home}/../lib/tools.jar" { permissio
2014-01-13 18:58:09 766
原创 项目总结
在过去一年的项目中,学习到以下点: 对于性能优化,主要从数据库,编码及系统架构上去做。 数据库层,我们主要考虑语句索引的建立,是否走索引查询。位图索引最好不要加,特别是对于更新频繁的表,会导致更新某一行的位图列,从而导致锁住一大片行(具有相同位图列)。 而对于我们业务系统,某个表一天大约10万左右的业务数据增长,所以对其进行水平分区,每三个月作为一个分区区间范围。三个月的数据将近
2014-01-10 08:25:00 836
转载 oracle查找锁住的表
select b.owner TABLEOWNER, b.object_name TABLENAME, c.OSUSER LOCKBY, c.USERNAME LOGINID, c.sid SID, c.SERIAL# SERIALfrom v$locked_object a,dba_objects b, v$session c where b.object_id = a.object_i
2014-01-07 09:16:21 845
原创 oracle锁深入
oracle对于insert,update,delete的操作时会加一个排它锁与 TM锁。 这里的排它锁主要是防止,其它session修改当前的行。TM则是防止 其它session修改表结构,如drop table等操作。 oracle锁实现主要有两种:队列锁与闩。前者就是对于insert,update,delete这些操作时加的排它锁都用这种实现。后者是保护oracle内部的共享内
2014-01-04 17:39:56 809
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人