J2SE
nightlone
这个作者很懒,什么都没留下…
展开
-
java main函数命令行传参星号*处理
默认情况下,操作系统对星号*的处理,是当做通配符。 如果想给main函数传普通的星号的话,应该用"*"。2009-10-18 21:57:16 · 422 阅读 · 0 评论 -
Best Practices for Exception Handling(异常处理最佳实践)
在JE中一为仁兄的博客中看到一篇关于异常的好文章。原文地址:http://www.onjava.com/pub/a/onjava/2003/11/19/exceptions.html所以也想来温习哈异常知识。优秀的程序员都想写出质量高的代码,就必须控制好异常的用法,异常用的好,可以优化代码,否则,就会产生副作用,因为如果没有把异常用好的话,异常反而会导致你的程序变慢,因为需要去花费内存和CP...2009-01-01 23:59:33 · 181 阅读 · 0 评论 -
RMI初探
RMI是一种调用远程主机上方法的分布式技术。它主要有两个对象:服务器远程对象(用来给客户端调用它的方法)和客户端远程对象(用来给服务器端调用)。 为了实现位置透明性,它们分别还有一个本地的代理对象:存根(Stub)和框架(Skeleton)。 存根就是在客户端的对象,它具有和远程对象相同的接口或方法列表。框架就是存在服务器端的客户端代理对象。 远程对象接口必须继承于java.rmi.Remot...2008-11-27 14:24:38 · 106 阅读 · 0 评论 -
JDK工具库
工具库主要有7种主要程序:javac: Java编译器,将源代码转换为字节码java java解释器,直接从类文件执行java应用程序字节码。appletviewer 小程序浏览器,一种执行HTML文件上的java小程序的java浏览器javadoc根据java源代码及说明语句生成HTML文档jdb java调试器,可以逐行执行程序,设置断点和检查变量javah 产生可以调用...2008-11-27 12:57:54 · 114 阅读 · 0 评论 -
一个数组声明的题目
which of the followiing are valid array declaration for strings of 50 chars?A char c[][]; B.String[] s;C String s[50]; D.Object s[50];答案:B 在声明数组时,不能直接指定...2008-11-17 17:09:24 · 189 阅读 · 0 评论 -
正则表达式初探
在JDK中的正则引擎主要有五个类:ASCII.class Pattern.class Matcher.clas matchResult.class PatternSyntaxException.class 关键的是Pattern和Matcher类。正则表达式必须首先被编译为Pattern类的一个实例。 然后才能生成一个对象去匹配任意的字符。编译方法: publi...2008-11-17 16:32:39 · 75 阅读 · 0 评论 -
String 与StringBuffer的关键点
StringBuffer关键点: 1.简单认为.append()效率好于“+"是错误的。 2.不要使用new创建String。 3。注意.intern()的使用。 4.在编译期能够确定字符串值的情况下,使用”+“效率最高。 5.避免使用”+=“来构造字符串 6.在声明StringBuffer对象的时候,指定合适的capacity,不要使用默认值16. 7...2008-11-17 14:23:16 · 98 阅读 · 0 评论 -
抽象类与接口
对java抽象类的理解如下: 1.普通的Java类也可以在class前加abstract声明为抽象,只不过此时的该类不再可以实例化。 2.如果一个类里有一个以上的抽象方法,则该类必须声明为抽象类,该方法也必须声明为抽象的。此时抽象方法是不可以有body的。 3.抽象类中也可以有非抽象方法,非抽象的方法是(也必须)有body的(这是与一般类相同的...2008-11-17 10:45:07 · 85 阅读 · 0 评论 -
不能继承的情况
匿名的内部类是没有名字的内部类,不能extends其他类,但一个内部类可以作为一个接口,由另外一个内部类实现。 final类绝对不能因为性能的原因将类定义为final的(除非框架要求)。 如果一个类还没有准备好被继承,最后在类文档中注明,而不要将它定义为final,这是因为没有人可以保证会不会由于什么原因需要继承它。 如果说整个类都是final(在它定义前冠以final关键字),就表明...2008-11-17 10:01:38 · 96 阅读 · 0 评论 -
super和this
子类里的构造函数如果要引用super的话,必须吧super放在函数的首位。不然会编译的时候会报错。 在java中有两个非常特殊的变量:this和super,这两个变量在使用钱都是不需要声明的。this变量使用在一个成员函数的内部,指向当前对象,当前对象指的是调用当前正在执行方法的那个对象。super变量是直接指向超类的构造函数,用来引用超类中的变量和方法。...2008-11-17 09:16:03 · 82 阅读 · 0 评论 -
重载与覆盖的区别
重载与覆盖的区别在于方法体不同。成员函数被重载的特征如下: 1.相同的范围(在同一个类中); 2.函数名字相同; 3.参数不同; 4.virtual关键字可有可无。覆盖的特征如下: 1.不同的范围;(分别位于派生类与基类) 2.函数名字相同; 3.参数相同; 4.基类函数必须有virtual关键字。 ...2008-11-17 09:02:28 · 219 阅读 · 0 评论 -
有异常的代码性能比没有用异常的性能还好??
看以下两段代码:Apackage net.betterjava.exception.flow;public class NormalTest { private static long tryOperand=0; private static long finallyOperand=0; public NormalTest(){ super(); } private sta...2008-11-16 21:43:49 · 124 阅读 · 0 评论 -
高质量程序设计--异常
异常处理,是Java中最强大,也是最容易被误用的机制。使用异常的第一步是决定是否使用异常,异常并不是在任何情况下都适用。决定适用异常之后,必须决定如何适用异常。所谓异常处理,就是通知客户程序发生了非正常情况的机制。以下几种非正常情况: 编译错误(compile error):语法错误。 逻辑错误(logical error):算法错误。只有cheng程序员才能检查这种...2008-11-16 19:30:49 · 119 阅读 · 0 评论 -
计算程序运行时间的代码
在编码时候,有时候要比较不同方案的性能,就需要比较她们运行的时间。计算代码运行时间的方法: long start=System.currentTimeMillis(); .....//你的代码 long end =System.currentTimeMillis(); System.out.println(end-sta...2008-11-16 09:19:32 · 145 阅读 · 0 评论 -
ArrayList Vector LinkedList 区别与用法
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历...原创 2008-11-14 15:33:05 · 66 阅读 · 0 评论 -
线程同步知识
在论坛里看到一篇讲线程同步的很好的帖子。http://www.iteye.com/topic/164905 线程同步牢牢记住:1.线程同步就是线程排队。。同步就是排队。线程同步的目的就是避免线程“同步”执行 2“共享”这两个字。只有共享资源的读写访问才需要同步。如果不是共享资源,那么就根本没有同步的必要。 ...2008-11-12 16:25:22 · 82 阅读 · 0 评论 -
java.util#List.java初读
List是一种有序的集合(An ordered collection)。也叫序列(sequence)。也是集合框架的一员。用户可以控制List中元素插入的位置。通过整型的索引访问或寻找元素。和sets不同的是:List允许复制元素。List接口提供了4种方法来访问List元素位置。Lists和Arrays都是基于0的。List接口提供了一个特殊的iterator叫做ListIterato...2008-11-11 13:23:24 · 86 阅读 · 0 评论 -
java.util#Arrays.java初读
Array类封装了很多操作数组的方法。如:排序(sort)和寻找(search)等。也封装了一个静态工厂可以让数组看做list来操作。Array中的方法都会抛出一个NullPointerException异常。条件:当Array为null时。Array类属于java集合框架的一个成员。主要封装了以下方法: 1. private Arrays();默认的私有构造方法; ...2008-11-11 09:32:18 · 105 阅读 · 0 评论 -
Java SE 6.0加强了JDBC 4.0
Java SE 5.0(代码叫做:Tiger 老虎)Java SE 6.0(代码叫做:Mustang 野马) JDBC 4.0是为了提供更简单的设计和更好的开发者体验。Java SE 6.0绑定了一个内置的Apache Derby,这是为了方便开发者体验JDBC 4.0的新特性,不用另外下载,安装和配置数据库。 JDBC 4.0的新特性主要包括: Auto-loading of ...2009-01-15 22:23:04 · 144 阅读 · 0 评论