自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Struts2中的setDefaultLocale的实现

在struts2中可以在struts.properties文件中设置default local。如:struts.locale=zh_CN查看源代码发现他是通过annotation Inject来设置的。 @Inject(value=StrutsConstants.STRUTS_LOCALE, required=false) public static void setDe...

2011-08-31 10:33:46 272

原创 Struts2类型转换器

Struts2的核心代码在于xwork,下面是xwork的源代码的下载地址http://release.opensymphony.com/xwork/2.0.7/ 今天工作的时候发生了这个错误,弄了一个下午,还是没有看源代码的原因啊。 ERROR - ParametersInterceptor - [setParameters]: Unexpected Exception ca...

2011-08-30 16:19:52 82

原创 执行数组参数的存储过程

今天在做移植java项目到云平台的工作,遇到了执行数组参数的存储过程的问题。先介绍一下怎么样执行数组参数的存储过程。//创建descriptor,typeArrayName是数据库中数组变量的名称 ArrayDescriptor descriptor = ArrayDescriptor.createDescriptor(typeArrayName, conn);//将descripto...

2011-08-29 17:37:09 198

原创 贪婪算法 学习

贪婪算法是解决最优化问题的一种基本方法。它采用逐步构造最优解的思想,在问题求解的每一个阶段,都作出一个在一定标准下看上去最优的决策;决策一旦作出,就不可再更改。制定决策的依据称为贪婪准则。贪婪算法需要考虑以下步骤:1 、明确问题的求解目标。 2 、分析问题所包含的约束条件。 3 、建立优化函数。优化函数通常可以通过综合分析问题的求解目标及约束条件归纳出来。 4 、制定贪婪准则。清楚...

2011-08-26 15:13:35 497

原创 tomcat修改PermGen

tomcat修改PermGen内存大小的步骤(linux环境):51Testing软件测试网'ZW)RyoXM1,被修改的文件:/opt/tomcat/bin/catalina.sh$O@KtB051Testing软件测试网l&kLq%dQvI2,在catalina.sh中增加以下语句:51Testing软件测试网\N/ELu@:v# -------------...

2011-08-26 14:23:37 172

原创 动态规划算法

动态规划主要指的现阶段的所做决策最优决策加上将来所做的最优决策组合起来肯定是最优决策,它需要满足三个条件:1.最优化原理(最优子结构性质):一个最优化策略的子策略总是最优的。一个问题满足最优化原理又称其具有最优子结构性质2.无后向性:将各阶段按照一定的次序排列好之后,对于某个给定的阶段状态,它以前各阶段的状态无法直接影响它未来的决策,而只能通过当前的这个状态3.子问题的重叠性:。动态规...

2011-08-25 09:06:31 91

原创 各种收集器的回收比较

