![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
ConstXiong
记录编程实践...
展开
-
技术面试要领
技术面试要领面试问题类型1、了解个人基本信息--自我介绍2、非能力层面的问题--考察你是否了解自己、了解公司以及岗位,考察你的工作态度和了解你的职业规划3、综合能力层面的问题--HR通过提问综合能力层面的问题来考察面试者的反应能力、沟通能力、学习能力、问题解决能力和领导能力等4、专业能力层面的问题--问过去:在专业能力...原创 2019-03-06 14:43:08 · 4790 阅读 · 0 评论 -
JDK 和 JRE 有什么区别
JDK 和 JRE 有什么区别?JRE:Java Runtime Environment(java运行时环境)。即java程序的运行时环境,包含了java虚拟机,java基础类库。JDK:Java Development Kit(java开发工具包)。即java语言编写的程序所需的开发工具包。 JDK包含了JRE,同时还包括java源码的编译器javac、监控工具...原创 2019-04-04 14:13:04 · 35314 阅读 · 1 评论 -
java 入门面试题
起因焦虑。每次自己想跳槽的时候,内心总是担忧着那些面试题怎么解答。 很多问题在实际工作中并不会遇到,没有实际的解决问题经验,看过也记不住。 假如我明年需要换工作,那现在把下次的面试准备工作,拆分、融入到平时的每天中,会不会取得更满意的offer?目标收集网上各种经典的 java 面试题 做出答案,分享出去,和猿友讨论,不断进步 扩大知识图谱,扎实基础,梳理知识脉络...原创 2019-04-04 14:13:55 · 54812 阅读 · 78 评论 -
== 和 equals 的区别
== 和 equals 的区别是什么?使用 == 比较Java中的8种基本数据类型(byte,short,char,int,long,float,double,boolean)比较他们之间的值是否相等。引用数据类型,比较的是他们在堆内存地址是否相等。每新new一个引用类型的对象,会重新分配堆内存空间,使用==比较返回false。使用 equals 比较equals方法是...原创 2019-04-04 18:23:41 · 64654 阅读 · 3 评论 -
finally语句块一定执行吗?
finally语句块一定执行吗?答案是不一定。直接返回未执行到finally语句块 抛出异常未执行到finally语句块 系统退出未执行到finally语句块...存在很多特殊情况导致finally语句块不执行。代码如下public static String test() { String str = null; int i = 0; if (i == 0)...原创 2019-04-10 11:11:02 · 9775 阅读 · 5 评论 -
final finally finalize()区别
final finally finalize()区别final 表示最终的、不可改变的。用于修饰类、方法和变量。 finally 异常处理的一部分,它只能用在try/catch语句中,表示希望finally语句块中的代码最后一定被执行(但是不一定会被执行) finalize()是在java.lang.Object里定义的,Object的finalize方法什么都不做,对象被回收时fin...原创 2019-04-10 11:18:00 · 11633 阅读 · 0 评论 -
基本类型和包装类对象使用 == 和 equals进行比较的结果?
基本类型的包装类对象使用 == 和 equals进行比较的结果1、值不同,使用==和equals比较都返回false2、值相同使用==比较:基本类型-基本类型、基本类型-包装对象返回true 包装对象-包装对象返回false 缓存中去的包装对象比较返回true(JVM 缓存部分基本类型常用的包装类对象,如 Integer 缓存 -128 ~ 127 ) ...原创 2019-04-07 00:13:07 · 14944 阅读 · 17 评论 -
final 与 static 的区别
final 与 static 的区别都可以修饰类、方法、成员变量。static可以修饰类的代码块,final不可以。static不可以修饰方法内的局部变量,final可以。static修饰表示静态或全局,被修饰的属性和方法属于类,可以用类名.静态属性 / 方法名 访问static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块,只会被执行一...原创 2019-04-11 10:58:10 · 15145 阅读 · 0 评论 -
什么是装箱?什么是拆箱?装箱和拆箱的执行过程?
什么是装箱?什么是拆箱?装箱和拆箱的执行过程?常见问题?1、什么是装箱?什么是拆箱?装箱:基本类型转变为包装器类型的过程。拆箱:包装器类型转变为基本类型的过程。//JDK1.5之前是不支持自动装箱和自动拆箱的,定义Integer对象,必须Integer i = new Integer(8);//JDK1.5开始,提供了自动装箱的功能,定义Integer对象可以这样Int...原创 2019-04-08 11:47:46 · 26291 阅读 · 0 评论 -
return 与 finally 的执行顺序对返回值的影响
return 与 finally 的执行顺序对返回值的影响对于 try 和 finally 至少一个语句块包含 return 语句的情况:finally 语句块会执行finally 没有 return,finally 对 return 变量的重新赋值修改无效try 和 finally 都包含return,return 值会以 finally 语句块 return 值为准代码...原创 2019-04-12 14:29:51 · 9277 阅读 · 10 评论 -
String 属于基础的数据类型吗?
String 属于基础的数据类型吗?不属于。Java8种基础的数据类型:byte、short、char、int、long、float、double、boolean。【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 Linux MySQL Oracle Redi...原创 2019-04-16 09:21:47 · 14479 阅读 · 7 评论 -
java 中操作字符串都有哪些类?它们之间有什么区别?
java 中操作字符串都有哪些类?它们之间有什么区别?String、StringBuffer、StringBuilderString : final修饰,String类的方法都是返回new String。即对String对象的任何改变都不影响到原对象,对字符串的修改操作都会生成新的对象。 StringBuffer : 对字符串的操作的方法都加了synchronized,保证线程安全。...原创 2019-04-16 10:32:51 · 36701 阅读 · 1 评论 -
如何将字符串反转
如何将字符串反转?1、使用 StringBuilder 或 StringBuffer 的 reverse 方法,本质都调用了它们的父类AbstractStringBuilder 的reverse 方法实现。(JDK1.8)2、不考虑字符串中的字符是否是 Unicode 编码,自己实现。代码 public static void main(String[]...原创 2019-04-16 11:15:57 · 17547 阅读 · 14 评论 -
hashCode()相同,equals() 也一定为 true吗?
两个对象hashCode()相同,equals() 也一定为 true吗?首先,答案肯定是不一定。同时反过来equals为true,hashCode也不一定相同。类的hashCode方法和equals方法都可以重写,返回的值完全在于自己定义。hashCode()返回该对象的哈希码值;equals()返回两个对象是否相等。关于hashCode和equal是方法是有一些...原创 2019-04-10 00:19:45 · 24613 阅读 · 17 评论 -
final 在 java 中的作用
final 在 java 中的作用是什么?final 语义是不可改变的。被 final 修饰的类,不能够被继承。 被 final 修饰的成员变量必须要初始化,赋初值后不能再重新赋值(可以调用本对象方法修改属性值)。对基本类型来说是其值不可变;对引用变量来说其引用不可变,即不能再指向其他的对象。 被 final 修饰的方法代表不能重写。【Java面试题与答案】整理...原创 2019-04-10 09:36:03 · 11537 阅读 · 0 评论 -
replace和replaceAll的区别
String对象中的replace和replaceAll的区别?replace方法:支持字符和字符串的替换。public String replace(char oldChar, char newChar)public String replace(CharSequence target, CharSequence replacement)replaceAll方法:基于正则表...原创 2019-04-14 16:45:05 · 43615 阅读 · 15 评论 -
java 中 IO 流有哪些?
java 中 IO 流有哪些?按数据流向:输入流和输出流 输入和输出都是从程序的角度来说的。输入流:数据流向程序;输出流:数据从程序流出。 按处理单位:字节流和字符流 字节流:一次读入或读出是8位二进制;字符流:一次读入或读出是16位二进制。 JDK中后缀是Stream是字节流;后缀是Reader,Writer是字符流。 按功能功能:节点流和处理...原创 2019-04-22 15:53:46 · 10639 阅读 · 0 评论 -
Math.round(-1.5) 等于多少
Math.round(-1.5) 等于多少-1。扩展JDK中的java.lang.Math类round:返回四舍五入,负.5小数返回较大整数,如-1.5返回-1。ceil:返回小数所在两整数间的较大值,如-1.5返回-1。tail:返回小数所在两整数间的较小值,如-1.5返回-2。实验代码 System.out.println("Math.roun...原创 2019-04-15 10:46:15 · 13573 阅读 · 9 评论 -
String 类的常用方法
String 类的常用方法equals 字符串是否相同 equalsIgnoreCase 忽略大小写后字符串是否相同 compareTo 根据字符串中每个字符的Unicode编码进行比较 compareToIgnoreCase 根据字符串中每个字符的Unicode编码进行忽略大小写比较 indexOf 目标字符或字符串在源字符串中位置下标 ...原创 2019-04-18 13:58:42 · 8708 阅读 · 0 评论 -
抽象类必须要有抽象方法吗?
抽象类必须要有抽象方法吗?不一定。如public abstract class TestAbstractClass { public static void notAbstractMethod() { System.out.println("I am not a abstract method."); } }【Java面试题与答案】整理推荐基础与语法 集...原创 2019-04-18 14:01:58 · 12803 阅读 · 0 评论 -
普通类和抽象类有哪些区别?
普通类和抽象类有哪些区别?抽象类不能被实例化 抽象类可以有抽象方法,抽象方法只需申明,无需实现 含有抽象方法的类必须申明为抽象类 抽象的子类必须实现抽象类中所有抽象方法,否则这个子类也是抽象类 抽象方法不能被声明为静态 抽象方法不能用private修饰 抽象方法不能用final修饰【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web...原创 2019-04-18 14:23:50 · 30581 阅读 · 1 评论 -
抽象类能使用 final 修饰吗?
抽象类能使用 final 修饰吗?不能,抽象类是被用于继承的,final修饰代表不可修改、不可继承的。【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 Linux MySQL Oracle Redis Dubbo...原创 2019-04-18 14:32:29 · 23429 阅读 · 1 评论 -
HashMap 和 Hashtable 有什么区别?
HashMap 和 Hashtable 有什么区别?JDK1.8 主要区别如下:线程安全性不同。HashMap线程不安全;Hashtable 中的方法是Synchronize的。 key、value是否允许null。HashMap的key和value都是可以是null,key只允许一个null;Hashtable的key和value都不可为null。 迭代器不同。HashMap的I...原创 2019-05-01 21:10:13 · 13644 阅读 · 3 评论 -
BIO、NIO、AIO 有什么区别?
BIO、NIO、AIO 有什么区别?BIO:线程发起IO请求,不管内核是否准备好IO操作,从发起请求起,线程一直阻塞,直到操作完成。 NIO:线程发起IO请求,立即返回;内核在做好IO操作的准备之后,通过调用注册的回调函数通知线程做IO操作,线程开始阻塞,直到操作完成。 AIO:线程发起IO请求,立即返回;内存做好IO操作的准备之后,做IO操作,直到操作完成或者失败,通过调用注册的回调...原创 2019-04-23 11:35:55 · 24200 阅读 · 5 评论 -
什么是JAVA内部类?
什么是JAVA内部类?1、概念存在于Java类的内部的Java类。2、分类成员内部类 格式 class OuterClass { class InnerClass {} //成员内部类} 编译之后会生成两个class文件:OuterClass.class和OuterClass$InnerClass.clas 方法内部类 格式 clas...原创 2019-04-23 13:58:14 · 14022 阅读 · 0 评论 -
nio中的Files类常用方法
nio中的Files类有哪些常用方法?isExecutable:文件是否可以执行isSameFile:是否同一个文件或目录isReadable:是否可读isDirectory:是否为目录isHidden:是否隐藏isWritable:是否可写isRegularFile:是否为普通文件getPosixFilePermissions:获取POSIX文件权限,wind...原创 2019-04-27 22:21:10 · 7811 阅读 · 0 评论 -
接口和抽象类有什么区别?
接口和抽象类有什么区别?抽象类可以有构造方法;接口中不能有构造方法。 抽象类中可以有普通成员变量;接口中没有普通成员变量。 抽象类中可以包含非抽象普通方法;接口中的所有方法必须都是抽象的。 抽象类中的抽象方法的访问权限可以是 public、protected 和 default;接口中的抽象方法只能是 public 类型的,并且默认即为 public abstract 类型。 抽象...原创 2019-04-19 14:06:15 · 8464 阅读 · 0 评论 -
Java4种访问修饰符权限的区别?
Java4种访问修饰符权限的区别?Java语言中有四种权限访问控制符,能够控制类中成员变量和方法的可见性。public 被public修饰的成员变量和方法可以在任何类中都能被访问到。 被public修饰的类,在一个java源文件中只能有一个类被声明为public,而且一旦有一个类为public,那这个java源文件的文件名就必须要和这个被public所修饰的类的类名相同...原创 2019-04-19 14:40:38 · 10036 阅读 · 4 评论 -
使用 HashMap 还是 TreeMap?
使用 HashMap 还是 TreeMap?HashMap基于散列桶(数组和链表)实现;TreeMap基于红黑树实现。HashMap不支持排序;TreeMap默认是按照Key值升序排序的,可指定排序的比较器,主要用于存入元素时对元素进行自动排序。HashMap大多数情况下有更好的性能,尤其是读数据。在没有排序要求的情况下,使用HashMap。都是非线程安全。进一步分析...原创 2019-05-03 23:05:05 · 8082 阅读 · 0 评论 -
HashMap 的实现原理
HashMap 的实现原理?可以参考:https://baijiahao.baidu.com/s?id=1589800850701839003&wfr=spider&for=pchttps://www.cnblogs.com/chengxiao/p/6059914.html#!commentshttps://baijiahao.baidu.com/s?id=16...原创 2019-05-03 23:55:00 · 8174 阅读 · 0 评论 -
java 有哪些常用容器(集合)?
java 有哪些常用容器(集合)?java 容器都有哪些?Collection| ├AbstractCollection 对Collection接口的最小化抽象实现| │| ├List 有序集合| │-├AbstractList 有序集合的最小化抽象实现| │-├ArrayList 基于数组实现的有序集合| │-├LinkedList ...原创 2019-04-29 10:52:47 · 14578 阅读 · 9 评论 -
HashSet 的实现原理
HashSet 的实现原理基于HashMap实现元素的操作 无序 允许新增一个null值ps:可直接看HashSet的源码,较简单。HashMap 的实现原理相关。【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 Linux MySQL Oracl...原创 2019-05-05 10:18:53 · 6606 阅读 · 0 评论 -
ArrayList 和 LinkedList 的区别
ArrayList 和 LinkedList 的区别ArrayList基于动态数组实现的非线程安全的集合;LinkedList基于链表实现的非线程安全的集合。 对于随机index访问的get和set方法,一般ArrayList的速度要优于LinkedList。因为ArrayList直接通过数组下标直接找到元素;LinkedList要移动指针遍历每个元素直到找到为止。 新增和删除元素,一...原创 2019-05-05 16:07:45 · 43763 阅读 · 2 评论 -
数组和 List 的转换
如何实现数组和 List 之间的转换?数组转 List ,使用 JDK 中 java.util.Arrays 工具类的 asList 方法public static void testArray2List() { String[] strs = new String[] {"aaa", "bbb", "ccc"}; List<String> list = Arrays...原创 2019-05-06 09:33:19 · 7515 阅读 · 0 评论 -
ArrayList 和 Vector 的区别
ArrayList 和 Vector 的区别是什么?Vector 的方法都是同步的,线程安全;ArrayList 非线程安全,但性能比Vector好 默认初始化容量都是10,Vector 扩容默认会翻倍,可指定扩容的大小;ArrayList只增加 50%【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数...原创 2019-05-06 10:19:33 · 7460 阅读 · 0 评论 -
Array 和 ArrayList 的区别
Array 和 ArrayList 有何区别?Array 即数组,声明方式可以如下:int[] array = new int[3];int array [] = new int[3];int[] array = {1, 2, 3};int[] array = new int[]{1, 2, 3};定义一个 Array 时,必须指定数组的数据类型及数组长度,即数组中存...原创 2019-05-06 11:38:33 · 8004 阅读 · 0 评论 -
Collection 和 Collections 有什么区别?
Collection 和 Collections 有什么区别?Collection是JDK中集合层次结构中的最根本的接口。定义了集合类的基本方法。源码中的解释: * The root interface in the <i>collection hierarchy</i>. A collection * represents a group of obje...原创 2019-04-30 23:30:39 · 10903 阅读 · 0 评论 -
Queue 中 add() 和 offer() 区别
在 Queue 中 add() 和 offer() 有什么区别?Queue 中 add() 和 offer()都是用来向队列添加一个元素。在容量已满的情况下,add() 方法会抛出IllegalStateException异常,offer() 方法只会返回 false 。JDK1.8/** * Inserts the specified element into t...原创 2019-05-06 15:32:14 · 61970 阅读 · 5 评论 -
Queue 中 remove() 和 poll() 区别
Queue 中 remove() 和 poll()有什么区别?Queue 中 remove() 和 poll()都是用来从队列头部删除一个元素。在队列元素为空的情况下,remove() 方法会抛出NoSuchElementException异常,poll() 方法只会返回 null。JDK1.8/** * Retrieves and removes the he...原创 2019-05-06 15:43:33 · 46283 阅读 · 0 评论 -
Queue 中 element() 和 peek() 的区别
在 Queue 中 element() 和 peek()有什么区别?Queue 中 element() 和 peek()都是用来返回队列的头元素,不删除。在队列元素为空的情况下,element() 方法会抛出NoSuchElementException异常,peek() 方法只会返回 null。JDK1.8/** * Retrieves, but does no...原创 2019-05-06 15:48:24 · 25014 阅读 · 0 评论