Java
文章平均质量分 62
HUI_LANG
这个作者很懒,什么都没留下…
展开
-
性能考虑,数组首选
在Java中数组确实没有List、Set、Map这些集合类用起来方便,但是在基本类型处理方面,数组还是占有一定优势的,比如对一个数据集求和,数组实现和列表实现分别如下:// 对数组求和public static int sum(int[] datas) { int sum = 0; for (int i=0;i<datas.length;i++) { su原创 2012-05-02 14:24:45 · 912 阅读 · 0 评论 -
异常处理的最佳实践
译者注:这是一篇2003年的文章,因为时间久远,可能有些观点已经过时,但里面讨论的大部分方法如今仍能适用。如若有其他好的错误处理的方法,欢迎留言。 异常处理的关键就在于知道何时处理异常以及如何使用异常。这篇文章,我会提到一些最佳的异常处理方法。我也会总结checked exception的用法。 我们程序员都想写出高质量的代码来解决问题。但是,异常有时会给我们的转载 2012-11-19 20:37:13 · 632 阅读 · 0 评论 -
第一次学习 Socket 编程
服务器端:import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.PrintWriter;import java.net.InetAddress;import java.net.ServerSocket;import java.net.Soc原创 2012-09-01 15:46:58 · 762 阅读 · 0 评论 -
Java多线程之Callable接口的实现
import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; /** *//** * C转载 2012-05-22 16:08:31 · 641 阅读 · 0 评论 -
覆写 Exception 的 fillStackTrace 方法提高 Java 性能
JVM 在创建一个Throwable 类及其子类时会把当前线程的栈信息记录下来,以便在输出异常时准确定位异常原因,Throwable 部分源码如下:public class Throwable implements Serializable { // 出现异常的栈记录 private StackTraceElement[] stackTrace; // 默认构造器原创 2012-05-17 16:23:44 · 2080 阅读 · 0 评论 -
getDeclared××× 方法和 get××× 方法的区别
Java 的 Class 类提供了很多的 getDeclared××× 方法和 get××× 方法,例如 getDeclaredMethod 和 getMethod 成对出现,getDeclaredConstructors 和 getConstructors 也是成对出现,那两者有什么差别呢?看如下代码:public static void main(String[] args) throws原创 2012-05-15 09:04:37 · 4998 阅读 · 0 评论 -
协变和逆变
什么叫协变(covariance)和逆变(contravariance)? 在编程语言的类型框架中,协变和逆变是指宽类型和窄类型在某种情况下(如参数、泛型、返回值)替换和交换的特性。简单地说,协变是用一个窄类型替换宽类型,而逆变泽则是用宽类型覆盖窄类型。看如下代码:class Base { public Number doStuff() { retur原创 2012-05-11 08:41:52 · 2762 阅读 · 1 评论 -
ArrayList列表不同遍历方式性能比较
假设现在我们要求一个 List 实例的平均值,我们可以通过如下两种方法进行计算(这里假设我们传入的是ArrayList 对象): 1. 通过 foreach 方式遍历列表计算平均值public static int average(List list) { int sum = 0; // 遍历求和 for (int i : list) {原创 2012-05-03 12:47:47 · 2782 阅读 · 0 评论 -
Java中排序总结
在项目开发中,我们经常要对一组数据进行排序,或者升序或者降序,在Java中排序有多种方式,最土的方式就是自己写排序算法,比如冒泡排序、快速排序、二叉树排序等,但一般不需要自己写,JDK 已经为我们提供了很多的排序算法,我们直接拿来用就成了。 1. 基本类型数组排序 对于基本类型数组进行排序,一般我们直接使用 Arrays 类提供的 sort() 方法进行排序就可原创 2012-05-06 09:34:05 · 3304 阅读 · 0 评论 -
Java对汉字排序
在Java中一般的String数组排序可以调用Arrays类的sort(Object[] a)方法进行排序,代码类似: String[] strs = {"张三(Z)", "李四(L)", "王五(W)"}; // 排序,默认是升序 Arrays.sort(strs); 但是当我们将以上结果打印出来,你会发现结果很混乱,并不是和我们预想的那样按照汉语原创 2012-04-26 20:41:05 · 13580 阅读 · 1 评论 -
列表比较只关心元素数据
看一个判断列表相等的例子,代码如下:public static void main(String[] args) { ArrayList strs1 = new ArrayList(); strs1.add("A"); Vector strs2 = new Vector(); strs2.add("A"); System.out.原创 2012-05-03 19:15:01 · 635 阅读 · 0 评论 -
一步一步打造Vim+Eclipse+Eclim开发环境 -- 第一篇 Eclim安装
开发环境:系统:Win7 64位GVim:7.4 32位Eclipse:kepler 4.3.1 64位Eclim:2.3.2下载地址:GVim:http://www.vim.org/download.phpEclipse:https://www.eclipse.org/downloads/Eclim:http://eclim.org/insta原创 2014-02-15 19:46:37 · 11479 阅读 · 0 评论