自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Node_Hao的博客

你的努力终将成就无可替代的自己!

  • 博客(69)
  • 收藏
  • 关注

原创 Spring 事务和事务的传播机制

将一组操作封装成一个执行单元 (分装到一起) , 要么全部成功 , 要么全部失败.Spring 事务的传播机制是指多个事务方法相互调用(嵌套)的情况下 , 如何管理这些事务的提交和回滚.

2023-07-22 17:48:24 763

原创 SpringBoot 统一功能的处理

/定义拦截器 @Component public class LoginInterceptor implements HandlerInterceptor {

2023-07-15 10:01:33 12637

原创 Spring AOP 快速入门

添加 AOP 支持框架定义切面和切点定义通知Spring AOP 是通过动态代理的方式 , 在运行期间将 AOP 代码织入到程序中的 , 实现方式有两种 , JDK Porxy 和 CGLIB.

2023-06-12 15:56:21 741 29

原创 MyBatis 万字进阶

添加字段分为两种: 必填字段和非必填字段 , 其中 id 就是必填字段 , 其余字段都是非必填字段 , 那么假设我们添加用户时 , 由于 photo 字段不做限制 , 可能会出现出乎意料的结果 , 为了防止出现这种情况我们可以使用标签来解决.动态SQL可以使用编程语言中的字符串拼接、条件判断等语法来实现.简而言之 ,我们日常在浏览 , 淘宝 , 京东这样的电商平台时 , 有时需要按各种属性排序 , 实现这样的功能时 , 可选参数有很多 , 因此无法写死 , 需要根据后续用户的选项来拼接.

2023-06-06 17:58:38 2932 26

原创 MyBatis 快速入门

MyBatis 是一款优秀的持久层框架(将电脑中的数据保存到磁盘上) , 它支持自定义 SQL , 存储过程以及高级映射. MyBatis 去除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作. MyBatis 可以通过简单的 xml 或 注解 来配置和映射原始类型 , 接口和 java POJO (plain old java objects , 普通老式 java 对象) 为数据库中的记录.MyBatis 提供简单易用的 API 就是为了更加简单的操作和读取数据.对应后端开发人员来说 , 程序

2023-05-29 10:50:38 875 30

原创 SpringMVC 万字通关

SpringMVC 是 Spring Framework 的一部分,是一个基于 Servlet API 构建的原始的 Web 框架 , 它的正式名称为 Spring Web MVC.Spring MVC 是一个Web框架.Spring MVC 是基于构建的.然而真正理解 SpringMVC , 我们需要先知道什么是 MCV?MVC 是 Model View Controller 的缩写 , 它是软件工程的一种软件框架模式 , 它把软件系统分为模型视图控制器三个基本部分.Model。

2023-05-19 17:32:31 1890 37

原创 SpringBoot 日志文件从入门到实战

在程序中得到日志对象.使用日志对象的相关语法输出要打印的内容.

2023-05-15 14:52:21 958 29

原创 Spring Boot 配置文件

是两个时代的产物 , .yml 属于新时代的产物 , 创建 Spring Boot 时的配置文件默认格式是 properties , 如果用户指定要使用 .yml 就直接发给他.由此可以发现 , 如果没有配置文件 , Spring Boot 项目就不能连接和操作数据库 , 甚至不能保存用于查询问题的关键日志.yml 是树形结构的配置文件 , 基本语法是"key: value"(注意冒号后的空格不可省略)properties 是旧时代的配置文件格式 , 也是 Spring Boot 默认的配置项.

2023-05-12 10:29:08 1894 34

原创 SpringBoot 创建和使用

Spring 的诞生是为了简化 java 程序的开发 , 而Spring Boot 的诞生是为了简化 Spring 程序开发.Spring boot 翻译以下就是"脚手架" , 有了脚手架就可以快速的开发和使用 Spring .

2023-05-10 15:29:04 1187 13

原创 Bean 作用域和生命周期

1. singleton(单例作用域)描述: 由于 Spring 框架除了追求高效还追求性能 , 因此使用单例模式作为默认作用域. 该作用域下的 Bean 在整个 IoC容器中只存在一份 , 无论是获取还是注入都是同一个对象.场景: 通常无状态的 Bean 使用该作用域. (无状态指对象的属性无需更新)2. prototype(原型作用域)描述: 在该作用域下 , 每次 Bean 的请求都会创建新的实例.通常有状态的 Bean 使用该作用域.3. request(请求作用域)描述。

2023-05-05 19:50:42 1371 12

原创 Spring 更简单的读取和存储对象

从容器中取 Bean 对象 , 如果我们在配置文件中有注册标签 , 那么 getBean() 中就可以添加 id 和 class 两个参数 , 确保在容器中找到 Bean. 可是此时我们把配置文件中的标签改为了 component-scan 包路径下的扫描 , 这样就没法通过 id 来访问包了 , 但 Spring 中约定可以。也就是说即使添加了注解 , 如果不是在配置的扫描包下的类对象 , 是不能被存储到 Spring 中的 , 体现了 Spring 框架在追求方法的同时 , 更追求性能.

2023-05-04 19:51:18 635 10

原创 Spring 创建和使用

在 Java 中对象也叫 Bean , 所以以后遇到对象就以 Bean 著称初学 java 时我们都知道 , java 的图标是一杯咖啡 , 那么 bean 就可以当做咖啡豆.提供一个无参构造函数需要被序列化且实现了 Serializable 接口有一系列可读属性 , 且一般是 private 的.有一系列的 Setter 和 getter 方法.

2023-05-01 21:36:32 1346 11

原创 Spring 初始导读

容器是用来容纳某种物品的装置.List/Map -> 数据存储容器Tomcat -> Web 容器(存储很多 Servlet 程序)IoC = Inversion of Control (控制反转) , 也就是说 Spring 是一个 “控制反转” 的容器 , 听上去很抽象 , 下面这个示例可以很好的解释.

2023-04-28 10:01:40 1195 9

原创 Servlet 配置与高效部署

doGet 是 Tomcat 收到 Get 请求的时候就会调用 , 具体要不要调用 doGet , 还得看当前 Get 请求的路径是啥 , 不同的路径可以触发不同的代码(关联到不同类上) , 一个Servlet 程序中 , 可以有很多的 Servlet 类 , 每个 Servlet 类都可以关联到不同的路径(对应到不同的资源) , 因此多个 Servlet 就可以实现不同的功能.因为 IDE 直接运行是在本地 , 工作时开发环境(自己写代码的电脑)和运行环境(另一个服务器)很可能不是同一个环境.

2023-04-24 10:52:43 1711 15

原创 Tomcat 配置与部署

http 协议就是 http 客户端和 http 服务器之间通信的协议 , 而Tomcat 就是 java 圈子中最广泛使用的 http 服务器.

2023-04-23 08:40:50 764 11

原创 Https详解

https 就是 http + 安全层(SSL)–> 用来加密的协议 SSL/TLSSSL(security scoket layer) 加密套接字协议层.至于为什么会推出安全层 , 是因为臭名昭著的"运营商劫持"可以看到 天天动听 的下载链接被替换为 QQ浏览器.如果避免这种情况呢?出现这种情况的主要原因是在互联网上明文传输非常危险, 不光是运营商劫持 , 黑客窃取支付密码也是常见的事 , 因此需要加密.

2023-04-19 09:40:19 1143 10

原创 高效便捷构造 Http 请求

对于Get请求 常见构造方式为:1. 地址栏直接输入2. 点击收藏夹3. html 中的 link script img a....4. form 标签这里我们重点强调 form 标签构造的 http请求

2023-04-13 14:40:29 915 15

原创 一文吃透Http协议

Http 协议 , 是应用层最为广泛使用的协议 , Http 就是浏览器和服务器之间的桥梁. Http 是基于 TCP 协议实现的 ,通常我们输入搜索框中的网址 (URL) , 浏览器就会根据这个 URL 构造出一个 Http 请求 , 发送给服务器. 服务器就会返回一个 Http 响应(包含 html, css , js) , 浏览器再把得到的 html 等数据显示出来(渲染) , 这也就是为什么 http 被称为超文本传输协议 , 因为传输的不仅仅是文本.fiddler 本质是一个代理程序 , 使用时

2023-04-11 07:32:58 5087 9

原创 JavaScript(WebAPI)+具体案例

JS 的学习主要分为三个大的部分ECMScript: 基础语法部分DOM API: 操作页面结构BOM API: 操作浏览器WebAPI 就包含了 DOM + BOM真正想要写一个更加复杂的有交互式的页面, 还需要WebAPI的支持.

2023-04-06 08:23:52 953 12

原创 JavaScript 快速入门

1. 初始 JavaScript1.1 JavaScript 是什么?1.2 JavaScript 能做的事情 1.3 JavaScript 和 HTML 和 CSS 的关系1.4 JavaScript 运行过程1.5 JavaScript 的组成2. 前置知识2.1 JavaScript 的书写形式2.2 输入输出3. 语法概览3.1 变量的使用3.2 理解 动态类型3.3 基本数据类型3.4 JS 中的数组3.5 函数3.6 函数表达式:3.7 作用域:3.8 作用域链:4. 对象4.1 使用 字面量

2023-04-03 11:21:45 1148 14

原创 初始 CSS 基础

专栏简介: 前端从入门到进阶题目来源: leetcode,牛客,剑指offer.创作目标: 记录学习JavaEE学习历程希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长.学历代表过去,能力代表现在,学习能力代表未来!目录1. CSS 是什么2. 基本语法规范2. 引入方式2.1 内部样式表2.2 行内样式表2.3 外部样式3. 代码风格3.1 样式格式4. 选择器4.1 选择器的功能4.2 选择器的种类5. 常用元

2023-03-27 22:20:34 838 3

原创 一文快速入门 HTML 网页基础

学习 HTML 标签之前 , 首先要知道 HTML 这类前端语言在哪里编写/运行 , 常见编译器有 VsCode , IDEA... 从性能和使用体验来讲 , IDEA 最强无可厚非. 但其有个致命的缺点就是收费 , 因此我们可以退而求其次使用 VsCode.Visual Studio Code - Code Editing. Redefined​

2023-03-09 10:06:30 1038 18

原创 [多线程进阶]CAS与Synchronized基本原理

CAS 全称 Compare and Swap , 相当于一个原子操作 , 同时完成"读取内存 比较数据是否相等 修改内存"这三个步骤. 本质上是一条 CPU 指令.

2023-02-13 11:41:37 1649 42

原创 [多线程进阶] 常见锁策略

锁策略之所以被叫做策略 , 是因为它并不是一个具体的锁 , 而是一系列供锁的实现者来参考的特性 , 对普通程序猿合理的使用锁也是有很大的帮助.

2023-02-09 08:19:09 1420 39

原创 网络编程-TCP流套接字

短连接: 每次接收数据并返回响应后 , 都关闭连接(短连接只能收发一次数据)长连接: 不关闭连接 , 一直保持连接状态 , 双方不停的收发数据

2023-02-06 08:02:13 1149 34

原创 网络编程-UDP数据报套接字

所谓的网络资源其实就是网络中可以获取的各种数据资源.而所有的网络资源都是通过网络编程来进行数据传输的.

2023-02-02 08:23:53 956 34

原创 初始网络编程

随着时代的发展 , 越来越需要计算机之间共享通信 , 数据和软件 , 即多个计算机协同完成任务 , 于是有了网络互联.

2023-01-30 09:25:17 6381 36

原创 [JavaEE]线程池

想要搞清楚什么是线程池 , 首先要明白线程存在的意义. 由于使用进程并发编程开销过大, 于是引入了线程 , 线程也叫做 "轻量级进程" , 创建/调度/销毁线程都比进程更加高效. 此时多线程在很多时候就可以代替多进程实现并发编程了.

2023-01-26 06:36:39 1664 28

原创 [JavaEE]文件操作和IO

狭义上的文件指的是 , 针对硬盘这种持久化存储的I/O设备 , 保存数据时会分割成一个个独立的单位 , 这些独立的单位就被抽象成文件的概念.广义上的文件指的是 , 操作系统中会把很多的硬件设备和软件资源抽象成文件 , 按照文件的方式来统一管理 , 例如: 网卡这个硬件设备在网络编程中 , 通常会被当做文件来操作.

2023-01-23 08:46:51 1827 20

原创 [JavaEE]定时器

定时器类似于一个"闹钟" , 是软件开发中的一个重要组件 , 达到一个设定时间后就会执行某段代码.

2023-01-19 09:28:02 2662 27

原创 [JavaEE]阻塞队列

阻塞队列是一种特殊的队列 , 也遵循"先进先出"的原则.阻塞队列是一种线程安全的数据结构.

2023-01-16 09:35:00 1300 32

原创 [JavaEE]单例设计模式

设计模式就好比象棋中的棋谱 , "红方当头炮 , 黑方马来跳" , 针对红方的走法 , 黑方可以使用一些固定套路来应对 . 软件开发中也是如此 , 针对一个固定的问题场景 , 业界大佬以及总结出一些固定的套路 , 按照这个固定套路可以少走不少弯路.

2023-01-12 09:51:00 1003 31

原创 [JavaEE]synchronized 与 死锁

当某个线程执行到 synchronized 所修饰的对象时 , 该线程对象会加锁(lock) , 其他线程如果执行到同一个对象的 synchronized 就会产生阻塞等待.

2023-01-09 10:28:10 2463 29

原创 [JavaEE] volatile与wait和notify

Java内存模型(JMM):Java虚拟机规范中定义了Java内存模型 , 目的是屏蔽一切硬件和操作系统的内存访问差异 , 以实现Java程序在各种平台下都能达到一致的并发效果.

2023-01-05 09:45:05 1100 26

原创 [JavaEE]线程的状态与安全

观察执行结果我们可以发现 , 相比于单线程执行 , 多线程执行可以节省大量时间 , 但并非我们认为的节省一半时间 , 这是因为多线程在调度时还会有额外的开销 , 而且不能保证多线程一定是在两个CPU上执行.

2023-01-02 09:29:25 1190 23

原创 [JavaEE] Thread类及其常见方法

Thread 类是 JVM 用来管理线程的一个类 , 换句话说 , 每个线程都有唯一的 Thread类 与之关联.Thread 类的对象就是用来描述一个执行流的 , JVM 会将这些Thread对象组织起来 , 用于线程调度和线程管理.

2022-12-28 09:37:32 1921 23

原创 [JavaEE] 线程与进程的区别详解

一个线程就是一个执行流 , 每个线程都可以按照自己的顺序来执行代码 , 多个线程同时执行着多份代码.

2022-12-26 10:27:09 1714 22

原创 [MySQL]初始JDBC编程

JDBC即Java DataBase Connectivity , Java数据库连接 , 是一种用于执行SQL语句的Java API. 它是Java中数据库的连接规范.

2022-12-22 11:28:20 3720 58

原创 [MySQL]索引详解

索引就是帮助存储引擎快速获取数据的一种数据结构 , 形象的说:"索引就是数据的目录".

2022-12-19 10:48:00 2075 37

原创 [Java]图论进阶--最小生成树算法

图论最小生成树算法,简洁明了.

2022-12-15 20:51:38 3365 21

空空如也

空空如也

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

TA关注的人

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