
Java面试
|晴天|
这个作者很懒,什么都没留下…
展开
-
Java虚拟机——JVM
JVMJava 虚拟机1.类从编译到执行的过程2.谈谈ClassLoader3.谈谈类加载器的双亲委派机制4.你理解Java的区域么4.1程序计数器4.2 Java虚拟机栈(stack)4.4元空间(MetaSpace)与永久代(PermGen)(方法区)4.5 Java堆5 .Xss,Xms,Xmx6.GC用的引用可达性分析算法中,哪些对象可作为GC Roots对象(可达性分析算法)7. JVM垃圾处理方法(标记清除、复制、标记整理)7.1. 标记-清除算法(产生大量碎片化,效率不高)7.2复制算法 (解原创 2020-09-10 15:42:55 · 186 阅读 · 0 评论 -
Java基础
[TOC]一、数据类型基本类型byte/8char/16short/16int/32float/32long/64double/64boolean/~boolean 只有两个值:true、false,可以使用 1 bit 来存储,但是具体大小没有明确规定。JVM 会在编译时期将 boolean 类型的数据转换为 int,使用 1 来表示 true,0 表示 false。JVM 支持 boolean 数组,但是是通过读写 byte 数组来实现的。Primitive Data .原创 2020-09-10 15:41:46 · 185 阅读 · 0 评论 -
JUC多线程及高并发
JUC多线程及高并发JUC多线程及高并发一、synchronized关键字(互斥锁)1、说一说自己对于synchronized关键字的理解2、 说说自己是怎么使用synchronized关键字3、双重校验实现单例模式4、讲下synchronized关键字的底层实现原理5、说说JDK1.6之后的synchronized关键字底层做了哪些优化6、谈谈synchronized和ReentrankLock的区别7、synchronized和Lock的区别一、请你谈谈对volatile的理解1、volatile是ja原创 2020-09-10 15:34:13 · 1035 阅读 · 0 评论 -
数据库的知识点——索引、redis操作
1.为什么创建索引创建索引可以大大提高系统的性能。通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。可以大大加快数据的检索速度,这也是创建索引的最主要的原因。可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。2.建立索引的缺点创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。索引需要占物理空间,除了数据表原创 2020-09-09 14:20:55 · 1930 阅读 · 2 评论 -
redis相关知识——rdb和aof过程
添加链接描述原创 2020-09-08 19:37:12 · 138 阅读 · 0 评论 -
redis相关知识——一致性哈希、哈希槽
1、集群分片模式如果 redis 只用复制功能做主从,那么当数据量巨大的情况下,单机情况下可能已经承受不下一份数据,更不用说是主从都要各自保存一份完整的数据。在这种情况下,数据分片是一个非常好的解决办法。redis 的 custer 正是用于解决该问题。它主要提供两个功能:1、自动对数据分片,落到各个节点上2、即使集群部分节点失效或者连接不上,依然可以继续处理命令对于第二点,它的功能有点类似于 sentienl 的故障转移,在这里不细说。下面详细了解下 redis 的槽位分片原理,在此之前,先了解原创 2020-09-08 16:07:29 · 817 阅读 · 0 评论 -
计算机网络——知识点
滑动窗口协议TCP协议的使用维持发送方/接收方缓冲区缓冲区是 用来解决网络之间数据不可靠的问题,例如丢包,重复包,出错,乱序在TCP协议中,发送方和接受方通过各自维护自己的缓冲区。通过商定包的重传机制等一系列操作,来解决不可靠的问题。拥塞控制在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏,这种情况就叫做网络拥塞。在计算机网络中数位链路容量(即带宽)、交换结点中的缓存和处理机等,都是网络的资源。若出现拥塞而不进行控制,整个网络的吞吐量将随输入负荷的增原创 2020-09-08 15:36:24 · 408 阅读 · 0 评论 -
Java查漏补缺--知识点
面试知识点数据库分库分表、https和http、序列化和反序列化、sortset和跳表、一致性哈希1.1、说说映射和反射反射和映射–简书**反射:**当我们的程序在运行时,需要动态的加载一些类这些类可能之前用不到所以不用加载到jvm,而是在运行时根据需要才加载,在运行时获取类的完整构造,并调用对应的方法。在运行状态下,对于任意一个类,知道这个类的所有属性和方法;对于任意对象,能够调用它的任意方法和属性。**映射:**一种特殊的对应关系,1.2 进程和线程的区别**进程:**进程原创 2020-09-08 11:12:43 · 604 阅读 · 0 评论 -
JVM知识点
文章目录Java 虚拟机1.类从编译到执行的过程2.谈谈ClassLoader3.谈谈类加载器的双亲委派机制4.你理解Java的区域么4.1程序计数器4.2 Java虚拟机栈(stack)4.3. Java本地方法栈(stack)4.4元空间(MetaSpace)与永久代(PermGen)(方法区)4.5 Java堆5 .Xss,Xms,Xmx6.GC用的引用可达性分析算法中,哪些对象可作为GC Roots对象(可达性分析算法)7. JVM垃圾处理方法(标记清除、复制、标记整理)7.1. 标记-清除算法(产原创 2020-09-08 11:08:30 · 1081 阅读 · 0 评论 -
LinkedHashMap--知识点
LinkedHashMap–知识点LinkedHashMap 源码详细分析LinkedHashMap 继承自 HashMap,所以它的底层仍然是基于拉链式散列结构。该结构由数组和链表+红黑树 在此基础上LinkedHashMap 增加了一条双向链表,保持遍历顺序和插入顺序一致的问题。LinkedHashMap 允许使用null值和null键, 线程是不安全的,虽然底层使用了双线链表,但是增删相快了。因为他底层的Entity 保留了hashMap node 的next 属性。它继承自HashMa原创 2020-09-08 11:04:40 · 453 阅读 · 0 评论 -
HashMap--知识点(JDK8)
概括的说,HashMap 是一个关联数组、哈希表,它是线程不安全的,允许key为null,value为null。遍历时无序。其底层数据结构是数组称之为哈希桶,每个桶里面放的是链表,链表中的每个节点,就是哈希表中的每个元素。在JDK8中,当链表长度达到8,会转化成红黑树,以提升它的查询、插入效率,它实现了Map<K,V>, Cloneable, Serializable接口。因其底层哈希桶的数据结构是数组,所以也会涉及到扩容的问题。当HashMap的容量达到threshold域值时,就会触原创 2020-09-08 10:04:12 · 201 阅读 · 0 评论