![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
文章平均质量分 93
uuboke
这个作者很懒,什么都没留下…
展开
-
mysql面试-01
1、为什么索引可以加速查询?索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址,在数据十分庞大的时候,索引可以大大加快查询的速度,这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据二、索引的优缺点优势:可以快速检索,减少I/O次数,加快检索速度;根据索引分组和排序,可以加快分组和排序;劣...原创 2019-08-13 00:29:36 · 413 阅读 · 0 评论 -
ConcurrentHashMap
JDK1.6一. ConcurrentHashMap 概述 不过遗憾的是,HashMap不是线程安全的。也就是说,在多线程环境下,操作HashMap会导致各种各样的线程安全问题,比如在HashMap扩容重哈希时出现的死循环问题,脏读问题等。HashMap的这一缺点往往会造成诸多不便,虽然在并发场景下HashTable和由同步包装器包装的HashMap(Collections.s...原创 2019-06-04 10:42:00 · 431 阅读 · 0 评论 -
异常
结构图:1、java.lang.StackOverflowError:public class StackOverErrorTest { public static void main(String[] args) { stackOverErrorTest(); } private static void stackOverErrorTest(...原创 2019-05-06 09:59:13 · 721 阅读 · 0 评论 -
强引用、弱引用、软引用、虚引用
引用的架构:1、强引用当内存不足,JVM开始垃圾回收,对于强引用的对象,就算是出现OOM也不会对该对象进行回收,死都不收。强引用是我们最常见的普通对象引用,只要还有强引用指向一个对象,就能表明对象还‘活着’,垃圾收集器不会碰这中对象。在java中对常见的就是强引用,把一个对象赋给一个引用变量,这个引用变量就是一个强引用。当一个对象被强引用变量引用时,它处于可达状态,它是不可能被垃圾...原创 2019-05-05 23:23:27 · 221 阅读 · 0 评论 -
队列-线程池-ForkJoinPool
阻塞队列阻塞队列,顾名思义,首先它是一个队列,而一个阻塞队列在数据结构中所起的作用大致如下所示:当阻塞队列是空时,从队列中获取元素的操作将会被阻塞。 当阻塞队列是满时,往队列里添加元素的操作将会 被阻塞。阻塞队列有没有好的一面 不得不阻塞,你如何管理为什么需要BlockingQueue?好处是我们不需要关心什么时候需要阻塞线程,什么时候需要唤醒线程,因为这一切Bloc...原创 2019-04-25 01:07:24 · 2668 阅读 · 0 评论 -
Java Virtual Machine参数
JVM的参数的类型:1、标配参数:Java -version ;Java -help2、X参数(了解)-Xint 解释执行 -Xcomp 第一次使用就编译成本地代码 -Xmixed 混合模式3、XX参数1、Boolean类型:格式:-XX:+或者-某个属性者(+表示开启,-表示关闭)2、KV设置类型格式:-XX:属性key=属性值value 如:-X...原创 2019-04-29 01:30:00 · 733 阅读 · 0 评论 -
集合
一、List集合问题一、问题2、 public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("1"); list.add("2"); for (String it...原创 2019-04-23 01:01:27 · 222 阅读 · 0 评论 -
volatile关键字-CAS-ABA-AtomicReferece-AtomicStampedReference
一、volatile关键字volatile是java虚拟机提供的轻量级的同步机制三大特性:保证可见性 不保证原子性 禁止指令重排1.1 JMM内存之可见性JMM(Java内存模型Java memory Model简称JMM)本身是一种抽象的概念并不真实存在,它描述的是一组规范或规则,通过这组规范定义了程序中各个变量(包含实例字段,静态字段和构成数组对象的元素)的访问方式。...原创 2019-04-22 01:02:02 · 318 阅读 · 0 评论 -
面试解析
1、第一个问题:List list1=new ArrayList();与ArrayList list2=new ArrayList();他们两个之间的区别?区别在于,前者list1--有些ArrayList类具有的,但是List接口没有的属性和方法,它就不能再用了,后者创建一对象则保留了ArrayList的所有属性和方法。问题的关键:为什么要用 List list = new Ar...原创 2018-08-28 10:09:45 · 169 阅读 · 0 评论 -
Java类的各种成员初始化顺序
参考:https://blog.csdn.net/qq_27093465/article/details/70292221class B extends A ,然后A类也就是父类里面有静态代码块,普通代码块,静态方法,静态成员变量,普通成员变量,普通方法。子类也是这样,然后继承之后,关于程序打印输出的结果。涉及到Java类的各种成员的初始化顺序。经测试,得到如下结论:执行顺序:按照下...原创 2018-07-19 13:52:56 · 812 阅读 · 1 评论 -
String操作
首先,我们要先了解常量池的概念,常量池在java中用于保存在编译期已确定的,存在于已编译的class文件中的一份数据。它包括了关于类,方法,接口等中的常量,也包括字符串常量,如String s = “str”这种申明方式;当然也可扩充,执行器产生的常量也会放入常量池,故认为常量池是JVM的一块特殊的内存空间。问题一:String是最基本的数据类型吗?基本数据类型包括byte、int、c...原创 2018-07-18 19:49:08 · 206 阅读 · 0 评论