
Java
文章平均质量分 57
ch_space
这个作者很懒,什么都没留下…
展开
-
java的serialVersionUID
[size=medium]serialVersionUID 用来表明类的不同版本间的兼容性。如果你修改了此类, 要修改此值。否则以前用老版本的类序列化的类恢复时会出错。 在JDK中,可以利用JDK的bin目录下的serialver.exe工具产生这个serialVersionUID,对于Test.class,执行命令:serialver Test。 ...原创 2009-09-18 20:14:55 · 125 阅读 · 0 评论 -
异常--java.lang.NullPointerException
1、如果出现了这种异常,是很不应该的。2、如何使用这种异常:[code="java"]method(arg0,arg1){ if(arg0==null){ throw new NullPointerException(); }}[/code]当然由于参数非法,你也可以抛出java.lang.IllegalArgumentExceptio...原创 2009-06-05 10:18:47 · 197 阅读 · 0 评论 -
eclipse快捷键
Eclipse快捷键大全(转载) Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面...原创 2009-06-07 20:39:06 · 82 阅读 · 0 评论 -
重写equals()时要重写hashCode()
在重写一个类的equals()的同时,一般要重写hashCode()除非你确认类的对象不会放入HashSet,HashTable,HashMap。那么为什么要重写hashCode()呢?主要是为了确保hash表里面不会被放入重复的对象,以提高性能。那为什么重写了hashCode()就可以做到这一点呢?下面以一段代码分析。[code="java"]/**Strudent重写了equals...2009-06-26 14:43:40 · 193 阅读 · 0 评论 -
JDBC操作数据库
JDBC操作数据库,业务只有几行代码,却要写一大堆异常处理,烦死人。[code="java"]String DBDRIVER = "oracle.jdbc.driver.OracleDriver"; String DBURL = "jdbc:oracle:thin:@localhost:1521:cjlu"; String DBUSER = "scott"; String...2009-07-05 10:43:34 · 115 阅读 · 0 评论 -
java命令
1、运行class文件java <包名> class2、运行jar里面的一个class(含有main方法) 需要先设定classpath:java -cp xxx.jar class3、javac编译到指定目录 javac -d 目录 源文件 编译当前目录下所有java文件到e盘java/classes目录下:javac -d e:\\java\\classe...2009-07-05 16:25:08 · 106 阅读 · 0 评论 -
递归反向输出字符串
[code="java"]void inversePrint(String str){ if(str==null||str.equals("")){ return; } if(str.length()>1){ inversePrint(str.substring(1,str.length())); } System.out.print(str.su...2009-07-29 18:55:12 · 150 阅读 · 0 评论 -
Java RMI
RMI(remote method invoke)是Java实现透明远程调用的机制,客户端仅持有服务端的接口。RMI应用的两种写法:[b]1、利用UnicastRemoteObject.exportObject()[/b]server端:[code="java"]public interface Business extends Remote { public void...原创 2010-12-25 19:29:17 · 119 阅读 · 0 评论 -
JVM GC调优
[b]1、基本概念[/b]heap=young+old,不包括perm区young=eden + from_survivor + to_survivor,实际可用的大小是eden + to_survivor串行收集器-单cpu使用,相对高效并行收集器-多cpu,吞吐量优先时使用 并发收集器-多cpu,停顿时间优先时使用(web应用一般用这个) [b]2、基本JVM参数[...原创 2013-04-21 23:55:32 · 222 阅读 · 0 评论 -
CountDownLatch与CyclicBarrier
CountDownLatch与CyclicBarrier被设计用来进行一组线程协作工作,完成一个或多个阶段的任务,二者有什么区别与联系呢?[b][size=large]1、CountDownLatch[/size][/b]这个用来设置一个屏障点,这个屏障点有好几把锁,每把锁都被开开之后,主线程才能继续往下面执行。一个李子:3个人去骑行,约定到某个地方集合吃饭,全部到之后老板才上菜。...原创 2013-10-20 14:20:02 · 182 阅读 · 0 评论 -
异常--java.util.ConcurrentModificationException
[quote]Iterator 是工作在一个独立的线程中,并且拥有一个 mutex 锁。 Iterator 被创建之后会建立一个指向原来对象的单链索引表,当原来的对象数量发生变化时,这个索引表的内容不会同步改变,所以当索引指针往后移动的时候就找不到要迭代的对象,所以按照 fail-fast 原则 Iterator 会马上抛出 java.util.ConcurrentModificationEx...原创 2009-06-05 10:12:42 · 233 阅读 · 0 评论 -
java异常处理
我们知道checked异常时必须要catch的,而unchecked异常是可以不用catch的。为了简便,是否就意味着尽量使用unchecked呢?事实上,两种异常只是处理机制不一样,一个必须catch,一个不必catch。1、当异常是可以处理的,抛出checked异常,强制调用者必须去处理这个异常或者再次抛出2、当异常不可处理,[color=red]但是需要资源的释放[/...2009-05-22 14:51:51 · 618 阅读 · 0 评论 -
分页查询总行数缓存策略
[size=medium]文章有点长。。。[/size]以前看到的分页模型大同小异,都是一个POJO结合各类视图技术实现的,但对于每次查询,都要计算总页数(统计记录总行数),对于记录数较少、并发不高的系统来讲,这似乎没有什么问题,但对于高并发,记录行数很多(千万级)的情况,每次的统计行数就要花费不少时间。我这里尝试着设计了一个行数缓存和一个简单的分页POJO(跟传统的POJO大同小异),请...原创 2009-10-31 16:21:15 · 488 阅读 · 0 评论 -
JRE与JDK,Path与CLASSPATH
[size=medium][color=blue][b]The distinct between jdk and jre[/b][/color]The JDK includes a Java compiler (javac), a Java virtual machine (java), and all of the standard Java library components -- ...原创 2009-05-04 13:05:48 · 155 阅读 · 0 评论 -
equal和“==”
equal:比较两者的值是否相等;==:比较两者是否是同一个对象的引用。例子:[code="java"]Integer a=1;Integer b=new Integer(1);System.out.println(a==b);//falseSystem.out.println(a.equal(b));//true[/code]注意:为String、...原创 2009-05-18 17:29:47 · 95 阅读 · 0 评论 -
error与exception
在java中,有错误(Error)和异常(Exception)两种,错误是虚拟机内部产生,一般不需要捕捉;而异常,一般都要由程序进行捕捉。 一般说Exception分为两种,运行时异常(继承了RuntimeException)和非运行时异常。运行时异常一般说来就是程序的bug造成,比如数组越界啊,空指针啊,类装载错误啊。非运行时异常一般说来是由于客观因素造成(比如说访问网络超时,数据...原创 2009-05-20 21:58:31 · 126 阅读 · 0 评论 -
final,finally,finalize
1、final用于类、方法、成员变量前,表示不可重写。允许编译器使用inline调用机制,增加效率,但代码不可过复杂。用在类身上,要确保类不需要再改进,已经很完美。2、finally用于异常处理,无论知否异常,结构体内的代码都会执行。用于session、io的关闭3、finalize用于不易控制,但很重要的资源的释放。finalize()方法是在Object类中...原创 2009-05-21 14:11:18 · 86 阅读 · 0 评论 -
java反射机制的应用
开发的时候有时候会碰到这样的情况:写程序的时候并不知道要调用某个对象的哪个方法,只有程序运行后才能够知道。或者需要根据客户端传过来的某个String参数的值来判断应该执行哪个方法。这时可以用java的反射机制实现,其实很多框架都是这样做的(如spring,struts)[code="java"]String dymeth="getUser";//需要调用的方法,可以动态改变tr...原创 2009-05-21 14:59:52 · 108 阅读 · 0 评论 -
值、引用
1、String、Double、Integer都是值类型,不作为引用,也就无从修改变量的状态。int、double等都是基本类型,不作为引用。这些类型的变量,即使作为方法的参数,在方法内部操作时,不会改变原来变量的值。2、将对象作为方法的参数时,可以在方法内部修改对象的属性,但不可修改对象的引用,即:Users u=new Users("zhang");method(u);这两...2009-05-21 15:44:04 · 125 阅读 · 0 评论 -
变量初始化
1、类成员变量不是必须要初始化的(在实例化一个对象时会给每一个成员变量一个默认值)2、局部变量(方法内部定义的变量)使用前必须初始化。2009-05-21 15:56:41 · 135 阅读 · 0 评论 -
java内存管理技巧
java做的系统给人的印象是什么?占内存!说道这句话就会有N多人站出来为java辩护,并举出一堆的性能测试报告来证明这一点。其实从理论上来讲java做的系统并不比其他语言开发出来的系统更占用内存,那么为什么却有这么N多理由来证明它确实占内存呢?两个字,陋习。(1)别用new Boolean()。在很多场景中Boolean类型是必须的,比如JDBC中boolean类型的set与get都是通过...原创 2009-05-22 10:07:55 · 97 阅读 · 0 评论 -
jvm内存
收藏自【http://www.cnblogs.com/dingyingsi/p/3760447.html】原创 2015-09-01 14:13:19 · 176 阅读 · 0 评论