- 博客(52)
- 收藏
- 关注
原创 Web前端开发基础
前端(Front-End),也称为客户端(Client-Side),指的是用户在使用网站或Web应用时。它打造一个在视觉上吸引人、交互流畅、性能优异且可访问性强的。
2025-08-26 15:30:08
509
33
原创 Java内功修炼(2)——线程安全三剑客:synchronized、volatile与wait/notify
指在多线程环境下,某个代码、函数或对象能够被多个线程同时调用或访问时,仍能。简单来说,线程安全的代码在多线程环境下运行可靠,按照上述代码的逻辑,期望得到的结果是1000000,但当多个线程同时访问或修改时,由于缺乏适当的,可能导致程序行为不可预测、数据损坏或错误结果的现象。
2025-08-20 15:14:37
933
39
原创 Java内功修炼(1)——时光机中的并发革命:从单任务到Java多线程
1950年代1960年代1970年代同一时间只能运行一个程序或任务,任务必须按顺序完成。用户需等待当前任务结束后才能启动新任务。系统资源由一个任务独占,缺乏并发能力,适用于简单应用场景允许同时运行多个程序或任务,通过或实现并发。
2025-08-16 19:49:05
1046
41
原创 全面解析MySQL(5)——“索引、事务、JDBC”三大核心
是Java提供的用于执行SQL语句的API,允许Java程序与多种关系型数据库交互。它为数据库操作提供统一接口,屏蔽底层数据库差异,开发者无需针对不同数据库编写特定代码JDBC核心组件:管理数据库驱动,建立与数据库的连接Connection:表示与数据库的会话(类似两个人打电话),用于创建Statement对象:执行SQL语句并返回结果ResultSet:封装SQL查询结果,提供遍历数据的方法。
2025-08-12 15:27:06
1188
37
原创 全面解析MySQL(4)——三大范式与联合查询实例教程
在数据设计时由于三大范式的要求,数据被拆分到多个表中,那么要查询⼀条数据的完整信息,就要从多个表中获取数据,这时就要使用联合查询联合查询的基础,指两个集合中所有可能的有序组合。在MySQL中,当联合查询未指定关联条件时,查询结果会返回所有表的行组合(列相加,行相乘)学生表学号姓名性别班级编号1张三男12李四男33王五女2班级表编号班级1Java班2C++班3Python班两表进行笛卡尔积学号姓名性别班级编号编号班级1张三男11Java班1。
2025-07-28 18:30:25
6869
59
原创 全面解析MySQL(3)——CRUD进阶&数据库约束
是数据库管理系统中用于确保数据完整性、一致性和有效性的规则集合。它们定义了数据在存储和操作过程中必须满足的条件,从而防止无效或不一致的数据进入数据库。非空约束、默认值约束、唯一约束、主键约束、外键约束、检查约束等。
2025-07-24 05:01:45
6260
45
原创 全面解析MySQL(1)——数据库基础
SQL(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库的标准编程语言。它允许用户执行数据查询、更新、插入、删除等操作,广泛应用于数据库管理系统中1.数据定义语言(Date Definition Language,DDL):用于创建、修改或删除数据库对象。例如:create table:创建新表alter table:修改表结构drop table:删除表2.数据操作语言(Data Manipulation Language,DML)
2025-07-16 03:03:29
1489
40
原创 Java SE(13)——工具类
1.使用==进行比较:对于基本类型,比较的是变量中的值;对于引用类型比较的是引用中的地址//使用==进行比较int a = 1;int b = 1;int c = 2;//true//false//false2.使用equals方法进行比较:Object中equals默认按照==比较;String重写equals方法后按照字典序比较,相同返回true,不同返回false//使用equals方法进行比较//true//false3.使用compareTo方法进行比较。
2025-06-14 00:05:35
2767
64
原创 计算机网络(6)——局域网
以太网(Ethernet)是一种局域网(LAN)技术,遵循,用于在有限范围内(如家庭、办公室等)实现设备间的数据传输。
2025-06-06 18:53:14
7527
43
原创 计算机网络(5)——数据链路层
数据链路层负责从一个向另一个传输数据报。换言之,主要解决间的可靠数据传输:路由器和主机:连接相邻节点的通信信道。
2025-06-01 19:42:41
5850
27
原创 计算机网络(3)——传输层
(1)传输层为允许在不同主机(Host)上的进程提供了一种(2)端系统(如手机、电脑)运行传输层协议(3)传输层可以为应用提供多种协议,如UDP、TCP:传输层提供的一种抽象服务,它使得不同主机上的应用程序能够直接进行数据传输,而无需关注底层网络的实现细节。
2025-05-24 17:01:34
1248
19
原创 计算机网络(1)——概述
从组成细节角度来看:Internet是全球最大的互联网络,由ISP(互联网服务提供商,Internet Service Provider)网络互连的网络之网络。换言之,Internet是由多个独立网络互联而成的一个庞大的网络系统,它主要有以下几个组成部分:(1)成千上万的互连的计算设备集合(PC、手机等)(2)通信链路(光纤、卫星等)(3)交换网络:实现数据的分组转发(路由器、交换机等)从服务角度来看:能为用户提供什么服务(1)为网络应用提供通信服务基础设施:光纤、电缆、路由器等。
2025-05-17 20:34:42
1444
15
原创 Java SE(12)——异常(Exception)
虽然Java中已经内置了非常多的异常类,但不一定完全符合用户的需求,所以用户也可以自定义自己期望的异常如果希望自定义非检查型异常,可以继承自RuntimeException及其子类super();如果希望自定义检查型异常,可以继承自IOException等检查型异常super();super();super();if(!throw new UsernameErrorException("用户名错误");if(!
2025-05-13 21:43:57
937
10
原创 Java SE(11)——内部类
Java中的内部类(Inner Class)是指在一个类的内部定义的类。当一个类的内部,存在一个部分需要完成的结构进行描述,而该内部结构只为外部类提供服务,那么这个内部结构就可以使用内部类(如Map中的entry内部类)
2025-05-11 19:50:50
5843
8
原创 Java SE(9)——多态
(Polymorphism)是面向对象编程的三大基本特性之一(封装和继承已经讲过了),它允许不同类的对象对同一消息做出不同的响应。具体来说,多态允许指向(向上转型),并通过该引用调用子类中的方法,从而实现不同的行为。
2025-05-06 19:46:06
1451
8
原创 Java SE(8)——继承
在Java中,是面向对象编程的三大基本特性之一(还有和),允许一个类(子类/继承类)继承另一个类(父类/基类)的和在我们现有的知识储备基础上,如果要抽象出和,代码就要这么些:但我们不难发现,在上述抽象狗和猫的过程中,有部分代码是重合的。这是因为狗和猫同属于动物,都有名字、毛色和年龄,都会睡觉。那么我可以定义一个类来对这些相同的代码(共性)进行抽取,然后让Dog和Cat类来继承Animal类中的属性。
2025-05-05 20:37:44
1192
8
原创 Java SE(6)——类和对象(一)
面向对象编程关注的是对象,对象就相当于是生活中的实物,比如:洗衣机。但是计算机不知道什么是洗衣机,这需要我们开发人员来告诉计算机什么是洗衣机上图左边的信息就是对洗衣机的描述,我们可以用这种描述信息来表示一个具体的实物,这个过程称为抽象。所谓抽象,指的是从具体事物中抽取共同的、本质的特征,忽略次要的、非本质的特征。但是这些简化的抽象结果(图片左侧的描述信息)也不能被计算机识别,开发人员就需要使用某种面向对象的编程语言来进行描述,比如:Javafield;//属性或者成员变量method;
2025-05-01 19:03:43
1326
10
原创 Java SE(5)——数组
概念:是一种用于存储多个相同类型元素的数据集合。比如现实马路旁的停车位,数组在内存中是一段连续的空间数组中的每个元素都有对应的下标/索引对应那么,初始数组之后,在Java中如何创建数组并且初始化呢?
2025-04-29 20:05:52
1340
6
原创 Java SE(4)——方法详解
修饰符 返回值 方法名(形参类型 形参1,形参类型 形参2,…) {//方法体return(返回值)示例一:判断闰年System.out.println(year + "是闰年");}else {System.out.println(year + "不是闰年");示例二:判断最大值x : y;方法组成部分介绍:1.public和static都是方法的修饰符,决定了方法的性质,但不影响方法本身的执行逻辑。
2025-04-28 18:19:33
1127
6
原创 Java EE(15)——线程安全——ThreadLocal
在面的线程安全相关的博文中,解决线程安全问题的方法主要使用和两个关键字。引发线程安全问题的根本原因是多个线程同时对共享变量进行操作,而上述两个关键字并没有改变"多个线程同一个变量"这个情况。以synchronized为例,当某一线程访问上锁的变量时,其他线程只能等待该线程释放锁,使用synchronized会一定程度上影响性能(即便使用了锁升级策略),本质上还是"多个线程同一个变量"。本文介绍的就是解决这一问题的。
2025-04-20 15:30:27
1096
11
原创 Java Collection(8)——Map的遍历方式
Map是一个接口,这意味着它不能直接实例化对象,必须要通过具体的实现类来实例化对象。
2025-04-17 14:53:48
1161
9
原创 Java Collection(7)——Iterable接口
在JDK1.7以前,Iterable接口内部只定义了iterator()方法。然而在JDK1.8及以后,又新增了forEach()和spliterator()方法。
2025-04-16 20:15:51
1434
6
原创 Java EE(7)——线程安全总结(翻新版)——定时器(Timer)&线程池(ThreadPoolExecutor)
1.概念:线程池是一种管理和复用线程的编程模式。它预先创建一定数量的线程,在执行任务需要时,将任务分配给这些线程,从而提高运行效率2.主要特点线程复用:当线程执行完一个任务时,不会立即销毁,而是等待下一个任务的到来(当然这种等待是有时间限制的),这样避免了频繁的创建和销毁线程动态调整:根据实际环境需要动态调整线程数量,以达到最佳性能任务队列:线程池会维护一个任务队列,用于存放待执行的任务,当线程空闲时,从队列中取出任务并执行1.int corePoolSize:核心线程数。
2025-04-15 22:21:27
1360
14
原创 Java虚拟机——JVM(Java Virtual Machine)解析二
JVM的垃圾回收(Garbage Collection,GC)是一种自动内存管理机制,用于回收程序中的对象占用的内存空间,避免因对象未被正确释放而导致内存耗尽。
2025-04-12 02:43:18
6339
1
原创 Java虚拟机——JVM(Java Virtual Machine)解析一
核心思想:当类加载器收到类加载请求时,不会自行立即加载,而是先将该加载请求委派给父类加载器,最终请求会到达顶层类加载器。(1)顶层加载器(启动类加载器,Bootstrap ClassLoader)检查JAVA_HOME/lib路径下的核心类库,如果能找到就加载(2)如果启动类加载器找不到,请求返回给扩展类加载器,检查JAVA_HOME/lib/ext路径下的扩展类,如果能找到就加载(3)如果扩展类加载器找不到,请求返回给应用类加载器,检查用户类路径下的类。
2025-04-07 20:10:20
6863
6
原创 Java Collection(6)——Map&Set
一般把搜索的数据称为关键字(key),和关键字对应的称为值(value),将其称之为Key-value的键值对,所以模型会有两种:(1).纯Key模型:是一种只存储键(key)而不存储值(value)的数据模型,键是唯一的例如: 1 .有一本英文词典,快速查找某个单词是否在词典中 2 .快速查找某个名字是否存在通讯录中(2)key-value模型:是一种存储键值对(key-value)的数据模型。每个key都关联一个值(value),并且键是唯一的。
2025-04-01 18:39:26
1231
3
原创 Java EE(14)——网络原理——应用层HTTPS协议
HTTPS协议是一种通过计算机网络进行安全通信的协议。它是HTTP协议的安全版本,在HTTP协议的基础上加入SSL/TLS加密层来实现数据的安全传输,在传输层的默认端口号是443。HTTP该有的特性HTTPS也有。
2025-03-31 20:48:32
1181
3
原创 Java EE(11)——初识网络
随着软硬件的快速发展,计算机的通信模式已经由原来的独立模式(计算机之间相互独立)——>局域网通信(同一局域网下的计算机可以通信)——>广域网通信(将多个局域网连接成范围更大的网络结构),广域网很大程度上解决了空间距离带来的通信不便问题,那么数据是如何实现跨主机通信的呢?这便是本文所要讨论的内容。
2025-03-21 12:46:40
1273
7
原创 Java EE(12)——网络编程——UDP/TCP回显服务器
回显的意思是无论客户端给服务器发送什么请求,服务器会把客户端的请求原样返回Java中UDP协议的API有两个,一个是DatagramSocket,一个是DatagramPacketJava中TCP协议的API有两个,一个是SeverSocket,一个是Socket。
2025-03-19 19:04:19
1389
7
原创 Java EE(10)——文件I(input)/O(output)
文件是存储在计算机储存设备(如硬盘)上的一组相关数据的集合。它可以包含文本,图像,视频,程序代码等各种类型的数据。
2025-03-16 19:46:24
1226
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人