
java面试
zjwLyl
这个作者很懒,什么都没留下…
展开
-
浅谈Java中的异常
1、异常指不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。Java通 过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的 错误条件。当条件生成时,错误将引发异常。原创 2016-05-31 15:00:58 · 442 阅读 · 0 评论 -
浅谈HashMap的实现原理
HashMap的内部存储结构Java中数据存储方式最底层的两种结构:数组和链表。数组的特点:连续空间、寻址迅速,但是在增删的时候需要较大幅度的移动,所以查询快、增删慢,链表与之相反,空间不连续、寻址困难,增删的时候只需修改前后指针即可,所以查询慢,增删快。那么有没有一种数据结构能够综合数组和链表的优点呢,答案是肯定的,就是哈希表。哈希表具有较快的(常量级)查询速度,和相对较快的增删速度,所以很转载 2016-07-18 20:09:53 · 688 阅读 · 0 评论 -
Java基础知识二
1 TreeMap、LinkedHashMap、HashMap的区别1)HashMap底层实现是散列表,因此它内部存储的元素是无序的。HashMap最多只允许一条记录的键为Null;允许多条记录的值为 Null;HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap;可能会导致数据的不一致。如果需要同步,可以用 Collections的synchronizedMap方法使转载 2016-07-19 14:40:04 · 410 阅读 · 0 评论 -
浅谈Java的反射机制
概述Java反射是可以让我们在运行时获得类的方法、属性、父类、接口等类的内部信息的机制。也就是说反射本身是一个“反着来”的过程。我们通过new创建类的实例时实际上是JVM在运行时根据这个类的class对象构建出来的,而反射是在运行时通过类的class对象获得他的内部定义信息。Class类我们知道使用javac能够将.java文件编译成.class文件,这个.class文件包含了我们对类原创 2016-07-15 17:57:01 · 1605 阅读 · 0 评论 -
浅谈Java中的多线程
关于Java中线程的生命周期,下面给出的这幅图总结的非常详细生动,它包含了Java多线程中的所有重要知识点。Java线程具有5种基本状态:新建状态(new):当线程对象被创建后,即进入了新建状态,如:Thread t = new MyThread();就绪状态(Runnable):当调用线程对象的start()方法时进入就绪状态(t.start();),处于就绪状态只能说明该线程做原创 2016-06-30 20:24:01 · 597 阅读 · 0 评论 -
浅谈java中的位运算
众所周知,计算机中的所有数据都是以二进制形式存储的,位运算直接作用在内存中的二进制数据,所以运算速度非常快。首先明白一点,位运算只能用于整型数据,其次,要清楚6种位运算符:&:与,只有1&1=1,其余都为0; | :或,只有0|0=0,其余都为1;^ :异或,两个为相同为0,相异为1;~:取反,各位0变1,1变0;>>:右移,各二进制位全部右移若干位,对无符号数,高位补原创 2016-05-30 15:30:04 · 717 阅读 · 1 评论 -
浅谈Java运行时数据区
要了解Java在运行时的内存分配就要清楚JVM运行时数据区,如图所示:1 程序计数寄存器(Program Counter Register)是线程私有的一块较小的内存,用来记录当前线程所执行的字节码的行号,以便线程切换后能够恢复到正确的执行位置。如果线程执行的是本地(Native)方法,则程序计数器的值为空(undefine)。这块内存是JVM运行规范中唯一没有规定任何内存溢出(O原创 2016-07-07 11:34:43 · 552 阅读 · 0 评论 -
浅谈Java的三大特性
Java的三大特性是封装、继承和多态。封装将属于同一类事物的共性(属性和行为)抽象为一个密不可分的整体,对外界而言,并不知道类内部行为的具体实现细节,只能通过外部接口实现与该类的进行通信,实现了信息隐藏。封装的另一个特点是为属性和方法定义了不同级别的可见性。public--所有外部类都可以访问(公有) private--本类可以访问(私有)protected--包内和子类可原创 2016-06-30 18:44:02 · 494 阅读 · 0 评论 -
浅谈Java的垃圾收集机制
Java堆内存Java中的虚拟机栈存放对象引用,Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。常量池存放的编译生成的字面量。String s1="china";String s2="china";String s3="china";String ss1=new String("china");String ss2=new String("ch原创 2016-07-22 14:09:35 · 417 阅读 · 0 评论 -
Java基础知识一
1 Java中的8种基本类型、长度和封装类型 System.out.println("Byte: " + Byte.SIZE/8); // 1 System.out.println("Character: " + Character.SIZE/8); // 2 System.out.println("Short: " + Short.S转载 2016-07-18 18:04:54 · 489 阅读 · 0 评论