1. 接口和抽象类的区别抽象类可以存在普通成员函数,而接口中只能存在public abstract方法抽象类中的成员变量客户是各种类型的,而接口中的成员变量只能是public static final类型的抽象类只能继承一个,接口可以实现多个 接口的设计目的,是对类的行为进行约束(更准确的说是一种"有"约束,因为接口不能规定类不可以有什么行为),也就是提供一种机制,可以强制要求不同的类具有相同的行为。它只约束了行为的有无,但不对如何实现...
本人3年开发经验、18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴、今日头条、滴滴等公司offer,岗位是Java后端开发,最终选择去了浪潮。面试了很多家公司,感觉大部分公司考察的点都差不多,所以将自己的心得记下来,希望能给正在找或者准备找工作的朋友提供一点帮助。另外,目前在浪潮也做面试官的工作,身份从求职者变为面试官,看问题的很多角度也不一样,所以下文中既有求职者的视角,也有面试官的视角面试流程??先...
1.集合类:list和Set比较,各自的子类比较(Arraylist,Vector,inkedLIst,HashSet,TreeSet)List:存入元素有序,元素可以重复,允许null值得存在,主要有3个实现类 linkedLIst:底层是双向链表,每一个结点都有指向前一个和后一个结点的指针。由于这种特性,他的特点就是增加和删除快,也因为他存储的元素在内存中不是连续存储,查找效率不及ArrayList ArrayList:底层是动态数组,所以他的查找效率更高,但是由于增加的删...
面试题:Map集合和Collection的区别?
Map集合:是一种键和值的映射关系(双列集合) 当作为:夫妻对Collection集合:单列集合,只能存储一种类型的元素,当作为:光棍间接关系:HashSet依赖于Map接口的子实现类HashMap的TreeSet依赖于Map接口的子实现类TreeMap的原文:http://blog.51cto.com/13670525/2114960
1、面向对象的特征有哪些方面?面向对象的特征主要有以下几个方面:抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可...
开篇介绍大家好,我是Java最全面试题库的提裤姐,今天这篇是Java设计模式,主要总结了设计模式相关的问题,在后续,会沿着第一篇开篇的知识线路一直总结下去,做到日更!如果我能做到百日百更,希望你也可以跟着百日百刷,一百天养成一个好习惯。设计模式有哪些?创建型工厂模式与抽象工厂模式 (Factory Pattern)(Abstract Factory Pattern)单例模式 (Singleton Pattern)建造者模式 (Builder Pattern)原型模式 (Prototype ...
1.面向对象的特征有哪些?抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目录有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节,抽象包括两个方面,一是过程抽象,二是数据抽象。继承:对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特征,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里...
1、error和exception有什么区别error表示系统级的错误,是java运行环境内部错误或者硬件问题,不能指望程序来处理这样的问题,除了退出运行外别无选择,它是Java虚拟机抛出的。exception 表示程序需要捕捉、需要处理的异常,是由与程序设计的不完善而出现的问题,程序必须处理的问题2、运行时异常和一般异常有何不同Java提供了两类主要的异常:runtimeException和checkedException 一般异常(checkedException)主要是指IO异常、SQ...
Java面试题基本概念操作系统中 heap 和 stack 的区别什么是基于注解的切面实现什么是 对象/关系 映射集成模块什么是 Java 的反射机制什么是 ACIDBS与CS的联系与区别Cookie 和 Session的区别fail-fast 与 fail-safe 机制有什么区别get 和 post请求的区别Interface 与 abstract 类的区别IOC的优点是什么IO 和 NIO的区别,NIO优点Java 8 / Java 7 为我们提供了什么新功能什么是竞态条件? 举个例子说明。JRE、JDK、JVM 及 JIT 之间有什...
这部分主要是与Java Web和Web Service相关的面试题。96、阐述Servlet和CGI的区别?
答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet。补充:Sun Microsystems公司在1996年发布Servlet技术就是为了和CGI进行竞争,Servlet是一个特殊的Java程序,一个基于J...
书中方法:这道题目可能拿到手没有思路,我们可以在纸上画出简单的二叉树来找到规律。最后我们发现,镜像的实质是对于二叉树的所有节点,交换其左右子节点。搞清楚获得镜像的方法,这道题实际上就变成了一道二叉树遍历的变形。这里选择前序遍历二叉树。 public void change(TreeNode root){if(root == null)return;TreeNode temp = root.left;root.left = root.right;root.right = temp;change(root.left);change(root.right);}...
问:BIO、NIO和AIO的区别答:1)BIO:一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理,线程开销大伪异步IO:将请求连接放入线程池,一对多,但线程还是很宝贵的资源2)NIO:一个请求一个线程,但客户端发送的连接请求都会注册到多路复用器上多路复用器轮询到连接有I/O请求时才启动一个线程进行处理3)AIO:一个有效请求一个线程,客户端的I/O请求都是由OS先完成了再通知服务器应用去启动线程进行处理BIO是面向流的...
“你用过HashMap吗?” “什么是HashMap?你为什么用到它?”几乎每个人都会回答“是的”,然后回答HashMap的一些特性,譬如HashMap可以接受null键值和值,而Hashtable则不能;HashMap是非synchronized;HashMap很快;以及HashMap储存的是键值对等等。这显示出你已经用过HashMap,而且对它相当的熟悉。但是面试官来个急转直下,从此刻开始问出一些刁钻的问题,关于HashMap的更多基础的细节。面试官可能会问出下面的问题: “你知道H...
Java基础-数据类型面试题整理 作者:尹正杰版权声明:原创作品,谢绝转载!否则将追究法律责任。 一.把long数据转换成字节数组. 二.把字节数组数据转换成long. 三.有5亿整数(非负),去重计算不同整数的个数,300M内存. 四.通过程序创建文本文件,内容是abc,采用uncode码,文件大小是10字节。 五.将byte变换成无符号的整数(0 ~ 255 , 正数不变) 原文:https:...
Java入门与基本数据类型(2019年10月8日)1.问:为什么long l=2000000000可以,而long l=3000000000却编译报错 答:因为在Java中二十亿和三十亿的默认类型都是int类型的,而二十亿是在int范围类的,三十亿不在int范围内,所以后面的long l=300000000会编译报错。解决方法:在三十亿后面加上一个大写或者小写的L2.问:为什么float f=3.2 会编译报错 答:3.2这种小数在Java种的默认数据类型是double(双精度)类型的,而float是单精...