自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 高并发集群项目知识点学习记录[不间断更新]

背景项目为B2C商城,以此进行二次开发学习,最终目标能抗住百万并发。从环境搭建到高并发重构的不熟或者是新知识点的加深扫盲,以此作为我即将JAVA后端工作三年经验技术的汇总(本篇只针对后端,这几年学的前端以后有时间再总结吧)。1.[加深]Nacos作为配置中心的使用配置文件Date Id公式为$(spring.application.name)-$(spring.profiles.active).$(spring.cloud.nacos.config.file-extension}...

2022-02-09 11:40:44 347

原创 spring循环依赖

前置环境:为了更好地理解和debug我这里每个service里面注入了2个service@Componentpublic class AService { @Autowired private BService bService; @Autowired private CService cService; public AService(){ System.out.println("AService构造函数"); }}@Com

2021-03-23 20:06:41 140 1

原创 详解MySQL查询和更新流程以及2大log

前面走一样的流程,在一个表上有更新的时候,跟这个表有关的查询缓存会失效,所以这条语句就会把表stock上所有缓存结果都清空。优化器决定要使用 ID 这个索引。然后,执行器负责具体执行,找到这一行,然后更新。当执行select查询请求的时候,首先会进入查询缓存中查找,key是语句,value是结果,如果查询到有缓存则直接返回,如果没有查询到则继续往后面走,并且将查询到的结果存入查询缓存中。优化器是在表里面有多个索引的时候,决定使用哪个索引,或者在一个语句有多表关联(join)的时候,决定各个表的连接顺序。

2023-04-12 15:13:35 226

原创 一文拿下MySQL索引数据结构

在MySQL5.6之前的版本,这个查询只能在联合索引里匹配到名字是’Zhang’开头的索引,然后拿这些索引对应的主键逐个回表,到主键索引上找出相应的记录,再比对age和sex这两个字段的值是否符合。索引下推会减少回表次数,对于Innodb引擎的表索引下推只能用于二级索引,InnoDB的主键索引(聚簇索引)树叶子节点上保存的是全行数据,所以这个时候索引下推并不会起到减少查询全行数据的效果。只会走name字段索引,因为根据name字段过滤完,得到的索引行里的age和sex是无序的,无法很好的利用索引。

2023-04-11 17:18:19 129

原创 异步神器CompeletableFuture详解

CompletableFuture还有很多对于任务组合的Api,一贯来是不要求自己死记硬背的,只要明白大概有处理什么流程的方法,等到业务场景匹配的时候再去查文档即可,比如随便列2个使用过的Api。CompletableFuture是可以自定义线程池的,如果没有自定义线程池,则会使用默认的。可能会使用其它的线程去执行(如果使用相同的线程池,也可能会被同一个线程选中执行)。避免了传统回调最大的问题,那就是能够将控制流分离到不同的事件处理器中,也就是。方法,那么会使用前一阶段的线程来继续执行下一阶段的任务。

2023-04-11 15:17:51 643

原创 Nacos源码分析

提示:本文Nacos版本为1.4.1,后续会有2.x的改动分析。

2023-04-07 15:10:58 200

原创 Elasticsearch进阶之Query DSL

Elasticsearch进阶之Query DSL

2023-02-27 15:57:24 243

原创 CompletableFuture用法

JUC之Future

2022-05-12 20:13:16 3102

原创 深入DubboSPI原理

版本:2.7.5Java SPI以及Dubbo的SPI首先先来研究下Dubbo的SPI技术,先来看看Java的SPIpackage com.mingzhi;public interface Car { void printCarName();}定义一个接口,然后创建如下图的文件,文件名为接口的全包名,内容为接口实现类的全包名随后main方法中就可以调用ServiceLoader.load去加载实现类package com.mingzhi;import

2022-02-16 21:20:40 983

原创 Redis与Mysql一致性问题

redis和mysql的一致性

2022-02-07 14:14:31 1189

原创 Hadoop3.x进阶之HDFS

版本3.1.3

2022-01-03 17:13:02 576

原创 Hadoop3.x入门

