Java
文章平均质量分 90
xiaoshanjnby
这个作者很懒,什么都没留下…
展开
-
java提高篇-----异常
java提高篇-----异常(二) 五、自定义异常 Java确实给我们提供了非常多的异常,但是异常体系是不可能预见所有的希望加以报告的错误,所以Java允许我们自定义异常来表现程序中可能会遇到的特定问题,总之就是一句话:我们不必拘泥于Java中已有的异常类型。 Java自定义异常的使用要经历如下四个步骤: 1、定义一个类继承Thr...原创 2013-12-03 12:03:00 · 76 阅读 · 0 评论 -
Java GC 、引用
一个优秀的Java程 序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面 提升内存的管理效率 ,才能提高整个应用程序的性能。本篇文章首先简单介绍GC的工作原理之后,然后再对GC的几个关键问题进行深入探讨,最后提出一些Java程序设计建议, 从GC角度提高Java程序的性能。 GC的基本原理 J...原创 2014-01-10 09:29:36 · 60 阅读 · 0 评论 -
java解惑你知多少(八)
56. 惰性初始化Java代码 public class Lazy { private static boolean initial = false; static { Thread t = new Thread(new Runnable() { public void run() { System.out.prin...原创 2014-01-11 10:41:14 · 70 阅读 · 0 评论 -
java解惑你知多少(七)
应用47. 不可变的引用类型Java代码 BigInteger total = BigInteger.ZERO; total.add(new BigInteger("1")); total.add(new BigInteger("10")); System.out.println(total);//0 上面程序的结果为11吗?答案...原创 2014-01-11 10:41:34 · 148 阅读 · 0 评论 -
java解惑你知多少(六)
41. instanceof与转型Java代码 System.out.println(null instanceof String);//false System.out.println(new Object() instanceof String);//false //编译能通过 System.out.println((Object) new Da...原创 2014-01-11 10:41:50 · 88 阅读 · 0 评论 -
java 通过反射获取泛型的类型
jdk1.5开始支持泛型,所以我们有时需要把泛型里定义的对象的类型拿到 比如现在我定义了三个类Account, AccountItem和Product类。 Account聚合AccountItem,AccountItem聚合Prodcut。 都是用List<AccountItem>和List<Product>来表示的 我要实现一个功能,需要...原创 2014-06-13 15:31:50 · 90 阅读 · 0 评论 -
一篇不错的讲解Java异常的文章(转载)----感觉很不错,读了以后很有启发
六种异常处理的陋习你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWriter out = ... 2 java.sql.Connection conn = ... 3 try { // ⑸ 4 Statement stat = conn.cre...原创 2013-08-23 10:39:54 · 67 阅读 · 0 评论 -
Eclipse下使用findbugs进行代码审查
1、FindBugs介绍FindBugs是一款Java静态代码分析工具,与其他静态分析工具(如Checkstyle和PMD)不同,FindBugs 不注重样式或者格式,它专注于寻找真正的缺陷或者潜在的性能问题,它可以帮助java工程师提高代码质量以及排除隐含的缺陷。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。最新版本是1.3.9.20090821,下载地址http://...原创 2014-01-24 14:26:54 · 61 阅读 · 0 评论 -
Java常用正则表达式验证工具类(转载)
原文:Java常用正则表达式验证工具类RegexUtils.java源代码下载地址:http://www.zuidaima.com/share/1550463379442688.htmJava 表单注册常用正则表达式验证工具类,常用正则表达式大集合。1. 电话号码2. 邮编3. QQ4. E-mail5. 手机号码6. URL7. 是否为数字8. 是否为中...原创 2014-09-10 10:50:09 · 218 阅读 · 0 评论 -
java异常机制、异常栈、异常处理方式、异常链、异常丢失
1、java标准异常概述Throwable表示任何可以作为异常被抛出的类,有两个子类Error和Exception。从这两个类的源代码中可以看出,这两个类并没有添加新的方法,Throwable提供了所以方法的实现。Error表示编译时和系统错误。Exception是可以被抛出的异常类。RuntimeException继承自Exception(如NullPointerException),表...原创 2014-01-10 09:28:43 · 119 阅读 · 0 评论 -
java clone方法使用详解
Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,特别是先学c、c++后学java的程序员。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。比如函数参数类型是自定义的类时,此时便是引用传递而不是值传递。以下是一个小例子:1 public class A { 2 ...原创 2014-01-09 12:23:41 · 62 阅读 · 0 评论 -
Java解惑中的相关总结一
1、不要使用基于减法的比较器Java代码 Comparator<Integer> c = new Comparator<Integer>() { public int compare(Integer i1, Integer i2) { return i1 - i2;// 升序 } }; List<Integer>...原创 2013-07-21 22:49:50 · 69 阅读 · 0 评论 -
Java解惑中的相关总结二
异常1、finally与中断Java代码 //该方法返回false static boolean f() { try { return true; } finally { return false; } } 不要用return、break、continue或throw来退出finally语句块,并且千万不要允许受检查的异...原创 2013-07-21 22:56:12 · 61 阅读 · 0 评论 -
Java解惑中的相关总结二
类1、参数兼容的方法重载Java代码 public class Confusing { private Confusing(Object o) { System.out.println("Object"); } private Confusing(double[] dArr) { System.out.println("double ar...原创 2013-07-21 23:00:28 · 93 阅读 · 0 评论 -
java解惑你知多少(一)
温馨提示:如需《java解惑你知多少》的朋友,请到第八节附录下载,那里我提供了Word格式化的文档,读起来可能方便一些,如果你喜欢,请对我的工作给于支持,谢谢~! 另外,特此声明:本系列内容来源于《JAVA解惑》一书,不是本人所独创,此系列内容应该说是该书的一个精简版,但内容含盖90%左右,摘录于此只是便于与大家共同分享,激起大家对Java基础的兴趣!我也是一位Java老菜鸟,搞了好几年...原创 2014-01-07 08:48:29 · 91 阅读 · 0 评论 -
java解惑你知多少(二)
8. +=复合赋值问题x+=i与x=x+i等效吗,许多程序员都会认为第一个表达式x+=i只是第二个表达式x=x+i的简写方式,但这并不准确。 Java语言规范中提到:复合赋值 E1 op= E2等价于简单赋值 E1 = (T)((E1) op (E2)),其中T是E1的类型。复合赋值表达式自动地将所执行计算的结果转型为其左侧变量的类型。如果结果的类型与该变量的类型相同,那么这...原创 2014-01-07 08:49:48 · 178 阅读 · 0 评论 -
java解惑你知多少(三)
17. 不要使用基于减法的比较器Java代码 Comparator<Integer> c = new Comparator<Integer>() { public int compare(Integer i1, Integer i2) { return i1 - i2;// 升序 } }; List<I...原创 2014-01-07 08:50:42 · 58 阅读 · 0 评论 -
java解惑你知多少(四)
异常26. finally与中断Java代码 //该方法返回false static boolean f() { try { return true; } finally { return false; } } 不要用return、break、continue或throw来退出finally语句块,...原创 2014-01-07 08:51:38 · 76 阅读 · 0 评论 -
Class.forName(),Class.forName().newInstance() ,New ,类名.class,,class.forName(),,g
在Java开发特别是数据库开发中,经常会用到Class.forName( )这个方法。通过查询Java Documentation我们会发现使用Class.forName( )静态方法的目的是为了动态加载类。在加载完成后,一般还要调用Class下的newInstance( )静态方法来实例化对象以便操作。因此,单单使用Class.forName( )是动态加载类是没有用的,其最终目的是为了实例...原创 2014-01-08 12:35:28 · 394 阅读 · 0 评论 -
理解java的三大特性之多态
面向对象编程有三大特性:封装、继承、多态。 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。 继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。那么什么是多态呢?多态的实现机制又是什么?请看我一一为你揭开: ...原创 2014-10-27 11:28:43 · 78 阅读 · 0 评论