摘要: 先贴代码 ,有空再写说明package com.pattern.structure.proxy;/** * 信息接口 */public interface Message { public void sendMessage(String value);}package com.pattern.structure.proxy;/** * 邮箱实现类 */public class EmailMessage implements Message { @Override public void sendMessage(String value) { System.out... 阅读全文
posted @ 2013-01-29 15:59 邪恶痞 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 1. 引言合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。2. 线程池的使用线程池的创建我们可以通过ThreadPoolExecutor来创建一个线程池。new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepA. 阅读全文
posted @ 2013-01-29 14:45 邪恶痞 阅读(2591) 评论(1) 推荐(1) 编辑
摘要: Java 反射API的第一个主要作用是获取程序在运行时刻的内部结构。这对于程序的检查工具和调试器来说,是非常实用的功能。只需要短短的十几行代码,就可以遍历出来一个Java类的内部结构,包括其中的构造方法、声明的域和定义的方法等。这不得不说是一个很强大的能力。只要有了java.lang.Class类 的对象,就可以通过其中的方法来获取到该类中的构造方法、域和方法。对应的方法分别是getConstructor、getField和getMethod。这三个方法还有相应的getDeclaredXXX版本,区别在于getDeclaredXXX版本的方法只会获取该类自身所声明的元素,而不会考虑继承下来的。 阅读全文
posted @ 2013-01-29 10:34 邪恶痞 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 解决方案:在javascript 代码中:url = encodeURI('url.action?name=中文乱码');在java代码中:name = java.net.URLDecoder.decode(name, "UTF-8");如果再传回页面:name= new String(name.getBytes(), "ISO8859-1"); 阅读全文
posted @ 2013-01-24 10:29 邪恶痞 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 下载最新版本struts-2.3.8 源码,下载地址:http://struts.apache.org/download.cgi#struts238源码路径:struts-2.3.8\src\core\src\main\java\org\apache\struts2,此包下的文件夹及文件以下是包说明:org.apache.struts2. components该包封装视图组件,Struts2在视图组件上有了很大加强,不仅增加了组件的属性个数,更新增了几个非常有用的组件,如updownselect、doubleselect、datetimepicker、token、tree等。另外,Struts 阅读全文
posted @ 2013-01-23 16:18 邪恶痞 阅读(1509) 评论(0) 推荐(0) 编辑
摘要: Java各种数据类型详细介绍及其区别基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型。Java中的简单类型从概念上分为四种:实数、整数、字符、布尔值。但是有一点需要说明的是,Java里面只有八种原始类型,其列表如下: 实数:double、float 整数:byte、short、int、long 字符:char 布尔值:boolean复杂类型和基本类型的内存模型本质上是不一样的,简单数据类型的存储原理是这样的:所有的简单数据类型不存在“引用”的概念,简单数据类型都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间里面,而Java语言里面只有这八种数据类型是这种存储模型... 阅读全文
posted @ 2013-01-23 14:27 邪恶痞 阅读(5385) 评论(0) 推荐(0) 编辑
摘要: 插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。 /** * 直接插入排序算法 */ public static void insertSort(int[] base){ int len = base.length; for (int i = 1; i < len; i++) { if(base[i] < base[i-1]){//判断当前值小于前一个值时,当前位置不变。体现了算法的稳定性 int temp = base[i];//哨兵 int positio... 阅读全文
posted @ 2013-01-15 09:30 邪恶痞 阅读(292) 评论(0) 推荐(0) 编辑
摘要: JAVA实现多线程生产者消费者模型待写 阅读全文
posted @ 2013-01-11 15:37 邪恶痞 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 100张票,10个窗口(10个线程模拟),实现线程卖票计数import java.util.Iterator;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;public class SellTicket implements Runnable { private int count = 100; static Map<String,Integer> map = new ConcurrentHashMap<String,Integer>(); public static void ma 阅读全文
posted @ 2013-01-11 15:34 邪恶痞 阅读(1588) 评论(2) 推荐(0) 编辑