《心经》笔记一 《心经》介绍《心经》是最短的一部佛经,也称《般(音同波)若波罗蜜多心经》,共260字。《心经》中有很多名句,“色不异空,空不异色,色即是空,空即是色”就出自于这篇经文。 《心经》对中国有重要影响。这里的“心”,是《大般若经》的精华纲要,而《大般若经》则是释迦摩尼佛讲佛法49年,留下的1000多部佛经中的600部的总称,这600部佛经都围绕着“般若”这个主题。佛陀说修行的境界,讲的最多的就是“般若智 2025-04-15 佛经笔记 #佛经 #心经
两道计算机网络面试题 4.15 HTTP1.0、HTTP1.1和HTTP2的区别HTTP1.0 vs HTTP1.1 连接方式 : HTTP1.0默认为短链接,而HTTP1.1默认为长连接 状态响应码:HTTP1.1新加入了大量的状态码,比如409请求与当前资源的规定冲突,410资源已永久删除 连续发送请求:HTTP1.1在长连接的基础上,允许连续发送多个请求而不需等待响应,但存在队头阻塞问题 队头阻塞:如果第一个请求的响应较慢 2025-04-15 学习笔记 #计算机网络
详解HashMap 底层实现JDK1.8 之前HashMap的底层数据结构是数组和链表。 key 的 hashcode 经过二次哈希处理过后得到 hash 值,然后通过 (n - 1) & hash 判断当前元素存放的位置(这里的 n 指的是数组的长度),如果当前位置存在元素的话,就判断该元素与要存入的元素的 hash 值以及 key 是否相同,如果相同的话,直接覆盖,不相同就通过拉链法解决冲突。 二次哈希用 2025-04-14 学习笔记 #Java
两道操作系统面试题 4.14 死锁及其产生的原因是什么?死锁是这样的一种情况:多个进程/线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于进程/线程被无限期地阻塞,因此程序不可能正常终止。 死锁的产生有四个必要条件: 互斥:资源是非共享的,一个资源一次只能给一个进程/线程使用,如果一个资源正在被使用,另一个进程/线程想要使用这个资源,就必须等待,直到该资源被释放 占有并等 2025-04-14 学习笔记 #操作系统
两道计算机网络面试题 4.14 TLS四次握手的过程第一次握手首先,客户端向服务端发送加密通信请求,这个请求主要包含三个部分: 客户端支持的 TLS 协议版本 客户端生成的一个随机数,这个随机数将会参与生成 “会话密钥” 客户端支持的密码套件列表,如 RSA 加密算法 第二次握手服务器收到客户端请求后,向客户端发出响应,主要包含四个部分: 确认 TLS 协议版本,如果浏览器不支持,则关闭加密通信 服务端生成的一个随机数,这 2025-04-14 学习笔记 #计算机网络
两道常见的mysql面试题 4.10 事务的4个特性(ACID) 原子性(A):事务是最小的执行单位,不可以被分割,动作要么全部完成,要么完全不起作用。 一致性(C):执行事务前后,数据保持一致。比如转账事务中,不论事务是否成功,转账者和收款人钱的总额是不变的。 隔离性(I):并发访问数据库时,一个用户的事务不会被其他事务所干扰,各个并发事务之间,数据库是相互独立的。 持久性(D):一个事务被提交后,它对数据库的影响是持久的,即 2025-04-10 学习笔记 #Mysql #数据库
两道操作系统面试题 4.9 进程和线程的区别是什么? 本质方面,进程是操作系统进行资源分配的基本单位;线程是任务调度和执行的基本单位 在切换开销方面,每个进程都有独立的代码和数据空间(程序上下文),进程之间的切换会有较大的开销;线程可以看做轻量级的进程,一个进程中的线程之间共享代码和堆空间,同一进程中的线程的切换,只需要切换运行栈和程序计数器,开销较小‘ 在稳定性方面,如果一个进程崩溃了,往往不会影响其他进程及其兄弟进程和父 2025-04-09 学习笔记 #操作系统
两道计算机网络面试题 4.9 HTTP和HTTPS的区别HTTP是超文本传输协议,是互联网上应用最为广泛的一种网络通信协议,基于TCP或UDP(HTTP3),用来规范超文本(网络上的各种信息)的传输。默认端口号为80。 HTTPS是超文本传输安全协议,是HTTP的加强版,可以认为是在HTTP的基础上,额外使用 SSL/TLS 协议用作加密和安全认证。默认端口号为443。 主要区别 HTTP的连接是简单无状态的,HTT 2025-04-09 学习笔记 #计算机网络
Java中的悲观锁和乐观锁 悲观锁悲观锁的代表是syschronized和Lock锁: 其核心思想是:“线程只有占有了锁,才能去操作共享变量,每次只有一个线程站所成功,获取锁失败的线程,都得停下来等待” 线程从运行到阻塞,再从阻塞到唤醒,涉及线程上下文切换,如果频繁发生,影响性能 实际上,线程在获取syschronized和Lock锁时,如果锁已被占用,都会做几次重试操作,减少阻塞机会 乐观锁乐观锁的代表是AtomicI 2025-04-08 学习笔记 #Java #JUC
JUC之volatite关键字 在之前对单例模式的介绍中,我提到了volatite,在那篇文章中,我们使用volatite是为了保证线程安全,那么volatite是否能够完全保证线程安全呢? 首先,线程安全需要考虑以下三个方面: 可见性:一个线程对共享变量进行修改,另一个线程能看到最新结果 有序性:一个线程内代码按编写顺序执行 原子性:一个线程内多行代码以一个整体运行,期间不能有其他线程的代码插队 直接说结论,volatit 2025-04-08 学习笔记 #Java #JUC