今日分享开始啦,请大家多多指教~
Throw 和 throws 的区别?
throws 用在方法定义上,后面跟着的是异常类,可以多个。
而 throw 用在方法内部,后面跟着的是异常对象。
throws 表示这个方法可能会抛出哪些异常,这样调用者可以知道这个方法会抛出什么异常,可以提前进行预处理; throw 表示要抛出什么异常对象,throw 后面的语句不会被执行到,会将异常抛出到调用者。
throws 和 throw 都不处理异常,而是将抛出或者可能抛出异常,由调用者去处理异常。
获取 Class 对象有哪些方法?
调用对象的 getClass() 方法来获取。
Person person = new Person();
Class<? extends Person> aClass = person.getClass();
调用类的 class 属性来获取。
Class<Person> personClass = Person.class;
调用 Class 类的 forName() 静态方法来获取,比较常用,也是性能最好的。
Class<?> aClass = Class.forName(“com.chenpi.Person”);
什么是 Java 反射机制?
Java 反射机制是在运行期,对于任意一个类,都能够获得这个类的所有属性和方法。对于任意一个对象都能够调用它的任意一个属性和方法。这种在运行时动态地获取信息以及动态调用对象的方法的功能称为 Java 的反射机制。
我们知道,程序运行时,允许改变程序结构或变量类型的语言称为动态语言。例如 Python,Ruby等是动态语言。而 Java 不是动态语言,但是 Java 的反射机制让它成为准动态语言。反射允许静态语言在运行时检查,修改程序的结构与行为。
final 的作用?
final 修饰类时,说明这个类不能被继承。如果你希望一个不要被继承,就可以用 final 关键字修饰。
final 修饰方法,说明这个方法不能被重写。
final 修饰变量,说明这个变量的值赋值后不能被修改。
Java 集合类哪些是线程安全和线程不安全的?
线程安全的集合
线程不安全的集合
JAVA 线程创建方式有哪些?
继承 Thread 类,重写 run 方法。
实现 Runnable 接口,重写 run 方法。
实现 Callable 接口,重写 call 方法,这是一个由返回值的方法。
怎么实现动态代理?
什么是死锁?
线程 A 持有独占锁 a,并且还尝试获取独占锁 b 的同时,线程 B 持有独占锁 b,并且还尝试获取独占锁 a 的情况下,这时 A 和 B 线程都在等待对方释放需要的锁,从而发生的阻塞现象,我们称为死锁。
ArrayList 和 LinkedList 的区别?
ArrayList 底层是基于动态数组的数据结构实现,而 LinkedList 是基于双向链表的数据结构实现。
因为 ArrayList 底层是基于数组实现的,所以 ArrayList 比 LinkedList 随机访问效率快。而 LinkedList 是链表线性的数据结构,所以需要移动指针从前往后依次查找,效率比较慢。
在非首尾的增加和删除操作,LinkedList 要比 ArrayList 效率要高。
需要频繁读取集合中的元素时,推荐使用 ArrayList;在插入和删除操作较多时,推荐使用 LinkedList。
并行和并发有什么区别?
Java 访问修饰符有哪些?
构造器(constructor)是否可被重写(override)?
构造器是不能被继承的,所以不能被重写,但是可以被重载。
String 属于基础的数据类型吗?
String 不属于基础类型,String 属于引用类型。基础类型有 8 种:byte、boolean、char、short、int、float、long、double。
普通类和抽象类有哪些区别?
BIO、NIO、AIO 有什么区别?
JDK 和 JRE 区别?
JDK:Java Development Kit,java 开发工具包,提供了 java 的开发环境和运行环境。
JRE:Java Runtime Environment,java 运行环境,提供了 java 的运行环境。
什么是守护线程?
守护线程(daemon thread),是一个服务线程,即服务其他线程的线程。
线程的 run() 和 start() 有什么区别?
线程真正执行的操作是定义在 run() 方法中的,也称为线程体。而通过调用 Thread 类的 start() 方法来启动一个线程。
synchronized 和 volatile 的区别?
volatile 可以告诉告诉 jvm 当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取; synchronized 则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。
今日份分享已结束,请大家多多包涵和指点!
如何获取?
转发分享此文,后台私信小编:“1”即可获取。(注:转发分享,感谢大家)
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!