自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 如何理解 DNS 解析?从输入域名到获取 IP 的完整流程揭秘

DNS 是互联网的基石,其高效的分层查询机制确保了全球数十亿设备的无缝连接。理解 DNS 解析流程,不仅能帮助我们优化网站访问速度,还能更好地应对网络安全问题。

2025-03-20 21:11:34 1033

原创 HTTP状态码

1xx:需继续操作2xx:成功3xx:重定向4xx:客户端问题5xx:服务器问题。

2025-03-10 11:02:23 447

原创 理解 TCP 三次握手与四次挥手:详解网络连接与断开过程

三次握手是TCP连接建立的过程,目的是在客户端与服务器之间建立可靠的连接。它保证了双方都能够接收到对方的信号,并且准备好开始数据传输。四次挥手是TCP连接终止的过程,确保连接能够有序地断开。在连接终止时,双方必须完成数据的传输和确认,确保没有丢失数据。三次握手:是TCP连接建立的过程,保证了双方都能确认连接的状态,并且准备好开始数据传输。客户端发送SYN → 服务器回复SYN-ACK → 客户端发送ACK,连接成功建立。四次挥手:是TCP连接断开的过程,确保连接在关闭时双方都完成数据传输,避免数据丢失。

2025-03-03 18:04:11 1372

原创 深入解析雪花算法(Snowflake):分布式唯一ID的优雅解决方案

雪花算法通过巧妙的分段设计,在简单性、性能与扩展性之间取得了平衡。尽管其依赖时钟同步和机器ID分配的问题需要额外关注,但在大多数分布式场景中,它仍是生成唯一ID的首选方案。随着技术的发展,结合号段分配、动态调整等策略的混合方案,正在进一步拓展其应用边界。

2025-03-03 17:56:57 1144

原创 下载谷歌浏览器(Chrome)

得益于 Google 智能工具,Chrome 现在更易用、更安全、更快速。傻瓜操作即可,本文主要是提供一下谷歌浏览器下载网址。Google Chrome 网络浏览器。

2025-03-03 17:48:39 598

原创 面试问题(一)

所有东西都不是一蹴而就的,我们往往要不断向别人学习,才能更好走出自己的道路。我大概想要整理一个有关面试遇到的问题的系列,这些问题往往是真实提问过的,所以后续问题可能出现重复的情况,我也不做删除,毕竟出现越多,越说明面试官重视。

2025-03-03 14:35:45 1039

原创 网络演进(演进到TCP协议)

以上就是TCP协议的核心思想,如果有人问你UDP协议不安全,怎么优化呢?那么你就可以回答我们上面面对的情况和解决问题。

2025-02-28 09:29:30 751

原创 缓存击穿、缓存穿透、缓存雪崩

缓存击穿是指某个缓存中的数据在高并发访问的情况下失效(过期或被删除),并且这段时间内,缓存没有及时加载到新的数据,导致请求直接穿透缓存,去访问底层数据库。由于多个请求同时访问数据库,可能导致数据库压力激增,系统性能受到影响。缓存穿透是指请求的数据既不在缓存中,也不存在于数据库中。此时,缓存系统无法命中缓存,且数据库查询也无法找到该数据,导致每一次请求都直接穿透缓存访问数据库。这种情况会导致大量无效请求访问数据库,造成数据库的额外压力。

2025-02-26 21:59:07 714

原创 Java实现LRU(Least Recently Used,最少使用)

LRU(Least Recently Used,最少使用)算法是一种缓存替换策略,用于管理缓存中的数据。当缓存满时,LRU算法会根据元素的访问顺序,移除最久未被使用的元素,以腾出空间给新的数据。具体来说,每当一个缓存元素被访问时,它会被标记为“最近使用”,而最久未使用的元素则会被优先淘汰。LRU算法的核心目的是提高缓存的命中率,保证缓存中存储的是最近频繁使用的数据。

2025-02-25 14:03:19 195

原创 银行家算法

银行家算法为资源管理提供了一种非常重要的理论支持,能够有效避免死锁并保证系统的安全性。然而,由于其计算开销较大,可能不适用于高并发、资源种类繁多的系统。因此,在实际应用时,设计人员需要根据实际需求和系统规模权衡是否使用银行家算法,或选择其他更高效的资源管理策略。

