Java中级面试题及答案【最新版及答案,干货!!!这是一个中级Java面试系列题中的第一部分。这一部分论述了可变参数,断言,垃圾回收,初始化器,令牌化,日期,日历等等Java核心问题。
Java中级面试永远是程序员迈向成功的第一个门槛,想要面试成功,各种面试题的洗礼是必不可少的,下面就来看看小编精心整理的一些java高级工程师面试题及答案吧。
如果不背 Java面试题的答案,肯定面试会挂!
这套Java面试题大全,希望对大家有帮助哈~
我已将以下这些面试题整理成了一个Java面试手册,是PDF版的
1、线程与进程的区别
进程是系统进行资源分配和调度的一个独立单位,线程是CPU调度和分派的基本单位
进程和线程的关系:
1、 一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。
2、 资源分配给进程,同一进程的所有线程共享该进程的所有资源。
3、 线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。
4、 线程是指进程内的一个执行单元,也是进程内的可调度实体。
线程与进程的区别:
1、 调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位。
2、 并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可以并发执行。
3、 拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源。
4、 系统开销:在创建或撤销进程的时候,由于系统都要为之分配和回收资源,导致系统的明显大于创建或撤销线程时的开销。但进程有独立的地址空间,进程崩溃后,在保护模式下不会对其他的进程产生影响,而线程只是一个进程中的不同的执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但是在进程切换时,耗费的资源较大,效率要差些。
2、什么是策略模式
定义了一系列的算法 或 逻辑 或 相同意义的操作,并将每一个算法、逻辑、操作封装起来,而且使它们还可以相互替换。(其实策略模式Java中用的非常非常广泛)
我觉得主要是为了 简化 if...else 所带来的复杂和难以维护。
3、什么是游标?
游标是sql查询结果集的一个指针,与select语句相关联。
游标关键字是cursor,主要包含两个部分:游标结果集和游标位置。
1、 游标结果集:执行select语句后的查询结果
2、 游标位置:一个指向游标结果集内某条记录的指针。
游标主要有两个状态:打开和关闭。
1、 只有当游标处于打开状态时,才能够操作结果集中的数据
2、 当游标关闭后,查询结果集就不存在了
4、单例模式了解吗?给我解释一下双重检验锁方式实现单例模式!”
双重校验锁实现对象单例(线程安全)
说明:
双锁机制的出现是为了解决前面同步问题和性能问题,看下面的代码,简单分析下确实是解决了多线程并行进来不会出现重复new对象,而且也实现了懒加载
public class Singleton { private volatile static Singleton uniqueInstance; private Singleton() { } public static Singleton getUniqueInstance() { //先判断对象是否已经实例过,没有实例化过才进入加锁代码 if (uniqueInstance == null) { //类对象加锁 synchronized (Singleton.class) { if (uniqueInstance == null) { uniqueInstance = new Singleton(); } } } return uniqueInstance; } }
另外,需要注意 uniqueInstance 采用 volatile 关键字修饰也是很有必要。
uniqueInstance 采用 volatile 关键字修饰也是很有必要的, uniqueInstance = new Singleton(); 这段代码其实是分为三步执行:
1、 为 uniqueInstance 分配内存空间
2、 初始化 uniqueInstance
3、 将 uniqueInstance 指向分配的内存地址
但是由于 JVM 具有指令重排的特性,执行顺序有可能变成 1->3->2。指令重排在单线程环境下不会出现问题,但是在多线程环境下会导致一个线程获得还没有初始化的实例。例如,线程 T1 执行了 1 和 3,此时 T2 调用 getUniqueInstance() 后发现 uniqueInstance 不为空,因此返回 uniqueInstance,但此时 uniqueInstance 还未被初始化。
使用 volatile 可以禁止 JVM 的指令重排,保证在多线程环境下也能正常运行。
5、怎么获取 Java 程序使用的内存?堆使用的百分比?
可以通过 java.lang.Runtime 类中与内存相关方法来获取剩余的内存,总内存及最大堆内存。通过这些方法你也可以获取到堆使用的百分比及堆内存的剩余空间。Runtime.freeMemory() 方法返回剩余空间的字节数,Runtime.totalMemory()方法总内存的字节数,Runtime.maxMemory() 返回最大内存的字节数。
6、在java中守护线程和本地线程区别?
java中的线程分为两种:守护线程(Daemon)和用户线程(User)。
任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(bool on);true则把该线程设置为守护线程,反之则为用户线程。Thread.setDaemon()必须在Thread.start()之前调用,否则运行时会抛出异常。
两者的区别:
唯一的区别是判断虚拟机(JVM)何时离开,Daemon是为其他线程提供服务,如果全部的User Thread已经撤离,Daemon 没有可服务的线程,JVM撤离。也可以理解为守护线程是JVM自动创建的线程(但不一定),用户线程是程序创建的线程;比如JVM的垃圾回收线程是一个守护线程,当所有线程已经撤离,不再产生垃圾,守护线程自然就没事可干了,当垃圾回收线程是Java虚拟机上仅剩的线程时,Java虚拟机会自动离开。
扩展:
Thread Dump打印出来的线程信息,含有daemon字样的线程即为守护进程,可能会有:服务守护进程、编译守护进程、windows下的监听Ctrl+break的守护进程、Finalizer守护进程、引用处理守护进程、GC守护进程。
7、线程之间是如何通信的?
当线程间是可以共享资源时,线程间通信是协调它们的重要的手段。Object类中wait()\notify()\notifyAll()方法可以用于线程间通信关于资源的锁的状态。
8、聚集索引与非聚集索引有什么区别?
所有的索引都是为了更快地检索数据,索引存放在索引页中,数据存放在数据页中,索引以B(balance)树的形式存储
聚集索引:聚集索引用于决定数据表中的物理存储顺序,一张表最多有一个聚集索引。聚集索引的字段值尽量不能修改,因为修改后,因为修改后数据表的物理顺序需要重写排序。通常主键就是聚集索引
非聚集索引:非聚集索引的关键自是index,不会决定表的物理存储顺序,在一张表内最多可以有249个非聚集索引。
9、说一下 ArrayList 的优缺点
ArrayList的优点如下:
1、 ArrayList 底层以数组实现,是一种随机访问模式。ArrayList 实现了 RandomAccess 接口,因此查找的时候非常快。
2、 ArrayList 在顺序添加一个元素的时候非常方便。
ArrayList 的缺点如下:
1、 删除元素的时候,需要做一次元素复制操作。如果要复制的元素很多,那么就会比较耗费性能。
2、 插入元素的时候,也需要做一次元素复制操作,缺点同上。
3、 ArrayList 比较适合顺序添加、随机访问的场景。
10、请解释StackOverflowError和OutOfMemeryError的区别?
通过之前的分析可以发现,实际上每一块内存中都会存在有一部分的可变伸缩区,其基本流程为:如果空间内存不足,在可变范围之内扩大内存空间,当一段时间之后发现内存充足,会缩小内存空间。
永久代(JDK 1.8后消失了)
虽然java的版本是JDK1.8,但是java EE 的版本还是jdk1.7,永久代存在于堆内存之中
元空间
元空间在Jdk1.8之后才有的,器功能实际上和永久代没区别,唯一的区别在于永久代使用的是JVM的堆内存空间,元空间使用的是物理内存,所以元空间的大小受本地内存影响,一般默认在2M 左右。
范例:设置一些参数,让元空间出错
Java -XX:MetaspaceSize=1m
11、请阐述Catalina的配置文件有哪些?
Catalina包含的配置文件有:
1、 ·policy
2、 ·properties
3、 ·properties
4、 ·xml
5、 ·xml
6、 ·Tomcat-users.xml
12、Java中有几种类型的流?
字节流和字符流。字节流继承于InputStream、OutputStream,字符流继承于Reader、Writer。在 http://java.io 包中还有许多其他的流,主要是为了提高性能和使用方便。关于Java的I/O需要注意的有两点:一是两种对称性(输入和输出的对称性,字节和字符的对称性);二是两种设计模式(适配器模式和装潢模式)。另外Java中的流不同于C#的是它只有一个维度一个方向。

面试题 - 编程实现文件拷贝。(这个题目在笔试的时候经常出现,下面的代码给出了两种实现方案)

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
public final class MyUtil {private MyUtil() {throw new AssertionError();}public static void fileCopy(String source, String target) throws IOException {try (InputStream in = new FileInputStream(source)) {try (OutputStream out = new FileOutputStream(target)) {byte[] buffer = new byte[4096];int bytesToRead;while ((bytesToRead = in .read(buffer)) != -1) {out.write(buffer, 0, bytesToRead);}}}}public static void fileCopyNIO(String source, String target) throws IOException {try (FileInputStream in = new FileInputStream(source)) {try (FileOutputStream out = new FileOutputStream(target)) {FileChannel inChannel = in .getChannel();FileChannel outChannel = out.getChannel();ByteBuffer buffer = ByteBuffer.allocate(4096);while (inChannel.read(buffer) != -1) {buffer.flip();outChannel.write(buffer);buffer.clear();}}}}
}

作者:煎条咸鱼
链接:
https://www.nowcoder.com/discuss/946876?type=all&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_all_nctrack&gio_id=DFC7478B8279B738072890ABB745AA0F-1654609034449
来源:牛客网

注意:上面用到Java 7的TWR,使用TWR后可以不用在finally中释放外部资源 ,从而让代码更加优雅。
13、当一个线程进入一个对象的synchronized方法A之后,其它线程是否可进入此对象的synchronized方法B?
不能。其它线程只能访问该对象的非同步方法,同步方法则不能进入。因为非静态方法上的synchronized修饰符要求执行方法时要获得对象的锁,如果已经进入A方法说明对象锁已经被取走,那么试图进入B方法的线程就只能在等锁池(注意不是等待池哦)中等待对象的锁。
14、什么是不可变对象(immutable object)?Java 中怎么创建一个不可变对象?
不可变对象指对象一旦被创建,状态就不能再改变。任何修改都会创建一个新的对象,如 String、Integer及其它包装类。详情参见答案,一步一步指导你在 Java 中创建一个不可变的类。
15、怎么利用 JUnit 来测试一个方法的异常?
16、两个相同的对象会有不同的的 hash code 吗?
不能,根据 hash code 的规定,这是不可能的。
17、如果你提交任务时,线程池队列已满,这时会发生什么
有俩种可能:
1、 如果使用的是无界队列 LinkedBlockingQueue,也就是无界队列的话,没关系,继续添加任务到阻塞队列中等待执行,因为 LinkedBlockingQueue 可以近乎认为是一个无穷大的队列,可以无限存放任务
2、 如果使用的是有界队列比如 ArrayBlockingQueue,任务首先会被添加到ArrayBlockingQueue 中,ArrayBlockingQueue 满了,会根据maximumPoolSize 的值增加线程数量,如果增加了线程数量还是处理不过来,ArrayBlockingQueue 继续满,那么则会使用拒绝策略RejectedExecutionHandler 处理满了的任务,默认是 AbortPolicy
18、GC日志的real、user、sys是什么意思?
real 实际花费的时间,指的是从开始到结束所花费的时间。比如进程在等待I/O完成,这个阻塞时间也会被计算在内。user 指的是进程在用户态(User Mode)所花费的时间,只统计本进程所使用的时间,是指多核。sys 指的是进程在核心态(Kernel Mode)花费的CPU时间量,指的是内核中的系统调用所花费的时间,只统计本进程所使用的时间。
这个是用来看日志用的,如果你不看日志,那不了解也无妨。不过,这三个参数的意义,在你能看到的地方,基本上都是一致的,比如操作系统。
19、解释 Java 堆空间及 GC?
当通过 Java 命令启动 Java 进程的时候,会为它分配内存。内存的一部分用于创建堆空间,当程序中创建对象的时候,就从对空间中分配内存。GC 是 JVM 内部的一个进程,回收无效对象的内存用于将来的分配。
20、类的实例化顺序
比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,他们的执行顺序
先静态、先父后子。
先静态:父静态 > 子静态
优先级:父类 > 子类 静态代码块 > 非静态代码块 > 构造函数
一个类的实例化过程:
1、 父类中的static代码块,当前类的static
2、 顺序执行父类的普通代码块
3、 父类的构造函数
4、 子类普通代码块
5、 子类(当前类)的构造函数,按顺序执行。
6、 子类方法的执行,
21、Spring中自动装配的方式有哪些?
1、 no:不进行自动装配,手动设置Bean的依赖关系。
2、 byName:根据Bean的名字进行自动装配。
3、 byType:根据Bean的类型进行自动装配。
4、 constructor:类似于byType,不过是应用于构造器的参数,如果正好有一个Bean与构造器的参数类型相同则可以自动装配,否则会导致错误。
5、 autodetect:如果有默认的构造器,则通过constructor的方式进行自动装配,否则使用byType的方式进行自动装配。
22、栈帧里面包含哪些东西?
局部变量表、操作数栈、动态连接、返回地址等
23、你是如何调用 wait() 方法的?使用 if 块还是循环?为什么?
处于等待状态的线程可能会收到错误警报和伪唤醒,如果不在循环中检查等待条件,程序就会在没有满足结束条件的情况下退出。
wait() 方法应该在循环调用,因为当线程获取到 CPU 开始执行的时候,其他条件可能还没有满足,所以在处理前,循环检测条件是否满足会更好。下面是一段标准的使用 wait 和 notify 方法的代码:
synchronized (monitor) { // 判断条件谓词是否得到满足 while(!locked) { // 等待唤醒 monitor.wait(); } // 处理其他的业务逻辑 }
24、ArrayList与LinkedList有什么区别?
1、 ArrayList与LinkedList都实现了List接口。
2、 ArrayList是线性表,底层是使用数组实现的,它在尾端插入和访问数据时效率较高,
3、 Linked是双向链表,他在中间插入或者头部插入时效率较高,在访问数据时效率较低
25、Super与this表示什么?
1、 Super表示当前类的父类对象
2、 This表示当前类的对象
26、简述Java的对象结构
Java对象由三个部分组成:对象头、实例数据、对齐填充。
对象头由两部分组成,第一部分存储对象自身的运行时数据:哈希码、GC分代年龄、锁标识状态、线程持有的锁、偏向线程ID(一般占32/64 bit)。第二部分是指针类型,指向对象的类元数据类型(即对象代表哪个类)。如果是数组对象,则对象头中还有一部分用来记录数组长度。
实例数据用来存储对象真正的有效信息(包括父类继承下来的和自己定义的)
对齐填充:JVM要求对象起始地址必须是8字节的整数倍(8字节对齐 )
27、Java 虚拟机栈的作用?
Java 虚拟机栈来描述 Java 方法的内存模型。每当有新线程创建时就会分配一个栈空间,线程结束后栈空间被回收,栈与线程拥有相同的生命周期。栈中元素用于支持虚拟机进行方法调用,每个方法在执行时都会创建一个栈帧存储方法的局部变量表、操作栈、动态链接和方法出口等信息。每个方法从调用到执行完成,就是栈帧从入栈到出栈的过程。
有两类异常:① 线程请求的栈深度大于虚拟机允许的深度抛出 StackOverflowError。② 如果 JVM 栈容量可以动态扩展,栈扩展无法申请足够内存抛出 OutOfMemoryError(HotSpot 不可动态扩展,不存在此问题)。
28、实际开发中应用场景哪里用到了模板方法
其实很多框架中都有用到了模板方法模式
例如:
数据库访问的封装、Junit单元测试、servlet中关于doGet/doPost方法的调用等等
29、import java和javax有什么区别

tech.souyunku.com/EasonJim/p/…
31、Spring中自动装配的方式有哪些?
1、 no:不进行自动装配,手动设置Bean的依赖关系。
2、 byName:根据Bean的名字进行自动装配。
3、 byType:根据Bean的类型进行自动装配。
4、 constructor:类似于byType,不过是应用于构造器的参数,如果正好有一个Bean与构造器的参数类型相同则可以自动装配,否则会导致错误。
5、 autodetect:如果有默认的构造器,则通过constructor的方式进行自动装配,否则使用byType的方式进行自动装配。
32、栈帧里面包含哪些东西?
局部变量表、操作数栈、动态连接、返回地址等
33、你是如何调用 wait() 方法的?使用 if 块还是循环?为什么?
处于等待状态的线程可能会收到错误警报和伪唤醒,如果不在循环中检查等待条件,程序就会在没有满足结束条件的情况下退出。
wait() 方法应该在循环调用,因为当线程获取到 CPU 开始执行的时候,其他条件可能还没有满足,所以在处理前,循环检测条件是否满足会更好。下面是一段标准的使用 wait 和 notify 方法的代码:
synchronized (monitor) { // 判断条件谓词是否得到满足 while(!locked) { // 等待唤醒 monitor.wait(); } // 处理其他的业务逻辑 }
34、ArrayList与LinkedList有什么区别?
1、 ArrayList与LinkedList都实现了List接口。
2、 ArrayList是线性表,底层是使用数组实现的,它在尾端插入和访问数据时效率较高,
3、 Linked是双向链表,他在中间插入或者头部插入时效率较高,在访问数据时效率较低
35、Super与this表示什么?
1、 Super表示当前类的父类对象
2、 This表示当前类的对象
36、简述Java的对象结构
Java对象由三个部分组成:对象头、实例数据、对齐填充。
对象头由两部分组成,第一部分存储对象自身的运行时数据:哈希码、GC分代年龄、锁标识状态、线程持有的锁、偏向线程ID(一般占32/64 bit)。第二部分是指针类型,指向对象的类元数据类型(即对象代表哪个类)。如果是数组对象,则对象头中还有一部分用来记录数组长度。
实例数据用来存储对象真正的有效信息(包括父类继承下来的和自己定义的)
对齐填充:JVM要求对象起始地址必须是8字节的整数倍(8字节对齐 )
37、Java 虚拟机栈的作用?
Java 虚拟机栈来描述 Java 方法的内存模型。每当有新线程创建时就会分配一个栈空间,线程结束后栈空间被回收,栈与线程拥有相同的生命周期。栈中元素用于支持虚拟机进行方法调用,每个方法在执行时都会创建一个栈帧存储方法的局部变量表、操作栈、动态链接和方法出口等信息。每个方法从调用到执行完成,就是栈帧从入栈到出栈的过程。
有两类异常:① 线程请求的栈深度大于虚拟机允许的深度抛出 StackOverflowError。② 如果 JVM 栈容量可以动态扩展,栈扩展无法申请足够内存抛出 OutOfMemoryError(HotSpot 不可动态扩展,不存在此问题)。
38、实际开发中应用场景哪里用到了模板方法
其实很多框架中都有用到了模板方法模式
例如:
数据库访问的封装、Junit单元测试、servlet中关于doGet/doPost方法的调用等等
39、import java和javax有什么区别

tech.souyunku.com/EasonJim/p/…
40、构造器(constructor)是否可被重写(override)?
构造器不能被继承,因此不能被重写,但可以被重载。
更多Java 面试题80道
01、创建socket通讯的步骤?
02、Java 中 sleep 方法和 wait 方法的区别?
03、程序计数器(线程私有)
04、什么是线程调度器(Thread Scheduler)和时间分片(Time Slicing)?
05、迭代器 Iterator 是什么?
06、线程的 sleep()方法和 yield()方法有什么区别?
07、Java 中能创建 volatile 数组吗?
08、java中equals方法的用法以及==的用法
09、如何创建一个json对象?
10、如何判断对象是否是垃圾?
11、抽象工厂模式和原型模式之间的区别?
12、在 Java 程序中怎么保证多线程的运行安全?
13、volatile 修饰符的有过什么实践?
14、Java中各种数据默认值
15、说说Java 垃圾回收机制
16、有没有可能两个不相等的对象有有相同的 hashcode?
17、synchronized 和 Lock 有什么区别?
18、什么是Vector
19、对象的访问定位有哪几种方式?
20、equals 和 == 的区别?#
21、什么是ThreadPoolExecutor?
22、invokedynamic 指令是干什么的?
23、synchronized、volatile、CAS 比较
24、Iterator 怎么使用?有什么特点?
25、被引用的对象就一定能存活吗?
26、列出一些你常见的运行时异常?
27、Servlet生命周期内调用的方法过程?
28、阐述静态变量和实例变量的区别。
29、类加载器双亲委派模型机制?
30、抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被synchronized修饰?
31、如何判断一个对象是否存活
32、Int与integer的区别
33、Servlet的生命周期?
34、怎么唤醒一个阻塞的线程
35、虚拟DOM的优劣如何?
36、双亲委派模型是什么?
37、静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?
38、如果对象的引用被置为null,垃圾收集器是否会立即释放对象占用的内存?
39、JVM 出现 fullGC 很频繁,怎么去线上排查问题
40、JVM 内存区域
41、Parallel Old 收集器(多线程标记整理算法)
42、对象分配内存是否线程安全?
43、当一个线程进入某个对象的一个synchronized的实例方法后,其它线程是否可进入此对象的其它方法?
44、Serial 与 Parallel GC 之间的不同之处?
45、为什么线程通信的方法 wait(), notify()和 notifyAll()被定义在 Object 类里?
46、redux异步中间件之间的优劣?
47、类加载为什么要使用双亲委派模式,有没有什么场景是打破了这个模式?
48、Hibernate中Session的load和get方法的区别是什么?
49、说一下堆内存中对象的分配的基本策略
50、Java 中如何将字符串转换为整数?
51、讲讲什么情况下会出现内存溢出,内存泄漏?
52、乐观锁和悲观锁的理解及如何实现,有哪些实现方式?
53、线程与进程的区别?
54、Session的save()、update()、merge()、lock()、saveOrUpdate()和persist()方法分别是做什么的?有什么区别?
55、用代码演示三种代理
56、stackoverflow错误,permgen space错误
57、分代收集算法
58、同步方法和同步块,哪个是更好的选择?
69、Java 中的编译期常量是什么?使用它又什么风险?
70、Java死锁以及如何避免?
71、日期和时间:
72、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
73、依赖注入和工程模式之间有什么不同?
74、Java 堆的结构是什么样子的?什么是堆中的永久代(Perm Gen space)
75、如何修改tomcat的端口号?
76、Java有没有goto?
77、Java 内存分配与回收策率以及 Minor GC 和 Major GC
78、简述Hibernate常见优化策略。
79、Statement与preparedStatement区别
80、什么是DAO模式?
如果不背 Java面试题的答案,肯定面试会挂!
这套Java面试题大全,希望对大家有帮助哈~

2022年最新整理必背的Java面试题大全,背好了Offer在手相关推荐

  1. 2022年最新整理,动力节点Java自学全套资源

    今天整理了java开发的学习路线和相关的学习视频资源,非常适合零基础入门java的小伙伴,希望大家在学习的时候,能够节省时间. 这里有你需要掌握的所有前沿技术,史上最全的Java学习路线资源,从基础到 ...

  2. 今年最新整理的《高频Java面试题集合》,聪明人已经收藏了!

    开篇介绍 个人背景: 不说太多废话,但起码要让你先对我有一个基本的了解.本人毕业于浙江某二本院校,算是科班出身,毕业后就进了一家外包公司做开发,当然不是阿里的外包,具体什么公司就不透露了,在外包一呆就 ...

  3. linux下软件编译终止,[2018年最新整理]linux下编译运行程序命令大全.ppt

    [2018年最新整理]linux下编译运行程序命令大全 1. 项目课题引入 2. Vi编辑器的使用方法 3. Linux中C语言程序的编辑 4. Linux中C语言程序的运行 5. 现场演示案例 课题 ...

  4. 2020最新Java面试题大全,赶紧收藏吧!

    发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一.Java 基础 1. JDK 和 J ...

  5. 6 道 BATJ 必考的 Java 面试题

    转载自   6 道 BATJ 必考的 Java 面试题 题目一 请对比 Exception 和 Error,另外,运行时异常与一般异常有什么区别? 考点分析: 分析 Exception 和 Error ...

  6. 这些BATJ必考的Java面试题,你都懂了吗?

    转载自   这些BATJ必考的Java面试题,你都懂了吗? 题目一 请对比 Exception 和 Error,另外,运行时异常与一般异常有什么区别? 考点分析: 分析 Exception 和 Err ...

  7. 计算机应用基础165791,[2018年最新整理]人大网大计算机应用基础试题答案.doc

    [2018年最新整理]人大网大计算机应用基础试题答案 人大网大计算机应用基础试题答案 第一章 计算机基础知识 1.[165413](单项选择题)1MB=( )B. A.512K B.1024K C.1 ...

  8. java面试题怎么背?java面试题有哪些?

    每一个去面试java的人员,在面试之前都会看相关面试题,有的甚至还会将面试题背下来,心中有数之后就会更加有利于面试的通过,那java面试题怎么背?下面来我们就来给大家讲解一下. java面试题不需要背 ...

  9. Java面试题大全带答案 110道(持续更新)

    本人发现网上虽然有不少Java面试题大全带答案,但第一未必全,第二未必有答案,第三虽然有答案,但未必能在面试中说,所以在本文里,会不断收集各种面试题,并站在面试官的立场上,给出我自己的答案 如果不背 ...

最新文章

  1. linux环境编程--IPC 之 msg queue
  2. 韩国踩点跪:自愿向美交半导体机密,曾放话硬刚
  3. 深入浅出Paxos分布式一致性算法
  4. MyBatis 解决了什么问题?
  5. 代码需要不断进化和改变
  6. vue实现星级评价效果
  7. MySQL必会企业面试题
  8. 轻松带你走进shiro的世界
  9. 利用layui来完成垂直和侧边导航的小案例
  10. CSDN在线下载免费获取积分
  11. Unity功能实现——解析OBJ模型文件
  12. 解决3Dmax材质编辑器重影问题
  13. 怎样用计算机画太极,用CorelDRAW X4快速绘制太极八卦图形
  14. Content has been consumed
  15. 文件上传控件-如何上传文件-文件夹上传
  16. 快手光合计划完整版攻略
  17. 22.1.2是否存在三升序列
  18. 遇到面试心情总是很紧张该怎么缓解
  19. 【JY】混凝土分析工具箱:CDP模型插件与滞回曲线数据
  20. linux安装深度播放器,Ubuntu下安装深度音乐播放器Dmusic

热门文章

  1. 为什么刹车热了会失灵_刹车忽然失灵后又好了,刹车突然失灵的原因
  2. python窃取摄像头照片(摄像头拍照+邮箱发送+打包exe)
  3. epic转移游戏_Google对Epic的回应 Android 12将使安装应用商店更加容易
  4. 如何针对轮播图进行功能测试?
  5. git的基本使用命令
  6. Java 代理模式的实现和原理详细分析
  7. Basler pylon-ros-camera驱动 Xavier AGX调试记录 (Arm架构)
  8. (6)3DMAX之挤出修改器、倒角修改器、图形的可渲染属性
  9. 关于Proteus安装后找不到Proteus 7 Professional文件夹或者打不开ISIS 7 Professional解决方案
  10. c 语言推箱子vs,C语言推箱子小游戏教程