- 博客(241)
- 资源 (12)
- 收藏
- 关注
转载 解析Java对象引用与JVM自动内存管理
象引用应用程序设计接口是JDKTM1.2中新定义的。该应用程序设计接口允许应用程序以对象引用的方式与JVM的内存管理器进行交互。当应用程序需管理大量内存对象或者在新的Java对象创建之前需删除原有对象时,Java对象引用应用程序设计接口具有相当大的用途,例如: ● 基于Web的应用程序常常要求显示大量图片,当用户离开某一Web页时,往往不能确定是否能够顺利的返回。在这种程序中,应
2013-06-17 22:59:56
1141
转载 java JVM 参数实例详解
http://blog.youkuaiyun.com/kthq/article/details/8618052http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm
2013-05-14 23:30:53
1113
转载 ClassLoader介绍
JVM规范定义了两种类型的类装载器:启动内装载器(bootstrap)和用户自定义装载器(user-defined class loader)。户自定义装载器(user-defined class loader) Extension ClassLoader和AppClassLoaderJVM在运行时会产生三个ClassLoader,Bootstrap ClassLoader、Ex
2013-04-13 14:19:30
977
转载 tomcat下lib的加载顺序
1.最先是$JAVA_HOME/jre/lib/ext/下的jar文件。2.环境变量CLASSPATH中的jar和class文件。3.$CATALINA_HOME/common/classes下的class文件。4.$CATALINA_HOME/commons/endorsed下的jar文件。5.$CATALINA_HOME/commons/i18n下的jar文件。6.$CAT
2013-04-13 12:07:14
9771
原创 Instrumentation 两种方法 premain Agent
由于jvm内部的限制Instrumentation 只能修改方法体 不能动态添加删除方法(安全第一吧!!!!) Premain对于使用命令行接口的实现,可以将以下选项添加到命令行来启动代理: -javaagent:jarpath[=options]jarpath 是代理 JAR 文件的路径。 options 是代理选项。此开关可以在同一代码行使用多次,从而创建多个代理。
2013-04-10 14:04:30
7346
原创 修改系统时间制
Calendar cal=Calendar.getInstance(TimeZone.getTimeZone( "GMT+8 ")); int hours =cal.get(Calendar.HOUR); if(hours != 1){ return; }
2012-11-07 11:58:22
1052
转载 java.lang.instrument 中的premain 实现类的个性化加载(附源代码)
背景想调用ASM API (用于字节码处理的开源API)对字节码进行处理,目标是实现对java程序运行时各种对象的动态跟踪,并进一步分析各个对象之间的关系(研究前提是目前的UML锁阐释的whole-part relation 是比较混乱的)。由于ASM相关内容又可以延伸很远,在此文中略过。在完成了能对字节码进行处理的ASM调用以后,需要考虑如何将这些功能与正常的java程序整合到一起。
2012-10-10 16:12:36
8388
转载 java.lang.Instrument 动态修改替换类代码
java.lang.Instrument包是在JDK5引入的,程序员通过修改方法的字节码实现动态修改类代码。这通常是在类的main方法调用之前进行预处理的操作,通过java指定该类的代理类来实现。 1. 代理 (agent) 是在你的main方法前的一个拦截器 (interceptor),也就是在main方法执行之前,执行agent的代码。agent的代码与你的main方法在同一个
2012-10-10 15:47:21
4994
转载 tomcat热部署的实现原理
类:tomcat查看( 4128 ) /评论( 2 ) / 评分( 5 / 0 ) 一. 概述名词解释:所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。对于Java应用程序来说,热部署就是在运行时更新Java类文件。在基于Java的应用服务器实现热部署的过程中,类装入器扮演着重要的角色。大多数基于Java的应用服务
2012-10-10 15:38:41
6769
转载 JVM:生产环境参数实例及分析【生产环境实例增加中】
改进前:-Xms128m-Xmx128m-XX:NewSize=64m-XX:PermSize=64m-XX:+UseConcMarkSweepGC-XX:CMSInitiatingOccupancyFraction=78-XX:ThreadStackSize=128-Xloggc:logs/gc.log-Dsun.rmi.dgc.server.gcInte
2012-09-24 14:49:27
1336
转载 远程Debug
认识debug视图,红色部分框为线程堆栈视图,黄色部分框为表达式、断点、变量视图,蓝色部分为代码视图。 线程堆栈视图 分别介绍一下这几个按钮的含义: 1.表示当前实现继续运行直到下一个断点,快捷键为F8。 2.表示打断整个进程 3.表示进入当前方法,快捷键为F5。 4.表示运行下一行代码,快捷键为F6。 5.表示退出当前方法,返回到调用层,快捷键
2012-03-13 12:32:30
1175
原创 log4j.xml配置详解 properties 的太费眼了
Xml代码 value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />
2012-02-24 11:38:50
8796
1
转载 获得Controller 的Map ContextLoaderListener和ContextLoaderServlet
Spring中ApplicationContext加载机制和配置初始化分类: spring 2010-10-13 09:33 291人阅读 评论(1)收藏 举报引用:http://liuwei1578.blog.163.com/blog/static/495803642007116111923195/ Spring中ApplicationContex
2012-02-06 23:17:12
1037
转载 Java HotSpot Client VM 和 Java HotSpot Server VM的配置
JDK包括2个JVM的实现Java HotSpot Client VM(-client),为在客户端环境中减少启动时间而优化;Java HotSpot Server VM(-server),为在服务器环境中最大化程序执行速度而设计。比较:Server VM启动比Client VM慢,运行比Client VM快。如何将VM设置成 Server VM:找到 [jre安装目录]/li
2012-01-30 14:19:04
968
转载 什么是HotSpot
没错,Java是解释语言,但并不意味着它一定被解释执行。早期 的虚拟机确实一条一条指令解释执行,但人们发现这样效率太低, 不满足各种要求,因此出现了许多其它虚拟机,如JIT的虚拟机。 HotSpot也是类似一种虚拟机,自从SUN买下后,已经把它放入 JRE 1.3以及后续版本中。 采用HotSpot的Java虚拟机,已经很难说Java是被虚拟机解释执行了, 原因是Ho
2012-01-30 14:17:15
2042
转载 10 个非常重要的 HotSpot JVM 参数
1) 跟 Java 堆大小相关的 JVM 内存参数下面三个 JVM 参数用来指定堆的初始大小和最大值以及堆栈大小 -Xms 设置 Java 堆的初始化大小 -Xmx 设置最大的 Java 堆大小 -Xss 设置Java线程堆栈大小2) 关于打印垃圾收集器详情的 JVM 参数-verbose:gc 记录 G
2012-01-30 14:14:08
912
原创 ServletContextListener
ServletContextListener的用法这个J2EE小提示阐述了ServletContextListener的用法。这个事件类作为Web应用服务的一部分,处理Web应用的 servlet上下文(context)的变化的通知。这可以解释为,好像有个人在服务器旁不断地通知我们服务器在发生什么事件。那当然需要监听者了。因 此,在通知上下文(context)初始化和销毁的时候,Servl
2012-01-04 21:39:17
887
原创 Thread 实现 方法访问来源跟踪
StackTraceElement[] el = Thread.currentThread().getStackTrace(); Map map = Thread.getAllStackTraces(); System.out.println(map.size()+"^^^^^^^^^^^^^^"); for(StackTraceElement[] el2: ma
2012-01-04 20:45:36
1089
转载 centos上mysql大量unauthenticated user解决办法
一如前面所说的,www.blogguy.cn的服务器慢到了我无法容忍的地步,经过观察确定是mysql数据库给拖累的,这段时间要拿这mysql开刀了。通过ssh连上去,执行一下mysql的Show Processlist;命令,发现一堆的用户名是unauthenticated user的用户在连接。以前没有注意这个情况,现在终于明白,这个就是mysql值得优化的第一步了。就从这里开始。
2011-11-14 20:26:11
1016
原创 ByteArrayOutputStream 与 ObjectOutputStream 转换
1 实现ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(bos); oos.writeByte(1); oos.writeDouble(1.0)
2011-10-25 22:30:24
6536
转载 Redis与Memcached的区别
果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。2 Redis支持数据的备份,即master-slave模式的数据备份。3 Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。抛开这些,可以深入
2011-10-23 16:52:48
4337
转载 spring ServletContextListener
spring获取webapplicationcontext,applicationcontext几种方法详解转自:http://www.blogjava.net/Todd/archive/2009/09/15/295112.html 方法一:在初始化时保存ApplicationContext对象 代码: ApplicationContext ac = new FileSystemX
2011-10-21 17:41:59
3656
转载 新玩具 Protocol Buffer
简介什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得到类似这样的文字介绍:Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报
2011-10-12 09:47:24
1661
转载 java 虚拟机的内存限制
Linux系统中JVM内存2GB的限制 有些用户反映在Linux系统中运行的Java应用,内存只能使用到2GB,在Java虚拟机中如果把-Xmx参数设置到2GB左右(约1.5-1.8GB),java进程就根本启动不了。我们通常使用的JVM都是32位的(64位的JVM会损失
2011-09-19 10:05:10
3155
转载 MySQL的google贡献Google-MySQL-Tools
顺便把以前写的google对MySQL的相关补丁介绍找出来了,部分补丁已经并入MySQL的新版中了。文章贴在这里。权当纪念娘的,图片不知道怎么发上来,实在有人有兴趣,联系我要word版或者pdf版吧:)Google-MySQL-Tools overview说明目
2011-09-16 17:54:00
3460
原创 Java 分布式事务(多数据源)
最近这几天一直在整 怎么实现分布式事务。找了很多资料,不过大都相近类同。对Oracle、SQL Server、Mysql数已做过测试,其中Mysql5.0以上的才支持分布式事务。对于这些,主要是之前根本没有接触过分布式事务,还错找了一些分布式事数据库的资料,呵呵,结果不是
2011-09-15 23:04:08
10329
转载 spring分布式事务
强烈鄙视 只问问题就会啥笑的 技术总监 今天晚上遇到好人了 分布式事务是指操作多个数据库之间的事务,在tomcat下,是没有分布式事务的,不过可以借助于第三方软件jotm(Java Open Transaction Manager )和AtomikosTra
2011-09-15 22:41:02
1461
转载 Maven多环境配置实战 filter
目前在开发一个wap项目,主要有开发、测试和最终部署上线几个阶段,每个阶段对配置(数据库、日志)都有不同的设置。以前都是以开发环境为主,在测试和部署上线时由部署工程师负责修改配置并上线。但是公司并非都有一个项目,我们也不是只负责一个项目,这样的工作方式导致每每上线时大家都心惊胆颤
2011-08-30 16:39:18
25633
1
原创 jetty eclipse 无插件配置
Eclipse中用Maven来启动Jetty调试Web应用1、先来配置一个外部工具,来运行JETTY: 选择菜单Run->External Tools->External Tools ...在左边选择Program,再点New: 配置Location为mvn完整命令行
2011-08-30 13:53:19
1631
转载 Consistent Hashing - memcached分布式原理
下面这篇文章写的非常好,结合memcached的 特点利用Consistent hasning 算法,可以打造一个非常完备的分布式缓存服务器。memcached的分布式 memcached的分布式是什么意思?Cache::Memcached的分布式方法 根据余
2011-08-22 14:23:05
744
转载 Ketama一致性Hash算法(含Java代码)
一致性哈希算法(Consistent Hashing Algorithm)是一种分布式算法,常用于负载均衡。Memcached client也选择这种算法,解决将key-value均匀分配到众多Memcached server上的问题。它可以取代传统的取模操作,解决了取模操作无法
2011-08-22 14:21:10
2554
转载 hibernate Search类似于Lucene的功能
不久前Hibernate推出了Hibernate Search 3.0 GA,由它的名字大家也可以大概猜到它的作用是对数据库中的数据进行检索的。它是hibernate对著名的全文检索系统Lucene的一个集成方案,作用在于对数据表中某些内容庞大的字段(如声明为text的字段)建立
2011-08-18 16:11:15
3431
转载 分支限界法----旅行售货员问题
<br />一、问题描述<br />某售货员要到若干城市去推销商品,已知各城市之间的路程(或旅费)。他要选定一条从驻地出发,经过每个城市一次,最后回到驻地的路线,使总的路程(或总旅费)最小。<br /> 如下图:1,2,3,4 四个城市及其路线费用图,任意两个城市之间不一定都有路可达。<br /> <br />二、问题理解<br /> 1.分支限界法利用的是广度优先搜索和最优值策略。<br /> 2.利用二维数组保存图信息City_Graph[MAX_SIZE]
2011-05-25 10:28:00
4156
原创 回溯法 背包问题
<br />给定n种物品和一个容量为C的背包,物品i的重量是wi,其价值为vi,背包问题是如何选择装入背包的物品,使得装入背包中物品的总价值最大?<br />贪心算法描述:<br />1.改变数组w和v的排列顺序,使其按单位重量价值v[i]/w[i]降序排列; <br /> 2.将数组x[n]初始化为0; //初始化向量 <br /> 3. i=1;<br /> 4.循环直到(w[i]>C);<br /> 4.1 x[i]=1;<br />
2011-05-25 10:26:00
1428
原创 分支限界法(求最优装载)
<br />1. 分支搜索算法<br /> (1) 引入<br /> 用回溯算法解决问题时,是按照深度优先的策略在问题的状态空间中,尝试搜索可能的路径,不便于在搜索过程中对不同的解进行<br />比较,只能在搜索到所有解得情况下,才能通过比较确定哪个是最优解。这类问题更适合广度优先策略搜索,因为在扩展结点时,可以在<br />E-结点的各个子结点之间进行必要的比较,有选择的进行下一步扩展。这里的分支限界法就是一种较好的解决最优化问题的算法。<br /> 分支界限法是由"分支"策略
2011-05-25 10:07:00
4243
原创 自己的写简单的二叉树java
<br />public class twoTree {<br /> <br /> private static Node root;<br /> <br /> public class Node{<br /> private int data;<br /> private Node left;<br /> private Node right;<br /> public int getData() {<br /> return data;<br /> }<br /> public void
2011-05-24 11:00:00
872
转载 动态映射bean 的内部赋值
<br />/** <br /> * 从ResultSet绑定到JavaBean <br /> * <br /> * @param ResultSet <br /> * @param DTO(JavaBean) <br /> * @return DTO <br /> */ <br /> public static DTO bindDataToDTO(ResultSet rs, DTO dto) throws Exception {<br />
2011-05-12 18:13:00
924
转载 ThreadLocal 线程安全 创建线程变量
<br />ThreadLocal是什么<br />早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。<br />ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名为ThreadLocalVariable更容易让人理解一些。<br />当使用Threa
2011-04-16 15:58:00
1085
转载 Spring2.5 注解介绍(3.0通用)
<br />【分享】Spring2.5 注解介绍(3.0通用)<br />Auther: 韩群峰Version: 1.0.0 Date: 2011-03-15 <br /><br /><br /> 注解说明<br />•注册注解处理器<br />•方式一:bean<br /><bean class="org.springframework.beans.factory.annotation.<br />AutowiredAnnotationBeanPostProcessor"/><br /><br /><br
2011-04-01 22:04:00
1686
spring applicationContext.xml详细配置
2008-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人