2025-02-13 02:30:00 1126

原创 Mysql事务

事务提交之后再进行回滚,回滚是不生效的,因为事务提交后,事务的持久性就会起作用!- 事务A和事务B,事务A提交之后的数据,事务B读取不到 - 事务B是可重复读取数据 - 这种隔离级别高于读已提交 - 换句话说,对方提交之后的数据,我还是读取不到 - 这种隔离级别可以避免“不可重复读取”,达到可重复读取 - 比如1点和2点读到数据是同一个 - MySQL默认级别 - 虽然可以达到可重复读取,但是会导致“幻像读”为了解决并发所产生的问题,我们提出了事务的隔离级别,隔离级别越高,解决并发产生的问题越多。

2025-02-12 22:47:10 636

原创 Java反射

Java 反射机制提供了一种在运行时动态操作对象和类的强大功能。它为很多框架和库提供了灵活的解决方案,但也带来了性能问题和类型安全方面的挑战。开发者应该根据实际需求,在合理的场景中使用反射,以充分发挥其优势,同时避免滥用。

2025-02-12 22:41:39 290

原创 操作系统的几种调度算法

不同的任务调度算法适用于不同类型的系统和应用。选择合适的调度算法需要根据系统的需求,如响应时间、吞吐量、公平性、任务的性质(长任务与短任务)等因素进行综合考虑。在现代操作系统中,通常采用多种调度策略结合的方式,以平衡不同需求。

2025-02-12 22:33:31 1257

原创 Java多态

*多态(Polymorphism)**是面向对象编程(OOP)的核心特性之一,允许对象以多种形式表现。简单来说,多态就是同一个方法或属性在不同的对象上表现出不同的行为。在Java中,多态主要通过方法重载和方法重写实现。

2025-02-12 22:31:45 291

原创 动画相关属性

animation-iteration-count:设置帧动画执行的次数 lindinite 无限次执行。transition-timing-function:指定变化的函数。animation-timing-function:指定变化的函数。ease:开始较慢,然后加速,速度达到最快再减速 由慢到快到慢。ease:开始较慢,然后加速,速度达到最快再减速 由慢到快到慢。animation-duration:设置动画过度的时间。animation-name:设置动画名称。ease-in:由慢到快。

2025-02-12 22:25:45 164

原创 java测试题

在使用append方法进行字符串拼接后,再通过toString()方法开辟一块新的堆内存空间,内存空间记录常量池中“hello”的地址,变量str2记录这块内存空间的地址。在由.java文件通过javac命令变为.class文件的过程中已经自动拼接变为“hello”在编译为,class文件时还是两个字符串“he”和“llo”xx.java--->xx.class----->内存。张三那个---指向一块没有数据的内存空间。王五----无法使用 没有初始化。String定义空三种方式。李四----没有指向。

2025-02-12 22:22:45 197

原创 Java中的抽象类和接口的区别

使用abstract关键字声明抽象类。可以包含抽象方法和非抽象方法。抽象方法是没有实现的方法,只有方法声明,没有方法体。

2025-02-12 22:16:27 267

原创 Java的异常体系

Java的异常体系基于类继承结构,所有异常类都继承自类。ThrowableError和Exception。

2025-02-12 22:10:53 470

原创 为什么重写equals的同时一定要重写hashCode?

为了确保 Java 中哈希集合(如 HashMap、HashSet)能够正常工作,并遵循 equals 和 hashCode 的合约,在重写 equals 方法时,务必同时重写 hashCode 方法。通过这种方式,我们可以保证对象的一致性,避免潜在的错误和性能问题。

2025-02-12 17:48:54 592

原创 java中的128陷阱详解

当我们使用自动装箱(Autoboxing)时,如果数值在这个范围内,Java 会返回相同的 Integer 对象,而不会创建新的对象。这里 x == y 结果为 false,是因为 1000 不在缓存范围内,因此 x 和 y 是两个不同的 Integer 对象,== 比较的是对象引用,而不是值。Integer.valueOf() 方法会利用 Integer 缓存,而 new Integer() 则始终创建新对象。使用 == 比较对象时,它比较的是引用地址,而 equals() 比较的是值。

2025-02-12 17:19:40 849

原创 node.js安装及环境配置教程