Hadoop3.x入门学习记录

2021-11-06 18:09:34 1622

原创 Vue进阶

生命周期:生命周期: 1.又名:生命周期回调函数、生命周期函数、生命周期钩子。 2.是什么:Vue在关键时刻帮我们调用的一些特殊名称的函数。 3.生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求编写的。 4.生命周期函数中的this指向是vm 或 组件实例对象。常用的生命周期钩子: 1.mounted: 发送ajax请求、启动定时器、绑定自定义事件、订阅消息等【初始化操作】。 2.beforeDestroy: 清除定时器、解绑自定义事件、取消订阅消息

2021-10-22 15:59:07 94

原创 Elasticsearch入门

1.环境搭建 版本7.8Windows直接下载运行bin目录下的elasticsearch.bat即可,内部通信端口9300,ui端口9200.

2021-07-04 11:52:06 119

原创 Mysql主从架构

http://note.youdao.com/noteshare?id=6a29ff52392a159df7fb6c6f9f731070&sub=435F6F2C7F724C589FD35BF5297270B9

2021-06-23 21:57:57 116

原创 集成三方框架思考 以及@Bean和@Component区别

@Bean和@Component区别 @Component注解会先生成beanDefinition,最后由spring反射生产bean,不能干预生成bean的过程。 @Bean注解会返回一个对象,这个对象就是一个bean,通常方法体中包含了最终产生bean实例的逻辑,所以是能干预生成bean的过程(集成三方库中的类需要装配到Spring容器时,通过@Bean来实现做增强)。 ...

2021-04-28 22:09:36 209

原创 jvm垃圾收集器

复制算法:它可以将内存分为大小相同的两块,每次使用其中的一块。当这一块的内存使用完后,就将还存活的对象复制到另一块去,然后再把使用的空间一次清理掉。这样就使每次的内存回收都是对内存区间的一半进行回收。缺点:浪费一半空间标记清除算法:标记存活对象,清除其余对象或标记然后清除未存活对象缺点:产生空间碎片、一个一个标记效率低标记整理算法:标记与前面一样,只是最后是将存活对象全部移动到一端,使其连续,然后清除其余的空间缺点:一个一个标记效率低垃圾收集器...

2021-04-04 16:52:32 100

原创 jvm整体结构以及对象创建与内存分配

堆:存放对象栈:线程每运行一个方法都会创建一个栈帧 FILO 栈帧内有局部变量表 操作数占 动态链接 方法出口等本地方法栈: native方法方法区 :c++结构 类原(代码)信息 静态变量 常量等计数器:执行到哪一步的计数器堆中分代区:默认1/3年轻代:eden和survival区,survival区又分为2个区域为s0、s1,默认比例8:1:1默认2/3老年代-Xss512K 栈-Xms2048M 堆初始-Xmx2048M 堆最大,堆会逐渐增大到最大值..

2021-04-04 16:46:27 128 1

原创 jvm类加载机制

JVM类加载机制引导类加载器 c++ -> jre/lib中的核心类库 rt.jar等扩展类加载器ExtClassLoder -> jre lib中的ext扩展jar类包应用程序加载器AppClassLoder -> classpath中加载自己的类自定义加载器 -> 默认父loader属性是应用程序加载器AppClassLoder,调用继承的父类ClassLoder的构造方法中会设值流程:运行ClassLoaderDemo.ja...

2021-04-04 16:29:31 77

原创 spring bean生命周期

一、spring bean实例化之前:类被扫描(configurationClassPostProcessor),每扫描到一个符合规则的类之后解析成一个的beanDefinition,invokeBeanFactoryPostProcessor之前beanDefinitionMap只有自己的开天辟地的类和自己的配置类(配置类在register()时解析成beanDefinition)接着beanDefinition放入beanDefinitionMap中key=beanName,value=be.

2021-03-23 20:31:56 176

原创 Zookeeper学习记录

