自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL:二

MySQL中的锁,按照锁的粒度分,分为以下三类:全局锁:锁定数据库中的所有表表级锁:每次操作锁住整张表行级锁:每次操作锁住对应的行数据。

2024-04-26 08:27:18 536 1

原创 JUC 原理:二

一段时间后,Thread-4 释放了 permits, 状态如下。就像是获得了停车位,然后停车场显示空余车位减一。就好像停车位数量,当线程获得了。接下来的 Thread-3。在尝试不成功后再次进入。队列 park 阻塞。

2024-04-26 08:26:47 107

原创 MySQL:一

视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。-- 创建CREATE [OR REPLACE] VIEW 视图名称[(列名列表)] AS SELECT语句 [ WITH [ CASCADED | LOCAL ] CHECK OPTION ]-- 查询。

2023-12-09 15:51:31 737

原创 面试经验总结

1.HashMap在Jdk1.8以后是基于数组+链表+红黑树来实现的,特点是,key不能重复,可以为null,线程不安全2.HashMap的扩容机制:HashMap的默认容量为16,默认的负载因子为0.75,当HashMap中元素个数超过容量乘以负载因子的个数时,就创建一个大小为前一次两倍的新数组,再将原来数组中的数据复制到新数组中。

2023-11-15 22:41:45 9

原创 Java并发编程:三

/ 1. 任务队列// 2. 锁,防止多个线程同时争抢一个任务// 3. 生产者条件变量// 4. 消费者条件变量// 5. 容量// 带超时时间的阻塞获取try {try {// 返回值是 最大等待时间 - 已等待时间 = 剩余时间// 防止虚假唤醒后继续重复等待。等够总时间后就会返回 nullreturn t;// 阻塞获取try {try {return t;// 阻塞添加try {try {

2023-11-05 16:21:42 86

原创 Java并发编程:二

Unsafe对象提供了非常底层的,操作内存、线程的方法,Unsafe对象不能直接调用,只能通过反射获得。

2023-10-16 13:11:56 72

原创 Java并发编程:一

程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO的当一个程序被运行,,这时就开启了一个进程。进程就可以视为程序的一个实例。大部分程序可以同时运行多个实例进程(例如记事本、画图、浏览器等),也有的程序只能启动一个实例进程(例如网易云音乐、360安全卫士等)线程一个进程之内可以分为一到多个线程。一个线程就是一个指令流,将指令流中的一条条指令以一定的顺序交给。

2023-10-11 15:54:01 71

原创 JUC-原理:一

Monitor被翻译为或每个Java对象都可以关联一个Monitor对象,如果使用给对象上锁(重量级)之后,该对象头的Mark Word 中就被设置指向Monitor对象的指针Monitor结构如下刚开始Monitor中Owner为null当Thread-2执行就会将Monitor的所有者Owner置为Thread-2Monitor中只能有一个Owner在Thread-2上锁的过程中,如果Thread-3Thread-4Thread-5。

2023-10-10 16:09:36 40

原创 JUC-模式

在一个线程T1中如何优雅终止线程T2?这里的【优雅】指的是给T2一个料理后事的机会。

2023-10-08 16:34:20 26

原创 Java virtual machine : 二

什么时候会用到自定义类加载器?想加载非classpath随意路径中的类文件都是通过接口来使用实现,希望解耦时,常用在框架设计这些类希望予以隔离,不同应用的同名类都可以加载,不冲突,常见于tomcat容器自定义类加载器步骤:继承父类要遵从双亲委派机制,重写findClass方法注意不是重写loadClass方法,否则不会走双亲委派机制读取类文件的字节码调用父类的方法来加载类使用者调用该类加载器的loadClass方法。

2023-10-04 20:01:31 41

原创 Java Virtual Machine : 一

1.每个线程运行时所需要的内存,成为虚拟机栈2.每个栈由多个栈帧(Frame)组成,对应每次方法调用时所占用的内存3.每个线程只能有一个活动栈帧,对应当前正在执行的那个方法1.垃圾回收是否涉及栈内存?垃圾回收的焦点通常是堆内存,而不是栈内存。垃圾回收并不直接管理栈内存,但栈内存中的引用变量可以影响对象的可达性,从而影响对象是否会被回收。垃圾回收的目标是管理堆内存中的对象,确保不再被引用的对象能够被安全地回收。栈内存的管理通常由Java虚拟机和线程管理机制自动处理。2.栈内存分配越大越好吗?

