
Java面试题
文章平均质量分 52
Java面试题,为面试做准备
王六六同学
成为更好的自己,这是新的约定。
展开
-
返回值为int[] 的快排写法
快排原创 2022-10-13 11:08:46 · 232 阅读 · 0 评论 -
acm模式实现树的遍历
树的遍历原创 2022-10-11 17:28:36 · 663 阅读 · 0 评论 -
2022.08.28笔试
知识点复习原创 2022-08-28 15:57:14 · 682 阅读 · 0 评论 -
Java终止线程的三种方式
线程原创 2022-08-27 03:13:43 · 7759 阅读 · 0 评论 -
【Java】笔试-知识点复习
笔试-知识点原创 2022-08-26 23:22:48 · 671 阅读 · 0 评论 -
【Java并发】单例模式与synchronized关键字与voliate关键字
单例模式-饿汉式(线程安全)上来不管三七二十一直接创建对象再说。1.先创建一个私有的构造函数(防止其它地方直接实例化)2.定义私有变量3.提供公共的获取实例的方法为什么线程安全:类加载的方式是按需加载,且只加载一次因此,在上述单例类被加载时,就会实例化一个对象并交给自己的引用,供系统使用。单例就是该类只能返回一个实例。换句话说,在线程访问单例对象之前就已经创建好了。再加上,由于一个类在整个生命周期中只会被加载一次,因此该单例类只会创建一个实例。也就是说,线程每次都只能也必定只可以拿到这原创 2022-03-10 19:18:13 · 1045 阅读 · 0 评论 -
【Java面试题】区别系列
[面试题]final、finally、finalize三者的区别?类似:throw 和 throwsCollection 和 CollectionsString 、StringBuffer、StringBuilderArrayList 、 LinkedListHashMap 、LinkedHashMap重写、重载结构不相似的:抽象类、接口== 、 equals()sleep()、wait()...原创 2021-10-14 16:26:18 · 116 阅读 · 0 评论 -
【Java面试题】HashMap的底层实现原理
描述HashMap的底层实现原理HashMap:作为Map的主要实现类;线程不安全的,效率高;存储null的key和valueHashMap在jdk7中的底层实现原理:HashMap map = new HashMap():在实例化以后,底层创建了长度是16的一维数组Entry[] table。…可能已经执行过多次put…map.put(key1,value1):首先,调用key1所在类的hashCode()计算key1哈希值,此哈希值经过某种算法计算以后,得到在Entry数组中的存放位置。如原创 2021-09-25 10:23:51 · 292 阅读 · 5 评论 -
【Java面试题】Set
1.练习:在List内去除重复数字值,要求尽量简单HashSet 不可重复性 - 将重复的进行过滤 public static List duplicateList(List list) { HashSet set = new HashSet(); set.addAll(list); return new ArrayList(set); } @Test public void test2(){ List list =原创 2021-09-23 23:58:10 · 365 阅读 · 1 评论 -
【Java面试题】ArrayList、LinkedList、Vector三者的异同
面试题:ArrayList、LinkedList、Vector者的异同?同: 三个类都是实现了List接口,存储数据的特点相同:存储序的、可重复的数据不同:ArrayList:作为List接口的主要实现类;线程不安全的,效率高;底层使用Object[] elementData存储LinkedList:对于频繁的插入、删除操作,使用此类效率比ArrayList高;底层使用双向链表存储Vector:作为List接口的古老实现类;线程安全的,效率低;底层使用Object[] elementData原创 2021-09-23 17:43:09 · 197 阅读 · 0 评论 -
【Java面试题】String类
public class StringTest { String str = new String("good"); char[] ch = { 't', 'e', 's', 't' }; public void change(String str, char ch[]) { str = "test ok"; ch[0] = 'b'; } public static void main(String[] args) {原创 2021-09-17 17:13:27 · 229 阅读 · 0 评论 -
【Java面试题】多线程的创建
面试题:Java中多线程的创建有几种方式?四种。方式一:继承Thread类的方式:创建一个继承于Thread类的子类重写Thread类的run() --> 将此线程执行的操作声明在run()中创建Thread类的子类的对象通过此对象调用start():①启动当前线程 ② 调用当前线程的run()方式二:实现Runnable接口的方式:创建一个实现了Runnable接口的类实现类去实现Runnable中的抽象方法:run()创建实现类的对象将此对象作为参数传递到Thread类的原创 2021-09-17 12:08:31 · 224 阅读 · 0 评论 -
【Java面试题】sleep() 和 wait()的异同?
面试题:sleep() 和 wait()的异同?相同点:一旦执行方法,都可以使得当前的线程进入阻塞状态。不同点:1)两个方法声明的位置不同:Thread类中声明sleep() , Object类中声明wait()2)调用的要求不同:sleep()可以在任何需要的场景下调用。 wait()必须使用在同步代码块或同步方法中3)关于是否释放同步监视器:如果两个方法都使用在同步代码块或同步方法中,sleep()不会释放锁,wait()会释放锁。...原创 2021-09-17 11:03:56 · 121 阅读 · 0 评论 -
【Java面试题】多线程-线程安全
面试题:Java是如何解决线程安全问题的,有几种方式?并对比几种方式的不同方式一:同步代码块 synchronized(同步监视器=对象){ //需要被同步的代码 }说明:操作共享数据的代码,即为需要被同步的代码。 -->不能包含代码多了,也不能包含代码少了。共享数据:多个线程共同操作的变量。比如:ticket就是共享数据。同步监视器,俗称:锁。任何一个类的对象,都可以充当锁。要求:多个线程必须要共用同一把锁。补充:在实现Runnable接口原创 2021-09-15 20:53:07 · 351 阅读 · 1 评论 -
【Java面试题】异常处理
【面试题】常见的异常有哪些?举例说明?throws 和 throw的区别:污:异常上游排污:throw抛出的异常下游治污:throws来处理这个异常原创 2021-09-14 16:06:13 · 116 阅读 · 2 评论 -
【Java面试题】方法的重写与重载的区别
文章目录一、结论方法重载:方法重写:重写与重载直接的区别:二、详解1、方法重载(Overload)1.1 概念:总结:1.2 举例:1.2.1 构成重载的举例:1.2.2 不构成重载的举例:1.3 如何判断是否构成方法的重载?2、方法重写(Override)2.1 概念2.2 举例2.3 重写的规则3.图解区分方法的重写和重载?答:① 二者的概念:② 重载和重写的具体规则③ 重载:不表现为多态性。重写:表现为多态性。重载,是指允许存在多个同名方法,而这些方法的参数不同。编译器根据方法不同的参数表原创 2021-09-11 09:47:56 · 336 阅读 · 0 评论 -
【Java面试题】基本类型、包装类与String类间的转换
包装类的使用之基本类型、包装类与String类间的转换JDK 5.0之前1.基本数据类型----->包装类:调用包装类的构造器举例: @Test public void test1(){ int num1 = 10; Integer in1 = new Integer(num1); System.out.println(in1.toString()); Integer in2 = new Integer("123"); System.out.print原创 2021-09-12 12:56:15 · 130 阅读 · 0 评论 -
【Java面试题】多态是编译时行为还是运行时行为?
面试题:多态是编译时行为还是运行时行为?证明如下:class Animal { protected void eat() { System.out.println("animal eat food"); }}class Cat extends Animal { protected void eat() { System.out.println("cat eat fish"); }}class Dog extends Animal { public vo原创 2021-09-12 14:50:30 · 184 阅读 · 0 评论 -
【Java面试题】== 和 equals() 区别
面试题:① final、finally、finalize的区别?② == 和 equals() 区别1 == 既可以比较基本类型也可以比较引用类型。对于基本类型就是比较值,对于引用类型就是比较内存地址2 equals的话,它是属于java.lang.Object类里面的方法,如果该方法没有被重写过默认也是 ==;我们可以看到String等类的equals方法是被重写过的,而且String类在日常开发中用的比较多,久而久之,形成了equals是比较值的错误观点。3 具体要看自定义类里原创 2021-09-12 14:48:45 · 132 阅读 · 0 评论