摘要: importjava.io.File;importjavax.swing.filechooser.FileSystemView;publicclassByteTest{publicstaticvoidmain(String[]args){FileSystemViewsys=FileSystemView.getFileSystemView();File[]files=File.listRoots();for(inti=0;i<files.length;i++){System.out.println(files[i]+"--"+sys.getSystemTypeDescr 阅读全文
posted @ 2013-11-20 13:56 剑握在手 阅读(2110) 评论(0) 推荐(0)
摘要: 名字就说明了意思,代码示例如下abstract class GetTime{ public final void getTime(){ long startTime = System.getCurrentMillis(); runcode(); long endTime = System.getCurrentMillis(); System.out.println(endTime-stratTime); } public abstract void runcode();}class SubTime extends GetTime{ public void run... 阅读全文
posted @ 2013-11-19 22:44 剑握在手 阅读(126) 评论(0) 推荐(0)
摘要: 重写toString方法,可以控制println打印的结构。如果需要往hashSet或者HashMap中存,需要重写hashCode和equals方法,因为hashSet执行添加,以对象为参数删除,和contains等操作时,都会默认的先去比较对象的hashCode如果不同则会继续执行equals方法,如果两者比较的结果都是相同,那么这个对象就不会被存入hashSet。HashMap则会用同样的原理去比较键。如果需要往treeSet中存需要该类implements Comparable接口,并实现其compareTo方法的内容,因为往treeSet执行存入,以对象为参数删除数据等操作时候,都会 阅读全文
posted @ 2013-11-15 14:37 剑握在手 阅读(929) 评论(0) 推荐(0)
摘要: 1 package test.synchornize; 2 3 import java.util.concurrent.locks.*; 4 5 class runab implements Runnable{ 6 boolean x = true; 7 static Lock lock = new ReentrantLock(); 8 static Condition con1 = lock.newCondition(); 9 static Condition con2 = lock.newCondition();10 runab(boolean... 阅读全文
posted @ 2013-11-13 15:37 剑握在手 阅读(394) 评论(0) 推荐(0)
摘要: 我们往往在main中直接调用System.out.print方法来打印,但是其实就这简单的一步里面有很多的玄机,因为main是static的,所以只能调用static的函数,那么print是static的吗?我一直有这个疑问,今天专门查阅了下源码,说下我的理解:(源码只贴出来部分对理解有用的)源码里面:public final class System 直接在lang包里面。所以可以直接不通过包名就直接调用system类。里面还有:public final static PrintStream out = nullPrintStream();........................pr 阅读全文
posted @ 2013-11-12 11:50 剑握在手 阅读(894) 评论(0) 推荐(0)
摘要: 单例就是只有一个例子,只有一个对象,不允许别人再创建对象。 饿汉式(初始化即创建对象) 懒汉式(方法被调用时,才创建对象,也叫做对象的延时加载) 懒汉式看似省空间,却有可能在多线程时出问题。 举个只有两个线程的例子:线程A被单核CPU执行到①,单核CPU切入线程B去执行①,仍然会通过判断,此时A,B 阅读全文
posted @ 2013-11-12 00:13 剑握在手 阅读(913) 评论(0) 推荐(0)
摘要: 基本数据类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。一般我们要创建一个类的对象的时候,我们会这样:Class a = new Class(parameter);装箱:当我们创建一个Integer对象时,却可以这样:Integer i = 100; (注意:不是 int i = 100; )Integer i = 100实际上是 Integer i = Integer.valueOf(100);此即基本数据类型的自动装箱功能。PS:当 Integeri = XX XX不在valueOf的范围(-128~127)内时,Integeri = X 阅读全文
posted @ 2013-11-11 20:25 剑握在手 阅读(203) 评论(0) 推荐(0)
摘要: public class Test2 { private static int test() { int i=1; try { i=2; return i; } catch (Exception e) { i = 3; return i; } finally { i = 4; System.out.println(i); } } public static void main(String[] args){ double b = 0; String s = ""; long ii = System.currentTimeMillis(); for(int i = 0... 阅读全文
posted @ 2013-11-09 20:20 剑握在手 阅读(303) 评论(0) 推荐(0)
摘要: 问题分析首先来问大家一个问题:finally 语句块一定会执行吗?很多人都认为 finally 语句块是肯定要执行的,其中也包括一些很有经验的 Java 程序员。可惜并不像大多人所认为的那样,对于这个问题,答案当然是否定的,我们先来看下面这个例子。清单 1.publicclassTest{publicstaticvoidmain(String[]args){System.out.println("returnvalueoftest():"+test());}publicstaticinttest(){inti=1;//if(i==1)//return0;System.out 阅读全文
posted @ 2013-11-09 19:33 剑握在手 阅读(817) 评论(0) 推荐(0)
摘要: 多态有一种情况是,父类应用指向子类对象:父亲 fu = new 儿子();这个时候如果父亲中有变量(包括静态和非静态变量)或者静态方法,都不会被儿子覆盖和重写。他们在内存中占用的是两块地方。而非静态方法则会被重写。内存中该对象的内容: 父类的成员变量 ① 父类的静态方法 ① 子类的成员变量 ② 子类的静态方法 ② 父类中未被重写的非静态方法 ③ 父类中被子类重写的非静态方法 ③ 子类自己新写的方法 ④当引用是父类型的时候指向 ① ③当引用是子类型的... 阅读全文
posted @ 2013-11-08 15:55 剑握在手 阅读(297) 评论(0) 推荐(0)
返回顶部↑