![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java学习
文章平均质量分 83
dengminhui
这个作者很懒,什么都没留下…
展开
-
如何检测线上代码的运行情况---BTrace使用分享
(1)你是否有时发现线上的代码运行效率不高,但却无法定位到底具体是哪一段代码?(2)你是否有时在测试环境中苦苦测试,最后却发现测试环境和生产环境差距太大而导致测试结果不可信?恭喜你,本文恰好符合你的需求。 1什么是BTraceBTrace是sun推出的一款java性能监控工具,利用java agent 和 jvm attach技术来实现运行时java程序的跟踪和替换,可以不停机的情况下监控线上情况...原创 2011-04-10 17:36:07 · 249 阅读 · 0 评论 -
HtmlParser爬取气象信息实例
闲来无事,搞搞htmlParser,本想将内容发到手机上,后来未成,只是将杭州的天气情况拼装好了。import java.util.HashMap;import java.util.Map;import org.apache.log4j.Logger;import org.htmlparser.Node;import org.htmlparser.NodeFilter;...原创 2010-01-27 17:11:27 · 110 阅读 · 0 评论 -
使用tesseract破解checkCode
tesseract是一个非常强大的图片识别工具,有较大的几率将图片中的字符抓取出来,在对付验证码上,有较好的效果。使用批处理命令结合这个工具,我们就可以再程序中破解得到我们想要的图片了。 import java.awt.image.BufferedImage;import java.io.BufferedReader;import java.io.File;import jav...原创 2010-01-25 19:46:50 · 237 阅读 · 0 评论 -
使用URLConnection获得网页内容
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.HttpURLConnection;import jav...原创 2010-01-25 19:09:55 · 551 阅读 · 0 评论 -
JAVA解析XML的四种方法比较(2)
2. SAX生成和解析XML文档为解决DOM的问题,出现了SAX。SAX ,事件驱动。当解析器发现元素开始、元素结束、文本、文档的开始或结束等时,发送事件,程序员编写响应这些事件的代码,保存数据。优点:不用事先调入整个文档,占用资源少;SAX解析器代码比DOM解析器代码小,适于Applet,下载。缺点:不是持久的;事件过后,若没保存数据,那么数据就丢了;无状态性;从事件中只能得到文...原创 2009-08-09 14:46:01 · 101 阅读 · 0 评论 -
JAVA解析XML的四种方法比较(1)
转载自:http://www.alisdn.com/wordpress/?p=137XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition...原创 2009-08-09 14:36:30 · 71 阅读 · 0 评论 -
Eclipse 运行命令行参数大全
Eclipse 运行命令行参数大全 包括英文版本和中文版本两种的说明, 特别需要值得一提的是那个 -nl 参数, 可以指定程序启动时所使用的语言. 例如:eclipse -nl en_US将启动英文语言, 这个特性在安装了国际化语言包以后特别有用, 可以方便的切换各个语言的版本. 注意 IBM WSAD v5.1 也支持这个功能. 运行 Eclipse将 Eclipse 驱动程序安装(解压缩...原创 2009-08-09 10:12:01 · 74 阅读 · 0 评论 -
ClassLoader介绍
JVM在运行时会产生三个ClassLoader,Bootstrap ClassLoader、Extension ClassLoader和AppClassLoader.其中,Bootstrap是用C++编写的,我们在Java中看不到它,是null。它用来加载核心类库,在JVM源代码中这样写道: static const char classpathFormat[] = "%/lib/...原创 2009-08-07 19:58:55 · 70 阅读 · 0 评论 -
SVN最佳实践(zz自zy)
Subversion是新一代的版本控制工具,由于其优于CVS的一些特点,得到了越来越多人的关注和使用,本人根据自己使用SVN的经验,写了这篇文章,希望对大家有所帮助,其中有些实践并不是仅仅适用于SVN,对其他版本控制工具也是适用的。1、养成良好的记录日志的习惯. svn ci提交,最好在日志中记下清晰明确的信息,这个非常重要,对以后的维护(包括合并)都有很大帮助。...原创 2009-08-06 22:00:17 · 112 阅读 · 0 评论 -
Java实现CheckCode
import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.awt.image.RenderedImage;import java.io.File;import java.io.IOException;...2009-08-06 21:36:28 · 625 阅读 · 0 评论 -
lucene3.0入门实例
lucene3.0已于2009-11-25发布啦,但网上的入门实例都是针对lucene3.0以前的,相对于以前的版本,貌似改动不小。 本人从头开始学习lucene,现在用的是《lucene in action中文版》,结合lucene3.0文档写了个入门实例,可供像我一样直接从lucene3.0开始学习的新手参考! 入门实例: 1.预处理:先把网上下载的一个《三国演义》电子书“三国演义...原创 2010-01-18 21:19:12 · 116 阅读 · 0 评论 -
FindBugs插件的安装与使用
1 什么是FindBugsFindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用 Visitor 模式来鉴别代码是否符合一些固定的规范。 2 如何安装FindBugs?作为Eclipse的一个插件,可以...2010-04-21 10:54:31 · 91 阅读 · 0 评论 -
JSON使用
在刚刚做的需求中用到了json调用,总的来说有以下几步:1 配置web.xml文件 添加servlet-mapping,支持json结尾的url <servlet-mapping> <servlet-name>WebxController</servlet-name> <url-pattern...2009-09-02 10:57:52 · 87 阅读 · 0 评论 -
berkeleydb的使用
在napoli的代码中发现这个berkeleydb,版本为3.2.43,使用代码如下接口定义如下:/** * Project: napoli.client * * File Created at Sep 15, 2009 * $Id$ * * Copyright 2008 Alibaba.com Croporation Limited. * All righ...原创 2011-10-24 20:05:40 · 301 阅读 · 0 评论 -
Redis的安装与使用
今天看了下redis相关的东东,做个备忘。 Redis 服务端:http://cocos.iteye.com/blog/1050291下载地址见:http://redis.io/download Redis 客户端:http://redis.io/clients推荐使用 jedis ,地址为https://github.com/xetorthio/j...原创 2011-10-24 20:04:08 · 118 阅读 · 0 评论 -
参数断言工具
见代码:public final class Argument { private Argument() {} public static void notNull(Object object, String message, Object... args) { if (object == null) th...原创 2011-07-31 12:58:07 · 186 阅读 · 0 评论 -
遍历大容量map的正确方法
首先,遍历map有以下方法:import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class MapTest { public static void main(String[] args) { Map<String, String> map = n...2010-10-08 13:20:52 · 348 阅读 · 0 评论 -
多线程书写及code review规范
1. 不允许将Calendar用于类的静态成员 Calendar是天生的多线程不安全的类,将其用于类的静态成员可能导致错误的在多线程中访问。2. DateFormat以及SimpleDateFormat非线程安全,不允许将DateFormat用于类的静态成员。3. 延迟初始化的类成员应声明为volatile 延迟初始化的类静态成员,如果没有用sy...2010-08-31 10:09:53 · 115 阅读 · 0 评论 -
如何使用反射访问类的private域和方法
如何使用反射访问类的private域和方法?非常简单,由于Field和Method均继承AccessibleObject,只需要调用AccessibleObject的public void setAccessible(boolean flag) throws SecurityException 方法设置为setAccessible(true)即可。具体见下列代码 import ...原创 2010-08-17 21:44:53 · 160 阅读 · 0 评论 -
memcached一些资料
放在这里,以后想看可以看看原创 2010-03-03 21:43:44 · 90 阅读 · 0 评论 -
Java版俄罗斯方块
转载于:http://www.iteye.com/topic/595321程序经过稍微的修改如下:import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Terris extends JFrame implements Runnable, KeyListene...原创 2010-02-21 14:41:24 · 94 阅读 · 0 评论 -
Java中使用time转化为Date的方法
如何使用time构造全新的固定格式Date呢? import java.util.*;import java.text.ParseException;import java.text.SimpleDateFormat;public class hehe { public static void main(String args[]) throws ParseE...2009-09-02 21:48:20 · 1392 阅读 · 0 评论 -
Json中日期处理
json-lib中在讲一个date类型转化时,将会有一个问题:json对象中该date类型将按照Java中类字段的形式保存下来,在程序中使用时及其不方便,现将解决方法贴出,如下所示: 1 首先重写一个Processorimport java.text.DateFormat;import java.text.SimpleDateFormat;import java.u...2009-09-02 17:01:58 · 382 阅读 · 0 评论 -
动态执行Java脚本
1 背景在我们的项目中,有时候在需要运行时获取一段脚本并执行其逻辑以灵活地实现业务需求。有人的第一想法就是脚本语言,我们当然可以在程序中内嵌一个Python解释器,然后在需要灵活变动的地方使用Python脚本实现我们的逻辑。但是这样做太“重量级”了,况且身为一个Java程序员,你不一定懂得Python的语法,又或者你忠于Java根本不愿把项目交托给其他语言。如果能够使用符合Java语法的脚本,而且...原创 2010-01-18 20:20:12 · 579 阅读 · 0 评论 -
SVN 恢复删除
一、本地删除 本地删除,指的是在客户端delete了一个文件,但还没有commit,使用revert来撤销删除。二、服务器删除 1.通过本地删除后提交服务器 a)Update上一个版本,但只适用于修改较少的情况; b) 通过show Log,找到被删的项,选中,点击右键->Revert changes from this revision; 2.在Repo-Brow...原创 2009-07-23 12:10:09 · 108 阅读 · 0 评论 -
Java中采用MD5加密算法的方法
在Java中采用MD5算法有以下两种方法:1 第一种当然是自己写了import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class MD5 { public String str; public void md5s(String plainTex...2009-07-18 17:16:05 · 100 阅读 · 0 评论 -
Java可变参数学习
main方法的签名其实可以这样写:public static void main(String... args)//方法1它也可以运行.并且,如果同时还存在public static void main(String[] args)//方法2会报已经存在重复的方法的错误.由此可见,String... args跟String[] args对于虚拟机来说其实是一回事.而且,在方法内,通过....2009-05-04 14:22:56 · 50 阅读 · 0 评论 -
一篇关于web.xml配置的详细说明
1 定义头和根元素部署描述符文件就像所有XML文件一样,必须以一个XML头开始。这个头声明可以使用的XML版本并给出文件的字符编码。DOCYTPE声明必须立即出现在此头之后。这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义)。所有部署描述符文件的顶层(根)元素为we...原创 2009-11-06 10:37:35 · 59 阅读 · 0 评论 -
介绍一个PDF的生成方案
在Java世界,要想生成PDF,方案不少。最近一直在和这个东西打交道,所以简单做一个小结吧。 在此之前,先来勾画一下我心中比较理想的一个解决方案。在企业应用中,碰到的比较多的PDF的需求,可能是针对某个比较典型的具备文档特性的内容,导出成为PDF进行存档。由于我们现在往往使用一些开源框架,诸如ssh来构建我们的应用,所以我们相对熟悉的方案是针对具体的业务逻辑设计实体,使用开源框架来实现我们的业务逻...原创 2009-11-04 20:11:34 · 115 阅读 · 0 评论 -
MINA学习笔记
1.MINA框架简介 MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架。通过使用MINA框架可以可以省下处理底层I/O和线程并发等复杂工作,开发人员能够把更多的精力投入到业务设计和开发当中。MINA框架的应用比较广泛,应用的开源项目有Apache Directory...2009-10-22 15:25:55 · 119 阅读 · 0 评论 -
NIO代码实例分享
(1)server主要是读取client发过来的信息,并返回一条信息 /** * @author Jeff */public class HelloWorldServer { static int BLOCK = 1024; static String name ...原创 2009-10-20 16:50:27 · 82 阅读 · 0 评论 -
java中文解决大全
1、中文问题的来源 计算机最初的操作系统支持的编码是单字节的字符编码,于是,在计算机中一切处理程式最初都是以单字节编码的英文为准进行处理。随着计算机的发展,为了适应 世界其他民族的语言(当然包括我们的汉字),人们提出了UNICODE编码,他采用双字节编码,兼容英文字符和其他民族的双字节字符编码,所以,目前,大 多数国际性的软件内部均采用UNICODE编码,在软件运行时...原创 2009-10-19 16:54:39 · 737 阅读 · 0 评论 -
去掉重复值IO操作
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; ...原创 2009-10-14 16:45:09 · 98 阅读 · 0 评论 -
深层克隆的实现
深克隆的最简单方法: public Object deepCopy(Object src) throws IOException, ClassNotFoundException{ ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); ObjectOutputStream ...2009-10-13 17:07:35 · 90 阅读 · 0 评论 -
Java 潜规则收集
有 goto 关键字却不能用?getout:{ for (int i = 0; i < N; ++i) { for (int j = i; j < N; ++j) { for (int k = j; k < N; ++k) { break getout; // 打断循环跳...原创 2009-10-09 15:21:24 · 90 阅读 · 0 评论 -
Java技巧之双括弧初始化
由于Java语言的集合框架中(collections, 如list, map, set等)没有提供任何简便的语法结构,这使得在建立常量集合时的工作非常繁索。每次建立时我们都要做:定义一个临时的集合类变量 建立一个空集合的实例,然后赋值给变量 将数据放入集合中 最后将集合做为参数传递给方法 例如,要将一个Set变量传给一个方法 Set<Stri...原创 2009-09-30 19:01:33 · 130 阅读 · 0 评论 -
java 初始化顺序
父类--静态变量 父类--静态初始化块 子类--静态变量 子类--静态初始化块 父类--变量 父类--初始化块 父类--构造器 子类--变量 子类--初始化块 子类--构造器 同一层次静态变量和静态块之间的执行顺序是他们所在位置的顺序 参考网页:http://macrochen.iteye.com/blog/293288...2009-05-04 14:40:24 · 58 阅读 · 0 评论 -
ASCII表
ASCII 代码表IIAscii 0 {Nulo, Sem Som} Ascii 1 Ascii 2 Ascii 3 Ascii 4 Ascii 5 Ascii 6 Ascii 7 Ascii 8 {BackSpace} Ascii 9 {Tab} Ascii 10 Ascii 11 Ascii 12 Ascii 13 {Enter} Ascii 14 Ascii 15 Ascii 16 {S...原创 2009-05-04 15:24:36 · 99 阅读 · 0 评论 -
Java浮点数运算
如果我们编译运行下面这个程序会看到什么?public class Test{ public static void main(String args[]){ System.out.println(0.05+0.01); System.out.println(1.0-0.42); System.out.println(4.015*100); Syst...2009-07-10 16:24:09 · 66 阅读 · 0 评论 -
JAVA调用ICE接口实践
最近刚开发了一个需求,使用ICE调用服务器端的接口,过程如下:1 首先是准备环境,通过下载得到安装包,这次我用的是3.1版本(目前最新是3.4)2 接着使用bin目录下slice2java将得到的ice文件转化为Java类,命令为slice2java ****.ice3 将lib目录下Ice.jar引入Java工程内,开始编写客户端代码...2010-04-01 11:37:58 · 1623 阅读 · 0 评论