- 博客(214)
- 资源 (23)
- 收藏
- 关注
原创 Java正则表达式
Java正则表达式详解作者:jzj 文章来源:Internet 整理时间:2009-03-31引言 正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如表达式“ab+” 描述的特征是“一个 'a' 和任意个 'b' ”,那么 'ab', 'abb', 'abbbb...
2014-03-14 10:16:57
299
原创 类的初始化与清理
初始化时内存清零 当创建一个对象时,首先将在堆上为这个对象分配足够的空间,这块空间会被清零,即基本类型数据都设置成了缺省值,即数字为0,布尔型为false,字符为空白字符(是一个字符,但不是null),引用设置成null。public abstract class P { //在构建子类时先调用父类构造函数 public P() { //调用子类的方...
2013-06-24 22:20:44
328
原创 protected,这个错了吗?
这几天对protected修饰符有点迷糊,随便找同事要了一本《JAVA面向对象编程(孙卫琴)》电子书来解惑,本抱着一线希望,却让我有点失望,代码好像有点错误,不知道你是否感觉到了呢?以下是电子书的截图: 我个人觉得ClassC中的 a.var2=1; 编译也会有问题,个人理解:《protected,你真的理解了吗?》,如果没错,请大家说说自己的理解!我好更正! 如果真有错,不...
2013-06-24 22:17:54
313
原创 使用 dom4j 解析 XML
dom4j 是一种解析 XML 文档的开放源代码 XML 框架。本文介绍如何使用包含在 dom4j 中的解析器创建并修改 XML 文档。 dom4j API 包含一个解析 XML 文档的工具。本文中将使用这个解析器创建一个示例 XML 文档。清单 1 显示了这个示例 XML 文档,catalog.xml。清单 1. 示例 XML 文档(catalog.xml)<?xml v...
2013-06-21 18:47:00
205
克隆(Cloneable )
克隆 Object.clone() 访问修饰符为 protected ,如果某个类没有重写此方法,则这个类除被自己与子类能调用 clone() 方法外(实质上此时该类与子类访问的都是继承自 Object 的 clone() 方法),其他不管与这个类是在同一包还是不同包都是不可见的(这个好比:一个 B 类继承了 A 类, A 类在一个包中, B C在同另一包中,如果 A 中有一个 protec...
2013-06-21 18:44:16
188
原创 对象的安全构造
在构造期间,不要公布“this”引用一种可以将数据争用引入类中的错误是,在构造函数完成之前,使 this 引用暴露给另一个线程。有时这个引用是显式的,(譬如,直接将 this 存储在静态字段或集合),但还有一些时候它可以是隐式的(譬如,当将一个引用公布给构造函数中的非静态内部类的实例时)。构造函数不是一般的方法 ― 它们有特殊的用于初始化安全的语义。在构造函数完成之后,可以认为对象是处于一种...
2013-06-21 18:43:14
210
原创 Java中BigDecimal的8种舍入模式
java.math.BigDecimal不可变的、任意精度的有符号十进制数。BigDecimal 由任意精度的整数非标度值和32位的整数标度(scale)组成。如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以10的负scale次幂。因此,BigDecimal表示的数值是(unscaledValue × 10-scale)。与之相关的还有两个类:java.math.Mat...
2013-06-21 18:42:21
203
原创 Tomcat性能参数设置
默认参数不适合生产环境使用,因此需要修改一些参数 1、修改启动时内存参数、并指定JVM时区 (在windows server 2008 下时间少了8个小时): 在Tomcat上运行j2ee项目代码时,经常会出现内存溢出的情况,解决办法是在系统参数中增加系统参数: window下, 在catalina.bat最前面:set JAVA_OPTS=-XX:PermSize=6...
2010-12-27 15:35:57
304
原创 Java 6 JVM参数选项大全
http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm
2010-12-14 11:16:14
178
原创 HTML、JS、JSON特殊字符
JS到HTML特殊字符转换这几天做项目,发现从服务器端以JSON格式将数据传递到客户端后,通过JS显示在HTML页面时,有一些特殊字符不能直接显示,如后台传递过来的是 '<b>msg</b>&nbsp;&#35;' 通过JS显示在HTML页面中时,显示成了 msg # ,并不是<b>msg</b>&nbsp;&#3...
2010-12-13 23:47:28
346
Ext Designer 1.0.2 破解程序
现项目中需要使用ext js ,顺便下了个Ext Designer,但只有14天的该用,过期后可以调整系统日期可以继续使用,但较麻烦,在网上找到了补丁程序,但是其他软件写的,为了方便Java朋友,现将补丁程序改成了Java补丁程序(请注意,请在官方下载1.0.2的版本): import java.io.IOException;import java.io.RandomAccessFil...
2010-10-17 13:19:21
228
原创 Java断言(assert)—— 转
一、概述 在C和C++语言中都有assert关键,表示断言。 在Java中,同样也有assert关键字,表示断言,用法和含义都差不多。 二、语法 在Java中,assert关键字是从JAVA SE 1.4 引入的,为了避免和老版本的Java代码中使用了assert关键字导致错误,Java在执行的时候默认是不启动断言检查的(这个时候,所有的断言语句都将忽略!),如果要开启断言检查,则需要用开关-en...
2010-06-20 10:36:28
286
原创 Java并发编程实践——线程安全
编写线程安全的代码的核心在于,对对象状态访问的控制与管理,特别对共享的、可变的状态。 一般地讲,一个对象的状态就是它所包含的数据,存储在状态变量中,比如实例域或静态域。一个对象的状态可能还来自于它所依赖的其他对象,比如HashMap的状态一部分是存储在自己的对象空间之中的,但另一部分存储在许多的Map.Entry对象之间。所以一个对象的状态是指那些可被外界访问的方法所影响(改变)的数据。...
2010-06-07 23:56:10
172
原创 eclipse调试
eclipse远程调试在eclipse3.4前,远程调试时eclipse只能当客户端(如下图中只有一个选项),而到eclipse3.4或之后,eclipse即可当客户端也可当服务端来远程调试。 虚拟机调试参数设置清单 2 是一个示例,显示如何在调试模式下启动 VM 并监听端口 8765 的套接字连接。清单 2. 作为调试服务器的目标 VM -Xdebug -X...
2010-06-04 00:11:00
188
原创 阻塞队列(BlockingQueue)
Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接口。Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Queue接口所定义的方法了,而不能直接访问LinkedList的非Queue的方法),以使得只有恰当的方法才可以使用。BlockingQueue 继承了Queue接...
2010-06-03 23:45:50
558
《Effective Java》中文第二版已读完,不得不赞一个!
说明:本人所有博客文章,以及《effective Java》都已经上传到 Wiz 为知 云笔记平台上了,有需要的朋友请前去寻找,具体地址:http://mywiz.cn/view/20130622180659226 今天终于将《effective java》第二版啃完了,感觉确实不错,值得一看。看的时候结合自己做过的项目想一下确实如些,里面有绝大多数都是很好的建议与总结,而且都是站在...
2010-05-25 22:08:53
505
原创 我的书架
想读的书《Agile java》中文版《设计模式-可复用面向对象软件的基础》《重构:改善既有代码的设计2010》《重构-改善既有代码的设计(中文版)2003》 读过的书 未读完的书 ...
2010-05-16 19:09:46
198
protected,你真的理解了吗?
Java中的访问控制修饰符有四个级别,但属protected最复杂。如果问大家,protected修饰符作用,大家会说“在子类与同包中可以访问这个成员”,当然在自己类中也是可的,但你真的理解了吗?不信,先看看下面这些实例,看你是否也是这样想的(其中注释掉的是不能编译的,大家最好把这些代码放在eclipse中再看,不然你会晕的^_^):package pk1.a;public class B...
2010-05-09 17:56:11
379
利用反射进行深层克隆
最近在看《effective java》,其中有一节谈到了克隆,所以今天想来就来研究一下克隆。 我们大家都知道,对一个对应进行复制有二种比较好的方式,一种就是序列化,另一种就是克隆。使用序列化进行复制很方便,因为此种方式会自动进行深层复制,只需要我们将要序列化的对象所对应的类实现序列化标示性接口Serializable,它就会将对象里所引用的其他对象一并复制,但此种效率不及Object里的...
2010-05-05 21:02:38
225
类与类之间的几种关系
类和类、类和接口、接口和接口之间有如下几种关系:泛化关系、实现关系、关联关系(聚合、合成)、依赖关系。 泛化:表示类与类之间的继承关系,使用extends关键字来表示。在图形上使用虚线三角形箭头表示。 实现:表示类与接口之间的实现关系,使用implements关键字来表示。在图形上使用实线三角形箭头表示。 关联:类与类之间的联接。关联可以是双向的,也可以是单向的,双向的关联可以有...
2010-05-03 13:49:51
216
运行java
用javac命令编译一个打包的类时,如果没有加参数"-d"时,则编译出的类不会放在包中(即相应的文件夹中),是没有包路径的,除非用参数"-d"指定类存放的位置,–d 指示的是编译后的class文件放在哪个目录下,并且会自动创建包名文件夹。比如现有如下类:package a.b;class A{} javac A.java 时会在当前工作目录下产生一个A.class文件,不会创建包目录结构。...
2010-05-03 13:47:21
193
Java内存模型与volatile
内存模型描述的是程序中各变量(实例域、静态域和数组元素)之间的关系,以及在实际计算机系统中将变量存储到内存和从内存取出变量这样的低层细节。 每一个线程有一块工作内存区,其中保留了被所有线程共享的主内存中的变量的值的拷贝。为了存取一个共享的变量,一个线程通常先获取锁定并且清除它的工作内存区,这保证该共享变量从所有线程的共享内存区正确地装入到线程的工作内存区,当线程解锁时保证该工作内存区中变量...
2010-04-25 13:21:09
291
单例模式与双重检测
首先要解释一下什么是延迟加载,延迟加载就是等到真真使用的时候才去创建实例,不用时不要去创建。 从速度和反应时间角度来讲,非延迟加载(又称饿汉式)好;从资源利用效率上说,延迟加载(又称懒汉式)好。 下面看看几种常见的单例的设计方式: 第一种:非延迟加载单例类public class Singleton { private Singleton() {} privat...
2010-04-25 10:23:56
481
中断线程
中断线程线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的结果线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序本身。线程会不时地检测这个中断标示位,以判断线程是否应该被中断(中断标示值是否为true)。它并不像stop方法那样会中断一个正在运行的线程。判断线程是否被中断判断某个线程是否已被发送过中断请求,请使...
2010-04-24 21:19:25
164
java中的关键字、保留字、标示符
关键字Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等。 用于类的接口声明:class extends implements interface包引入和包声明:import package数据类型:boolean byte char short int long float double某些数据类型的可先值:false true nul...
2010-04-07 23:48:18
192
java解压缩.tar .Z文件 Uncompress a unix compressed file--.Z
.tar解压:http://www.trustice.com/java/tar/index.shtml .Z解压:Java Programming - Uncompress a unix compressed file How to Inflate a Unix Compressed File .Z 源码:http://www.koders.com/java/fidE3...
2010-04-07 23:29:34
260
Java中的浮点数剖析
定点数表达法的缺点在于其形式过于僵硬,固定的小数点位置决定了固定位数的整数部分和小数部分,不利于同时表达特别大的数或者特别小的数。计算机系统采纳了所谓的浮点数表达方式。这种表达方式利用科学计数法来表达实数,即用一个尾数(Mantissa也叫有效数字 ),一个基数(Base),一个指数(Exponent)以及一个表示正负的符号来表达实数。浮点数利用指数达到了浮动小数点的效果,从而可以灵活地表达更...
2010-04-07 23:27:27
453
线程间的同步与互斥
线程间的同步(实指线程间的通信):一般来说,一个线程相对于另一个线程的运行速度是不确定的,也就是说线程是在异步环境下运行的,每个线程都会以不可预知的速度向前推进。但是相互合作的线程需要在某些确定点上协调工作,当一个线程到达了这些点后,除非另一进程已经完成了某些操作,否则就不得不停下来等待别的线程来完成这些操作,这就是线程间的同步。线程间的互斥(实指对同享资源约束访问):在多线程环境中,各线程...
2010-03-23 21:29:42
155
UTF-16、UTF-16BE、UTF-16LE编码方式的区别
import java.io.IOException;/** * UTF-16BE: 16 位 UCS 转换格式,Big Endian(最低地址存放高位字节,符合人们的阅读习惯)字节顺序 * UTF-16LE: 16 位 UCS 转换格式,Little-endian(最高地址存放高位字节)字节顺序 * UTF-16: 16 位 UCS 转换格式,字节顺序(是高字节在前还是低...
2010-03-23 21:20:26
734
原创 final、finally、finalize
final关键字 先看看final关键字,它可以被用于以下几个地方: 1、修饰属性、局部变量、方法参数:如果final修饰的是一个基本类型,就表示这个变量所赋予的值不可修改,即它是个常量;如果final修饰的是一个对象,就表示这个变量被赋予的引用不可修改(但我们可以修改该引用所指向对象里的内容,这里所说的不可修改是指final修改的引用一但指向了谁,就不能再指向别的对象了)。下面来看看修改属性与变...
2010-01-22 01:15:03
124
原创 方法能重写,属性能重写吗?
覆写是多态的一种表现,我们平时所说的覆写一般是针对方式来说,在网上看到过有人讨论试着覆写属性,于是有点兴趣,属性真能覆写吗?回答问题之前,我们还是回忆一下方法的覆写具备哪些条件,或都说哪些方法能覆写。先回顾一下方法覆写要注意的地方:1、重载(也叫过载)时只与方法特征有关,但重写(覆写)是会进一步检查两个方法的返回类型是否相同、访问修饰权限是否缩小(假设public->protected方向是...
2010-01-22 00:56:31
626
原创 String,到底创建了多少个对象?
String str=new String("aaa");这行代码究竟创建了几个String对象呢?答案是2个,而不是3个。由于new String("aaa")相当于"aaa"与一个就是创建出来的放在堆时原实例对象,而另一个就是放在常量池中的 "aaa" 对象,当然这里的str本身只是一个引用,放在栈里,用来指向堆中创建出来的对象。常量池(constant pool)指的是在编译期被确定,并...
2010-01-22 00:52:18
1033
原创 java异常正确处理方式
你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? OutputStreamWriter out = ... java.sql.Connection conn = ... try { // ⑸ Statement stat = conn.createStatement(); Resu...
2010-01-07 19:48:04
246
原创 TreeSet源码阅读
TreeSet类的设计基于实现red-black树的TreeMap类。基本上,一个TreeSet对象是所有元素(节点)都有相同值(树中节点的value数据域)的TreeMap对象,TreeSet会忽略掉TreeMap集合中元素的value,只使用元素的key。下面是TreeSet类的字段: private transient SortedMap m; // TreeSet基于...
2010-01-05 22:55:44
147
原创 十六进制转十进制
public class HexToDecimal { public static void main(String[] args) { System.out.println((char) hexToDecimal("4e2d"));//中 } private static int hexToDecimal(String hex) { char ch; int l...
2010-01-03 19:42:39
137
原创 Java集合框架之LinkedList及ListIterator实现源码分析
学过这么久的Java,还没有仔细的分析过集合框架的源码实现,刚好这几天看数据结构,所以一并分析分析,并记录于此,希望对大家有一点帮助。由于本人能力有限,错误肯定很多,也希望大家指正,我会改正的,其中的分析仅代表本人观点。最后也希望大家多多支持,等List分析后,有机会再打算分析分析Map与Set的实现。1、ArrayList中(实为AbstractList中)的ListIt...
2009-12-21 23:12:17
225
Java集合框架之小结
1、Java容器类库的简化图,下面是集合类库更加完备的图。包括抽象类和遗留构件(不包括Queue的实现): 2、ArrayList初始化时不可指定容量,如果以new ArrayList()方式创建时,初始容量为10个;如果以new ArrayList(Collection c)初始化时,容量为c.size()*1.1,即增加10%的容量;当向ArrayList中添加一个元素时,先进行容器的容量...
2009-12-21 23:03:38
257
原创 Java命令参数说明大全
序言:Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOME\bin\java –option 来启动,-option为虚拟机参数,JAVA_HOME为JDK安装路径,通过这些参数可对虚拟机的运行状态进行调整,掌握参数的含义可对虚拟机的运行模式有更深入理解。一、 查看参数列表:虚拟机参数分为基本和扩展两类,在命令行中...
2009-12-20 13:04:30
125
为什么java中只允许继承一个类?
为什么java中只允许继承一个类?一个类只能继承一个其他的类在Java语言中禁止多重继承:一个类可以具有多个直接父类。多重继承不合法的原因是容易引发意义不明确。例如,有一个类C,如果允许它同时继承A类与B类(class C extends A,B{}),假如A、B两个类都有同一种方法fun(),如果定义:C c = new C();那么c.fun()应该调用哪一个父类的fun()方...
2009-12-14 23:25:56
754
SAP ABAP SQL查询分析器(ABAP动态SQL执行)ZSQLEXPLORER
2012-03-25
SAP ABAP ScriptForm 中文版本
2012-03-25
PowerDVD+Ultra+11(蓝光3D播放).part2.rar
2012-03-25
PowerDVD+Ultra+11(蓝光3D播放).part1.rar
2012-03-25
IBM-ETP java 培训
2011-04-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人