![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 76
lt200819
这个作者很懒,什么都没留下…
展开
-
RMI小实验
import java.rmi.Naming;import java.rmi.RMISecurityManager;public class DisplayPerfectTime { public static void main(String[] args) throws Exception { System.setSecurityManager(new RMISecuri...原创 2011-09-22 14:45:46 · 212 阅读 · 0 评论 -
Memcached的java客户端
Memcached 客户端程序Memcached的java客户端已经存在三种了:? 官方提供的基于传统阻塞io由Greg Whalin维护的客户端? Dustin Sallings实现的基于java nio的Spymemcached? XMemcached1. 三种API比较 1) memcached client for java较早推出的memcach...原创 2013-03-28 21:55:12 · 84 阅读 · 0 评论 -
RPC和RMI的区别
远程对象方法调用并不是新概念,远程过程调用 (RPC-remote procedure call) 已经使用很多年了。远程过程调用被设计为在应用程序间通信的平台中立的方式,它不理会操作系统之间以及语言之间的差异。即 RPC 支持多种语言,而 RMI(Remote Method Invocation)只支持 Java 写的应用程序。 另外 RMI 调用远程对象方法,允许方法返回 Java...原创 2013-04-07 14:08:28 · 182 阅读 · 0 评论 -
JAVA中的内存泄露
很长时间以前,研究过JAVA的内存泄露,正好今天找到这篇帖子,这种hashSet的泄露和经典。懒的写了,转载过来。所谓内存泄露就是一个对象占用的一块内存,当这个对象不在被使用时,该内存还没有被收回。例子package cn.xy.test;双击代码全选12345678910111213141516...原创 2013-04-12 09:57:15 · 106 阅读 · 0 评论 -
java 动态类型安全
动态类型安全主要是在泛型容器中遇到的。因为可以向JAVA EE5 之前的代码传递泛型容器,所以旧式代码仍旧有可能会破坏你的容器,JAVA EE5的java.util.Collections中有一组便利工具,可以解决在这种情况下的类型检查问题,它们是:静态方法checkedCollection()、checkedList()、checkedMap()、checkedSet()、ch...原创 2013-04-12 15:49:13 · 230 阅读 · 0 评论 -
Apache Maven 入门篇(中)
第一篇文章大概的介绍了一下Apache Maven以及它的下载和安装,并且运行了一个简单的示例。那么在对maven有了一点接触后,接下去的一步是要了解maven的核心概念,这样才能在使用maven的时候游刃有余。接下来我们介绍下面这几个核心概念:POM (Project Object Model)Maven 插件Maven 生命周期Maven 依赖管理Maven...原创 2013-05-06 19:19:49 · 73 阅读 · 0 评论 -
Apache Maven 入门篇 ( 上 )
写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法。这个入门篇分上下两篇。本文着重动手,用 maven 来构建运行 hellow world 程序,体会一下不用任何 IDE ,只用 maven 是咋回事。然后下篇就讲解一下 maven 的核心概念。写这两篇文章特意回避了复杂的示例,也不使用 IDE ,目的是排除干扰,着重...原创 2013-05-06 19:21:18 · 65 阅读 · 0 评论 -
Apache Maven 入门篇(下)-在Eclipse中使用Maven插件
简介本文介绍如何在Eclipse中通过maven插件编写java项目和web项目。安装Maven下载Maven最新版本,见:maven.apache.org/download.html当前版本2.0.7。解压缩下载的文件, 将其中的bin目录设置到windows Path环境变量中.测试安装是否成功:在命令行中输入mvn -version 安装Maven插件安...原创 2013-05-06 19:30:54 · 100 阅读 · 0 评论 -
java.lang.OutOfMemoryError: PermGen space及其解决方法
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Hea...原创 2012-08-24 23:43:48 · 81 阅读 · 0 评论 -
java动态代理(JDK和cglib)
JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为两种。 静...原创 2013-01-17 23:48:50 · 69 阅读 · 0 评论 -
Java解析XML文件的四种方法
1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM 以及广义的基于树的处理具有几个优点。首先,...原创 2012-10-08 10:40:56 · 67 阅读 · 0 评论 -
Override错误
一、java @override 报错处理有时候在自己电脑上编译通过的java代码,在别人那里却编译不通过,总是@override报错,把@override去掉就好了,但不能从根本上解决问题。据说这是jdk的问题,@Override是JDK5就已经有了,但有个小小的Bug,就是不支持对接口的实现,认为这不是Override 而JDK6修正了这个Bug,无论是对父类的方法覆盖还是对接口...原创 2012-10-10 17:27:55 · 107 阅读 · 0 评论 -
读取配置文件
必须包: commons-configuration-1.5.jar commons-lang-2.3.jar commons-collections-3.2.jar commons-logging-1.1.1.jar 作用:1)提供统一管理各种配置文件的读写API 2)简化了读写流程 3)提供获取数据基本类型自动强转 基本使用: 操作properties文件 //读取 C...原创 2012-10-14 21:30:14 · 77 阅读 · 0 评论 -
深入JAVA虚拟机
判断对象已经死的方法:1.引用计数法 2根搜索算法GC Roots:1 虚拟机栈(栈帧中的本地变量表)中的引用对象。 2 方法区中的类静态属性引用的对象。3 方法区中的常量引用的对象。4 本地方法栈中JNI(即一般说的Native方法)的引用的对象。四种引用:1.强引用只要引用还存在,垃圾收集器永远不会回收掉被引用的对象2.软引用(SoftReference)用来...原创 2013-07-24 16:11:32 · 74 阅读 · 0 评论 -
HashMap和TreeMap
1.AbstractMap抽象类和SortedMap接口AbstractMap抽象类:覆盖了equals()和hashCode()方法以确保两个相等映射返回相同的哈希码。如果两个映射大小相等、包含同样的键且每个键在这两个映射中对应的值都相同,则这两个映射相等。映射的哈希码是映射元素哈希码的总和,其中每个元素是Map.Entry接口的一个实现。因此,不论映射内部顺序如何,两个相等映射会报告相同...原创 2013-03-26 11:32:21 · 78 阅读 · 0 评论 -
DriverManager和Class.forName()的异同
在学习JDBC的时候,通常有两种方式去注册数据库驱动程序(这里采用MySQL数据库),分别为:Java代码 DriverManager.registerDriver(new Driver()); Class.forName("com.mysql.jdbc.Driver"); 那么这两种方式有什么异同呢?首先我们到DriverManager中去看一下,Java代码 ...原创 2012-03-26 09:33:44 · 162 阅读 · 0 评论 -
Lucene 简介
Lucene 简介 Lucene 是一个基于 Java 的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta 家族中的一个开源项目。也是目前最为流行的基于 Java 开源全文检索工具包。 目前已经有很多应用程序的搜索功能是基于 Lucene 的,比如 Eclipse 的帮助系统的搜索功能。Lucene 能够...原创 2013-03-19 10:36:33 · 70 阅读 · 0 评论 -
在Eclipse中使用JUnit4进行单元测试
我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这 一小部分功能是正确的。但是,我们同时应该确保每一个函数都完全正确,因为如果我们今后如果对程序进行扩展,用到了某个函数的其他功能,而这个功能有bug的话,那绝对是一件非常郁闷的事情。所以说,每编写完一个函数之后,都应该对这个函数的方方面面进行测试,这样的...原创 2011-09-22 23:13:57 · 71 阅读 · 0 评论 -
Quartz作业调度
现代的 Web 应用程序框架在范围和复杂性方面都有所发展,应用程序的每个底层组件也必须相应地发展。作业调度是现代系统中对 Java 应用程序的一般要求,而且也是对 Java 开发人员一贯的要求。虽然目前的调度技术比起原始的数据库触发器标志和独立的调度器线程来说,已经发展了许多,但是作业调度仍然不是个小问题。对这个问题最合适的解决方案就是来自 OpenSymphony 的 Quartz API。...原创 2011-10-07 21:24:41 · 68 阅读 · 0 评论 -
java编程中'为了性能'一些尽量做到的地方
1.尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面第一,控制资源的使用,通过线程同步来控制资源的并发访问第二,控制实例的产生,以达到节约资源的目的第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信-2.尽量避免随意使用静态变量要知道,当...原创 2011-10-10 17:00:53 · 135 阅读 · 0 评论 -
java关键字Transient
Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型...原创 2011-10-11 21:20:28 · 82 阅读 · 0 评论 -
Compiler API
JDK 6 提供了在运行时调用编译器的 API,后面我们将假设把此 API 应用在 JSP 技术中。在传统的 JSP 技术中,服务器处理 JSP 通常需要进行下面 6 个步骤:分析 JSP 代码;生成 Java 代码;将 Java 代码写入存储器;启动另外一个进程并运行编译器编译 Java 代码;将类文件写入存储器;服务器读入类文件并运行;但如果采用运行时编译,可以同时...原创 2011-10-13 16:56:25 · 100 阅读 · 0 评论 -
JAVA反编译工具
由于JAVA语言安全性高、代码优化、跨平台等特性,从1995年5月由SUN公司发布后,迅速取代了很多传统高级语言,占据了企业级网络应用开发等诸多领域的霸主地位。 不过,JAVA最突出的跨平台优势使得它不能被编译成本地代码,而要以中间代码的形式运行在虚拟机环境中,这使得JAVA的反编译要比别的高级语言容易实现,并且反编译的代码经过优化后几乎可以与源代码相媲美。 为了更好地保护知...原创 2011-10-17 14:19:16 · 117 阅读 · 0 评论 -
javadoc文档标签
javadoc可以根据项目代码的注释(当然是规范化的)自动生成HTML格式的API文档。 三种注释类型(注释必须紧贴着注释体,不然javadoc会忽略): 类注释 变量注释 方法注释 书写格式: /** * ........ * @XXX */ 参数说明: @see 生成文档中的“参见xx 的条目”的超链接,后边可以加上:“类名”、“完整...原创 2011-10-18 10:23:20 · 85 阅读 · 0 评论 -
Digester
Digester据说最早是为解析struts的配置文件开发的,后来慢慢的就发展成一个轻量,快速,单向(只能从xml到java对象)的一个绑定框架,在运行时实现绑定,无需定义xml文件的DTD或Schema,简单快速。一、使用Digester的步骤1. 创建一个Digester的实例。完成parse后,实例可以被安全的重用,但实例不是线程安全的。2. 设置配置属性3. 加入处理规则...原创 2011-10-21 14:06:21 · 96 阅读 · 0 评论 -
SoftReference、Weak Reference和PhantomRefrence分析和比较
SoftReference、Weak Reference和PhantomRefrence分析和比较本文将谈一下对SoftReference(软引用)、WeakReference(弱引用)和PhantomRefrence(虚引用)的理解,这三个类是对heap中java对象的应用,通过这个三个类可以和gc做简单的交互。强引用:除了上面提到的三个引用之外,还有一个引用,也就是最长用到的那...原创 2011-11-02 19:48:53 · 99 阅读 · 0 评论 -
重定向和转发的区别
重定向和转发的区别区别一: 重定向时浏览器上的网址改变 转发是浏览器上的网址不变区别二: 重定向实际上产生了两次请求转发只有一次请求 重定向: 发送请求 -->服务器运行-->响应请求,返回给浏览器一个新的地址与响应码-->浏览器根据响应码,判定该响应为重定向,自动发送一个新的请求给服务器,请求地址为之前返回的地址-->服务器运行-->响应请求给浏览器...原创 2011-11-04 21:21:28 · 61 阅读 · 0 评论 -
Java 的 PermGen 概念的认识,以及相关问题的处理方法
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同...原创 2011-11-21 12:04:43 · 93 阅读 · 0 评论 -
Myeclipse调整虚拟内存大小
当程序运行,出行OutOfMemoryError的错误时候,一般是表示程序运行时候,内存分配不足。在Myeclipse中可以这样更改内存的大小: 安装目录下的myeclipse\Genuitec\MyEclipse 8.xLatest找到安装时候的myeclipse.ini文件,打开显示如下内容:-startup../Common/plugins/org.eclip...原创 2012-06-21 16:14:54 · 116 阅读 · 0 评论 -
当前几个主要的Lucene中文分词器的比较
1. 基本介绍:paoding :Lucene中文分词“庖丁解牛” Paoding Analysisimdict :imdict智能词典所采用的智能中文分词程序mmseg4j : 用 Chih-Hao Tsai 的 MMSeg 算法 实现的中文分词器ik :采用了特有的“正向迭代最细粒度切分算法“,多子处理器分析模式 2. 开发者及开发活跃度:paoding :qieqi...原创 2013-03-19 10:16:57 · 63 阅读 · 0 评论 -
清除C/C++/JAVA中的注释
import java.io.FileInputStream;import java.io.PrintStream;import java.util.Scanner;/* ********\\\\\\\\\\/////////******** this is test program this is test program this is test progr...2013-09-27 12:49:30 · 136 阅读 · 0 评论