2023-09-29 15:35:00 155 1

原创 SpringBoot原理篇

注解(个@Bean3.配置类扫描注解(个@Bean @Bean定义接口注解的属性4. @Import导入bean的类 @Import导入配置类调用register方法6. @Import导入接口7. @Import导入接口8. @Import导入接口1.案例:记录系统访客独立IP访问次数(需求分析)1.数据记录位置:Map / Redis2.功能触发位置:每次web请求(拦截器)

2023-09-19 16:58:04 27

原创 开发实用篇

1.为Health端点添加自定义指标要想添加自定义指标,继承AbstractHealthIndicator类即可@[email protected]("company","传智教育");}else{spring boot admin页面显示如下:2.自定义端点@Endpoint注解开启端点功能@ReadOperation注解可在端点被访问后自动执行方法@Component。

2023-09-09 23:17:55 55 1

原创 SpringBoot-基础

1.开发SpringBoot程序要继承中定义了若干个依赖管理3.继承parent模块可以避免多个依赖使用相同技术时出现依赖版本冲突4.继承parent的形式也可以采用引入依赖的形式实现效果parent中仅定义未使用。

2023-09-01 20:31:54 155 1

原创 Maven

modules></modules>注意事项:参与聚合操作的模块最终执行顺序与模块间的依赖关系有关,与配置顺序无关。

2023-08-29 13:38:56 41 1

原创 SpringMVC框架

SpringMVC简介SpringMVC简介SpringMVC概述SpringMVC是一个基于Spring开发的MVC轻量级框架,Spring3.0后发布的组件,SpringMVC和Spring可以无缝整合,使用DispatcherServlet作为前端控制器,且内部提供了处理器映射器、处理器适配器、视图解析器等组件,可以简化JavaBean封装,Json转化、文件上传等操作。SpringMVC快速入门1.导入坐标2.配置SpringMVC的前端控制器ServletDispatcher。

2023-08-20 01:28:33 50 1

原创 Spring整合web环境

原始Javaweb开发中,Servlet充当Controller的角色,Jsp充当View角色,JavaBean充当模型角色,后期Ajax异步流行后,在加上现在前后端分离开发模式成熟后,View就被原始Html+Vue替代。如果核心配置类使用的是注解形式的,那么Spring容器AnnotationConfigWebApplicationContext,如下配置方式。Java程序员在开发一般都是MVC+三层架构,MVC是web开发模式,传统的Javaweb技术栈实现的MVC如下。在Servlet中直接使用。

2023-08-17 11:07:34 92 1

原创 AOP开发

动态代理技术,在运行期间,对目标对象的方法进行增强,代理对象同名方法内可以执行原有逻辑的同时嵌入执行其他增强逻辑或其他对象的方法模拟AOP的基础代码。

2023-08-16 16:36:28 25 1

原创 IoC基础容器:基于注解的spring应用

扩展:@Primary注解用于标注相同类型的Bean优先被使用权,@Primary 是Spring3.0引入的,与@Component和@Bean一起使用,标注该Bean的优先级更高,则在通过类型获取Bean或通过@Autowired根据类型进行注入时,会选用优先级更高的。注解 @Profile 标注在类或方法上,标注当前产生的Bean从属于哪个环境,只有激活了当前环境,被标注的Bean才能被注册到Spring容器里,不指定环境的Bean,任何环境下都能注册到Spring容器里。

2023-08-13 16:29:20 26 1

原创 IoC基础容器

以上在 xml 中配置的Bean都是自己定义的,例如:UserDaoImpl,UserServiceImpl。但是,在实际开发中有些功能类并不是我们自己定义的,而是使用的第三方jar包中的,那么,这些Bean要想让Spring进行管理,也需要对其进行配置配置非自定义的Bean需要考虑如下两个问题:⚫ 被配置的Bean的实例化方式是什么?无参构造、有参构造、静态工厂方式还是实例工厂方式;⚫ 被配置的Bean是否需要注入必要属性。

2023-08-12 16:53:50 30 1

原创 分布式搜索ES:三

聚合可以实现对文档数据的统计、分析、运算。聚合常见的有三类:桶(Bucket)聚合:用来对文档做分组TermAggregation:按照文档字段值分组Date Histogram:按照日期阶梯分组,例如一周为一组,或者一月为一组度量(Metric)聚合:用以计算一些值,比如:最大值、最小值、平均值等Avg:求平均值Max:求最大值Min:求最小值Stats:同时求max、min、avg、sum等管道(pipeline)聚合:其它聚合的结果为基础做聚合默认情况下,Bucket聚合会统计Bucket内的文

2023-08-07 21:34:58 64 1

原创 分布式搜索ES:二

Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括:查询所有:查询出所有数据,一般测试用。例如:match_all全文检索(full text)查询:利用分词器对用户输入内容分词,然后去倒排索引库中匹配。例如: match_query精确查询:根据精确词条值查找数据,一般是查找keyword、数值、日期、boolean等类型字段。例如:idsrangeterm。

2023-08-06 11:30:33 133

原创 分布式搜索ES:一

文档操作的基本步骤:初始化RestHighLevelClient创建XxxRequest。XXX是Index、Get、Update、Delete准备参数(Index和Update时需要)发送请求。调用RestHighLevelClient#.xxx()方法,xxx是index、get、update、delete解析结果(Get时需要)

2023-08-04 20:16:24 25 1

原创 RabbitMQ

SpringAMQP如何发送消息?引入amqp的starter依赖配置RabbitMQ地址利用RabbitTemplate的convertAndSend方法SpringAMQP如何接收消息?引入amqp的starter依赖配置RabbitMQ地址定义类,添加@Component注解类中声明方法,添加@RabbitListener注解,方法参数就时消息注意:消息一旦消费就会从队列删除,RabbitMQ没有消息回溯功能SpringAMQP中消息的序列化和反序列化是怎么实现的?

2023-08-03 01:23:04 62

原创 Docker

镜像是分层结构,每一层称为一个LayerBaseImage层:包含基本的系统函数库、环境变量、文件系统Entrypoint:入口,是镜像中应用启动的命令其它:在BaseImage基础上添加依赖、安装程序、完成整个应用的安装和配置1.推送本地镜像到仓库前都必须重命名(docker tag)镜像,以镜像仓库地址为前缀2.镜像仓库推送前需要把仓库地址配置到docker服务的daemon.json文件中,被docker信任3.推送使用docker push命令4.拉取使用docker pull命令。

2023-08-01 17:07:14 32 1

原创 docker pull报错:no such host

百度之后发现可能是NetworkManager 的作用:CentOS 7 默认使用 NetworkManager 管理网络配置。但是重启docker服务后,发现还是报一样的错误。我以为是配置出了错误,于是又在/etc/docker/daemon.json中添加了"dns":["192.168.153.2","8.8.4.4"]并且还发现我在/etc/resolv.conf新增的dns地址8.8.4.4莫名其妙的不见了。于是我在/etc/resolv.conf添加了新的dns地址8.8.4.4。

2023-07-30 15:43:43 1336 1

原创 统一网关Gateway

在gateway模块中新建AuthorizeFilter类@Component//@Order(-1) //过滤器顺序@Override// 1.获取请求参数// 2.获取参数中的 authorization 参数// 3.判断参数值是否等于 admin// 4.是,放行// 5.否,拦截// 5.1设置状态码// 5.2拦截请求@Overridereturn -1;

2023-07-29 17:26:06 64

原创 Feign

在order-service中的application.yml中添加如下配置feign:client:config:default: # 这里用default就是全局配置,如果是写服务名称,则是针对某个微服务的配置- 局部生效feign:client:config:userservice: # 这里用default就是全局配置,如果是写服务名称,则是针对某个微服务的配置loggerLevel: FULL # 日志级别。

2023-07-29 10:58:49 19

原创 Nacos

黑马程序员课程BV1LQ4y127n4课程笔记2.添加客户端依赖3.修改application.yml配置文件4.启动nacos服务在nacos的bin目录下打开cmd,输入命令成功时如下: 服务注册成功后如下:网址为:http://192.168.1.13:8848/nacos/index.html 修改application.yml配置修改成功后如下:如何让服务A优先寻找与自己同集群的服务2.设置负载均衡的IRule总结可在控制台中修改权重值

2023-07-28 19:42:25 30 1

原创 SpringCloud微服务技术栈

Bean。

2023-07-27 14:29:48 77 1

空空如也

空空如也

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

TA关注的人

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