02 2019 档案
摘要:十二、垃圾回收面试题 1.Object的finalize()方法 2.Java中的强软弱虚四种引用 (1)强引用 (2)软引用(间接引用) (3)弱引用 (4)虚引用 (5)四种引用区别
阅读全文
摘要:十一、垃圾回收之老年代垃圾收集器 1.Serial Old收集器(标记整理算法-单线程-Client模式下) 2.Paraller Old收集器(标记整理算法-多线程-) 3.CMS收集器(标记清除算法) 4.G1收集器(新生代,老年代都可以用)
阅读全文
摘要:十、垃圾回收之新生代垃圾收集器 1.JVM的运行模式 2.Serial收集器(复制算法-单线程-Client模式) 2.ParNew收集器(复制算法-多线程-Client模式) 3.Parallel Scavenge收集器(复制算法-多线程-Server模式下)
阅读全文
摘要:九、垃圾回收回收算法 1.标记-清除(Mark and Sweep) 缺点是内存空间碎片化太严重 2.复制算法(Copying) (1)复制算法介绍 (2)复制算法优势 3.标记-整理算法(Compacting) (1)标记整理算法介绍 (2)标记整理算法优点 4.分代收集算法 (1)GC分类 (2
阅读全文
摘要:八、垃圾回收标记算法 1.对象被判定成垃圾的标准 没有被其他对象引用 2.判断对象是否为垃圾的算法 (1)引用计数法 优点and缺点 (2)可达性分析算法
阅读全文
摘要:七、JVM面试小知识 1.JVM三大性能调优参数 -Xms -Xmx -Xss 的含义 2.java内存模型中堆和栈的区别 3.不同JDK版本中的intern()方法的区别
阅读全文
摘要:六、java内存模型 1.线程独占部分 (1)程序计数器 (2)Java虚拟机栈 (3)本地方法栈 (4)递归为什么会引发java.lang.StackOverFlowError异常吗 2.线程共享部分 (1)MetaSpace和PermGen本质区别 (2)java堆
阅读全文
摘要:1.什么是ClassLoader 2.四种ClassLoader 3.自定义CLassLoader (1)MyClassLoader 原理还是通过ClassLoader中的deFineClass方法来获取Class类型对象,自定义的是路径 (2)实现ClassLoaderChecker (3)实现效
阅读全文
摘要:四、什么是反射 1.反射理论 2.反射实践 (1)创建Robot类 (2)各种操作
阅读全文
摘要:三、JVM如何加载.class文件 1.Java虚拟机的四个部分 2.通过类加载器(ClassLoader)加载.class
阅读全文
摘要:二、Java怎样实现一次编译到处运行(平台无关性) 1.java平台无关性原理 Java源码首先被编译成字节码,再由不同平台的JVM进行解析,JAVA语言在不同的平台上运行时不需要进行重新编译,Java虚拟机在执行字节码的时候,把字节码转换成具体平台上的机器指令。 2.为什么JVM不直接将源码进行编
阅读全文
摘要:一、谈谈你对java的理解 1.Java特性 (1)平台无关性 一次编译到处运行 (2)GC 垃圾回收机制 (3)语言特性 泛型-反射机制-lambda表达式 (4)面向对象 面向对象语言-三大特性(封装,继承,多态) (5)类库 集合库,并发库,网络, (6)异常处理 自定义异常
阅读全文
摘要:项目中使用MyBatis的地方很少,可以说是基本不用,慕课网上面这个项目介绍给也就是一些比较简单的使用例子,我用JPA比较的多,MyBatis有两种使用方式 1.导入MyBatis的依赖 2.配置包扫描信息 3.注解的方式使用 增 删 改 查 2.xml方式的使用 以前使用过反向工具生成Mapper
阅读全文
摘要:目录 1.利用Executors创建线程的五种不同方式 2.为什么要使用线程池 3.Executor的框架 4.J.U.C的三个Executor接口 5.ThreadPoolExecutor 6.线程池的状态 7.线程池大小如何选定 十二、Java线程池 1.利用Executors创建线程的五种不同
阅读全文
摘要:目录 1.CAS简介 2.CAS多数情况下对开发者来说是透明的 3.CAS缺点 十一、CAS(Compare and Swap) Synchronized直观意义上是一种悲观锁 cas则是乐观锁的一种体现 1.CAS简介 2.CAS多数情况下对开发者来说是透明的 3.CAS缺点
阅读全文
摘要:目录 1.什么是JMM 2.JMM的主内存和工作内存 3.JMM如何解决可见性问题-指令重排序 4.Volatile 十、JMM(Java内存模型)(暂时没有理解) 1.什么是JMM 2.JMM的主内存和工作内存 (1)主内存 (2)工作内存 (3)主内存和工作内存数据存储类型以及操作方式归纳 (4
阅读全文
摘要:目录 1.ReentrantLock 2.ReentrantLock的实现 3.synchronized和ReentrantLock的区别 九、ReentrantLock(公平锁) 1.ReentrantLock 2.ReentrantLock的实现 只有当ReentrantLock构造中传入为tr
阅读全文
摘要:目录 1.对象头(Mark Word) 2.对象自带的锁(Monitor) 3.自旋锁和自适应自旋锁 4.偏向锁 5.轻量级锁 6.偏向锁,轻量级锁,重量级锁联系 八、synchronized底层原理 1.对象头(Mark Word) 2.对象自带的锁(Monitor) (1)javap反编译查看原
阅读全文
摘要:目录 1.线程安全的主要原因 2.互斥锁的特性 3.锁的类别 4.类锁和对象锁的总结 七、synchronized 1.线程安全的主要原因 2.互斥锁的特性 Java中synchronized锁的不是代码,而是对象 3.锁的类别 (1)获取对象锁 (2)获取类锁 4.类锁和对象锁的总结
阅读全文
摘要:目录 1.yield函数 2.中断线程 六、<!--[endif]-->yield函数和中断线程 (1)已经被抛弃的方法 (2)目前使用的方法
阅读全文
摘要:目录 1.线程的六个状态 2.sleep和wait的区别 3.锁池(EntryList)和等待池(WaitSet) 4.notify和notifyall的区别 五、线程的状态 1.线程的六个状态 2.sleep和wait的区别 3.锁池(EntryList)与等待池(WaitSet) 4.notif
阅读全文
摘要:目录 1.主线程等待法 2.使用Thread类的join()阻塞当前线程,等待子线程执行完毕 3.通过Callable接口实现:通过FutureTask Or线程池获取 四、线程返回值获取方式和Callable接口 1.主线程等待法 2.使用Thread类的join()阻塞当前线程,等待子线程执行完
阅读全文
摘要:目录 1.Thread和Runnable接口 三、Thread类和Runnable接口 1.Thread和Runnable接口
阅读全文
摘要:目录 1.调用run方法 2.调用start方法 3.start和run的区别 二、Thread中的start和run的区别 1.调用run方法 显示线程只有一个,即main线程 2.调用start方法 我们是用lambda表达式来重写的Thread类,这个时候就会创建一个新的线程 3.start和
阅读全文
摘要:目录 1.进程和线程的由来 2.进程和线程的定义 3.进程和线程的区别 一、进程和线程的区别 1.进程和线程的由来 2.进程和线程的定义 进程是资源分配的最小单位,线程是CPU调度的最小单位 3.进程和线程的区别
阅读全文
摘要:目录 1.SQL语句的功能有那些 2.内连接和外连接的区别 3.什么是存储过程,它与函数有什么区别? 4.各种范式级别 5.什么是触发器 八、数据库其他面试题 1.SQL语句的功能有那些 (1)数据查询 Select-选择符合条件的记录 (2)数据操纵 Insert-插入一条记录 Update-更新
阅读全文
摘要:目录 1.SQL语句由六部分组成 2.Group By 和HAVING 七、复杂SQL语句 1.SQL语句由六部分组成 Select *** From *** Where *** Group BY *** Having *** Order BY *** 2.Group By 和HAVING (1)G
阅读全文
摘要:目录 1.ACID 2.事务并发引起的问题 3.事务隔离机制 4.为什么不直接设置为串行化事务隔离级别 六、数据库事务 1.ACID (1)原子性(Atomic) 整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事
阅读全文
摘要:目录 1.锁的分类 2.共享锁和排斥锁 3.乐观锁与悲观锁 五、数据库中的锁 1.锁的分类 2.共享锁和排斥锁 共享锁(读锁) 排斥锁(写锁) 3.乐观锁与悲观锁 (1)悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它
阅读全文
摘要:目录 1.MyISAM和InnoDB关于锁方面的区别是什么 2.MYSQL的两个常用存储引擎 3.MyISAM应用场景 4.InnoDB适合场景 四、引擎MyISAM和InnoDB 1.MyISAM和InnoDB关于锁方面的区别是什么 MyISAM默认用的是表级锁,不支持行级锁 InnoDB默认用的
阅读全文
摘要:目录 1.B+-Tree更适合用来做存储索引 2.既然Hash索引效率高,为什么不使用他作为索引呢 3.索引是建立越多越好吗 三、索引相关问题 1.B+-Tree更适合用来做存储索引 2.既然Hash索引效率高,为什么不使用他作为索引呢 缺点明显 3.索引是建立越多越好吗 (1)数据量小的表不用使用
阅读全文
摘要:目录 1.二叉查找树 2.B树(B-Tree) 3.B+树(B+-Tree) 4.Hash索引 二、索引的数据结构 1.二叉查找树 2.B树(B-Tree) 二叉搜索树如果数量太大,则进行I/O次数太多,效率也不会太高,所以我们要想办法让树变矮一点,于是就有了B-Tree (1)B-Tree定义 (
阅读全文
摘要:目录 1.为什么要使用索引 2.什么样的信息能够成为索引 3.索引的数据结构 一、索引介绍 1.为什么要使用索引 普通搜索:会遍历全部的数据,然后找出匹配的数据,如果数据太多则非常慢 索引搜索:只会搜索对应索引内容,非常快 2.什么样的信息能够成为索引 能把数据限制在某些段的信息,比如:主键、唯一键
阅读全文
摘要:1.为什么要学习算法 学习算法肯定是为了使程序更加的高效 2.简单使用例子 1.需求:查找部分商品类目信息并且分类返回 2.代码 首先我们查找了所有的商品,然后再将其类目查找了出来 但是我们在拼装这个json时候,我们采用了循环的方法,这个方法的时间复杂度是O(N^2),如果使用Map这个数据结构,
阅读全文
摘要:十三、Socket编程实现TCP和UDP 1.TCP (1)TCPServer.java类 (2)TCPClient.java (3)LengthCalculator.java 2.UDP (1)UDPServer.java (2)UDPClient.java
阅读全文
摘要:目录 1.Socket简介 2.Socket工作原理 1.Socket简介 2.Socket工作原理
阅读全文
摘要:目录 1.SSL(Security Sockets Layer,安全套接层) 2.加密方式 3.HTTPS数据传输流程 4.HTTP和HTTPS的区别 5.HTTP真的很安全吗 十一、HTTP和HTTPS区别 加入了SSL或者TLS协议,让HTTP请求更安全 1.SSL(Security Socke
阅读全文
摘要:目录 1.在浏览器地址栏键入URL,按下回车之后经历的流程 2.HTTP状态码 3.GET请求和POST请求的区别 4.Cookie和Session的区别 5.IPV4和IPV6 十、HTTP的关键问题 1.在浏览器地址栏键入URL,按下回车之后经历的流程 (1)DNS解析 (2)TCP连接(三次握
阅读全文
摘要:目录 1.超文本传输协议HTTP的主要特点 2.HTTP请求结构 3.HTTP响应结构 4.http请求/响应的步骤 九、HTTP简介 1.超文本传输协议HTTP的主要特点 (1)支持客户/服务器模式 (2)简单快速 请求方式有GET,HEAD,POST方式 (3)灵活 (4)无连接(HTTP1.1
阅读全文
摘要:目录 1.RTT和RTO 2.TCP使用滑动窗口做流量控制与乱序重排 3.滑动窗口的基本原理 TCP头部中的窗口字段:滑动窗口大小,用来告知发送端接受端的缓存大小,以此控制发送端发送数据的速率,从而达到流量控制 1.RTT和RTO (1)RTT:发送一个数据包到收到对应的ACK,所花费的时间 (2)
阅读全文
摘要:1.面向连接VS无连接 TCP面向连接而UDP面向无连接的,TCP是和单对单传送数据,UDP适合多波发布 2.可靠性 TCP利用握手,确认,重传机制提供了可靠性保证,UDP可能会丢失,不保证数据可靠 3.有序性 TCP利用序列号,保证了消息的顺序交付,虽然到达可能无序,但是TCP最终会排序,UDP不
阅读全文
摘要:目录 1.UDP作用 2.UDP报文段详解
阅读全文
摘要:目录 1.TCP四次挥手详情 2.为什么会有TIME-WAIT状态 3.为什么需要四次握手才能断开连接 4.服务器出现大量CLOSE_WAIT的原因 1.TCP四次挥手详情 (1)一开始双方都属于已连接状态 (2)客户端发送一个报文段:FIN=1,seq=u。FIN表示连接关闭请求,seq是之前最后
阅读全文
摘要:目录 1.三次握手详情 2.为什么需要三次握手才能建立连接 3.首次握手的隐患 SYN超时的问题 4.建立连接之后,Client出现故障 1.三次握手详情 (1)一开始,客户端和服务器端都处于关闭状态(CLOSED),然后开启服务,服务端这个时候处于监听状态(LISTEN)。 (2)客户端发送一个连
阅读全文
摘要:目录 1.TCP(Transmission Control Protocol传输控制协议)作用 2.TCP报文段详解 1.TCP(Transmission Control Protocol传输控制协议)作用 (1)面向连接的、可靠地、基于字节流的传输层通信协议 (2)将应用层的数据流分割成报文段并发
阅读全文
摘要:目录 1.应用层协议 2.传输层协议 3.网络层协议 4.链路层协议 1.应用层协议 (1)POP3 (2)FTP (3)HTTP (4)Telnet (5)SMTP (6)NFS (7)DHCP (8)TFTP (9)SNMP (10)DNS 2.传输层协议 (1)TCP 面向连接的、可靠地、基于
阅读全文
摘要:目录 1.OSI网络七层模型(概念型框架) 2.计算机网络五层模型 3.TCP/IP四层模型 一、网络层次模型 OSI是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范。这是一个概念型框架 (1)应用层:与其他计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信
阅读全文