官网:https://zookeeper.apache.org/下载后解压,使用的是当前(2021年3月18日22:44:00)的最新版本:3.6.2官方提示:所以需要将conf目录下的zoo_sample.cfg改为zoo.cfg之后进入bin目录启动zkServer即可,默认端口为2181.启动zkCli可以连接到本机的zk或者使用命令连接到远程的zk...

2021-03-18 22:45:34 52

原创 Spring事件监听驱动模型开发

1.ApplicationListener:监听容器中发布的事件public interface ApplicationListener<E extends ApplicationEvent> extends EventListener {监听ApplicationEvent事件以及ApplicationEvent的子类事件(1.写一个监听器实现ApplicationListener,并加入到容器中(2.只要容器有相关的事件发布我们就可以监听到此事件(3.手动发布事件.

2021-03-12 18:07:07 93

原创 Spring容器创建启动流程分析

Spring容器创建流程的源码分析:因为是使用注解版进行分析所以分析的入口是AnnotationConfigApplicationContext ,如果是使用 xml ,那么入口即为 ClassPathXmlApplicationContext。public AnnotationConfigApplicationContext(Class<?>... componentClasses) { this(); register(componentClasses); refres

2021-03-11 17:11:49 427 1

原创 devops

devops

2021-03-07 21:24:33 141 1

原创 AlibabaCloud学习记录

1.注册中心使用nacos,后面会捡起eureka和学习zookeeper。nacos下载解压后进入bin文件中运行,单机运行命令行需要加参数-m standalone,否则会报java.io.IOException: java.lang.IllegalArgumentException: db.num is null等错。...

2021-02-03 23:02:53 183

原创 Spring的后置处理器与Aware分析记录

1

2021-02-03 17:05:54 259

原创 SpringBoot注解驱动开发

1.启动类的注解@Target(ElementType.TYPE) // 注解的适用范围,其中TYPE用于描述类、接口(包括包注解类型)或enum声明@Retention(RetentionPolicy.RUNTIME) // 注解的生命周期,保留到class文件中(三个生命周期)@Documented // 表明这个注解应该被javadoc记录@Inherited //

2021-01-28 22:35:32 290 2

原创 SpringBoot异步处理@Async

1.配置文件#指定端口# server.port = 9090 #随机端口# server.port = ${random.int[1024,9999]}

2020-11-23 20:37:22 400

原创 [SpringCloud] - 2:搭建服务端接口

服务端要进eureka注册中心,所以引入数据库、springxxx等依赖之外还需要引入eureka客户端的依赖,如下 <!-- 导入Eureka客户端的依赖,将 微服务提供者 注册进 Eureka --><dependency> <groupId>org.springframework.cloud</groupId> &lt...

2019-11-27 10:33:00 123

原创 [SpringCloud] - 1:搭建eureka服务注册中心

1.pom文件引入eureka的服务端依赖<dependencies> <!-- 导入Eureka-server 服务端依赖 --> <dependency> <groupId>org.springframework.cloud</groupId> &l...

2019-11-26 16:20:34 77

原创 [Vue.JS]:学习记录

前言.学习记录,时间2019年10月21日10:20:58,地点新加坡MPA。1.关键字:methods:功能方法定义。{{ }}:单向绑定,常用于显示动态数据,更改内容数据不改变。v-text,v-html,v-bind,v-oncev-model:双向绑定,常用于显示动态数据,更改内容数据会改变,会忽略所有表单元素的value、checked、selecte...

2019-10-21 10:21:35 92

原创 [SpringBoot]:Thymeleaf学习总结

前言.学习开始记录,时间2019年8月27日18:05:41,地点新加坡MPA。1.需要在pom文件中引入Thymeleaf(后面缩写成th)<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thyme...

2019-08-27 18:42:13 217

原创 idea中Mybatis三剑客的使用方法以及配置文件

mybatis-generator1.pom.xml中写入配置:&lt;plugin&gt; &lt;groupId&gt;org.mybatis.generator&lt;/groupId&gt; &lt;artifactId&gt;mybatis-generator-maven-plugin&lt;/artifactId&gt; &lt;version&gt;1.3.2&...

2018-11-28 15:23:32 316

空空如也

空空如也

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

TA关注的人

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