自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 全面解析MySQL(4)——三大范式与联合查询实例教程

在数据设计时由于三大范式的要求,数据被拆分到多个表中,那么要查询⼀条数据的完整信息,就要从多个表中获取数据,这时就要使用联合查询联合查询的基础,指两个集合中所有可能的有序组合。在MySQL中,当联合查询未指定关联条件时,查询结果会返回所有表的行组合(列相加,行相乘)学生表学号姓名性别班级编号1张三男12李四男33王五女2班级表编号班级1Java班2C++班3Python班两表进行笛卡尔积学号姓名性别班级编号编号班级1张三男11Java班1。

2025-07-28 18:30:25 6213 42

原创 全面解析MySQL(3)——CRUD进阶&数据库约束

是数据库管理系统中用于确保数据完整性、一致性和有效性的规则集合。它们定义了数据在存储和操作过程中必须满足的条件,从而防止无效或不一致的数据进入数据库。非空约束、默认值约束、唯一约束、主键约束、外键约束、检查约束等。

2025-07-24 05:01:45 6022 39

原创 全面解析MySQL(2)——CRUD基础

添加新数据到数据库中。

2025-07-20 21:06:55 668 34

原创 全面解析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 1341 39

原创 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 2530 62

原创 计算机网络(7)——物理层

聚焦物理传输介质本身包含信号处理的完整链路(调制器、编码器等)

2025-06-11 02:12:41 6823 51

原创 计算机网络(6)——局域网

以太网(Ethernet)是一种局域网(LAN)技术,遵循,用于在有限范围内(如家庭、办公室等)实现设备间的数据传输。

2025-06-06 18:53:14 7431 37

原创 计算机网络(5)——数据链路层

数据链路层负责从一个向另一个传输数据报。换言之,主要解决间的可靠数据传输:路由器和主机:连接相邻节点的通信信道。

2025-06-01 19:42:41 5776 23

原创 计算机网络(4)——网络层

(1) 网络层为不同主机(Host)之间提供了一种逻辑通信机制(2)每个和都运行传输层协议。

2025-05-28 22:03:51 11206 16

原创 计算机网络(3)——传输层

(1)传输层为允许在不同主机(Host)上的进程提供了一种(2)端系统(如手机、电脑)运行传输层协议(3)传输层可以为应用提供多种协议,如UDP、TCP:传输层提供的一种抽象服务,它使得不同主机上的应用程序能够直接进行数据传输,而无需关注底层网络的实现细节。

2025-05-24 17:01:34 1196 14

原创 计算机网络(2)——应用层

属于计算机网络体系结构中的,直接面向用户,提供各种网络服务和应用程序的接口。

2025-05-19 22:49:17 1115 11

原创 计算机网络(1)——概述

从组成细节角度来看:Internet是全球最大的互联网络,由ISP(互联网服务提供商,Internet Service Provider)网络互连的网络之网络。换言之,Internet是由多个独立网络互联而成的一个庞大的网络系统,它主要有以下几个组成部分:(1)成千上万的互连的计算设备集合(PC、手机等)(2)通信链路(光纤、卫星等)(3)交换网络:实现数据的分组转发(路由器、交换机等)从服务角度来看:能为用户提供什么服务(1)为网络应用提供通信服务基础设施:光纤、电缆、路由器等。

2025-05-17 20:34:42 1393 14

原创 Java SE(12)——异常(Exception)