根据自己的电脑系统和位数来选择具体下载的包。我用的是64位.msi的安装包。

2025-01-17 17:13:35 641

原创 有关Maven的基础知识

对第三方依赖包的管理,可以连接互联网下载项目所需第三方jar包。对自己开发的模块的管理,可以像引用第三方依赖包一样引用自己项目的依赖包。项目构建:是一个从编写源代码到编译、测试、运行、打包、部署的过程。传统项目和maven项目构建的两种方式传统项目:打开Idea编写源代码和配置文件,对源代码进行编译,可以使用Junit进行单元测试,把项目打成war包,部署到Tomcat服务器中运行。maven项目:maven将项目构建过程进行标准化,每个阶段都可以使用一个命令来完成。

2024-10-20 17:16:51 457

原创 创建java的4种方式

注意一下设置jdk1.8这样一个普通java项目创建成功了,通常用于语法学习阶段。

2024-10-19 00:08:05 456

原创 JAVA抽象类

抽象类(Abstract Class)是面向对象编程(OOP)中的一个重要概念,它用于表示一种不能被实例化的类,即不能直接通过new关键字来创建对象。抽象类的主要目的是为子类提供一个公共的接口,强制子类实现某些方法,或者为子类提供通用的实现。

2024-08-28 12:25:27 429 1

原创 JAVA包装类

java有着8种基本数据类型,整型(byte、short、int、long)、浮点型(float、double)、布尔型boolean、字符型char。对应的,java提供了这八种数据类型对应的包装类,Byte、Short、Integer、Long、Float、Double、Boolean、Characterjava中的数据类型int,double等不是对象,无法通过向上转型获取到Object提供的方法,而像String却可以,只因为String是一个对象而不是一个类型。

2024-08-28 11:26:05 690

原创 JAVA泛型

class 类名称 {private 泛型标识 变量名;......常用的泛型标识 T、E、K、V泛型类,如果没有指定具体的数据类型,此时,操作类型是Object泛型的类型参数只能是类类型,不能是基本数据类型泛型类型在逻辑上可以看成是多个不同的类型,但实际上是相同类型interface 接口名称 {泛型标识 方法名();......

2024-08-28 10:55:24 739

原创 java 测试题(一)

8.B and A b数据类型是B c数据类型是C,B中没C,向上找B,B是A的子类,向上找A,B中有A,所以答案是B and A。4.B and A a2数据类型是A, b数据类型是B,A中没有B,向上找A,B重写了show(A)所以答案是B and A。1.A and A a1数据类型是A b数据类型是B,A中没有B,且B是A的子类,向上找,所以答案是A and A。7.B and A b数据类型是B b数据类型是B,B是A的子类,B中有A,所以答案是B and A。3.下列代码的输出是什么?

2024-08-26 15:02:17 558

原创 JAVA static关键字

1.方法是有访问权限的2.方法必须写上返回数据的类型,如果不需要返回数据就写void3.在同一个类中,方法名可以相同,但是方法的签名不能相同(方法的签名=方法名+参数列表的类型)4.方法上可以使用其他的关键字进行修饰,比如static和final,他们有着不同的意义。

2024-08-22 17:29:58 759

原创 类与对象的关系

2.在类当中有一个默认的不显示的无参数的构造器。一旦你在类当中写一个构造器,那么那个无参构造器就会被覆盖。类是构建对象的模板,一个类可以创建多个对象,对象是类的分身。=:赋值操作,是将堆内存当中创建的内存空间的地址赋给s变量。Student:数据类型,规定数据在内存当中的存储形式。Student():构造器,在创建对象的时候给对象赋值。new关键字:要求在堆内存当中开辟内存空间。1.在类当中构造函数必须与类名相同。4.一个类当中可以有多个构造函数。构造器创建一个类的实例化对象。3.构造器不需要写返回类型。

2024-08-21 23:00:39 428

原创 css布局

【代码】css布局。

2024-06-03 19:36:05 352

原创 css 盒子模型

建议运行一遍,熟练熟练。

2024-06-03 19:34:09 345

原创 css 选择器

【代码】css 选择器。

2024-06-03 18:55:26 157

原创 jQuery

【代码】jQuery。

2024-06-03 18:52:02 354

原创 JavaScript基本语法

看代码,你会看懂的!

2024-06-03 17:30:31 177

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除