![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
thriller_zw
擅长网络编程,网络爬虫。。研究方向:分布式存储、并行计算。
展开
-
httpclient使用
OException { HttpClient client = new HttpClient(); //使用POST方法 PostMethod method = new PostMethod(url); //添加参数 if (paramsMap != null) { Iterator<Map.Entry<String, String>> iterator = paramsMap.entrySet().iter2014-10-15 15:53:47 · 94 阅读 · 0 评论 -
java语法
2013-05-29 20:59:30 · 57 阅读 · 0 评论 -
java反射
这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 相关函数: //获取参数类型。private int getParameterType(Object param) { if (param == null) return 0; if (param.getClass().isArray()) return 2; Class[] clss = param.getClass().getInterfaces();原创 2013-05-25 00:22:25 · 61 阅读 · 0 评论 -
单例模式线程安全
2013-05-23 23:25:08 · 67 阅读 · 0 评论 -
java正则表达式
000.00; unitPrice.split("\\.")[0]; 点“ . “需要转义 。预定义字符类 ,点“.”表示 任何字符(与行结束符可能匹配也可能不匹配) 注意|分割的时候要用"\\|" String[] split(String regex) 根据给定的正则表达式的匹配来拆分此字符串。 其它预定义字符类 \d 数字:[0-9] \D 非数字: [^0-9]原创 2013-05-17 23:31:59 · 56 阅读 · 0 评论 -
json/jsonp
tle":"供应MP4"} ,{ "id":"100001790667", "title":"供应mp3"} ] } //解析json串 JSONObject jsonobj=JSONObject.fromObject(jsonResult); //字符串 String count=jsonobj.get("count").toStri2013-05-09 23:22:02 · 73 阅读 · 0 评论 -
jdk自带线程池(转)
务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。2. 线程池的使用线程池的创建我们可以通过ThreadPoolExecutor来创建一个线程池。Java代码 new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveT原创 2013-04-24 12:16:53 · 57 阅读 · 0 评论 -
地址栏url汉字解码
ntln(URLDecoder.decode("%B5%E7%D7%D3", "GBK")); System.out.println(URLDecoder.decode("%CE%E5%BD%F0%A1%A2%B9%A4%BE%DF%3A%C3%C5%B4%B0%CE%E5%BD%F0%3A%C0%AD%CA%D6", "GBK")); } catch (UnsupportedEncodingException e2013-04-24 11:08:26 · 224 阅读 · 0 评论 -
数据源问题
aSource" password="xx" driverClassName="oracle.jdbc.OracleDriver" maxIdle="1" maxWait="60000" username="xx" url="jdbc:oracle:thin:@ipxx:1521:xx" maxActive=&2013-04-22 14:07:11 · 119 阅读 · 0 评论 -
设计模式
开闭原则就是说对扩展开放,对修改关闭。实现“开-闭”原则的关键步骤就是抽象化。 接口隔离原则:使用多个隔离的接口,比使用单个接口要好。降低耦合度。 里氏代换原则:父类和子类继承实现抽象化。 迪米特法则(最少知道原则):尽量少的与其他实体之间发生相互作用,使系统功能模块 相对 独立。 合成/聚合复用原则:优先使用对象的合成/聚合将有助于你保持每个类被封装,并被集中在单个任务上。这样类和类继承层次会保持较小的规模,并且不太可能增长为不可控制的庞然大物。 2、 不要忘记oo的目标,设计能达2013-04-18 09:59:17 · 65 阅读 · 0 评论 -
jar hell检测
/?p=227 * @author zw * @date 2013-4-16 */public class JarHell { public static void main(String[] args) { try { Enumeration<URL> urls = Thread.currentThread().getContextClassLoader().getResources("org/apache/log4原创 2013-04-16 09:30:53 · 72 阅读 · 0 评论 -
j2ee一些api
数2013-04-16 09:10:10 · 58 阅读 · 0 评论 -
ArrayList 删除元素问题总结
@return void */ @Test public void testRemove(){ List<String> al = new ArrayList<String>(5); al.add("not1"); al.add("not2"); al.add("not3"); al.add("not4"); al.add(原创 2013-04-15 12:22:16 · 87 阅读 · 0 评论 -
查找一个字符串的对称个数
原创 2013-05-29 21:14:02 · 94 阅读 · 0 评论 -
bio、nio、bio
2013-06-02 20:17:22 · 83 阅读 · 0 评论 -
Comparable与 Comparator,源码分析Collections.sort
the specified object for order. public int compareTo(T o);}//例子public class Lexeme implements Comparable<Lexeme>{ /* * 词元在排序集合中的比较算法 * @see java.lang.Comparable#compareTo(java.lang.Object) */ public int2014-05-05 23:49:44 · 81 阅读 · 0 评论 -
4种引用 强、软、弱、虚引用
原创 2014-05-02 04:44:03 · 89 阅读 · 0 评论 -
java异常
2014-04-23 02:03:17 · 66 阅读 · 0 评论 -
读配置文件
String name = document.getRootElement().element("name").getTextTrim(); Element element = document.getRootElement().element("xx"); String xx=element.elementTextTrim("xx"); String id = element.attributeValue("id2014-04-17 21:42:09 · 78 阅读 · 0 评论 -
在线api地址
原创 2014-04-07 13:16:08 · 80 阅读 · 0 评论 -
Java定时器
ner;/** * jdk定时器,web启动后定期执行 * web.xml需要配置 *<listener> * <listener-class>AutoRun</listener-class> *</listener> * @author thrillerzw * */public class AutoRun implements ServletCo2014-04-07 13:13:00 · 67 阅读 · 0 评论 -
图片上传
nt name="struts.multipart.maxSize" value="10701096" /> <constant name="struts.multipart.saveDir" value="/tmp" /> 页面:<input id="files" name="file" type="file&quo2014-02-13 02:54:48 · 69 阅读 · 0 评论 -
Apache-Commons
ng searchStr) //检查是否查到,返回boolean,null返回假 System.out.println(StringUtils.contains("abc", "b")); 3、org.apache.commons.lang.StringUtils 测试例子:http://www.oschina.net/code/snippet_63411_2882 4、FileUtils简化你的文件操作 commons-i2013-11-20 13:23:32 · 132 阅读 · 0 评论 -
多线程
2013-09-24 20:09:52 · 41 阅读 · 0 评论 -
java基础
为1M,以前每个线程栈大小为256K。更具应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。StackOverflowError:栈溢出,压入线程对应栈中方法太多,比如递归。OutOfMemoryError:内存溢出,栈内存溢出,堆内存溢出,方法区内存溢出。参考:http://super-sjh.iteye.com/blog/1855386 2、1024个字节=1KB b2013-09-18 06:18:56 · 63 阅读 · 0 评论 -
获取ip、主机名
hile (netInterfaces.hasMoreElements()) { NetworkInterface ni = netInterfaces.nextElement(); Enumeration<InetAddress> ips = ni.getInetAddresses(); while (ips.hasMoreElements()) {原创 2013-06-10 12:13:32 · 68 阅读 · 0 评论 -
同步和异步、阻塞和非阻塞
原创 2013-06-03 20:30:50 · 61 阅读 · 0 评论 -
序列化
象传输于网络之间。对象序列化可以实现分布式对象,利用序列化可以实现深复制(clone)。 实现java.io.Serializable 接口以启用其序列化功能,序列化接口没有方法或字段,仅用于标识可序列化的语义。 为保证 serialVersionUID 值跨不同 java 编译器实现的一致性,序列化类必须声明一个明确的 serialVersionUID 值。private static final long serialVersionUID = 6111235636157041674L2013-04-11 19:03:05 · 61 阅读 · 0 评论 -
httpclient使用
/** * * @Description: httpclient post请求 * @author thrillerzw */ public static String httpclientPostRequest(String url, Map<String, String> paramsMap) throws HttpException, IOExc...2014-10-15 15:53:47 · 86 阅读 · 0 评论 -
java语法
1 在一个函数或代码块中定义的变量成为局部变量,局部变量在进行读取操作之前必须进行初始化或进行赋值操作,否则会出现编译错误.2 package xx; 如果有import必须放在import前面,否则也得放在class前面。3 变量首字母可以为下划线_或者美元符号$,不能以数字开头 Java的类名,方法名,变量名,参数名可以用中文...2013-05-29 20:59:30 · 74 阅读 · 0 评论 -
java反射
概念:JAVA反射机制是在运行时,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 相关函数: //获取参数类型。private int getParameterType(Object param) { if (param == ...原创 2013-05-25 00:22:25 · 65 阅读 · 0 评论 -
单例模式线程安全
线程安全问题:这里指的是获取单例对象时候的问题,不是对象共享资源修改时候的问题。 双重锁定:“二次判断” ,不用每个线程在执行这个方法之前都会去等待获得锁。如果不加同步,多个线程创建多个对象的问题,后一个覆盖前一个。 if(instance==null) { instance=new Singleton(); } private Singleton(){} pri...2013-05-23 23:25:08 · 89 阅读 · 0 评论 -
java正则表达式
1 、异常:Horrible Exception: java.lang.ArrayIndexOutOfBoundsException: 0 错误:String unitPrice=120000.00; unitPrice.split(".")[0]; 正确:String unitPrice=120000.00; unitPrice.split("\\....原创 2013-05-17 23:31:59 · 61 阅读 · 0 评论 -
json/jsonp
1 java解析json串 import net.sf.json.JSONArray; import net.sf.json.JSONObject; String jsonResult= {"count":"279678", "page":"24","info":[ { "id":"100001790666", &q2013-05-09 23:22:02 · 69 阅读 · 0 评论 -
jdk自带线程池(转)
1. 引言合理利用线程池能够带来好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。2. 线程池的使...原创 2013-04-24 12:16:53 · 77 阅读 · 0 评论 -
地址栏url汉字解码
/** * 浏览器地址栏url汉字解码 * * @author zw * @date 2013-4-24 * @param args * @return void */ public static void main(String[] args) { try { System.out.println(URLDecoder.deco...2013-04-24 11:08:26 · 350 阅读 · 0 评论 -
数据源问题
1、发现上传图片很慢,最后失败。 发现maxActive被设置为了2, maxIdle被设置为了1,设置大些可以解决。<Resource name="xxx" type="javax.sql.DataSource" password="xx" driverClassName="oracle.jdbc.OracleDriver" max...2013-04-22 14:07:11 · 110 阅读 · 0 评论 -
设计模式
1 目的:降低依赖,降低耦合。 解耦,修改、增加部分,不影响其他。如继承。 依赖倒转原则:真对接口编程,依赖于抽象而不依赖于具体。 开闭原则就是说对扩展开放,对修改关闭。实现“开-闭”原则的关键步骤就是抽象化。 接口隔离原则:使用多个隔离的接口,比使用单个接口要好。降低耦合度。 里氏代换原则:父类和子类继承实现抽象化。 迪米特法则(最少知道原则):尽量少的与其他实体之间发生...2013-04-18 09:59:17 · 86 阅读 · 0 评论 -
jar hell检测
package common;import java.io.IOException;import java.net.URL;import java.util.Enumeration;/** * jar包冲突问题检测 * 转自我们团队博客:http://mmtblog.sinaapp.com/?p=227 * @author zw * @date 2...原创 2013-04-16 09:30:53 · 157 阅读 · 0 评论 -
j2ee一些api
StringBuffer requestURL = request.getRequestURL(); //仅包含访问页面地址的字符串,不含参数。注意返 回 StringBufferString params=request.getQueryString() //url参数...2013-04-16 09:10:10 · 118 阅读 · 0 评论