![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java综合
文章平均质量分 85
iteye_11971
这个作者很懒,什么都没留下…
展开
-
java面试题及答案(二)
public Object pop() { if (size == 0) return null; Object o = elements[--size]; return o; } 7。请阐述一下你对JAVA多线程中“锁”的概念的理解。(10) 8。所有的递归实现都可以用循环的方式实现,请描述一下这两种实现方式各自的优劣。 并举例说明在什么情况下可以使用递归,而在什么情况下只能使用循环而不能使用递...原创 2011-05-16 16:30:58 · 256 阅读 · 0 评论 -
Java异常的分类 .
1. 异常机制 异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。 传统的处理异常的办法是,函数返回一个特殊的结果来表示出现异常(通常这个特殊结果是大家约定俗称的),调用该函数的程序负责检查并分析函数返回的结果。这样做有如下的弊端:例如函数返回-1代表出现异常,但是...原创 2011-09-18 21:52:10 · 66 阅读 · 0 评论 -
java数组反射
数组反射如果因为某种原因,您并不确定参数或对象是不是数组,您可以检索对象的 Class 对象并询问它。 Class 类的 isArray() 方法将会告诉您。一旦您知道拥有了一个数组,您可以询问 Class 的 getComponentType() 方法,您实际拥有的是什么类型的数组。如果 isArray() 方法返回 false,那么 getComponentType() 方法返...原创 2011-09-13 17:35:31 · 293 阅读 · 0 评论 -
Java中反射机制详解
问题: 在运行时,对一个JAVA类,能否知道属性和方法;能否调用它的任意方法? 答案是可以的,JAVA提供一种反射机制可以实现。 目录 什么是JAVA的反射机制 JDK中提供的Reflection API JAVA反射机制提供了什么功能 获取类的Class对象 获取类的Fields 获取类的Method 获取类的Cons...原创 2011-09-13 14:53:31 · 262 阅读 · 0 评论 -
java枚举之EnumSet and EnumMap
一:EnumSetimport java.util.*;class EnumSetTest { //先要有枚举类型 enum FontConstant{ plain,bold,italic } public static void main(String[] args) { //调用static函数Enum.of()** ...原创 2011-09-12 20:17:02 · 124 阅读 · 0 评论 -
java中获取日期函数应用
(1)String类型转换成日期(Date类型)SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd"); java.util.Date date = myFormatter.parse(sj1); java.util.Date mydate = myFormatter.parse(sj2); ...原创 2011-09-10 17:11:57 · 81 阅读 · 0 评论 -
java 时间格式化问题
java 时间格式化问题 java.util.*;import java.text.*;import java.util.Calendar;public class VeDate { /** * 获取现在时间 * * @return 返回时间类型 yyyy-MM-dd HH:mm:ss */ public static Date getNo...原创 2011-09-10 17:05:00 · 86 阅读 · 0 评论 -
Java深度历险之Java泛型
Java泛型(generics)是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用时用具体的类型来替换。泛型最主要的应用是在JDK 5中的新集合类框架中。对于泛型概念的引入,开发社区的观点是褒贬不一。 从好的方面来说,泛型的引入可以解决之前的集合类框架在使用过程中通常会出现的运行时刻类型错误,因为编译器可以在...原创 2011-09-10 16:46:58 · 151 阅读 · 0 评论 -
Java 集合篇
1. Java集合类库中最重要的两个接口Collection<E>和Map<K,V>,其中Collection接口又再次划分为List和Set两大子接口,List中可以包含重复的元素,Set中则不可以。以下列举出一些常用的集合实现类,他们均分别继承自这两个接口: 1) ArrayList: 一种可以动态增长和缩减的索引序列(动态数组,类似于C+...原创 2011-09-07 18:51:38 · 63 阅读 · 0 评论 -
Java中常见的异常
Java中异常的分类所有异常,都继承自java.lang.Throwable类。Throwable有两个直接子类,Error类和Exception类。ExceptionException则可使从任何标准Java库的类方法,自己的方法以及运行时任何异常中抛出来的基类型。异常可分为执行异...原创 2011-09-19 14:05:17 · 61 阅读 · 0 评论 -
六种异常处理的陋习
你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? OutputStreamWriter out = ... java.sql.Connection conn = ... try { // ⑸ Statement stat = conn.createStatement(); Res...原创 2011-09-19 14:42:53 · 69 阅读 · 0 评论 -
Java中局部内部类可以访问它所在方法中定义的final修饰的局部变量的合理解释...
标题有点长,可能有点语病,先别管那么多!首先看下面的这段代码:public class LocalInnerClassTest{ public static void main(String[] args){ Outer obj=new Outer(); //生成一个外部类对象 SuperInner si=obj....原创 2011-09-20 11:21:14 · 120 阅读 · 0 评论 -
java面试题及答案(—)
JAVA相关基础知识1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称...原创 2011-05-16 16:27:54 · 125 阅读 · 0 评论 -
java clone技术 浅谈
1.java里的clone分为:A:浅复制(浅克隆): 浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。b:深复制(深克隆):深复制把要复制的对象所引用的对象都复制了一遍。Java中对象的克隆,为了获取对象的一份拷贝,我们可以利用Object类的clone()方法。必须要遵循下面三点1.在派生类中覆盖基类的clone()方法,并声明为public【Object类...原创 2011-10-23 14:58:41 · 70 阅读 · 0 评论 -
java synchronized详解
记下来,很重要。Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问obje...原创 2011-10-23 10:31:54 · 68 阅读 · 0 评论 -
Java 多线程同步 锁机制与synchronized
打个比方:一个object就像一个大房子,大门永远打开。房子里有很多房间(也就是方法)。这些房间有上锁的(synchronized方法), 和不上锁之分(普通方法)。房门口放着一把钥匙(key),这把钥匙可以打开所有上锁的房间。另外我把所有想调用该对象方法的线程比喻成想进入这房子某个 房间的人。所有的东西就这么多了,下面我们看看这些东西之间如何作用的。在此我们先来明确一下我们的前提...原创 2011-10-21 17:25:13 · 93 阅读 · 0 评论 -
Java多线程编程总结(转载)
http://www.blogjava.net/cmzy/archive/2009/03/09/258663.html原创 2011-10-21 16:54:55 · 62 阅读 · 0 评论 -
java内部类的总结
从Java1.1开始引入了内部类以来,它就引起了人们的激烈争论。其实任何优秀的语言特性用得不好就是滥用,内部类用得不好就会导致代码像迷宫一样,导致出现毫无重用的综合征。1、内部类分为成员内部类、静态嵌套类、方法内部类、匿名内部类。几种内部类的共性:A、内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类的类命和$符号。B、内部...原创 2011-10-15 14:42:21 · 64 阅读 · 0 评论 -
java中的io系统详解
参考:http://expert.iteye.com/blog/765317原创 2011-10-10 11:26:32 · 47 阅读 · 0 评论 -
Java代码编写的30条建议
(1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: ThisIsAClassName thisIsMethodOrFieldName 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。 Java包(Pack...原创 2011-10-10 10:22:03 · 68 阅读 · 0 评论 -
Comparable和Comparator接口
当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序 Comparable是一个对象本身就已经支持自比较所需要实现的接口(如String Integer自己就可以完成比较大小操作) 而Comparator是一个专用的比较器,当这个对象不支持自比较或者自比较函数不能满足你的要求时,你可以写一个比较器来完成...原创 2011-09-06 13:13:34 · 65 阅读 · 0 评论 -
Java对象初始化顺序
前几天与fwb同学说起java笔试题,想起这个东西经常被考,重温了下think in java,总结如下:1. 使用new新建对象时,初始化顺序为:静态变量>成员变量>构造方法。 静态初始化块以静态变量对待2. 建立类的Class对象,但没有执行new时(如访问任何静态变量、或者调用静态方法、或者调用Class.forName方法等。使用Class<A>...原创 2011-09-06 10:56:07 · 60 阅读 · 0 评论 -
全面接触Java集合框架
http://www.iteye.com/topic/164753原创 2011-09-05 23:33:44 · 92 阅读 · 0 评论 -
Java新特性之Enum详解(一)
1. 关于Java Enum: 学过C/C++等语言的人,应该都对Enum类型略知一二。Enum一般用来表示一组相同类型的常量。如性别、日期、月份、颜色等。对这些属性用常量的好处是显而易见的,不仅可以保证单例,且比较时候可以用”==”来替换equals。是一种好的习惯。JDK1.5...原创 2011-08-29 10:59:08 · 83 阅读 · 0 评论 -
java之自动装箱和拆箱(二)
代码如下:public class EqualsDemo { public static void main(String[] args) { int i1=1,i2=1; Integer iv1=1,iv2=1; Integer in1=new Integer(1),in2= new Integer(1); ...原创 2011-08-28 15:11:13 · 123 阅读 · 0 评论 -
java之自动装箱和拆箱(一)
先上机实验一次,例子在《深入理解java虚拟机》P274面代码为public class Test { public static void main(String[] args) { Integer a = 1; Integer b = 2; Integer c = 3; ...原创 2011-08-28 14:58:21 · 46 阅读 · 0 评论 -
java新特性静态导入
在Java 5中,import语句得到了增强,以便提供甚至更加强大的减少击键次数功能,虽然一些人争议说这是以可读性为代价的。这种新的特性成为静态导入。当你想使用static成员时,可以使用静态导入(在API中的类和你自己的类上,都可以使用该特性)。下面是静态导入前后的代码实例:在静态导入之前:public class TestStatic { public static voi...原创 2011-08-28 11:55:09 · 62 阅读 · 0 评论 -
JAVA 注解示例详解(三)
我这里结合我的使用情况,简单再阐释一下: Annotation能够对程序注入另外外的信息,有三个级别:代码级别,编译级别,运行时级别。 加注了Annotation的程序就是向三个级别“通知”你对“它”的“说明/注解” 比如: java.lang.Override是代码级别的注解,你加注了,如果IDE支持这个“说明”,他能够知道你认为这个方法覆盖了父类。一旦该方法因为名字写错了,IDE能够知道你错误...原创 2011-08-28 11:23:23 · 135 阅读 · 0 评论 -
JAVA 注解示例详解(二)
Annotation在java的世界正铺天盖地展开,有空写这一篇简单的annotations的文章,算是关于Annotation入门的文章吧,希望能各位们能抛砖,共同学习...... 不讲废话了,实践才是硬道理. 第一部分:了解一下java1.5起默认的三个annotation类型: 一个是@Override:只能用在方法之上的,用来告诉别人这一个方法是改写父类的。 一个是@De...原创 2011-08-28 11:22:01 · 71 阅读 · 0 评论 -
JAVA 注解示例详解(一)
注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后某个时刻方便地使用这些数据(通过 解析注解 来使用这些数据)。注解的语法比较简单,除了@符号的使用以外,它基本上与java的固有语法一致,java内置了三种注解,定义在java.lang包中。@Override 表示当前方法是覆盖父类的方法。@Deprecated 表示当前元素是不赞成使用的...原创 2011-08-28 10:22:47 · 92 阅读 · 0 评论 -
java新特性之For循环增强
1.首先增强for循环和iterator遍历的效果是一样的,也就说增强for循环的内部也就是调用iteratoer实现的,For循环变量必须是数组或实现了iteratoer的集合。package com.shengsiyuan.jdk5;import java.util.ArrayList;import java.util.Collection;import java.util...原创 2011-08-23 18:40:10 · 138 阅读 · 0 评论 -
Java新特性之Enum详解(二)
1.枚举元素列表必须写在枚举类的最前面,每个元素之间用逗号隔开,元素列表结束位置后若没有其他内容,则可以不写分号,否则必须要写。2.枚举类中所有的构造器是private的,外部程序不能够创建枚举类的实例。枚举类中可以显式的指明调用哪个构建器,如MEMBER和 MEMBER()这两种元素列表声明是等价的,都是调用默认的构建器, 而MEMBER("普通会员")则是显式的指明程序调用第二...原创 2011-08-29 11:19:45 · 103 阅读 · 0 评论 -
Java堆、栈和常量池详解
一:在JAVA中,有六个不同的地方可以存储数据: 1. 寄存器(register)。这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。 ------最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制....原创 2011-08-30 15:21:32 · 50 阅读 · 0 评论 -
Java堆、栈和常量池详解(二)
1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃...原创 2011-08-30 17:41:33 · 49 阅读 · 0 评论 -
Java中的finalize进行详解
程序员都了解初始化的重要性,但常常会忘记同样重要的清除工作。毕竟,谁需要清除一个int 呢?但在使用程序库时,把一个对象用完后就“弃之不顾”的做法并非总是安全的。当然,Java有垃圾回收器来回收无用对象占据的内存资源。但也有特殊情况:假定你的对象(并非使用 new)获得了一块“特殊”的内存区域,由于垃圾回收器只知道释放那些经由 new分配的内存,所以它不知道该如何释放该对象的这块 “特...原创 2011-09-05 14:46:54 · 116 阅读 · 0 评论 -
Java内存管理的9个小技巧
很多人都说“Java完了,只等着衰亡吧!”,为什么呢?最简单的的例子就是Java做的系统时非常占内存!一听到这样的话,一定会有不少人站出来为Java辩护,并举出一堆的性能测试报告来证明这一点。其实从理论上来讲Java做的系统并不比其他语言开发出来的系统更占用内存,那么为什么却有这么多理由来证明它确实占内存呢?两个字,陋习。1、别用new Boolean()。在很多场...原创 2011-09-05 14:30:03 · 90 阅读 · 0 评论 -
Java的GC机制总结(0) ---finalize()方法
其实了解JAVA的人,都知道JAVA的GC机制是其的一大优点,它令程序员不需要主动去考虑内存溢出和垃圾回收的问题,不像c++具有显式的析构函数对整个对象进行内存清理以及需要调用delete才可以进行显示的销毁对象。当然也有存在特殊的情况:假定你的对象(并非使用new方法)获得了一块“特殊”的内存区域,由于垃圾回收器只知道那些显示地经由new分配的内存空间,所以它不知道该如何释放这块“特殊”...原创 2011-09-05 13:53:18 · 74 阅读 · 0 评论 -
JAVA中this用法小结
我知道很多朋友都和我一样:在JAVA程序中似乎经常见到“this”,自己也偶尔用到它,但是到底“this”该怎么用,却心中无数!很多人一提起它,就说“当前对象”,可到底什么是当前对象,是什么当前对象,他自己也不清楚。现在让大家看一个小例子,给你分享一下JAVA中“this”的用法!/** * @author fengzhi-neusoft * * 本示例为了说明this...原创 2011-09-05 09:33:44 · 72 阅读 · 0 评论 -
HashMap存储结构(浅析equal 和hashcode)
什么是hashcode分析HashMap之前先介绍下什么Hashcode(散列码)。它是一个int,每个对象都会有一个hashcode,它在内存的存放位置是放在对象的头部(对象头部存放的信息有hashcode,指向Class的引用,和一些有关垃圾回收信息)。具体如何生成hashcode,这个相当复杂,由于我们的主题是“浅析”,所以不深入探讨。有个问题需要讲的是,如果在你的类中覆盖了...原创 2011-09-01 16:52:17 · 135 阅读 · 0 评论 -
HashMap源码深度分析
java.util.HashMap是很常见的类,前段时间公司系统由于对HashMap使用不当,导致cpu百分之百,在并发环境下使用HashMap 而没有做同步,可能会引起死循环,关于这一点,sun的官方网站上已有阐述,这并非是bug。HashMap的数据结构 HashMap主要是用数组来存储数据的,我们都知道它会对key进行哈希运算,哈系运算会有重复的哈希值,对于哈希值的冲...原创 2011-09-01 16:29:37 · 93 阅读 · 0 评论