- 博客(19)
- 收藏
- 关注
原创 Java I/O模式
Java BIO 就是传统的Java IO 编程,其相关的类和接口在java.io同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,可以通过线程池机制改善(实现多个客户端连接服务器)
2024-07-12 16:59:30
946
1
原创 Go 语言入门(一)
在package xxx的上方。一个包只需要在一个地方写包注释,通常会专门写一个doc.go,如果声明后未显式初始化,数值型初始化O,字符串初始化为空字符串,布尔型初始化为false, 首字符之外的部分可以是Unicode字符、下划线或数字。函数内部的变量(非全局变量)可以通过:=声明并初始化。匿名变量不占命名空间,不会分配内存,因此可以重复使用。里面只有一行packagexxx和关于包的注释。引用类型、函数、指针、接口初始化为nil。 名字的长度无限制。 首字符可以是。
2024-07-06 23:08:11
1082
原创 Docker
数据卷(volume)是一个虚拟目录,是容器内目录与宿主机****目录之间映射的桥梁。html:放置一些静态资源conf:放置配置文件如果我们要让Nginx代理我们的静态资源,最好是放到html目录;如果我们要修改Nginx的配置,最好是找到conf下的nginx.conf文件。但遗憾的是,容器运行的Nginx所有的文件都在容器内部。所以我们必须利用数据卷将两个目录与宿主机目录关联,方便我们操作。confhtmlNginx容器内部的conf目录和html目录分别与两个数据卷关联。
2024-05-06 21:31:10
853
原创 MyBatisPlus
①基于Wrapper构建where条件@Test// 1.更新的条件// 2.定义条件// 3.调用自定义 SQL 方法②在mapper方法参数中用Param注解声明wrapper变量名称,必须是ew③自定义SQL,并使用Wrapper条件</
2024-05-05 09:42:10
771
3
原创 Spring Cloud — Gateway
Component@Order(0)@Override// 1.获取请求参数// 2.获取参数中的authorization参数// 3.判断参数值是否等于admin// 4.是,放行// 5.否,拦截// 5.1 设置状态码。
2024-04-23 23:27:06
535
1
原创 Spring Cloud — Feign
Feign是一个声明式的http客户端,官方地址:https://github.com/OpenFeign/feign其作用就是帮助我们优雅的实现http请求的发送,解决上面提到的问题。类型作用说明修改日志级别包含四种不同的级别:NONE、BASIC、HEADERS、FULL响应结果的解析器http远程调用的结果做解析,例如解析json字符串为java对象请求参数编码将请求参数编码,便于通过http请求发送支持的注解格式默认是SpringMVC的注解失败重试机制。
2024-04-22 22:16:58
765
1
原创 Spring Cloud — Nacos、Eureka
在user-service项目引入spring-cloud-starter-netflix-eureka-client的依赖。创建项目,引入spring-cloud-starter-netflix-eureka-server的依赖。4.Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式。官方推荐的最佳实践是使用带有主从的高可用数据库集群,这里我们以单点的数据库为例来讲解。我们最终的目的,是修改nacos中的配置后,微服务中无需重启即可让配置生效,也就是。
2024-04-21 18:46:56
800
1
原创 MySQL-InnoDB存储引擎
,在执行DML语句时,如果这些数据Page没有在Buffer Pool中,不会直接操作磁盘,而会将数据变更存在更改缓冲区 Change Buffer 中,在未来数据被读取时,再将数据合并恢复到Buffer Pool中,再将合并后的数据刷新到磁盘中。Buffer Pool:缓冲池是主内存中的一个区域,里面可以缓存磁盘上经常操作的真实数据,在执行增删改查操作时,先操作缓冲池中的数据(若缓冲池没有数据,则从磁盘加载并缓存),然后再以一定频率刷新到磁盘,从而减少磁盘lO,加快处理速度。
2024-04-17 22:35:55
695
1
原创 Spring Boot
SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而人大提高了开发的效率,一定程度上缩短了项目周期。Spring的顶级项目之—(https://spring.io)。//自定义注解/*** @param context 上下文对象。用于获取环境,T0C容器,CLassLoaden对象* @param metadata 注解元对象。可以用于获取注解定义的属性值。
2024-04-17 16:09:29
1010
1
原创 MySQL-锁
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、1/0)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。全局锁就是对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML的写语句,DDL语句,已经更新操作的事务提交语句都将被阻塞。
2024-04-15 23:40:49
447
1
原创 MySQL索引-使用原则
执行SELECT * FROM tb_sku WHERE sn = ‘1000000000003145001’\G;单列索引:即一个索引只包含单个列。联合索引:即一个索引包含多个列。
2024-04-13 11:12:33
438
原创 MySQL索引-性能分析
EXPLAIN或者DESC命令获取MySQL如何执行SELECT语句的信息,包括SELECT语句执行过程中表如何连接和连接的顺序。表示SELECT的类型,常见的取值有 SIMPLE(简单表,即不使用表连接或者子查询)、PRIMARY(主查询,即外层的查询)、慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位:秒,默认10秒)的所有 SQL 语句的日志。表示索引中使用的字节数,该值为索引字段最大可能长度,并非实际使用长度,在不损失精确性的情况下,长度越短越好。
2024-04-12 21:30:47
324
原创 MySQL索引-基础
4.由于数据都在叶子节点上,而非叶子节点只存储 key,导致非叶子节点占用的空间是比较小的,这些非叶子节点可能在内存中缓存,进一步减小了 IO 次数。 此时,如果通过 name 来查询,查询到的叶子结点只是主键 id ,还需要再通过主键 id 去主键的 B+ 树再查询一次,称作。 其次,针对 name 这一列,会构建另一个 B+树索引,但这个 B+ 树的叶子节点就不在存储这一行的完整数据,而是存主键 id。2.索所有的查询最终都会落到叶子节点上(查询任何一个数据,经过的 IO 访问次数是一样的)
2024-04-12 20:54:28
1008
原创 MySQL多表查询
select * from emp where (job,salary) in (select job,salary from emp where name = ‘张忌’ or name = ‘xz’) 显式内连接:SELECT 字段列表 FROM 表1[INNER] JOIN表2 ON 条件; SELECT 字段列表 FROM 表A 别名A JOIN 表A 别名B ON 条件; 隐式内连接:SELECT 字段列表 FROM 表1,表2 WHERE 条件;常用操作符> 、=、
2024-04-11 21:54:53
552
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人