知行

总结之后必有收获 开始使用
网络协议

网络协议

01.三次握手、四次挥手示意图:总共有四种状态:主动建立连接、主动断开连接、被动建立连和被动断开连接两两组合还是 4 种组合:主动建立连接、主动断开连接会经历的状态:SYNC_SENT——ESTABLISHED—-FIN_WAIT_1—-FIN_WAIT_2—-TIME_WAIT 主动建立连接、被动断开连接会经历的状态:SYNC_SENT——ESTABLISHED—-CLOSE_WAIT—-LAST_AC

Java 8 相关知识

**0.1**HashMap 的底层实现有变化:HashMap 是数组 + 链表 + 红黑树(JDK1.8 增加了红黑树部分)实现。**02.**JVM 内存管理方面,由元空间代替了永久代。区别:1.元空间并不在虚拟机中,而是使用本地内存;2.默认情况下,元空间的大小仅受本地内存限制;3.也可以通过-XX:MetaspaceSize 指定元空间大小。**03.**Lambda 表达式(也称为闭包),允许我们将函数当成参
JVM 内存管理

JVM 内存管理

01.JVM 内存划分:方法区(线程共享):常量、静态变量、JIT(即时编译器)编译后的代码也都在方法区;堆内存(线程共享):对象实例,垃圾回收的主要场所;(jdk7+ 常量)程序计数器:当前线程执行的字节码的位置指示器;虚拟机栈(栈内存):保存局部变量、基本数据类型变量以及堆内存中某个对象的引用变量;本地方法栈:为 JVM 提供使用 native 方法的服务。02.类似-Xms、-Xmx 这些参数的含义:答:堆
高并发编程

高并发编程

在 Java5.0 提供了 java.util.concurrent(简称 JUC)包,在此包中增加了在并发编程中很常用的实用工具类,用于定义类似于线程的自定义子系统,包括线程池、异步 IO 和轻量级任务框架。01.多线程和单线程的区别和联系:答:在单核 CPU 中,将 CPU 分为很小的时间片,在每一时刻只能有一个线程在执行,是一种微观上轮流占用 CPU 的机制。多线程会存在线程上下文切换,会导致程序执行速度变慢,即采用

Java 中常见集合

集合这方面的考察相当多,这部分是面试中必考的知识点。01.说说常见的集合有哪些吧?答:Map 接口和 Collection 接口是所有集合框架的父接口:1.Collection 接口的子接口包括:Set 接口和 List 接口;2.Map 接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap 以及 Properties 等;3.Set 接口的实现类主要有:HashSet

java 基础知识点解析

01.面向对象的特性有哪些?**答:**封装、继承和多态。02.Java 中覆盖和重载是什么意思?**解析:**覆盖和重载是比较重要的基础知识点,并且容易混淆,所以面试中常见。答:覆盖(Override)是指子类对父类方法的一种重写,只能比父类抛出更少的异常,访问权限不能比父类的小。被覆盖的方法不能是 private 的,否则只是在子类中重新定义了一个方法;重载(Overload)表示同一个类中可以有多个
java 运算符

java 运算符

运算符归类:一元运算符:逻辑运算符(!),非运算符(~)二元运算符:复制运算符(=),逻辑与运算符(&&),逻辑或运算符(||),逐位与运算符(&),逐位或运算符(|),右移运算符(>>)三元运算符:X?Y:Z;逐位运算符逐位运算符是一种比较复制的运算符。可以分为逐位逻辑运算符,逐位位移运算符两种。无论那种逐位运算符,都必须将操作数要求是整形的操作符,转换为 32 位的二进制数值。然后参与运算,运算完毕