各种收集器的回收比较(收集器的介绍参见http://blog.csdn.net/historyasamirror/article/details/6233007): 0.386: [GC [PSYoungGen: 7680K->1272K(8960K)] 7680K->7632K(19200K), 0.0439756 secs] [Times: user=0.06 sys=0....

2011-08-23 16:05:11 210

原创 Memory Analyzer工具的使用

本文目的是在记录下Memery Analyzer的功能。Memery Analyzer是一个很好的内存泄漏的分析工具。当发生内存泄漏的时候我们可以先用jmap dump下内存,然后分析。   从上图可以看到它的所有功能。1. Histogram可以列出内存中的对象,对象的个数以及大小。2. Dominator Tree可以列出那个线程,以及线程下面的那些对象占用的空间,...

2011-08-23 14:59:33 301

原创 OutOfMemoryError 分析过程

最近在研究JVM优化方面的知识,今天就顺便用JVM的查看工具测试了一下当发生OutOfMemoryError的时候如何通过工具来分析出错原因。需要的工具Eclipse Memory Analyzer。1.在eclipse的run argument中输入以下VM参数(关于Xms,Xmx,Xmn的具体含义参考http://unixboy.iteye.com/blog/174173)。设置了堆空...

2011-08-23 14:17:15 111

原创 Quartz1.8 配置

项目要用到Quartz,所以研究了一下Quartz的配置.虽然很简单,但还是查看了一天的资料才配置好,发现浪费了很多时间,其实可以看Quartz自带的实例就可以完成配置,不过自己动手做过的确更有把握一点。Quartz需要配置三个文件web.xml,quartz.property,quartz_job.xml下面是web.xml,从配置中可以看到是用QuartzInitializerServ...

2011-08-22 17:07:40 143

原创 Unsafe 源码分析

这几天在分析ThreadPoolExecutor的时候看到了Unsafe类就研究了一下。Unsafe的源代码可以见http://xiao-jiang51.iteye.com/blog/850413的分析。因为Unsafe定义了私有的构造函数,而且限制类用户定义的类来访问Unsafe对象。如下代码,如果是开发人员自定义的类去调用的话,就会返回SecurityException.这个类怎么...

2011-08-19 21:56:13 110

原创 TreeMap 源码分析

TreeMap是一种红黑树。红黑树的介绍可以查看http://wangyu.iteye.com/blog/190763存储结构为;[code="java"] private transient Entry root = null;[/code]put方法:通过排序树查找的方法找到相应的位置,然后插入。再调用fixAfterInsertion()方法旋转,调整成红黑树。[c...

2011-08-18 15:42:01 101

原创 Vector 源码分析

Vector类继承了类AbstractList实现了接口implements List, RandomAccess, Cloneable, java.io.Serializable存储结构是: [code="java"]protected Object[] elementData;[/code]添加和删除方法:[code="java"] public synch...

2011-08-18 12:04:41 79

原创 LinkedHashSet 源码分析

LinkedHashSet 通过继承hashSet();然后调用hashmap的构造函数,用LinkedHashMap来存储数据[code="java"] HashSet(int initialCapacity, float loadFactor, boolean dummy) { map = new LinkedHashMap(initialCapacity, loa...

2011-08-18 11:43:21 77

原创 LinkedHashMap 源码分析

LinkedHashMap 继承了HashMap 实现了 Map接口在LinkedHashMap中定义了新的Entry结构,它继承了 HashMap.Entry. 定义了两个成员变量Entry before, after;用于存储前面entry和后面entry的应用。实现双向链表的结构[code="java"] private static class Entry extends...

2011-08-18 11:34:01 70

原创 Hashtable 源码分析

hashtable实现了Map接口.存储结构:类似于hashmap[code="java"] private transient Entry[] table;[/code]构造函数:类似于hashmap[code="java"] public Hashtable(int initialCapacity, float loadFactor) { if (initia...

2011-08-18 10:41:37 89

原创 HashSet源码分析

存储结构: 通过hashmap来存储的 [code="java"]private transient HashMap map;[/code]构造方法:[code="java"] public HashSet(int initialCapacity, float loadFactor) { map = new HashMap(initialCapacity, load...

2011-08-18 08:36:54 59

原创 HashMap的源码分析

存储结构:用数组来存桶的第一个节点。每个桶都是一个链表。里面存 hashcode & table.length 相同的那些Entry[code="java"] transient Entry[] table;[/code]构造函数:loadFactor指的是重新初始化的一个伐值。比如说0.75.不理解设置这个伐值的好处是什么。实际初始化的table大小是大于initial...

2011-08-18 08:17:04 71

原创 Java面试题

1. Sleep和wait的区别:(1)sleep来自 thread类,wait来自 object类(2)sleep不释放锁,还有线程控制权。wait释放锁,交出线程控制权,需要notify(3)sleep必须捕捉异常,wait不必2. 索引的存储结构是什么:索引是通过平衡二叉树来存储的。这样可以实现高效的存储,查询。二叉树的每个叶子结点都用来存储键值和rowid.有点是对...

2011-08-14 16:58:33 215 1

原创 HashMap的遍历源码

遍历可以分为上面两种方法,hm.entrySet().iterator()和 hm.keySet().iterator(). entrySet会比keySet快很多。在查资料的时候看到说 hm.entrySet()的时候会拷贝出hashtable中的数据到一个新的Set中,其实不是。[code="java"]public class IterHashMap { public sta...

2011-08-14 16:49:32 200

过河算法

面试的时候,被问到过河算法,所以写了一下,此算法的特点:将类型安装二进制存储,如狼 1,人 2,羊 4,草 8. 比较的时候按位操作,在算法2中可以扩展一辆船容量N个人算法1:import java.util.ArrayList;public class PassRiver { private enum Type { wolf(1, "wol...

2011-08-14 13:08:23 206

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除