
面试题
文章平均质量分 68
lichunan
这个作者很懒,什么都没留下…
展开
-
关于Java类加载双亲委派机制的思考(附一道面试题)
预定义类加载器和双亲委派机制JVM预定义的三种类型类加载器:启动(Bootstrap)类加载器:是用本地代码实现的类装入器,它负责将/lib下面的类库加载到内存中(比如rt.jar)。由于引导类加载器涉及到虚拟机本地实现细节,开发者无法直接获取到启动类加载器的引用,所以不允许直接通过引用进行操作。标准扩展(Extension)类加载器:是由 Sun 的ExtClassL转载 2015-01-27 11:24:30 · 333 阅读 · 0 评论 -
java中hashcode()函数的作用
Java对象Hashcode的作用是什么?可以联想数据结构的哈希表(散列表)、哈希函数。Object.hashCode() 就是一个哈希函数,用来计算散列值以实现哈希表这种数据结构。在一个数组中存储对象时,通过 hashCode 得到的哈希值来计算数组的索引位置(通常是求余运算),然后根据这个索引位置进行存取。多个对象计算出来的索引位置相同(叫hash冲突)时,用链表保存。冲突怎么保证原创 2015-04-16 23:27:15 · 358 阅读 · 0 评论 -
什么是java序列化,如何实现java序列化
1、什么是串行化?Java串行化技术可以使你将一个对象的状态写入一个Byte流里,并且可以从其它地方把该Byte流里的数据读出来,重新构造一个相同的对象。这种机制允许你将对象通过网络进行传播,并可以随时把对象持久化到数据库、文件等系统里。Java的串行机制是RMI、EJB等技术的技术基础。用途:利用对象的串行化实现保存应用程序的当前工作状态,下次再启动的时候将自动恢复到上次执行的状态。原创 2015-04-16 11:36:11 · 492 阅读 · 0 评论 -
oracle 数据库索引的优缺点
数据库的索引分为:聚集索引,非聚集索引,唯一索引。 优点:方便了查询,在数据量大时排序更易查询, 缺点:查询时需要进行重新排序,减少了效率。物理索引缺点 建立索引效率低,只能建一个。 更有说服力的:(转) 为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是创建转载 2015-04-12 15:35:05 · 493 阅读 · 0 评论 -
OO的概念和设计原则
一.OO(面向对象)的设计基础面向对象(OO):就是基于对象概念,以对象为中心,以类和继承为构造机制,充分利用接口和多态提供灵活性, 来认识、理解、刻划客观世界和设计、构建相应的软件系统。面向对象的特征:虽然各种面向对象编程语言相互有别,但都能看到它们对面向对象基本特征的支持,原创 2015-04-05 18:09:47 · 1792 阅读 · 0 评论 -
影响软件性能的因素
1、影响软件性能的因素目前,大部分系统都是为多用户、跨地域、多部门机构提供服务的,目前一般中小企业的员工人数也有几十号人,实际并发数量比较小,在软件性能方面影响不大,但是对于中大型企业、大型国企或跨国跨区域的集团企业,公司的员工有几千人,甚至几万人,而且一般一套系统都要运行很多年,这样存量数据也非常惊人,对于软件系统的性能表现影响巨大。影响性能的主要因素包括:硬件设施、网络、操作系统、并发原创 2015-04-18 11:30:45 · 1614 阅读 · 0 评论 -
TCP和UDP的区别
TCP协议与UDP协议的区别首先咱们弄清楚,TCP协议和UDP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议族。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他命名了。TCP/IP协议集包括应用层、传输层、网原创 2015-04-18 11:59:03 · 314 阅读 · 0 评论 -
程序运行结果
package netty.in.action;/** * Created by Administrator on 15-4-18. */public class Parent { public Parent(){ System.out.println("----Parent----"); }}package netty.in.action;/原创 2015-04-18 12:54:01 · 438 阅读 · 0 评论 -
HTTP请求的基本过程
1. 建立TCP连接在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能,才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80转载 2015-04-10 20:11:17 · 315 阅读 · 0 评论 -
Java 可变参数
Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。可变参数的特点:(1)、只能出现在原创 2015-03-30 18:07:52 · 280 阅读 · 0 评论 -
Java反射机制浅析
Java反射机制在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域原创 2015-03-30 10:12:59 · 248 阅读 · 0 评论 -
Java泛型详解
1、概述在引入泛型之前,Java类型分为原始类型、复杂类型,其中复杂类型分为数组和类。引入泛型后,一个复杂类型就可以细分成更多的类型。例如原先的类型List,现在在细分成List, List等更多的类型。注意,现在List, List是两种不同的类型,他们之间没有继承关系,即使String继承了Object。下面的代码是非法的 List ls = new ArrayLis原创 2015-03-30 15:59:18 · 256 阅读 · 0 评论 -
JAVA集合类(大公司面试喜欢问的)
看了一些所谓大公司的JAVA面试问题,发现对于JAVA集合类的使用都比较看重似的,而自己在这方面还真的是所真甚少,抽空也学习学习吧。java.util包中包含了一系列重要的集合类,而对于集合类,主要需要掌握的就是它的内部结构,以及遍历集合的迭代模式。接口:CollectionCollection是最基本的集合接口,一个Collection代表一组Object,即Collec转载 2015-03-03 21:47:38 · 363 阅读 · 0 评论 -
Java对象引用与对象的区别
为便于说明,我们先定义一个简单的类: class Vehicle { int passengers; int fuelcap; int mpg; } 有了这个模板,就可以用它来创建对象: Vehicle veh1 = new Vehicle(); 通常把这条语句的动作称之为创建一个对象,其实,它包含了四个动作。 1)右边的“new Vehicl原创 2015-01-26 10:35:14 · 273 阅读 · 0 评论 -
LRU cache实现
引子:我们平时总会有一个电话本记录所有朋友的电话,但是,如果有朋友经常联系,那些朋友的电话号码不用翻电话本我们也能记住,但是,如果长时间没有联系了,要再次联系那位朋友的时候,我们又不得不求助电话本,但是,通过电话本查找还是很费时间的。但是,我们大脑能够记住的东西是一定的,我们只能记住自己最熟悉的,而长时间不熟悉的自然就忘记了。其实,计算机也用到了同样的一个概念,我们用缓存来存放以前转载 2015-01-21 10:01:43 · 430 阅读 · 0 评论 -
Java类加载器总结
1、类的加载过程JVM将类的加载过程分为三个步骤:装载(Load)、链接(Link)和初始化(Initialize),链接又分为三个步骤,如下图所示:1)装载:查找并加载类的二进制数据;2)链接: 1、验证:确保被加载类的正确性; 2、准备:为类的静态变量分配内存,并将其初始化为默认值; 3、解析:原创 2015-04-17 18:24:42 · 278 阅读 · 0 评论