java面试题
YeWendaddy
应怜屐齿映苍苔,,小扣柴扉久不开
展开
-
不调用库函数实现字符串的反转(如果存在非字母的特殊符号则不反转)
public class StringReverse { public static void main(String[] args) { String word = "china will be great again!"; String newWord = reverse(word); System.out.println(newWord); } public static String ..原创 2020-10-15 11:19:13 · 446 阅读 · 0 评论 -
双重检测单例模式
一 场景在多线程场景下,当一个线程判断instance为null时 ,他会新建一个实例,那么问题来了,当A线程发现对象实例为空时,准备新建一个实例,这时cpu轮询到B线程,B线程也察觉对象实例为空,它也会新建一个实例,这样就破坏了单例模式。二 解决方案首先对象实例必须是全局共享的,用volatile修饰,然后在判断对象实例为空之后要将创建一个工厂方法的同步锁,在其中再判断一次实例是否为空,这样当A线程持有对象锁创建实例后,B线程拿到锁他会再次判断是否存在实例对象,这时A线程已经创建..原创 2020-09-06 08:35:47 · 428 阅读 · 0 评论 -
jdk各版本新特性
https://github.com/aaja/architect-demo/tree/master/jdk原创 2020-08-24 18:55:34 · 131 阅读 · 0 评论 -
面试热门之ThreadLocal详解及源码解读
ThreadLocal简介ThreadLocal是java.lang包下的一个类,以下为官方介绍这个类提供线程局部变量。这些变量与它们的普通对应变量的不同之处在于,每个(通过其get或set方法)访问一个变量的线程都有自己的、独立初始化的变量副本。ThreadLocal实例通常是类中希望将状态与线程(例如,用户ID或事务ID)关联的私有静态字段。每个线程都有一个对其线程局部变量副本的隐式引用,只要线程是活的并且ThreadLocal实例是可访问的;在一个线程离开后,它的线程本地实例的所有副本.原创 2020-08-18 17:28:21 · 128 阅读 · 0 评论 -
类的实例化方法调用顺序
类加载器实例化时进行的操作步骤:加载 -> 连接 -> 初始化父类静态代变量 父类静态代码块 子类静态变量 子类静态代码块 父类非静态变量(父类实例成员变量) 父类构造函数 子类非静态变量(子类实例成员变量) 子类构造函数...原创 2020-08-17 10:47:34 · 206 阅读 · 0 评论 -
java面试题 附答案 持续更新ing
1 32位和64位的jvm中int类型变量的长度是多少32位与64位的jvm中,int类型变量的长度是相同的,都是32位或者4个字节2 表空间及分区表的概念表空间:是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。分区表:当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个“表空间”(物理文件上),这样查询数据时原创 2020-08-17 10:35:38 · 224 阅读 · 0 评论 -
队列poll 与 remove 方法的区别
poll()和remove()都是从队列当中抽取一个元素,但是poll在获取元素失败时会返回空,而remove()失败时会抛出异常.原创 2020-08-17 09:32:58 · 714 阅读 · 0 评论 -
java 判断是否为回文
回文即正数这个位置的数,与反着数这个位置的数相同,那么就构成回文例如:abcba接下来使用java语言实现判断某个字符串是否构成回文方案一private static boolean isPalindrome(String s){ if (s.length()<=1){ return true; }else if( s.scarAt(0)!=s.charAt(s.length()-1){ return false;...原创 2020-08-06 14:19:35 · 505 阅读 · 0 评论 -
Byte 类型面试题
代码片段:byte b1=1,b2=2,b3,b6; final byte b4=4,b5=6; b6=b4+b5; b3=(b1+b2); System.out.println(b3+b6);关于上面代码片段叙述正确的是()A输出结果:13B语句:b6=b4+b5编译出错C语句:b3=b1+b2编译出错D运行期抛出异常答案 C byte数据类型如果不被final修饰在运算时会被提升为int类型,会存在类型不匹配问题...原创 2020-07-28 14:25:59 · 235 阅读 · 0 评论 -
java面试题之 封箱与拆箱 案例加源码详细解读
java的基本数据类型 java有八种基本数据类型可以不必new 而直接使用 分别为4种数值型 byte short int long 2种浮点型 float double 1种布尔型 boolean ...原创 2020-07-25 18:15:06 · 248 阅读 · 0 评论