Loading

摘要: 在看HashSet源码的时候,意外发现底层HashMap保存的value居然不是null,而是保存一个Object作为Value。顿觉有悖常理,于是来分析一下: HashSet的add方法: public boolean add(E e) {return map.put(e, PRESENT)==n 阅读全文
posted @ 2022-04-03 14:55 吉比特 阅读(43) 评论(0) 推荐(0) 编辑
摘要: MySQL基础: sql语句的执行过程: 连接器:登录连接sql数据库 分析器:分析解读sql语句,并检查是否符合SQL语法规则 优化器:对实现方式进行优化,比如在查询时决定使用哪个索引。 执行器:执行。 事务:一系列聚合性操作,一组不可分割的sql语句。要么全部执行,要么全部不执行。 原子性:不可 阅读全文
posted @ 2022-04-03 14:19 吉比特 阅读(114) 评论(0) 推荐(0) 编辑
摘要: Arraylist 与 LinkedList 区别? 是否保证线程安全: ArrayList 和 LinkedList 都是不同步的,也就是不保证线程安全; null存储 底层数据结构: Arraylist 底层使用的是 Object 数组;LinkedList 底层使用的是 双向链表 数据结构 插 阅读全文
posted @ 2022-04-03 14:15 吉比特 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 单例模式双重检测java实现: public class Singleton { private volatile static Singleton instance = null; //#1 public static Singleton getInstance() { if (instance 阅读全文
posted @ 2022-04-03 14:07 吉比特 阅读(735) 评论(0) 推荐(1) 编辑
摘要: 内核: 管理进程线程进行调度 管理内存 管理硬件设备 提供系统调用(文件、网络等) CPU两种运行状态:用户态、系统态(内核态)。 用户态的进程可以使用用户程序的数据,而系统态的进程可以使用计算机几乎所有资源 系统调用: 用户态的进程在涉及文件管理、内存管理、设备管理、进程控制等系统态级别操作时,必 阅读全文
posted @ 2022-04-02 21:22 吉比特 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 程序计数器: 程序计数器属于线程的私有内存区域,记录当前线程的运行位置,以供多线程运行时上下文切换,字节码解释器通过程序计数器的增减来执行顺序分支循环等结构。独立于堆之外,因此程序计数器是唯一不会导致OutOfMemoryError的区域。 虚拟机栈: JAVA中说得栈其实就是虚拟机栈,线程私有,每 阅读全文
posted @ 2022-04-02 21:17 吉比特 阅读(73) 评论(0) 推荐(0) 编辑
摘要: #1、查询01课程比02课程成绩高的学生的信息及课程分数 #1.1查询01课程与02课程的课程表: select student_id, score as c1_score from score where course_id='01'; select student_id, score as c2 阅读全文
posted @ 2022-04-02 21:15 吉比特 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 并发三大特性:原子性、有序性、可见性。 请简要描述线程与进程的关系,区别及优缺点? 线程是比进程更小的一个执行单元,各个线程共用进程的方法区(Hotspot元空间)和堆,而线程的程序计数器、本地方法栈和虚拟机栈是私有的。各进程是独立的,而各线程极有可能会相互影响。线程执行切换开销小,但不利于资源的管 阅读全文
posted @ 2022-04-02 18:08 吉比特 阅读(65) 评论(0) 推荐(0) 编辑