虽然Java中已经内置了非常多的异常类,但不一定完全符合用户的需求,所以用户也可以自定义自己期望的异常如果希望自定义非检查型异常,可以继承自RuntimeException及其子类super();如果希望自定义检查型异常,可以继承自IOException等检查型异常super();super();super();if(!throw new UsernameErrorException("用户名错误");if(!

2025-05-13 21:43:57 860 7

原创 Java SE(11)——内部类

Java中的内部类(Inner Class)是指在一个类的内部定义的类。当一个类的内部,存在一个部分需要完成的结构进行描述,而该内部结构只为外部类提供服务,那么这个内部结构就可以使用内部类(如Map中的entry内部类)

2025-05-11 19:50:50 5803 7

原创 Java SE(10)——抽象类&接口

修饰的类就是。

2025-05-09 20:10:38 1310 8

原创 Java SE(9)——多态

(Polymorphism)是面向对象编程的三大基本特性之一(封装和继承已经讲过了),它允许不同类的对象对同一消息做出不同的响应。具体来说,多态允许指向(向上转型),并通过该引用调用子类中的方法,从而实现不同的行为。

2025-05-06 19:46:06 1414 7

原创 Java SE(8)——继承

在Java中,是面向对象编程的三大基本特性之一(还有和),允许一个类(子类/继承类)继承另一个类(父类/基类)的和在我们现有的知识储备基础上,如果要抽象出和,代码就要这么些:但我们不难发现,在上述抽象狗和猫的过程中,有部分代码是重合的。这是因为狗和猫同属于动物,都有名字、毛色和年龄,都会睡觉。那么我可以定义一个类来对这些相同的代码(共性)进行抽取,然后让Dog和Cat类来继承Animal类中的属性。

2025-05-05 20:37:44 1159 7

原创 Java SE(7)——类和对象(二)

在Java中,是一种用于组织和管理的机制。主要作用是。

2025-05-03 21:18:33 1086 10

原创 Java SE(6)——类和对象(一)

面向对象编程关注的是对象,对象就相当于是生活中的实物,比如:洗衣机。但是计算机不知道什么是洗衣机,这需要我们开发人员来告诉计算机什么是洗衣机上图左边的信息就是对洗衣机的描述,我们可以用这种描述信息来表示一个具体的实物,这个过程称为抽象。所谓抽象,指的是从具体事物中抽取共同的、本质的特征,忽略次要的、非本质的特征。但是这些简化的抽象结果(图片左侧的描述信息)也不能被计算机识别,开发人员就需要使用某种面向对象的编程语言来进行描述,比如:Javafield;//属性或者成员变量method;

2025-05-01 19:03:43 1278 9

原创 Java SE(5)——数组

概念:是一种用于存储多个相同类型元素的数据集合。比如现实马路旁的停车位,数组在内存中是一段连续的空间数组中的每个元素都有对应的下标/索引对应那么,初始数组之后,在Java中如何创建数组并且初始化呢?

2025-04-29 20:05:52 1287 5

原创 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 1081 2

原创 Java SE(3)——程序逻辑控制,输入输出

按照代码的书写顺序从上到下依次执行,每条代码都会执行到且仅执行一次。

2025-04-27 19:00:37 5710 5

原创 Java EE(15)——线程安全——ThreadLocal

在面的线程安全相关的博文中,解决线程安全问题的方法主要使用和两个关键字。引发线程安全问题的根本原因是多个线程同时对共享变量进行操作,而上述两个关键字并没有改变"多个线程同一个变量"这个情况。以synchronized为例,当某一线程访问上锁的变量时,其他线程只能等待该线程释放锁,使用synchronized会一定程度上影响性能(即便使用了锁升级策略),本质上还是"多个线程同一个变量"。本文介绍的就是解决这一问题的。

2025-04-20 15:30:27 1054 8

原创 Java Collection(8)——Map的遍历方式

Map是一个接口,这意味着它不能直接实例化对象,必须要通过具体的实现类来实例化对象。

2025-04-17 14:53:48 1115 7

原创 Java Collection(7)——Iterable接口

在JDK1.7以前,Iterable接口内部只定义了iterator()方法。然而在JDK1.8及以后,又新增了forEach()和spliterator()方法。

2025-04-16 20:15:51 1368 4

原创 Java EE(7)——线程安全总结(翻新版)——定时器(Timer)&线程池(ThreadPoolExecutor)

1.概念:线程池是一种管理和复用线程的编程模式。它预先创建一定数量的线程,在执行任务需要时,将任务分配给这些线程,从而提高运行效率2.主要特点线程复用:当线程执行完一个任务时,不会立即销毁,而是等待下一个任务的到来(当然这种等待是有时间限制的),这样避免了频繁的创建和销毁线程动态调整:根据实际环境需要动态调整线程数量,以达到最佳性能任务队列:线程池会维护一个任务队列,用于存放待执行的任务,当线程空闲时,从队列中取出任务并执行1.int corePoolSize:核心线程数。

2025-04-15 22:21:27 1314 9

原创 Java虚拟机——JVM(Java Virtual Machine)解析二

JVM的垃圾回收(Garbage Collection,GC)是一种自动内存管理机制,用于回收程序中的对象占用的内存空间,避免因对象未被正确释放而导致内存耗尽。

2025-04-12 02:43:18 6304 1

原创 Java SE(2)——运算符

在Java编程语言中,是用于特定操作的符号,它们用于对和进行各种操作。

2025-04-10 22:36:47 898 2

原创 Java虚拟机——JVM(Java Virtual Machine)解析一

核心思想:当类加载器收到类加载请求时,不会自行立即加载,而是先将该加载请求委派给父类加载器,最终请求会到达顶层类加载器。(1)顶层加载器(启动类加载器,Bootstrap ClassLoader)检查JAVA_HOME/lib路径下的核心类库,如果能找到就加载(2)如果启动类加载器找不到,请求返回给扩展类加载器,检查JAVA_HOME/lib/ext路径下的扩展类,如果能找到就加载(3)如果扩展类加载器找不到,请求返回给应用类加载器,检查用户类路径下的类。

2025-04-07 20:10:20 6807 4

原创 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 1191 3

原创 Java EE(14)——网络原理——应用层HTTPS协议

HTTPS协议是一种通过计算机网络进行安全通信的协议。它是HTTP协议的安全版本,在HTTP协议的基础上加入SSL/TLS加密层来实现数据的安全传输,在传输层的默认端口号是443。HTTP该有的特性HTTPS也有。

2025-03-31 20:48:32 1142 1

原创 Java EE(13)——网络原理——应用层HTTP协议

的(5)片段标识符:以#开始,不会发送到服务器,用于定位当前页面的某个部分。

2025-03-30 19:00:06 1461 4

原创 Java EE——线程状态

从编写Java代码的角度来说,线程一共有六种状态;但是以操作系统的视角来看,线程状态可以分为物种。

2025-03-27 09:28:22 992 3

原创 Java EE(11)——初识网络

随着软硬件的快速发展,计算机的通信模式已经由原来的独立模式(计算机之间相互独立)——>局域网通信(同一局域网下的计算机可以通信)——>广域网通信(将多个局域网连接成范围更大的网络结构),广域网很大程度上解决了空间距离带来的通信不便问题,那么数据是如何实现跨主机通信的呢?这便是本文所要讨论的内容。

2025-03-21 12:46:40 1224 2

原创 Java EE(12)——网络编程——UDP/TCP回显服务器

回显的意思是无论客户端给服务器发送什么请求,服务器会把客户端的请求原样返回Java中UDP协议的API有两个,一个是DatagramSocket,一个是DatagramPacketJava中TCP协议的API有两个,一个是SeverSocket,一个是Socket。

2025-03-19 19:04:19 1327 1

原创 Java EE(10)——文件I(input)/O(output)

文件是存储在计算机储存设备(如硬盘)上的一组相关数据的集合。它可以包含文本,图像,视频,程序代码等各种类型的数据。

2025-03-16 19:46:24 1187 2

原创 Java EE(9)——线程安全——锁升级&JUC&集合类

上篇博文介绍了各种锁策略,那么在此基础上我再对常用的synchronized的优化策略进行讲解当我们使用synchronized对某一代码块加锁的时候,synchronized并不会在第一时间加锁,而是经历了()这样的锁升级过程。当一个线程第一次访问同步块时,JVM会尝试,并标记为。之后,当该线程再次进入同步块时,直接进入同步块如果有其他线程尝试获取该锁,偏向锁会被撤销,升级为轻量级锁当thread1等待了很久(自旋了很多次)lock依然没有释放,或者此时又来了很多线程。

2025-03-15 20:40:57 845 2

原创 Java EE(8)——线程安全——锁策略&CAS

乐观锁&悲观锁CAS是Compare And Swap的缩写,意思是比较并交换。CAS操作通过比较内存中的值(address)与预期值(expectedValue)是否相同,如果相同,则将内存中的值更新为新值;否则,不进行更新下面是CAS的伪代码当多个线程同时对某个资源进行CAS操作,只能有一个线程操作成功,但是并不会阻塞其他线程,其他线程只会收到操作失败的信号。

2025-03-15 02:21:27 1019 5

原创 Java Collection(4)——二叉搜索树(BinarySearchTree)PriorityQueue(优先级队列)

本文的二叉搜索树和优先级队列都是基于实现的,所以务必要二叉树的基本结构和操作。

2025-03-14 10:00:00 766 4

原创 Java Collection(3)——BinaryTree(二叉树)

设总结点数N,度为1的节点数n1,度为2的节点数n2,度为1的节点数n0完全二叉树中度为1的节点要么有一个,要么没有当总结点数目为奇数时,没有度为1的节点,满足关系式N=n2+n0,且n2=n0-1;当总结点数为偶数时,有一个度为1的节点,满足关系式N=n2+n0+n1,且n2=n0-1。

2025-03-12 23:59:33 970 2

空空如也

空空如也

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

TA关注的人

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