
java面试题
吴小博
想把自己遇到过的问题记录下来
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java单例模式使用及注意事项
1. 说明 1)单例模式:确保一个类只有一个实例,自行实例化并向系统提供这个实例 2)单例模式分类:饿单例模式(类加载时实例化一个对象给自己的引用),懒单例模式(调用取得实例的方法如getInstance时才会实例化对象)(java中饿单例模式性能优于懒单例模式,c++中一般使用懒单例模式) 3)单例模式要素: a)私有构造方法 b)私有静态引用指向自己实例 c)以自己实例为返回值的转载 2016-04-11 17:37:37 · 275 阅读 · 0 评论 -
java中为什么要引入匿名类?
有的时候, 为可实现一个功能或者实例化一个对象, 需要实现一个接口, 但是接口应用的地方很多, 但是每个地方的实现都不尽相同, 而且需要实例化的地方就只只有那么一两处, 这个时候, 如果为了这些地方, 每个声明一个类来实现接口的话, 就会浪费很多空间, 还得费时编译, 匿名内部类可以在需要的地方使用接口, 可以在使用的同时实现, 这样不但节省了空间, 还可以使代码更加明了 一般的应用都是转载 2016-04-11 17:50:17 · 1335 阅读 · 0 评论 -
Java匿名内部类怎样创建,有何作用和优点,创建线程怎样使用匿名内部类
1、匿名内部类就是没有名字的内部类。这是Java为了方便我们编写程序而设计的一个机制。因为有时候有的内部类只需要创建一个它的对象就可以了,以后再不会用到这个类,这时候使用匿名内部类就比较合适,而且也免去了给它取名字的烦恼。 2、如果满足下面的一些条件,使用匿名内部类是比较合适的: ·只用到类的一个实例。 ·类在定义后马上用到。 ·类非常小(SUN推荐是在4行代码以下) ·给类转载 2016-04-11 17:51:06 · 2030 阅读 · 0 评论 -
Java synchronized详解
第一篇: 使用synchronized 在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题。在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。我们首先编写一个非常简单的多线程的程序,是模拟银行中的多个线程同时对同一个储蓄账户进行存款、取款操作的。 在程序中我们使用了一个简化版本的Account类,转载 2016-04-11 17:52:49 · 202 阅读 · 0 评论 -
深入研究 Java Synchronize 和 Lock 的区别与用法
在分布式开发中,锁是线程控制的重要途径。Java为此也提供了2种锁机制,synchronized和lock。做为Java爱好者,自然少不了对比一下这2种机制,也能从中学到些分布式开发需要注意的地方。 我们先从最简单的入手,逐步分析这2种的区别。 一、synchronized和lock的用法区别 synchronized:在需要同步的对象中加入此控制,synchronized转载 2016-04-11 17:53:39 · 294 阅读 · 0 评论 -
java中四种引用类型
今天看代码,里面有一个类java.lang.ref.SoftReference把小弟弄神了,试想一下,接触java已经有3年了哇,连lang包下面的类都不了解,怎么混。后来在网上查资料,感觉收获颇多,现记录如下。 对象的强、软、弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachabl转载 2016-04-11 17:54:29 · 196 阅读 · 0 评论 -
Hashmap实现原理
0.参考文献: hash算法 (hashmap 实现原理) Java实现的散列表 1.HashMap的数据结构 数组的特点是:寻址容易,插入和删除困难;而链表的特点是:寻址困难,插入和删除容易。那么我们能不能综合两者的特性,做出一种寻址容易,插入删除也容易的数据结构?答案是肯定的,这就是我们要提起的哈希表,哈希表有多种不同的实现方法,我接下来解释的是最常用的一种方法——转载 2016-04-11 17:55:18 · 168 阅读 · 0 评论 -
Java中HashMap,LinkedHashMap,TreeMap的区别
http://hi.baidu.com/sleep651/blog/item/e42485a7490c799dd143582d.html HashMap,LinkedHashMap,TreeMap都属于Map Map 主要用于存储键(key)值(value)对,根据键得到值,因此键不允许键重复,但允许值重复。 HashMap 是一个最常用的Map,它根据键的HashCod转载 2016-04-11 17:56:04 · 221 阅读 · 0 评论 -
Thread和Runable的区别、Synchronized锁关键字
一、Thread和Runable的区别 Thread是基类,子类必继承他实现其run方法。其也是实现了Runable接口。Thread是普通的类,并非抽象类或者密封类等。Runnable是接口,子类必须实现run方法,该接口就只有唯一的抽象方法run。由于Java单继承,所以Thead通过类继承方式实现接口,存在扩展性问题。他们都是通过start方法来启动,可以达到异步操作,如果用run方法转载 2016-04-11 17:56:42 · 326 阅读 · 0 评论 -
JAVA中局部内部类和匿名内部类的特点和作用?最好能详细说明
Java 内部类 分四种:成员内部类、局部内部类、静态内部类和匿名内部类。 1、成员内部类: 即作为外部类的一个成员存在,与外部类的属性、方法并列。 注意:成员内部类中不能定义静态变量,但可以访问外部类的所有成员。 public class Outer{ private static int i = 1; private int j=10; private int k=20; public s转载 2016-04-11 17:49:42 · 308 阅读 · 0 评论 -
为什么在 linux 中程序运行要分为用户态和内核态?
除了一些内核函数调用安全的原因,直接在内核栈上运行用户空间程序有什么问题? 如果假设用户的程序是可信的,那么可以直接在内核栈运行还会有什么别的问题么,我主要在考虑在像docker 这样利用容器运行服务的环境下消除系统调用开销。 2015年04月18日提问 评论 默认排序时间排序 2 个回答 答案对人有帮助,有参考价值 1 答案没帮助转载 2016-04-11 17:48:52 · 2324 阅读 · 0 评论 -
Java多线程学习(吐血超详细总结)
标签:java 多线程 同步 数据传递 林炳文Evankaka原创作品。转载请注明出处http://blog.youkuaiyun.com/evankaka 目录(?)[-] 一扩展javalangThread类二实现javalangRunnable接口三Thread和Runnable的区别四线程状态转换五线程调度六常用函数说明转载 2016-04-11 17:47:39 · 231 阅读 · 0 评论 -
JVM系列一:JVM内存组成及分配
java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员转载 2016-04-11 17:38:53 · 183 阅读 · 0 评论 -
堆和栈的区别是啥?
堆和栈的区别: 一、堆栈空间分配区别: 1、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈; 2、堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。 二、堆栈缓存方式区别: 1、栈使用的是一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立即释放原创 2016-04-11 17:40:55 · 212 阅读 · 0 评论 -
堆和栈的区别(转过无数次的文章)
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两转载 2016-04-11 17:41:47 · 209 阅读 · 0 评论 -
Java的内存机制
0.参考资料: http://www.j2megame.org/index.php/content/view/2246/125.html 1.Java的内存机制 Java 把内存划分成两种:一种是栈内存,另一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代码块定义一个变量时,Java 就在栈中为这个变量分配内存空间,当超过变量的作用域转载 2016-04-11 17:42:39 · 238 阅读 · 0 评论 -
java的反射机制浅谈
一、java的反射机制浅谈 最近研究java研究得很给力,主要以看博文为学习方式。以下是我对java的反射机制所产生的一些感悟,希望各位童鞋看到失误之处不吝指出。受到各位指教之处,如若让小生好好感动,说不定会请各位吃饭哦! 1.何谓反射机制 根据网文,java中的反射机制可以如此定义: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道转载 2016-04-11 17:45:10 · 261 阅读 · 0 评论 -
面试心得与总结---BAT、网易、蘑菇街
摘要 面试心得与总结---BAT、网易、蘑菇街 之前实习的时候就想着写一篇面经,后来忙就给忘了,现在找完工作了,也是该静下心总结一下走过的路程了,我全盘托出,奉上这篇诚意之作,希望能给未来找工作的人一点指引和总结, 也希望能使大家少走点弯路, 如果能耐心读完,相信对你会找到你需要的东西。 先说一下LZ的基本情况,LZ是四川某985学校通信专业的研究生(非计算机),大学转载 2016-07-27 09:16:58 · 4645 阅读 · 1 评论