随笔分类 - Java基础知识
摘要:什么是ThreadLocal? ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。 测试代码: package com.javaBase.LineDistance; /** * 〈一句话功能简述〉; * 〈功能详
阅读全文
摘要:JVM有哪些垃圾收集器? 图中展示了7种作用于不同分代的收集器,如果两个收集器之间存在连线,则说明它们可以搭配使用。虚拟机所处的区域则表示它是属于新生代还是老年代收集器。 新生代收集器(全部的都是复制算法) : Serial、ParNew、Parallel Scavenge 老年代收集器:CMS(标
阅读全文
摘要:JDK 1.8 整体架构 由Node数组、单向链表、红黑树组成的,当我们初始化一个ConcurrentHashMap实例的时候,默认会初始化一个长度为16的数组,由于ConcurrentHashMap它的核心仍然是 哈希表,所以必然会存在哈希冲突的情况,所以,ConcurrentHashMap采用拉
阅读全文
摘要:String类重写了equals()方法 Object的equals()方法,本意是比较两个对象的内存地址是否相同,准确地说,比较两个引用变量指向的地址是否相同 String重写后的equals()方法,则是来比较两个字符串是否“相同” equals()方法源码如下: 分析 先比较两个对象的内存地址
阅读全文
摘要:代理模式:一种结构型设计模式;指的是给某一个对象提供一个代理,并由代理对象来控制对真实对象的访问 分类:根据字节码的创建时机来分类,可以分为 静态代理 和 动态代理 静态代理:在程序运行前就已经存在代理类的字节码文件,代理类 和 真正实现业务逻辑的类 的关系在运行前就确定了 动态代理:字节码是在程序
阅读全文
摘要:Java后端高频知识点学习笔记10 Spring 参考地址:牛 _ 客 _ 网 https://www.nowcoder.com/discuss/819319 1、什么是IOC(控制反转)和 AOP(面向切面编程) IOC IOC,Inversion of Control,控制反转 目的:将创建对象
阅读全文
摘要:Java后端高频知识点学习笔记9 计操作系统 参考地址:牛 _ 客 _ 网 https://www.nowcoder.com/discuss/819316 1、IO模型 ① BIO(blocking IO) 阻塞IO,即在读写数据的过程中会发生阻塞现象 当用户线程发出IO请求之后,内核会去查看数据是
阅读全文
摘要:Java后端高频知识点学习笔记8 计算机网络 参考网址:牛 _ 客 _ 网 https://www.nowcoder.com/discuss/819312 1、OSI七层模型 OSI 模型把网络通信的工作分为 7 层,从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 1、物理
阅读全文
摘要:Java后端高频知识点学习笔记7 Redis 参考地址:牛 _ 客 _ 网 https://www.nowcoder.com/discuss/819310 1、IO多路复用 I/O 多路复用模型是利用select、poll、epoll可以同时监察多个流的 I/O 事件的能力,在空闲的时候,会把当前线
阅读全文
摘要:Java后端高频知识点学习笔记6 MySQL 参考地址:牛_客_网 https://www.nowcoder.com/discuss/819308 1、MyISAM和InnoDB的区别 MyISAM是MySQL的默认数据库引擎(5.5版之前)。虽然性能极佳,⽽且提供了⼤量的特性,包括全⽂索引、压缩、
阅读全文
摘要:Java后端高频知识点学习笔记5 JVM(Java虚拟机) 参考地址:牛_客_网 https://www.nowcoder.com/discuss/819307 1、JVM内存模型 Java 虚拟机在执⾏ Java 程序的过程中会把它管理的内存划分成若⼲个不同的数据区域。JDK1.8 和之前的版本略
阅读全文
摘要:Java后端高频知识点学习笔记4 Java的锁 参考地址:牛_客_网 https://www.nowcoder.com/discuss/819304 1、乐观锁和悲观锁 锁 含义 悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会
阅读全文
摘要:Java后端高频知识点学习笔记3 多线程 参考地址:牛_客_网 https://www.nowcoder.com/discuss/819302 1、线程和进程有什么区别 进程 线程 1 系统资源调度的最小单位 CPU调度的最小单位 2 一个进程可以包含多个线程 一个线程从属于一个进程 3 一个进程挂
阅读全文
摘要:Java后端高频知识点学习笔记2 Java集合 参考地址:牛 _ 客 _ 网 https://www.nowcoder.com/discuss/819300 1、Java中有哪些集合 Java中的集合类主要由 Collection 和 Map 这两个接口派生出 Collection接口又派生出三个子
阅读全文
摘要:Java后端高频知识点学习笔记1 Java基础 参考地址:牛_客_网 https://www.nowcoder.com/discuss/819297 1、重载(Overload)和重写(Override)的区别 重载:同一类中多个同名方法根据不同的传参来执行不同的处理逻辑;方法名必须相同,参数列表不
阅读全文