百度Java面试题 前200页精选(上)
百度“Java面试题”前200页精选上篇
基本概念
操作系统中heap和stack的区别
什么是基于注解的切面实现
什么是对象/关系映射集成模块
什么是Java的反射机制
什么是ACID
BS与CS的联系与区别
Cookie和Session的区别
fail-fast与fail-safe机制有什么区别
get和post请求的区别
Interface与abstract类的区别
IOC的优点是什么
IO和NIO的区别,NIO优点
Java8/Java7为我们提供了什么新功能
什么是竞态条件?举个例子说明。
JRE、JDK、JVM及JIT之间有什么不同
MVC的各个部分都有那些技术来实现?如何实现?
RPC通信和RMI区别
什么是WebService(Web服务)
JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。
WEB容器主要有哪些功能?并请列出一些常见的WEB容器名字。
一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制
简单说说你了解的类加载器。是否实现过类加载器
解释一下什么叫AOP(面向切面编程)
请简述Servlet的生命周期及其相关的方法
请简述一下Ajax的原理及实现步骤
简单描述Struts的主要功能
什么是N层架构
什么是CORBA?用途是什么
什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”
什么是正则表达式?用途是什么?哪个包使用正则表达式来实现模式匹配
什么是懒加载(LazyLoading)
什么是尾递归,为什么需要尾递归
什么是控制反转(InversionofControl)与依赖注入(DependencyInjection)
关键字
finalize
1.什么是finalize()方法
finalize()方法什么时候被调用
析构函数(finalization)的目的是什么
final和finalize的区别
final
2.final关键字有哪些用法
final与static关键字可以用于哪里?它们的作用是什么
final,finally,finalize的区别
final、finalize和finally的不同之处?
3.能否在运行时向staticfinal类型的赋值
使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变
一个类被声明为final类型,表示了什么意思
throws,throw,try,catch,finally分别代表什么意义
Java有几种修饰符?分别用来修饰什么
volatile
volatile修饰符的有过什么实践
volatile变量是什么?volatile变量和atomic变量有什么不同
volatile类型变量提供什么保证?能使得一个非原子操作变成原子操作吗
能创建volatile数组吗?
transient变量有什么特点
super什么时候使用
publicstaticvoid写成staticpublicvoid会怎样
说明一下publicstaticvoidmain(Stringargs[])这段声明里每个关键字的作用
请说出作用域public,private,protected,以及不写时的区别
sizeof是Java的关键字吗
static
staticclass与nonstaticclass的区别
static关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法
静态类型有什么特点
main()方法为什么必须是静态的?能不能声明main()方法为非静态
是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用
静态变量在什么时候加载?编译期还是运行期?静态代码块加载的时机呢
成员方法是否可以访问静态变量?为什么静态方法不能访问成员变量
switch
switch语句中的表达式可以是什么类型数据
switch是否能作用在byte上,是否能作用在long上,是否能作用在String上
while循环和do循环有什么不同
操作符
&操作符和&&操作符有什么区别?
a=a+b与a+=b的区别?
逻辑操作符(&,|,^)与条件操作符(&&,||)的区别
3*0.1==0.3将会返回什么?true还是false?
floatf=3.4;是否正确?
shorts1=1;s1=s1+1;有什么错?
数据结构
基础类型(Primitives)
基础类型(Primitives)与封装类型(Wrappers)的区别在哪里
简述九种基本数据类型的大小,以及他们的封装类
int和Integer哪个会占用更多的内存?int和Integer有什么区别?parseInt()函数在什么时候使用到
float和double的默认值是多少
如何去小数四舍五入保留小数点后两位
char型变量中能不能存贮一个中文汉字,为什么
类型转换
怎样将bytes转换为long类型
怎么将byte转换为String
如何将数值型字符转换为数字
我们能将int强制转换为byte类型的变量吗?如果该值大于byte类型的范围,将会出现什么现象
能在不进行强制转换的情况下将一个double值赋值给long类型的变量吗
类型向下转换是什么
数组
如何权衡是使用无序的数组还是有序的数组
怎么判断数组是null还是为空
怎么打印数组?怎样打印数组中的重复元素
Array和ArrayList有什么区别?什么时候应该使用Array而不是ArrayList
数组和链表数据结构描述,各自的时间复杂度
数组有没有length()这个方法?String有没有length()这个方法
队列
队列和栈是什么,列出它们的区别
BlockingQueue是什么
简述ConcurrentLinkedQueueLinkedBlockingQueue的用处和不同之处。
ArrayList、Vector、LinkedList的存储性能和特性
String
StringBuffer
ByteBuffer与StringBuffer有什么区别
HashMap
HashMap的工作原理是什么
内部的数据结构是什么
HashMap的table的容量如何确定?loadFactor是什么?该容量如何变化?这种变化会带来什么问题?
HashMap实现的数据结构是什么?如何实现
HashMap和HashTable、ConcurrentHashMap的区别
HashMap的遍历方式及效率
HashMap、LinkedMap、TreeMap的区别
如何决定选用HashMap还是TreeMap
如果HashMap的大小超过了负载因子(loadfactor)定义的容量,怎么办
HashMap是线程安全的吗?并发下使用的Map是什么,它们内部原理分别是什么,比如存储方式、hashcode、扩容、默认容量等
HashSet
HashSet和TreeSet有什么区别
HashSet内部是如何工作的
WeakHashMap是怎么工作的?
Set
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还是equals()?它们有何区别?
TreeMap:TreeMap是采用什么树实现的?TreeMap、HashMap、LindedHashMap的区别。TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?
TreeSet:一个已经构建好的TreeSet,怎么完成倒排序。
EnumSet是什么
Hash算法
Hashcode的作用
简述一致性Hash算法
有没有可能两个不相等的对象有相同的hashcode?当两个对象hashcode相同怎么办?如何获取值对象
为什么在重写equals方法的时候需要重写hashCode方法?equals与hashCode的异同点在哪里
a.hashCode()有什么用?与a.equals(b)有什么关系
hashCode()和equals()方法的重要性体现在什么地方
Object:Object有哪些公用方法?Object类hashcode,equals设计原则?sun为什么这么设计?Object类的概述
如何在父类中为子类自动完成所有的hashcode和equals实现?这么做有何优劣。
可以在hashcode()中使用随机数字吗?
LinkedHashMap
LinkedHashMap和PriorityQueue的区别是什么
List
List,Set,Map三个接口,存取元素时各有什么特点
List,Set,Map是否继承自Collection接口
遍历一个List有哪些不同的方式
LinkedList
LinkedList是单向链表还是双向链表
LinkedList与ArrayList有什么区别
描述下Java中集合(Collections),接口(Interfaces),实现(Implementations)的概念。LinkedList与ArrayList的区别是什么?
插入数据时,ArrayList,LinkedList,Vector谁速度较快?
ArrayList
ArrayList和HashMap的默认大小是多数
ArrayList和LinkedList的区别,什么时候用ArrayList?
ArrayList和Set的区别?
ArrayList,LinkedList,Vector的区别
ArrayList是如何实现的,ArrayList和LinkedList的区别
ArrayList如何实现扩容
Array和ArrayList有何区别?什么时候更适合用Array
说出ArraList,Vector,LinkedList的存储性能和特性
Map
Map,Set,List,Queue,Stack
Map接口提供了哪些不同的集合视图
为什么Map接口不继承Collection接口
Collections
介绍Java中的CollectionFrameWork。集合类框架的基本接口有哪些
Collections类是什么?Collection和Collections的区别?Collection、Map的实现
集合类框架的最佳实践有哪些
为什么Collection不从Cloneable和Serializable接口继承
说出几点Java中使用Collections的最佳实践?
Collections中遗留类(HashTable、Vector)和现有类的区别
什么是B+树,B-树,列出实际的使用场景。
接口
Comparator与Comparable接口是干什么的?列出它们的区别
对象
拷贝(clone)
如何实现对象克隆
深拷贝和浅拷贝区别
深拷贝和浅拷贝如何实现激活机制
写clone()方法时,通常都有一行代码,是什么
比较
在比较对象时,”==”运算符和equals运算有何区别
如果要重写一个对象的equals方法,还要考虑什么
两个对象值相同(x.equals(y)==true),但却可有不同的hashcode,这句话对不对
构造器
构造器链是什么
创建对象时构造器的调用顺序
不可变对象
什么是不可变象(immutableobject)
为什么Java中的String是不可变的(Immutable)
如何构建不可变的类结构?关键点在哪里
能创建一个包含可变对象的不可变对象吗
如何对一组对象进行排序
方法
构造器(constructor)是否可被重写(override)
方法可以同时即是static又是synchronized的吗
abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized
Java支持哪种参数传递类型
一个对象被当作参数传递到一个方法,是值传递还是引用传递
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递
我们能否重载main()方法
如果main方法被声明为private会怎样
GC
概念
GC是什么?为什么要有GC
什么时候会导致垃圾回收
GC是怎么样运行的
新老以及永久区是什么
GC有几种方式?怎么配置
什么时候一个对象会被GC?如何判断一个对象是否存活
System.gc()Runtime.gc()会做什么事情?能保证GC执行吗
垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
MinorGC、MajorGC、YoungGC与FullGC分别在什么时候发生
垃圾回收算法的实现原理
如果对象的引用被置为null,垃圾收集器是否会立即释放对象占用的内存?
垃圾回收的最佳做法是什么
GC收集器有哪些
垃圾回收器的基本原理是什么?
串行(serial)收集器和吞吐量(throughput)收集器的区别是什么
Serial与ParallelGC之间的不同之处
CMS收集器与G1收集器的特点与区别
CMS垃圾回收器的工作过程
JVM中一次完整的GC流程是怎样的?对象如何晋升到老年代
吞吐量优先和响应优先的垃圾收集器选择
GC策略
举个实际的场景,选择一个GC策略
JVM的永久代中会发生垃圾回收吗
收集方法
标记清除、标记整理、复制算法的原理与特点?分别用在什么地方
如果让你优化收集方法,有什么思路
JVM
参数
说说你知道的几种主要的jvm参数
-XX:+UseCompressedOops有什么作用
类加载器(ClassLoader)
Java类加载器都有哪些
JVM如何加载字节码文件
内存管理
JVM内存分哪几个区,每个区的作用是什么
一个对象从创建到销毁都是怎么在这些部分里存活和转移的
解释内存中的栈(stack)、堆(heap)和方法区(methodarea)的用法
JVM中哪个参数是用来控制线程的栈堆栈小
简述内存分配与回收策略
简述重排序,内存屏障,happen-before,主内存,工作内存
Java中存在内存泄漏问题吗?请举例说明
简述Java中软引用(SoftReferenc)、弱引用(WeakReference)和虚引用
内存映射缓存区是什么
- jstack,jstat,jmap,jconsole怎么用
- 32位JVM和64位JVM的最大堆内存分别是多数?32位和64位的JVM,int类型变量的长度是多数?
- 怎样通过Java程序来判断JVM是32位还是64位
- JVM自身会维护缓存吗?是不是在堆中进行对象分配,操作系统的堆还是JVM自己管理堆
- 什么情况下会发生栈内存溢出
- 双亲委派模型是什么
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。