java
文章平均质量分 77
haoran_10
精益求精。
展开
-
java I/O 模型简述
2016-07-14 16:42:47 · 88 阅读 · 0 评论 -
log4j
2012-07-01 15:27:06 · 69 阅读 · 0 评论 -
JAVA代码规范
3、对于常量字符串,不要通过new方式来创建4、对于常量字符串之间的拼接,请使用“+”;对于字符串变量(不能在编译期间确定其具体值的字符串对象)之间的拼接,请使用StringBuffer;在JDK1.5或更新的版本中,若字符串拼接发生在单线程环境,可以使用StringBuilder5、在使用StringBuffer进行字符串操作时,请尽量设定初始容量大小;也尽量避免通过String/CharSequence对象来构建StringBuffer对象6、当查找字符串时,如果不需要支持正则表达式请使用i2012-06-15 21:28:31 · 72 阅读 · 0 评论 -
java代理
2012-05-28 11:33:28 · 60 阅读 · 0 评论 -
java注解
于可以很干练的表示某个类的所属的信息,从而利用反射,可以达到事半功倍的效果 这里以常用的生活例子,写注解的运用。解释:有一个学生的注解,该注解包含学生的一些信息,其他类加载该注解时,可以设置响应的属性信息,从而判断其他类的信息,这就等于给该类加上了一种学生标签,类其实也是具体的···准确理解这句话,那么注解,就很好理解了 首先是一个学生类的注解: package com.study.annotation;import java.lang.annotation.2012-05-27 15:31:46 · 68 阅读 · 0 评论 -
java Bean的反射
d setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; }2012-05-26 11:28:11 · 76 阅读 · 0 评论 -
java数组的反射
;if(clazz.isArray()){ System.out.println("是个数组");}else{ System.out.println("不是一个数组");} 2.得到数组的长度: int len = Array.getLength(arr);System.out.println("len:"+len); 3.按照下表得到具体下标的数组的数据: for(int i=0;i&a2012-05-25 21:48:48 · 52 阅读 · 0 评论 -
java hashMap
数据放入HashMap中: public V put(K key,V value); 在此映射中关联指定值与指定键。如果该映射以前包含了一个该键的映射关系,则旧值被替换。 2--->get方法,按key查找value: public V get(Object key); 返回指定键所映射的值;如果对于该键来说,此映射不包含任何映射关系,则返回 null。 3--->查询hashMap是否含有某关键字 publ2012-05-10 16:41:29 · 50 阅读 · 0 评论 -
java 反射知识总结
2012-05-10 16:19:40 · 48 阅读 · 0 评论 -
javaMail入门
官方网站,没得说,下载后解压,有个mail.jar,暂且只需要它。2.入门程序: (1).首先需要一个继承自Authenticator的类 package com.mail;import javax.mail.Authenticator;import javax.mail.PasswordAuthentication;public class MyAutherticator extends Authenticator { private String userna2012-10-23 11:23:20 · 73 阅读 · 0 评论 -
spring ioc注解入门
开发变得很简单,也很简洁本小例子,就是用注解的方式实现bean管理和依赖注入 小米2手机快要面市了,人人都想要,本例就以此为情境。 1.手机接口---不用多说,为了减少耦合性 package com.ioc.inerface;public interface ITelphone { public void call();} 2.小米实现 package com.ioc.impl;import org.springframework.ste2012-11-08 17:38:25 · 64 阅读 · 0 评论 -
spring aop 注解入门
//4.方法名称--不可变//5.入参类型--不可变//6.入参值--可变//7.异常--可捕获//8.返回值--可变public T getDate(D inData)throws Exception{return T;}} 面向方法的切面:执行前:对入参D inData或者调用者进行处理执行后:对返回值T 或者调用者进行处理异常处理:对获取的异常或调用者进行处理执行之中:对调用者,入参,返回值,以及异常进行处理--很强大,其实直接用这个原创 2012-11-14 16:46:56 · 74 阅读 · 0 评论 -
使用AtomicBoolean优雅初始化资源
2016-06-27 11:55:11 · 257 阅读 · 0 评论 -
Java序列化与反序列化
原创 2015-09-08 18:50:14 · 59 阅读 · 0 评论 -
设计模式概括
替换原则。 3、DIP (Dependence Inversion Principle)依赖倒置原则。 4、ISP(Interface Segregation Principle)接口隔离原则。 5、LoD、LKP (Law of Demeter、Least Knowledge Principle)最少知识原则。 6、OCP(Open Closed Principle )开闭原则。简单诠释1、接口一定要做到单一,类的设计应尽量做到只有一个原因引起变化。2、所有引用父类的地2014-04-01 15:05:18 · 58 阅读 · 0 评论 -
junit 注解说明
后者是对于所有方法执行一次)@After:释放资源 对于每一个测试方法都要执行一次(注意与AfterClass区别,后者是对于所有方法执行一次)@Test:测试方法,在这里可以测试期望异常和超时时间 @Test(expected=ArithmeticException.class)检查被测方法是否抛出ArithmeticException异常 @Ignore:忽略的测试方法 @BeforeClass:针对所有测试,只执行一次,且必须为static void @AfterClass:针对所有测试,只执行一次2014-03-11 09:12:00 · 62 阅读 · 0 评论 -
Comparable
原创 2013-09-11 00:37:32 · 80 阅读 · 0 评论 -
Serializable
需要的时候,进行反序列化,可以还原这个java对象。远程分布式调用时,需要进行序列化传输,对方解析的时候,可以还原这个对象2013-09-11 00:28:58 · 74 阅读 · 0 评论 -
java 对象存储
2013-07-28 11:16:00 · 73 阅读 · 0 评论 -
数据库连接池C3P0学习
三种方式实现:1.自己动手写代码,实现数据源例如:在类路径下配置一个属性文件,config.properties,内容如下:driverClass=xxxjdbcUrl=xxxuser=xxxpassword=xxx... 然后代码中实现 Properties props = new Properties();InputStream in = Thread.class.getResourceAsStream("config.properties&qu2012-12-24 18:03:35 · 85 阅读 · 0 评论 -
java 调用外部程序
应用程序相关的运行时对象 2.执行外部命令,传递字符串参数,返回Process类: public Process exec(String command)throws IOException在单独的进程中执行指定的字符串命令 Process: 1.获取子进程的错误流: public abstract InputStream getErrorStream(); 获取子进程的错误流,错误流获得由该 Process 对象表示的进程的错误输出流传送的数据。2012-05-06 12:22:56 · 118 阅读 · 0 评论 -
代码行数统计
2012-05-06 09:25:00 · 109 阅读 · 0 评论 -
java hash
HashSet主要方法: 1.添加数据:public boolean add(E e) ;如果此 set 中尚未包含指定元素,则添加指定元素 2.查找是否hash表中包含某元素:public boolean contains(Object o)如果此 set 包含指定元素,则返回 true 3.判断表是否为空:public boolean isEmpty()如果此 set 不包含任何元素,则返回 true 4.删除指定元素,如果包含此元素,则删除:public b2012-05-05 21:22:10 · 60 阅读 · 0 评论 -
jsp 概要知识
rl"/> 先编译后在添加到被包括的页面,相比include 推荐使用 4.<jsp:forward page="url"/>跳转到某个页面,同一上下文的页面 5.<jsp:param name="参数名" value="参数值"/>常嵌套在其他标识中,比如jsp:forward中 6.out.print();out.println(); 向客户2012-03-20 10:20:48 · 69 阅读 · 0 评论 -
正则表达式
字符,空格和Tab键例:a.b匹配:abb,acb等\d匹配数字[0-9]例:\dd匹配:1d,2d等\w匹配单词字符[a-z、A-Z、0-9]例:\wd匹配:qd,1d等[]匹配包含其中的单个字符例:a[bcd]m匹配:abm,acm,adm()匹配一组表达式(可以是特殊字符)例:a([bcd]m)n匹配:abmn,acmn,admn|或的表达式,取其中一个原创 2012-03-18 22:18:31 · 65 阅读 · 0 评论 -
tesseract 识别中文字符
://code.google.com/p/tesseract-ocr/downloads/detail?name=tesseract-ocr-setup-3.01-1.exe&can=2&q=下载之后进行安装,不再演示。在tesseract目录下,有个tesseract.exe文件,主要调用这个执行文件,用cmd运行到这个目录下,在这个目录下同时放置一张需要识别的图片,这里是123.jpg然后运行:tesseract 123.jpg result会把123.j2012-03-15 10:32:54 · 377 阅读 · 0 评论 -
ajax自动刷新
原创 2012-03-13 13:02:47 · 89 阅读 · 0 评论 -
dom4j对xml文件的基本操作
d createDocument(String xmlName) { Document document = DocumentHelper.createDocument(); Element rootElement = document.addElement("students");// 设置根节点 rootElement.addComment("this is a root");// 添加注释 Element studentElement =原创 2012-03-05 21:50:39 · 79 阅读 · 0 评论 -
Socket综合运用 线程池
va.util.concurrent.Executors;public class Server { private int port = 5201;// 端口号 private ServerSocket serverSocket;// 服务器端 private ExecutorService executorService;// 缓冲池 private final int pool_size = 4;// 单个CPU缓冲池数目 public Server() { tr原创 2012-03-03 19:43:23 · 124 阅读 · 0 评论 -
Socket 、ServerSocket 常用方法简介
原创 2012-03-02 20:38:41 · 329 阅读 · 0 评论 -
ajax、jsp、dom4j
:var stuList = stuDom.getElementsByTagName("student"); 修改之后为:var stuList = stuDom.getElementsByTagName("childNode"); 2.servlet代码:public class InfoServlet extends HttpServlet { private static final long serialVersionUID =2012-02-28 22:32:55 · 61 阅读 · 0 评论 -
ssh框架融合异常
个库文件:antlr-2.7.2.jar与antlr-2.7.6.jar相互冲突,删掉低版本的antlr-2.7.2.jar即可。 这样的错误,难不倒万能的谷歌、百度大仙们的,不会的问题,使劲搜索。2012-03-21 18:30:13 · 56 阅读 · 0 评论 -
Java小贴士1
als比较的是对象,是值。 <3>变量复制:基本类型可以赋值复制,对象通过赋值复制只是对象的引用,需要通过Clone方法(String可以直接复制)。 <4>类型传递:基本类型传递不会改变,对象传递会改变数据。 <5>多个异常的捕捉处理:先—子异常,后—父异常。 <6>对异常的处理,被调用类在运行中遇到的异常一律不做处理,而是直接向上抛出(throw),一直到达最上2012-04-09 20:39:18 · 61 阅读 · 0 评论 -
会场安排问题--贪心算法
2012-04-11 14:33:55 · 293 阅读 · 0 评论 -
java 队列
2012-05-05 15:17:15 · 54 阅读 · 0 评论 -
java 栈类的用法
Stack()创建一个空堆栈 2-->public boolean empty()测试堆栈是否为空; 3-->public E pop()移除堆栈顶部的对象,并作为此函数的值返回该对象。 4-->public E push(E item)把项压入堆栈顶部 5-->public E peek()查看堆栈顶部的对象,但不从堆栈中移除它。 6-->public boolean empty()测试堆栈是2012-04-19 22:23:03 · 164 阅读 · 0 评论 -
java 字符串处理 常用方法
tring str);返回指定子字符串在此字符串中第一次出现处的索引4--->public int indexOf(String str,int fromIndex)返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始5--->public int lastIndexOf(String str)返回指定子字符串在此字符串中最右边出现处的索引6--->public int lastIndexOf(String str,int fro2012-04-19 17:11:56 · 74 阅读 · 0 评论 -
java排序算法完整版
rgs) { int []arr1 = {1,9,6,2,7,5,4,8,3}; int []arr2 = {1,9,6,2,7,5,4,8,3}; sort(arr1); sort(arr2,0,5); } //按升序对数组中的[fromIndex,toIndex)进行排序(即从fromIndex--(toIndex-1)的数据) public static void sort(int[] arr,int fromIndex,int toIndex){ Ar2012-04-17 12:27:33 · 56 阅读 · 0 评论 -
java多线程 并发工具包
;:或者一个缓存线程池:ExecutorService exec = Executors.newCachedThreadPool();是指可根据需要创建新线程的线程池,如果池中已经存在的线程可用,那么讲尽量重用他们。推荐使用 exec.execute(Runnable());执行一个线程 exec.shutdown();关闭线程池 <3>阻塞队列,很常用BlockingQueue<T> queue = ne2012-04-17 12:01:34 · 109 阅读 · 0 评论 -
java多线程 单实例多线程的安全
); @Override public void run() { for (int i = 1; i <= 10; i++) { if (threadLocal.get() == null) { threadLocal.set(new Integer(0)); } int x = (Integer) threadLocal.get(); x = x + i; threadLocal.set(x); try {2012-04-17 11:44:38 · 67 阅读 · 0 评论