上一页 1 2 3 4 5 6 ··· 18 下一页
摘要: 本文将带你深入了解SpringBoot框架的核心原理,通过300行代码的迷你版本来展示SpringBoot核心注解的作用及特性,在学习本篇文章时,可以同时学习:深度揭秘SpringBoot自动装配的实现原理,相信大家会对本文中的各个功能会有更加深刻的理解 本文内容: 手写模拟SpringBoot启动 阅读全文
posted @ 2026-04-08 09:00 程序员Seven 阅读(355) 评论(3) 推荐(1)
摘要: Mybatis基础使用 Mybatis编程式开发 mybatis和MySQL jar包依赖 <dependencies> <!-- MyBatis 核心 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</arti 阅读全文
posted @ 2026-04-07 09:00 程序员Seven 阅读(55) 评论(0) 推荐(0)
摘要: 本文将带你深入了解Spring框架的核心原理,通过300行代码的迷你版本来展示Spring最核心的特性:IoC(控制反转)、DI(依赖注入)和MVC(模型-视图-控制器)模式的实现。 mini版Spring实现思路 实现过程 自定义注解 在Spring框架中,注解是非常重要的组成部分。我们的迷你版也 阅读全文
posted @ 2026-04-03 09:00 程序员Seven 阅读(230) 评论(0) 推荐(1)
摘要: MVC 拦截器 Spring MVC 拦截器对应HandlerInterctor接口,该接口位于org.springframework.web.servlet的包中,定义了三个方法,若要实现该接口,就要实现其三个方法: 前置处理(preHandle()方法):该方法在执行控制器方法之前执行。返回值为 阅读全文
posted @ 2026-04-02 09:00 程序员Seven 阅读(156) 评论(0) 推荐(0)
摘要: 前言 什么是MVC MVC英文是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计规范,本质上也是一种解耦。 Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。 Vie 阅读全文
posted @ 2026-04-01 09:00 程序员Seven 阅读(95) 评论(0) 推荐(0)
摘要: Redis属于内存数据库,但为了防止宕机等导致的数据丢失,也有对应的数据持久化技术。持久化主要作用就是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失。 AOF持久化 Append Only File 类似于Mysql的binlog日志类似,会吧写操作命令以追加写的方式写入到AOF日志中。 阅读全文
posted @ 2026-03-31 09:00 程序员Seven 阅读(276) 评论(0) 推荐(1)
摘要: 今天来讲讲 Redis 的请求监听,通俗点说,就是Redis是如何监听客户端发出的set、get等命令的。 基础架构 众所周知,Redis 是单进程单线程架构,虽然是单进程单线程,但是Redis的性能却毫不逊色,能轻松应对一般的高并发场景,那么Redis究竟是施了什么魔法呢? 其实 Redis 的原 阅读全文
posted @ 2026-03-30 09:00 程序员Seven 阅读(153) 评论(0) 推荐(0)
摘要: SQL优化一般步骤 慢日志定位 通过慢查日志等定位那些执行效率较低的SQL语句 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的 阅读全文
posted @ 2026-03-27 09:00 程序员Seven 阅读(318) 评论(0) 推荐(1)
摘要: 开篇结论 加锁的对象是索引,加锁的基本单位是 next-key lock,它是由记录锁和间隙锁组合而成的,next-key lock 是左开右闭区间,而间隙锁是左开右开区间。 在只使用记录锁或者间隙锁就能避免幻读现象的场景下, next-key lock 就会退化成记录锁或间隙锁。 假设这个表,id 阅读全文
posted @ 2026-03-26 09:00 程序员Seven 阅读(243) 评论(2) 推荐(1)
摘要: 全局锁 flush tables with read lock 执行后,整个数据库就处于只读状态了,这时其他线程执行以下操作,都会被阻塞: 对数据的增删改操作,比如 insert、delete、update等语句; 对表结构的更改操作,比如 alter table、drop table 等语句。 全 阅读全文
posted @ 2026-03-25 09:00 程序员Seven 阅读(207) 评论(0) 推荐(0)
摘要: 索引的作用 说白了索引就是数据的目录,根据索引去查数据必然比在库中一行记录一行记录的查更快 索引分类 按数据结构分类 Mysql的数据是存储在磁盘中的,每次从磁盘中读取数据都需要进行一次IO。一个表的数据在磁盘上由于插入顺序的原因肯定不是顺序存放,如果按照表字段内容顺序查找,如果一个500万条数据的 阅读全文
posted @ 2026-03-24 09:00 程序员Seven 阅读(195) 评论(0) 推荐(0)
摘要: 逻辑存储结构 表空间由段(segment)、区(extent)、页(page)、行(row)组成,InnoDB存储引擎的逻辑存储结构大致如下图: 行(row) 数据库表中的记录都是按行(row)进行存放的,每行记录根据不同的行格式,有不同的存储结构。 页(page) 记录是按照行来存储的,但是数据库 阅读全文
posted @ 2026-03-23 09:00 程序员Seven 阅读(211) 评论(1) 推荐(1)
摘要: 执行流程图 MySQL 的架构可以大致划分为四个层次:连接层、服务层、存储引擎层和文件系统层。 连接层:负责对来自客户端的连接进行权限验证,并将连接信息存入连接池中,方便后续的连接复用。 服务层:主要负责 SQL 语句的解析与优化,还包括查询缓存和 MySQL 内置函数的实现。 存储引擎层:提供多种 阅读全文
posted @ 2026-03-20 09:00 程序员Seven 阅读(245) 评论(0) 推荐(1)
摘要: Thread Dump介绍 什么是Thread Dump Thread Dump是非常有用的诊断Java应用问题的工具。每一个Java虚拟机都有及时生成所有线程在某一点状态的thread-dump的能力,虽然各个 Java虚拟机打印的thread dump略有不同,但是 大多都提供了当前活动线程的快 阅读全文
posted @ 2026-03-18 09:00 程序员Seven 阅读(217) 评论(0) 推荐(1)
摘要: Java 调试入门工具 jps jps是jdk提供的一个查看当前java进程的小工具, 可以看做是JavaVirtual Machine Process Status Tool的缩写。 jps常用命令 jps # 显示进程的ID 和 类的名称 jps –l # 输出输出完全的包名,应用主类名,jar 阅读全文
posted @ 2026-03-17 09:00 程序员Seven 阅读(220) 评论(0) 推荐(2)
摘要: Java对象结构 实例化一个Java对象之后,该对象在内存中的结构是怎么样的?Java对象(Object实例)结构包括三部分:对象头、对象体和对齐字节,具体下图所示 Java对象的三部分 对象头 对象头包括三个字段,第一个字段叫作Mark Word(标记字),用于存储自身运行时的数据,例如GC标志位 阅读全文
posted @ 2026-03-16 09:00 程序员Seven 阅读(173) 评论(0) 推荐(1)
摘要: 概述 计算机是不能直接运行java代码的,必须要先运行java虚拟机,再由java虚拟机运行编译后的java代码。 因为在cpu层面看来计算机中所有的操作都是一个个指令的运行汇集而成的,java是高级语言,只有人类才能理解其逻辑,计算机是无法识别的,所以java代码必须要先编译成字节码文件,jvm才 阅读全文
posted @ 2026-03-13 09:00 程序员Seven 阅读(229) 评论(0) 推荐(0)
摘要: 引言 我朋友,一个脾气温和、情绪稳定的成年人,今天,在电脑前憋出了他今年第一句字正腔圆的国骂。 对象不是甲方,不是队友,而是一个AI——确切说,是一个花了他不少钱、号称能当“私人数字助理”的玩意儿,花名龙虾。 事情得从头说起。那天下午,他喜气洋洋地跟我显摆,说也养了个龙虾,能自动整理AI资讯,能给它 阅读全文
posted @ 2026-03-12 22:37 程序员Seven 阅读(89) 评论(0) 推荐(0)
摘要: Java NIO零拷贝 在 Java NIO 中的通道(Channel)就相当于操作系统的内核空间(kernel space)的缓冲区,而缓冲区(Buffer)对应的相当于操作系统的用户空间(user space)中的用户缓冲区(user buffer)。 通道(Channel)是全双工的(双向传输 阅读全文
posted @ 2026-03-11 09:00 程序员Seven 阅读(208) 评论(0) 推荐(0)
摘要: 流与块 Standard IO是对字节流的读写,在进行IO之前,首先创建一个流对象,流对象进行读写操作都是按字节 ,一个字节一个字节的来读或写。而NIO把IO抽象成块,类似磁盘的读写,每次IO操作的单位都是一个块,块被读入内存之后就是一个byte[],NIO一次可以读或写多个字节。 I/O 与 NI 阅读全文
posted @ 2026-03-09 09:00 程序员Seven 阅读(250) 评论(0) 推荐(1)
上一页 1 2 3 4 5 6 ··· 18 下一页