- 博客(69)
- 收藏
- 关注
原创 【计算机网络】HTTP
HTTP 是超文本传输协议,也就是HyperText Transfer Protocol。包含请求的资源(如 HTML 页面、JSON 数据、图片等)。状态行(Status Line)。1xx:提示信息,需后续操作。3xx:重定向,资源发生变动。4xx:客户端错误,请求有误。响应头(Headers)。2xx:成功,已正确处理。5xx:服务器处理错误。响应体(Body)。
2025-06-06 09:23:27
495
原创 【计算机网络】HTTPS
消息认证码(MAC):TLS 协议通过哈希算法(如 SHA-256)生成消息摘要,确保数据在传输过程中未被篡改。数字证书:服务器通过 CA(证书颁发机构) 签发的数字证书证明其身份。非对称加密:握手阶段(RSA)交换对称密钥,保证密钥传输的安全。对称加密:传输实际数据(AES),速度快,适合大量数据。服务器本身被入侵(如数据库泄露)。用户主动泄露密码(如钓鱼网站)。
2025-06-04 20:35:04
439
原创 【操作系统】面试必备
管理软硬件资源WindowsLinuxMacOS:直接控制物理设备,涉及CPU、内存、I/O等底层资源。:通过抽象和调度协调程序运行,涉及进程、文件、权限等高层资源。:最大化资源利用率,同时保证安全性、稳定性和响应速度。
2025-06-04 20:13:34
742
原创 【Java】垃圾回收机制
(GC Roots)回收区域Java 堆(新生代 + 老年代)、方法区(部分)常用算法复制、标记-清除、标记-整理分代策略不同对象生命周期使用不同策略提升效率收集器Serial、CMS、G1、ZGC 等,适配不同场景。
2025-05-08 11:37:02
739
原创 【Java】JVM内存结构
JVM 是一种虚拟计算机,负责加载、验证、解释/编译和执行 Java 字节码,并管理程序的内存、线程、垃圾回收等运行细节。项目JVM 的作用运行环境加载和执行 Java 字节码平台无关一次编写,到处运行内存管理管理对象分配和垃圾回收安全高效字节码验证 + JIT 优化Java 内存模型(JMM)是并发编程的核心基础,确保多线程下数据共享时的原子性、可见性、有序性,通过volatilefinal等关键字落地实现。特性问题解决关键字 / 工具是否 CPU 保证原子性操作不可中断。
2025-05-08 09:36:09
685
原创 【Java】同时启动三个线程顺序打印1,2,3
在 Java 中,如果你要启动三个线程,它们分别打印 1、2、3,并且顺序执行,就不能直接用,因为线程是异步的,不能保证顺序。要想按控制输出,必须使用线程间同步机制。
2025-05-07 16:35:03
279
原创 【spring】Spring、Spring MVC、Spring Boot、Spring Cloud?
Spring、Spring MVC、Spring Boot、Spring Cloud?
2025-05-07 15:35:59
490
原创 Linux安装anaconda
安装Anaconda完成后,如果安装过程中没有选择自动添加环境变量,你需要手动添加。打开你的shell配置文件,通常是。这将显示当前的PATH环境变量,你应该能够看到Anaconda的路径包含在其中。来检查是否安装成功,如果能够显示conda的版本信息,那么表示安装和配置成功。应该替换为你的Anaconda安装路径。例如,如果你的Anaconda安装在。请注意,如果你使用的是其他shell,如zsh,你可能需要编辑。,使用文本编辑器打开,例如使用。完成以上步骤后,你可以使用。
2024-08-07 14:22:42
1001
原创 9.分布式锁
线程1现在持有锁之后,在执行业务逻辑过程中,他正准备删除锁,而且已经走到了条件判断的过程中,比如他已经拿到了当前这把锁确实是属于他自己的,正准备删除锁,但是此时他的锁到期了,那么此时线程2进来,但是线程1他会接着往后执行,当他卡顿结束后,他直接就会执行删除锁那行代码,相当于条件判断并没有起到作用,这就是删锁时的原子性问题,之所以有这个问题,是因为线程1的拿锁,比锁,删锁,实际上并不是原子性的,我们要防止刚才的情况发生,如果脚本中的key、value不想写死,可以作为参数传递。
2024-08-05 21:30:31
983
原创 8.优惠卷秒杀
优惠卷秒杀8.1 -全局唯一ID每个店铺都可以发布优惠券:当用户抢购时,就会生成订单并保存到tb_voucher_order这张表中,而订单表如果使用数据库自增ID就存在一些问题:id的规律性太明显受单表数据量的限制场景分析:如果我们的id具有太明显的规则,用户或者说商业对手很容易猜测出来我们的一些敏感信息,比如商城在一天时间内,卖出了多少单,这明显不合适。场景分析二:随着我们商城规模越来越大,mysql的单表的容量不宜超过500W,数据量过大之后,我们要进行拆库拆表,但拆分表了之后,他们
2024-08-04 14:35:30
1054
原创 6.缓存击穿问题及解决思路
假设线程1去查询缓存,然后从value中判断出来当前的数据已经过期了,此时线程1去获得互斥锁,那么其他线程会进行阻塞,获得了锁的线程他会开启一个 线程去进行 以前的重构数据的逻辑,直到新开的线程完成这个逻辑后,才释放锁, 而线程1直接进行返回,假设现在线程3过来访问,由于线程线程2持有着锁,所以线程3无法获得锁,线程3也直接返回数据,只有等到新开的线程2把重建数据构建完后,其他线程才能走返回正确的数据。这种方案巧妙在于,异步的构建缓存,缺点在于在构建完缓存之前,返回的都是脏数据。解决方案二、逻辑过期方案。
2024-08-01 14:35:09
920
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人