- 博客(54)
- 收藏
- 关注
原创 关于对AI基础概念的初步认识
LLM 全称 Large Language Model,中文叫大语言模型,是一种基于海量文本数据训练、能理解和 生成人类语言的人工智能模型。
2026-06-13 12:35:34
272
原创 JavaEE|SpringMVC
MVC 是 Model View Controller 的缩写,它是软件工程中的一种软件架构设计模式,它把软件系统分 为模型、视图和控制器三个基本部分.View(视图)指在应用程序中专门用来与浏览器进行交互,展示数据的资源.Model(模型)是应用程序的主体部分,用来处理程序中数据逻辑的部分.Controller(控制器)可以理解为一个分发器,用来决定对于视图发来的请求,需要用哪一个模型 来处理,以及处理完后需要跳回到哪一个视图。即用来连接视图和模型。
2026-06-12 13:47:55
235
原创 JavaEE|SpringBoot快速入门
开发极快:极大地减少了模板代码和配置文件。学习成本低:如果你会 Spring,学 Spring Boot 几乎没有门槛。部署方便:打包成一个 JAR 包,非常契合 Docker 容器化和微服务架构。生态无敌:与 Spring 生态无缝衔接,Spring Cloud(微服务)、Spring Security(安全)等都能轻松整合。观察pom文件社区版存在一个bug,需要将release版本删除再点击maven刷新此时不会再报错。
2026-06-02 14:52:43
273
原创 JavaEE|前端集合
CSS是层叠样式表,用于控制页面的样式,能实现美化页面的效果.函数定义与前面的Java也大体相同,存在两种方式"age": 15。
2026-05-28 11:41:02
420
原创 JavaEE|JVM
JVM 是 Java Virtual Machine 的简称,意为 Java虚拟机。虚拟机是指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统。
2026-05-22 11:05:10
471
原创 JavaEE|网络原理TCP/IP
客户端与服务器相互传递的信息是根据需求来的1.行文本(最原始)2.xml(比较原始,可读性好,冗余较多)3.json(主流的方式,可读性好,冗余一般)4.protobuf(高性能场景下使用的方式,可读性差,冗余最小)但凡实现一个具体的程序,写代码之前一定要事先约好应用层协议的格式。
2026-05-21 09:26:09
471
原创 JavaEE|网络原理HTTP和HTTPS
引入对称加密引入非对称加密中间人攻击引入证书和数字证明加密是SSL的握手流程,不只局限于HTTPS的,其他基于SSL的网络协议也是类似流程。
2026-05-15 21:25:12
706
原创 JavaEE|网络编程
DatagramSocket 是UDP Socket用于发送和接收UDP数据报ServerSocket 是创建TCP服务端Socket的API,专门给服务器使用。
2026-05-12 18:06:11
509
原创 JavaEE|文件操作和IO
如何正确使用流对象?1.流对象的使用流程先打开,再读写,最后关闭2.应该是用哪个流对象先区分文件还是文本,二进制再区分读还是写。
2026-05-09 20:40:03
444
原创 JavaEE|多线程进阶
1.悲观和乐观2.重量和轻量3.挂起等待锁和自旋锁4.互斥锁和读写锁5.可重入锁和不可重入锁6.公平锁和非公平锁synchronized详细情况无锁 --> 偏向锁 : 代码进入 synchronized 的 代码块偏向锁 --> 轻量级锁 : 拿到偏向锁的线程运行过程中, 遇到了其他线程尝试竞争这个锁.轻量级锁 --> 重量级锁 : JVM 发现, 当前竞争锁的情况非常激烈当前 JVM 中, 只提供了 "锁升级" 不能 "锁降级"
2026-05-07 10:36:16
359
原创 JavaEE|多线程初阶(四)
在上一篇中我们引出了线程安全的概念,本篇文章中我们主要来探讨线程安全出现的原因,解决方案,以及有线程安全引出来的死锁。
2026-04-23 20:36:14
422
原创 JavaEE|多线程初阶(二)
可以给线程起名(中文名也是可以的),例如对三个线程起不同名字再去jconsole上观察当不给线程起名的时候,线程会自动命名为Thread-0,Thread-1....通过名字描述线程是干啥的,方便调试。
2026-04-18 16:57:04
449
原创 JavaEE|多线程初阶(一)
并发编程并发编程多进程和多线程是实现并发编程的两种技术手段。例如,每一个客户端请求发送到服务器上,服务器提供一个进程,给这个客户端进行服务。
2026-04-16 19:35:54
415
原创 MySQL数据库|视图+索引
视图是一个虚拟的表,它是基于一个或多个基础表或其他视图的的查询的结果集视图本身是不存储数据的语法:create view view_name [(colum list)] as select_statementview创建视图的关键字view_name视图名colum list视图中包含的列select_statement视图对应的SQL语句查询用户的所有信息和考试成绩学生ID,学生成绩,所在班级,课程和对应成绩所有有这样的开发需求的程序员,都需要写这么复杂的SQL。
2026-04-06 23:58:49
463
原创 MySQL数据库|联合查询
查询同学的每门课程成绩,及同学的个人信息1.确定要参与查询的表学生表,课程表,成绩表2.取笛卡尔积MySQL在10ms之内就把这个查询执行完了显示这么慢的原因并不是MYSQL执行有什么问题,也不是SQL语句的编写有什么问题,而是CMD本身的显示问题也可以通过表结构来查看连接条件4.确定查询过滤条件where不需要5.精简查询字段也可以使用过join on的方式来查询。
2026-04-02 18:30:58
360
原创 MySQL数据库|表设计+新增+分组查询
范式描述的是数据关系的模型,一对一关系,一对多关系,多对多关系分类:第一范式:1NF,第二范式:2NF,第三范式:3NF其余范式:BC范式,BCNF。
2026-03-31 10:08:49
668
原创 MySQL|约束
数据库约束是关系型数据库的重要功能主要作用是保证数据的完整性,也可以理解数据的正确性,关联关系是否正确人工检查数据完整性的工作量非常的大,在数据库中定义一些约束,那么数据库写入数据的时候,数据库会帮我们做校验工作。
2026-03-28 12:25:35
368
原创 MySQL数据库|CRUD
1.新增 - 插入insert into 表名2.查询操作select 列名 from 表名3.修改update 表名4.删除delete from 表名。
2026-03-26 21:19:03
395
原创 MySQL数据库|建库&建表&数据类型
数据库服务中有多个数据库,一个数据库中有多个表,一个表中有多个行,一个行有多个列组成create databases 数据库名;create databases if not exists 数据库名;建议在创建数据库的时候指定编码集和排序规则create databases if not exists character set utf8mb4 collate utf8mb4_0900_ai_ci(MYSQL8.0版本固定写法)不能用MySQL的关键字来创建库名,除非用反引号引起来。
2026-03-22 22:32:34
447
原创 Java数据结构|Map&Set(完)+String(一)
数组中的每个元素是链表的头节点,则这个数组是链表数组每次push完都要对负载因子与usedSize进行比较扩容后要对每个节点进行遍历经过调试后,发现代码可以正常扩容当出现引用类型的key时,应该如何去处理可以通过定义泛型类型的哈希桶来解决这个问题对于自定类型的类,在没有重写hashCode与equals的情况下,输入相同的数据,直接对类型比较时,是输出不了true的只能自己去重写hashCode与equals方法才能实现输出相同的情况。
2026-03-10 11:29:35
249
原创 Java的数据结构|排序(三)
1.三数取中法三数取中法选key找到left,mid和right的中位数,并于start进行交换2. 递归到小的子区间时,可以考虑使用插入排序在快速排序时,相遇就会停止递归,但对于真正的二叉树而言,层数越往后节点越多,排序越往后越快而且越有序,想降低递归的次数,可以最后几层不递归,考虑直接插入排序通过以上两种方法可以有效减少快速递归的次数。
2026-03-06 12:36:57
335
原创 Java数据结构|堆(完)+对象的比较+排序(一)
1. 优先级队列的构造要将默认的小根堆形式转换为大根堆形式,可以通过修改比较器的形式来进行大根堆的排列修改的类要实现Comparator接口,如果是o1-o2是小根堆的排列形式Integer是引用类型,不能直接去减,通过o2.compareTo(o1)实现大根堆此时就实现了大根堆的排列形式PriorityQueue的扩容方式优先级队列的扩容说明:如果容量小于64时,是按照oldCapacity的2倍方式扩容的如果容量大于等于64,是按照oldCapacity的1.5倍方式扩容的。
2026-03-03 20:24:05
501
原创 Java数据结构|堆(一)
kn-1},把它的所有元素按完全二叉树的顺序存储方式存储 在一 个一维数组中,并满足:Ki = K2i+1 且 Ki >= K2i+2) i = 0,1,2…将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。堆的删除以优先删除最高节点的数,通过将第一位与最后一位交换位置,再usedSize--来自动删除(实际上是忽略最后一个位置的数据)时间复杂度分析: 最坏的情况即图示的情况,从根一路比较到叶子,比较的次数为完全二叉树的高度,即时间复杂度为。所以堆的删除用到了向下调整。
2026-03-02 15:59:36
575
原创 Java数据结构|二叉树(三)---练习
9. 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。10. 根据一棵树的前序遍历与中序遍历构造二叉树。11. 根据一棵树的中序遍历与后序遍历构造二叉树。root共有节点r个,subRoot共有节点s个。4. 判断一颗二叉树是否是平衡二叉树。13. 二叉树前序非递归遍历实现。14. 二叉树中序非递归遍历实现。15. 二叉树后序非递归遍历实现。7. 二叉树的构建及遍历。8. 二叉树的分层遍历。时间复杂度:O(r*s)时间复杂度为O(n*2)2. 另一颗树的子树。时间复杂度为O(n)
2026-02-27 22:24:55
39
原创 二叉树(二)
对于上篇提到的对任何一颗二叉树,如果其叶节点个数为n0,度为2的非叶节点个数为n2,则有n0=n2+1,我们可此证明:根据一棵N个节点的树有N-1条边二叉树的节点:n0:是否可以产生边?产生不了边0;n1:产生n1条边n2:产生2*n2条边由以上两个式子可得:n0+n1+n2=N可得:n2+1=n0。
2026-02-21 20:57:44
285
原创 Java数据结构|栈队列(完)+二叉树(一)
队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾(Tail/Rear) 出队列:进行删除操作的一端称为队头 (Head/Front)队列的使用列表的模拟实现单链表实现如果单链表加上一个标记尾节点的引用,入队可以采用尾插法,出队可以采用删除头节点注意:就算有尾节点的标记,也不能从头节点入队,因为删除还是需要找最后一个节点的前一个节点双向链表实现。
2026-02-13 16:15:31
787
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