
j2se
文章平均质量分 77
middlekingt
工作2年
展开
-
Java中涉及byte、short和char类型的运算操作
Java中涉及byte、short和char类型的运算操作首先会把这些值转换为int类型,然后对int类型值进行运算,最后得到int类型的结果。因此,如果把两个byte类型值相加,最后会得到一个int类型的结果。如果需要得到byte类型结果,必须将这个int类型的结果显式转换为byte类型。例如,下面的代码会导致编译失败:class BadArithmetic { sta转载 2012-09-02 23:21:24 · 2495 阅读 · 0 评论 -
从Java文件的编译到最终执行的过程
JVM(Java虚拟机)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。本文首先简要介绍从Java文件的编译到最终执行的过程,随后对JVM规格描述作一说明。一.Java源文件的编译、下载、解释和执行Java应用程序的开发周期包括编译、下载、解释和执行几个部分。Java编译程序将Java源程序翻译转载 2012-09-02 22:40:37 · 1140 阅读 · 0 评论 -
JDK1.5之中的Map相关的类
java5的java.util包提供了大量集合类。其中最常用的集合类有List、Set、Map等。这篇文章主要介绍其中的Map。首先,来看下java.util包中Map相关的集合类的类图。 接口Map是整个类图的跟,Map往下又提供了两个接口:ConcurrentMap和SortedMap。ConcurrentMap是java5中新增的线程安全的Map接口转载 2012-10-07 20:34:04 · 692 阅读 · 0 评论 -
JAVA方法的参数类型后添加三点的用法
今天看到一个没见过的函数参数列表test(int... a),查看资料,原来是如下用法: 类型后面三个点(String...),是从Java 5开始,Java语言对方法参数支持一种新写法,叫可变长度参数列表,其语法就是类型后跟...,表示此处接受的参数为0到多个Object类型的对象,或者是一个Object[]。 例如我们有一个方法叫做test(String...stri原创 2012-08-09 18:40:45 · 935 阅读 · 0 评论 -
Java 内存解析
栈、堆、常量池等虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同。本文将深入Java核心,简单讲解Java内存分配方面的知识。首先我们先来讲解一下内存中的各个区域。stack(栈):存放基本类型的数据和对象的引用,即存放变量。如果存放的事基本类型的数据(非静态变量),则直接将变量名和值存入stack中的内存中;如果是引用类型,则将变量名存入栈,然后指转载 2012-09-02 22:49:46 · 565 阅读 · 0 评论 -
理解ThreadLocal
ThreadLocal是什么早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它转载 2012-10-07 19:59:20 · 530 阅读 · 0 评论 -
java 静态代码块的用法 static用法详解
(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用比如main方法就必须是静态的 这是程序入口两者的区别就是:静态代码块是自动执转载 2012-08-28 10:06:27 · 596 阅读 · 0 评论 -
Java继承关系、构造器的内存分析
由于ZangXT对这个问题提出了质疑, 所以, 在文末, 又追加了一个测试使用super绕过多态的例子, 以期证明, 构造一个对象的时候, 隐含的持有了父类的引用(或者以更合适的名词称呼: 向上代理) [java] view plaincopypackage test1; /** * *转载 2012-09-15 23:06:08 · 987 阅读 · 1 评论 -
java的一些基本知识
对象与基本类型几乎所有Java初学者都被告知,在Java里一切都被视为对象(Object),操纵对象的表示符实际上时对象的一个引用(Reference)。例如String str; //注意!此处创建了一个引用,而非对象str=new String(“Hello”);//这里创建了一个String对象并与str相关联通转载 2012-09-09 23:12:45 · 1057 阅读 · 0 评论 -
运算符重载
1什么是运算符重载所谓重载,就是重新赋予新的含义。函数重载就是对一个已有的函数赋予新的含义,使之实现新功能。运算符也可以重载。实际上,我们已经在不知不觉之中使用了运算符重载。现在要讨论的问题是: 用户能否根据自己的需要对C++已提供的运算符进行重载,赋予它们新的含义,使之一名多用。譬如,能否用“+”号进行两个复数的相加。在C++中不能在程序中直接用运算符“+”对复数进行相加运算。用户必转载 2012-09-02 23:46:43 · 1182 阅读 · 0 评论 -
Java之运行时异常与编译时异常区别
Java中用2种方法处理异常:1.在发生异常的地方直接处理;2.将异常抛给调用者,让调用者处理。Java异常可分为3种: (1)编译时异常:Java.lang.Exception (2)运行期异常:Java.lang.RuntimeException (3)错误:Java.lang.ErrorJava.lang.Except转载 2012-09-03 01:06:52 · 1064 阅读 · 0 评论 -
Java线程join()方法的用处
run() 和start() 是大家都很熟悉的两个方法。把希望并行处理的代码都放在run() 中;stat() 用于自动调用run(),这是JAVA的内在机制规定的。并且run() 的访问控制符必须是public,返回值必须是void(这种说法不准确,run() 没有返回值),run()不带参数。闲话少说,我们要讲的是join(),我们首先来看个例子:转载 2012-09-02 23:24:50 · 582 阅读 · 0 评论 -
关于runtimeException异常
Java中采用了强制异常捕捉机制,这样一方面提高了程序的可靠性,不过有时候也带来一些麻烦。比如:int i= Integer.parseInt("33");这个我知道它不可能会抛出异常,但是不捕捉异常的话就过不了编译这关,当然这个代码没有意义的。Java中所有异常或者错误都继承Throwable:1.Error:所有都继承自Error,表示致命的错误,比如内存不够,字节码不合法等。转载 2012-09-03 10:42:30 · 973 阅读 · 0 评论 -
equals和 hashcode比较
Java中== equals hashcode浅析:1. '=='是用来比较两个变量(基本类型和对象类型)的值是否相等的, 如果两个变量是基本类型的,那很容易,直接比较值就可以了。如果两个变量是对象类型的,那么它还是比较值,只是它比较的是这两个对象在栈中的引用(即地址)。对象是放在堆中的,栈中存放的是对象的引用(地址)。由此可见'=='是对栈中的值进行比较的。如果要比较堆中对象的内容是否相转载 2012-09-19 15:07:02 · 567 阅读 · 0 评论