摘要: CopyOnWriteArrayList,因何而存在?ArrayList的一个线程安全的变体,其所有可变操作(add、set等)都是通过对底层数组进行一次新的复制来实现的,代价昂贵。CopyOnWriteArrayList,是因”并发”而生。CopyOnWriteArrayList,改了其中的某对象的某个值,【场景一】对于ArrayList,使用直接方式,一边遍历,一边删除,会报错。 // 删除/修改元素 for(String item : list){ list.remove(item); }解决办法一:使用迭代器,一边遍历,一边删除,不会报错。// 删除/修改元素Iterator ... 阅读全文
posted @ 2013-08-28 20:53 成风魄郎 阅读(214) 评论(0) 推荐(0) 编辑
摘要: java和javax都是Java的API包,java是核心包,javax的x是extension的意思,也就是扩展包。 阅读全文
posted @ 2013-08-26 23:01 成风魄郎 阅读(348) 评论(0) 推荐(0) 编辑
摘要: ==================项目应用==================提取纯文本:Pattern stripTagPattern = Pattern.compile("(?:[\\s\\S]*?)|(?:)|(?:)|(?:)|(?:]*?>)", Pattern.CASE_INSENSITIVE);提取网页链接:Pattern linkPattern = Pattern.compile("(?:href|src|url)\\s*=\\s*['\"]?([^'\">]+)?(['\"]?[ 阅读全文
posted @ 2013-08-25 15:57 成风魄郎 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 字节流与字符流先来看一下流的概念:在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。字节流与字符流在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream,在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成。(这四个都是抽象类)java中提供了专用于输入输出功能的包Java.io, 阅读全文
posted @ 2013-08-14 10:26 成风魄郎 阅读(315) 评论(0) 推荐(0) 编辑
摘要: JAVA帮助文档全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版下载JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。JDK包含的基本组件包括: & 阅读全文
posted @ 2013-08-11 16:02 成风魄郎 阅读(180) 评论(0) 推荐(0) 编辑
摘要: Apache HttpComponents Client 4.0已经发布多时,httpclient项目从commons子项目挪到了HttpComponents子项目下,httpclient3.1和 httpcilent4.0无法做到代码向后兼容,升级比较麻烦。我在做项目之余找时间研究了一下,写了一套3.1与4.0对比的代码,不求面面俱到,但 求简单易懂。如果代码用到真实项目中,还需要考虑诸如代理、Header、异常处理之类的问题。Http POST方法得到www.g.cn的源码:view plaincopy to clipboardprint?importjava.io.IOException 阅读全文
posted @ 2013-08-11 15:06 成风魄郎 阅读(841) 评论(0) 推荐(0) 编辑
摘要: HttpClient程序包是一个实现了 HTTP 协议的客户端编程工具包,要想熟练的掌握它,必须熟悉 HTTP协议。一个最简单的调用如下:import java.io.IOException;import org.apache.http.HttpResponse;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.clie 阅读全文
posted @ 2013-08-11 15:05 成风魄郎 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使 Java文件使用UTF-8编码。然而,Eclipse工 作空间(workspace)的缺省字符编码是操作系统缺省的编码,简体中文操作系统 (Windows XP、Windows 2000简体中文)的缺省编码是GB18030,在此工作空间中建立的工程编码是GB18030,工程中建立的java文件也是GB18030。如果要使 新建立工程、java文件直接使UTF-8则需要做以下工作:1、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到 general-&g 阅读全文
posted @ 2013-08-10 08:33 成风魄郎 阅读(348) 评论(0) 推荐(0) 编辑
摘要: Javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Javadoc就可以同时形成程序的开发文档了。用于注释Java中有三种注释方法:javadoc1. //被注释语句2. /*被注释语句*/3. /**被注释语句*/其中第三种专为JavaDoc设计,可以被JDK内置的JavaDoc工具支持和处理。关键词列表@author 作者名@version 版本标识@parameter 参数及其意义@since 最早使用该方法/类/接口的JDK版本@return 返回 阅读全文
posted @ 2013-08-09 11:21 成风魄郎 阅读(350) 评论(0) 推荐(0) 编辑
摘要: importjava.util.regex.*;importjava.io.*;classL{publicstaticvoidmain(String[]args)throwsException{getMail();}publicstaticvoidgetMail()throwsException{BufferedReaderbufr=newBufferedReader(newFileReader("m.txt"));Stringline=null;Stringreg="[a-zA-Z_0-9]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+"; 阅读全文
posted @ 2013-08-08 18:54 成风魄郎 阅读(369) 评论(0) 推荐(0) 编辑