java
zhuiwenwen
这个作者很懒,什么都没留下…
展开
-
Java中的System.currentTimeMills
Java中的System.currentTimeMills()函数产生一个当前时间----1970年1月1日0时起的毫秒数。该函数可以用来统计程序运行时间,如:long start=System.currentTimeMills();long end=System.currentTimeMills();System.out.println("运行时间:"+(end-start));原创 2012-08-12 15:22:48 · 3413 阅读 · 1 评论 -
String的定义不同导致的不一致
String s3 = "hello";String s4 = "hello";System.out.println(s3 == s4); //true,这种String位于DateSegment,相同内容会指向同一对象 String s5 = new String("hello");String s6 = new String("hello");System.out.println原创 2012-09-01 16:41:32 · 479 阅读 · 0 评论 -
Java参数传递方式讲的比较清楚的一篇
由一个问题来引入参数传递的问题public static void main(String[] args) { int x=1; int[] y =new int[10]; m(x,y); System.out.println("x is "+ x); System.out.println("y[0] is "+ y[0]); } public st转载 2013-08-28 16:52:38 · 676 阅读 · 0 评论 -
Java的Runtime Exception和Checked Exception区别及使用场景
Java异常处理机制主要依赖于try,catch,finally,throw,throws五个关键字。 try 关键字后紧跟一个花括号括起来的代码块,简称try块。同理:下面的也被称为相应的块。 它里面可置引发异常的代码。catch后对应异常类型和一个代码块,用于表明catch块用于处理这种类型的代码块。后还可以跟一个finally块,finally块用于回收在try块里打开的物理资源转载 2013-09-09 15:30:00 · 2485 阅读 · 0 评论 -
Java类加载顺序
问题:i和n到底是什么时候声明的,public static Test1 t1=new Test1("t1");这句会去执行构造块和构造方法,但是这时候public static int i=print("i");并没执行,i是哪里出来的?它是按顺序先声明所有变量然后才从头再挨个赋值吗?关于这个问题:类的生命周期分为如下几个阶段,Loading,Linking,Initialization.转载 2013-10-05 13:31:02 · 1153 阅读 · 0 评论 -
Java程序开发中的简单内存分析
首先内存总体分为了4个部分,包括 stack segment 、heap segment、code segment 、data segment ; 其中我们程序中用关键字new出来的东西都是存放在heap segment; 程序中的局部变量存放在stack segment,这些局部变量是在具体方法执行结束之后,系统自动释放内存资源(而heap segment中的资源需要j转载 2013-10-06 17:14:12 · 1267 阅读 · 0 评论 -
关于String str="abc"
在JAVA论坛上常看到一个问题:String str="abc";String str=new String("abc");这两句分别创建了几个对象,呵呵想了很就也没有答案,不过有幸在别人的博客上看到了一篇关于 JAVA堆与栈 的讨论,得到了答案: stack and heap 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数转载 2013-10-06 21:09:17 · 2068 阅读 · 0 评论 -
三分钟理解Java中字符串(String)的存储和赋值原理
可能很多java的初学者对String的存储和赋值有迷惑,以下是一个很简单的测试用例,你只需要花几分钟时间便可理解。1.在看例子之前,确保你理解以下几个术语:栈:由JVM分配区域,用于保存线程执行的动作和数据引用。栈是一个运行的单位,Java中一个线程就会相应有一个线程栈与之对应。堆:由JVM分配的,用于存储对象等数据的区域。常量池:在编译的阶段,在堆中分配出来的一块存储区域,用于转载 2013-10-06 17:07:59 · 25672 阅读 · 2 评论 -
Java中的ReentrantLock和synchronized两种锁定机制的对比
原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造转载 2015-03-25 01:37:14 · 366 阅读 · 0 评论