06 2023 档案

摘要:SpringBoot启动过程 1、运行 SpringApplication.run() 方法 可以肯定的是,所有的标准的springboot的应用程序都是从run方法开始的 package com.spring; import org.springframework.beans.factory.co 阅读全文
posted @ 2023-06-30 20:29 huigui_mint 阅读(6472) 评论(0) 推荐(0) 编辑
摘要:一、注意事项 不要在接口上声明@Transactional ,而要在具体类的方法上使用 @Transactional 注解,不然注解可能无效。不要将@Transactional放置在类级的声明中,放在类声明,会使得全部方法都有事务。所以@Transactional应该放在方法级别,不需要使用事务的方 阅读全文
posted @ 2023-06-29 19:58 huigui_mint 阅读(997) 评论(0) 推荐(1) 编辑
摘要:在 Java 中,可以使用 synchronized 关键字来标记一个方法或者代码块,当某个线程调用该对象的synchronized方法或者访问synchronized代码块时,这个线程便获得了该对象的锁,其他线程暂时无法访问这个方法,只有等待这个方法执行完毕或者代码块执行完毕,这个线程才会释放该对 阅读全文
posted @ 2023-06-29 04:00 huigui_mint 阅读(106) 评论(0) 推荐(0) 编辑
摘要:使用Redis存储相比直接使用Java内存的Map有以下几个优势: 持久化:Redis支持数据持久化,即使发生服务器重启或意外宕机,数据仍然可以被恢复。而使用Java内存的Map,当应用程序关闭或重启时,数据将会丢失。 分布式支持:Redis是一个分布式数据库,可以通过配置集群来水平扩展和处理大规模 阅读全文
posted @ 2023-06-29 03:51 huigui_mint 阅读(213) 评论(0) 推荐(0) 编辑
摘要:一、概述 缓存穿透是指查询一个不存在的数据,由于缓存和数据库都没有命中,导致每次请求都需要从数据库中读取数据,增加了数据库的负担。解决缓存穿透的方法有以下几种: 布隆过滤器(Bloom Filter):使用位数组来表示一个集合,并通过哈希函数将元素映射到数组上。在查询数据时,先判断该数据是否存在于布 阅读全文
posted @ 2023-06-29 03:43 huigui_mint 阅读(220) 评论(0) 推荐(0) 编辑
摘要:快照读:读取快照中的数据,不需要进行加锁。看到快照这两个字,各位肯定马上就想到 MVCC 了,是这样,MVCC 作用于读取已提交和可重复读(默认)这两个隔离级别,这俩隔离级别下的普通 select 操作就是快照读 当前读:读取的是最新版本的数据, 并且对读取的记录加锁, 阻塞其他事务同时改动相同记录 阅读全文
posted @ 2023-06-29 03:32 huigui_mint 阅读(86) 评论(0) 推荐(0) 编辑
摘要:select for update 是为了在查询时,避免其他用户以该表进行插入,修改或删除等操作,造成表的不一致性。 Select …forupdate语句是我们经常使用手工加锁语句。通常情况下,select语句是不会对数据加锁,妨碍影响其他的DML和DDL操作。同时,在多版本一致读机制的支持下,s 阅读全文
posted @ 2023-06-29 03:20 huigui_mint 阅读(593) 评论(0) 推荐(0) 编辑
摘要:参考:https://blog.csdn.net/weixin_52962125/article/details/130556400?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefa 阅读全文
posted @ 2023-06-29 03:15 huigui_mint 阅读(78) 评论(0) 推荐(0) 编辑
摘要:gateway作为网关,与其他网关技术不同的是它能实现限流。gateway使用的是令牌桶算法实现限流。常见的限流算法有: 1、计数器算法:以QPS为100举例,如果1秒钟内钱200ms请求数量到达了100,后面800ms中的请求都会被拒绝,这种情况称为”突刺现象“ 2、漏桶算法:可以解决突刺现象。比 阅读全文
posted @ 2023-06-29 03:08 huigui_mint 阅读(329) 评论(0) 推荐(0) 编辑
摘要:三大组件 1、Route:是构建网关的基本模块,他是ID,目标URL,一系列的断言和过滤器组成,如果断言为true,则匹配该路由 2、Rredicate: 参考的是Java8的Predicate,开发人员可以匹配HTTP请求中的所有内容,如果请求与断言相匹配则进行路由 3、Filter:指的是spr 阅读全文
posted @ 2023-06-28 22:59 huigui_mint 阅读(156) 评论(0) 推荐(0) 编辑
摘要:基本工作流程: 工作原理 工作原理分 10 层:第一层:service 层,接口层,给服务提供者和消费者来实现的(留给开发人员来实现);第二层:config 层,配置层,主要是对 Dubbo 进行各种配置的,Dubbo 相关配置;第三层:proxy 层,服务代理层,透明生成客户端的 stub 和服务 阅读全文
posted @ 2023-06-27 02:49 huigui_mint 阅读(113) 评论(0) 推荐(0) 编辑
摘要:1. 经常增删改的列不要建立索引;2. 有大量重复的列不建立索引;3. 表记录太少不要建立索引。 阅读全文
posted @ 2023-06-27 02:41 huigui_mint 阅读(43) 评论(0) 推荐(0) 编辑
摘要:mysql常用引擎包括:MYISAM、Innodb、Memory、MERGE MYISAM:全表锁,拥有较高的执行速度,不支持事务,不支持外键,并发性能差,占用空间相对较小,对事务完整性没有要求,以select、insert为主的应用基本上可以使用这引擎Innodb:行级锁,提供了具有提交、回滚和崩 阅读全文
posted @ 2023-06-27 02:35 huigui_mint 阅读(179) 评论(0) 推荐(0) 编辑
摘要:1、查询语句中不要使用select *2、尽量减少子查询,使用关联查询(left join,right join,inner join)替代3、减少使用IN或者NOT IN ,使用exists,not exists或者关联查询语句替代4、or 的查询尽量用 union或者union all 代替(在 阅读全文
posted @ 2023-06-27 02:33 huigui_mint 阅读(23) 评论(0) 推荐(0) 编辑
摘要:Spring Boot 优点 一、独立运行 Spring Boot而且内嵌了各种servlet容器,Tomcat、Jetty等,现在不再需要打成war包部署到容器中,Spring Boot只要打成一个可执行的jar包就能独立运行,所有的依赖包都在一个jar包内。 二、简化配置 spring-boot 阅读全文
posted @ 2023-06-27 02:30 huigui_mint 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-06-27 02:24 huigui_mint 阅读(6) 评论(0) 推荐(0) 编辑
摘要:一级缓存localCache 在应用运行过程中,我们有可能在一次数据库会话中,执行多次查询条件完全相同的 SQL,MyBatis 提供了一级缓存的方案优化这部分场景,如果是相同的 SQL 语句,会优先命中一级缓存,避免直接对数据库进行查询,提高性能。每个 SqlSession 中持有了 Execut 阅读全文
posted @ 2023-06-27 02:21 huigui_mint 阅读(40) 评论(0) 推荐(0) 编辑
摘要:#{}是预编译处理,${}是字符串替换。Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;Mybatis在处理${}时,就是把${}替换成变量的值。使用#{}可以有效的防止SQL注入,提高系统安全性。 阅读全文
posted @ 2023-06-27 02:14 huigui_mint 阅读(75) 评论(0) 推荐(0) 编辑
摘要:Spring事务定义了7种传播机制:1. PROPAGATION_REQUIRED:默认的Spring事物传播级别,若当前存在事务,则加入该事务,若不存在事务,则新建一个事务。2. PAOPAGATION_REQUIRE_NEW:若当前没有事务,则新建一个事务。若当前存在事务,则新建一个事务,新老事 阅读全文
posted @ 2023-06-27 02:12 huigui_mint 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-06-27 02:10 huigui_mint 阅读(4) 评论(0) 推荐(0) 编辑
摘要:springMVC是一个MVC的开源框架,springMVC=struts2+spring,springMVC就相当于是Struts2加上sring的整合,但是这里有一个疑惑就是,springMVC和spring是什么样的关系呢?这个在百度百科上有一个很好的解释:意思是说,springMVC是spr 阅读全文
posted @ 2023-06-27 02:06 huigui_mint 阅读(17) 评论(0) 推荐(0) 编辑
摘要:JMM是定义程序中变量的访问规则,线程对于变量的操作只能在自己的工作内存中进行,而不能直接对主内存操作.由于指令重排序,读写的顺序会被打乱,因此JMM需要提供原子性,可见性,有序性保证. 随着CPU和内存的发展速度差异的问题,导致CPU的速度远快于内存,所以现在的CPU加入了高速缓存,高速缓存一般可 阅读全文
posted @ 2023-06-27 02:01 huigui_mint 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-06-27 01:30 huigui_mint 阅读(7) 评论(0) 推荐(0) 编辑
摘要:当 tomcat启动时,会创建几种类加载器: Bootstrap 引导类加载器 加载 JVM启动所需的类,以及标准扩展类(位于jre/lib/ext 下) System 系统类加载器 加载 tomcat 启动的类,比如bootstrap.jar,通常在 catalina.bat 或者 catalin 阅读全文
posted @ 2023-06-27 00:42 huigui_mint 阅读(14) 评论(0) 推荐(0) 编辑
摘要:命令 jps,JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程。 jstat,JVM statistics Monitoring是用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。 jmap,JVM 阅读全文
posted @ 2023-06-27 00:26 huigui_mint 阅读(18) 评论(0) 推荐(0) 编辑
摘要:1.父类【静态成员】和【静态代码块】,按在代码中出现的顺序依次执行。2.子类【静态成员】和【静态代码块】,按在代码中出现的顺序依次执行。3.父类的【普通成员变量被普通成员方法赋值】和【普通代码块】,按在代码中出现的顺序依次执行。4.执行父类的构造方法。5.子类的【普通成员变量被普通成员方法赋值】和【 阅读全文
posted @ 2023-06-27 00:07 huigui_mint 阅读(263) 评论(0) 推荐(0) 编辑
摘要:在什么时候 首先需要知道,GC又分为 minor GC 和 Full GC (也称为 Major GC )。Java 堆内存分为新生代和老年代,新生代中又分为1个 Eden 区域 和两个 Survivor 区域。 那么对于 Minor GC 的触发条件:大多数情况下,直接在 Eden 区中进行分配。 阅读全文
posted @ 2023-06-27 00:05 huigui_mint 阅读(49) 评论(0) 推荐(0) 编辑
摘要:先来看一下流的概念:在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。InputStream 和OutputStream,两个是为字节流设计的,主要用来处理字节或二进制对象,Reader和 Writer 阅读全文
posted @ 2023-06-27 00:03 huigui_mint 阅读(25) 评论(0) 推荐(0) 编辑
摘要:不会,设置为 null 只是栈中指向的引用为 null,但是 new 出来的对象还是存在于堆里面的,按照目前的 GC 算法,要等 survior1 or survior2 满的时候 JVM 才会调用 GC 命令清除对应 survior 区的对象,将没有栈指向的对象给回收掉。所以回收内存不是实时的,要 阅读全文
posted @ 2023-06-27 00:02 huigui_mint 阅读(874) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-06-26 23:35 huigui_mint 阅读(5) 评论(0) 推荐(0) 编辑
摘要:加载过程 其中验证,准备,解析合称链接加载通过类的完全限定名,查找此类字节码文件,利用字节码文件创建Class对象.验证确保Class文件符合当前虚拟机的要求,不会危害到虚拟机自身安全.准备进行内存分配,为static修饰的类变量分配内存,并设置初始值(0或null).不包含final修饰的静态变量 阅读全文
posted @ 2023-06-26 23:34 huigui_mint 阅读(10) 评论(0) 推荐(0) 编辑
摘要:按照流的流向分,可以分为输入流和输出流;按照操作单元划分,可以划分为字节流和字符流;按照流的角色划分为节点流和处理流。Java Io 流共涉及 40 多个类,这些类看上去很杂乱,但实际上很有规则,而且彼此之间存在非常紧密的联系, Java I0 流的 40 多个类都是从如下 4 个抽象类基类中派生出 阅读全文
posted @ 2023-06-19 07:48 huigui_mint 阅读(78) 评论(0) 推荐(0) 编辑
摘要:一、CAP原则 CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。 CAP原则是NOSQL数据库的基石。 分布式系统的CAP理论:理论首先把分布式系统中的三 阅读全文
posted @ 2023-06-14 22:15 huigui_mint 阅读(638) 评论(0) 推荐(0) 编辑
摘要:1.工厂模式,这个很明显,在各种BeanFactory以及ApplicationContext创建中都用到了; 2.模版模式,这个也很明显,在各种BeanFactory以及ApplicationContext实现中也都用到了; 3.代理模式,在Aop实现中用到了JDK的动态代理; 4.单例模式,这个 阅读全文
posted @ 2023-06-14 21:22 huigui_mint 阅读(76) 评论(0) 推荐(0) 编辑
摘要:对象的强、软、弱和虚引用 在 JDK 1.2 以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从 JDK 1.2 版本开始,把对象的引用分为 4 种级别,从而使程序能更加灵活地控制对象的生命周期。这 4 阅读全文
posted @ 2023-06-14 21:17 huigui_mint 阅读(125) 评论(0) 推荐(0) 编辑
摘要:一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老代) 永久代(Perm) 其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配,但可以通过-X 阅读全文
posted @ 2023-06-14 21:11 huigui_mint 阅读(55) 评论(0) 推荐(0) 编辑
摘要:整体架构 sql解析 行转列、列转行 参考:https://blog.csdn.net/jx_870915876/article/details/52403472 阅读全文
posted @ 2023-06-13 23:56 huigui_mint 阅读(12) 评论(0) 推荐(0) 编辑
摘要:1)基于XA协议的两阶段提交(2PC) XA 规范主要 定义了 ( 全局 ) 事务管理器 ( Transaction Manager ) 和 ( 局部 ) 资源管理器 (Resource Manager ) 之间的接口。 2)两阶段提交 事务的提交分为两个阶段:预提交阶段(Pre-Commit Ph 阅读全文
posted @ 2023-06-13 23:52 huigui_mint 阅读(24) 评论(0) 推荐(0) 编辑
摘要:参考:spring事务管理(详解和实例):https://www.cnblogs.com/yixianyixian/p/8372832.html Spring 事物四种实现方式:基于编程式事务管理实现基于TransactionProxyFactoryBean的声明式事务管理基于AspectJ的XML 阅读全文
posted @ 2023-06-13 22:37 huigui_mint 阅读(13) 评论(0) 推荐(0) 编辑
摘要:一、 什么是Ioc/DI? 二、 Spring IOC体系结构 (1) BeanFactory (2) BeanDefinition 三、 IoC容器的初始化 1、 XmlBeanFactory(屌丝IOC)的整个流程 2、 FileSystemXmlApplicationContext 的IOC容 阅读全文
posted @ 2023-06-13 21:50 huigui_mint 阅读(9) 评论(0) 推荐(0) 编辑
摘要:Spring 5比Spring4做了哪些改进;【官网说明 】https://docs.spring.io/spring/docs/current/spring-framework-reference/ Spring 4.x新特性 1. 泛型限定式依赖注入2. 核心容器的改进3. web开发增强4. 阅读全文
posted @ 2023-06-13 21:43 huigui_mint 阅读(182) 评论(0) 推荐(0) 编辑
摘要:作用域 生命周期 阅读全文
posted @ 2023-06-13 21:39 huigui_mint 阅读(13) 评论(0) 推荐(0) 编辑
摘要:一、概述 List是存储单列数据的集合,Map是存储键和值这样的双列数据的集合,List中存储的数据是有顺序,并且允许重复,值允许有多个null;Map中存储的数据是没有顺序的,键不能重复,值是可以有重复的,key最多有一个null。 二、明细 List 1)可以允许重复的对象。2)可以插入多个nu 阅读全文
posted @ 2023-06-13 21:27 huigui_mint 阅读(40) 评论(0) 推荐(0) 编辑
摘要:HashMap内部结构jdk8以前:数组+链表jdk8以后:数组+链表 (当链表长度到8时,转化为红黑树)在并发的情况,发生扩容时,可能会产生循环链表,在执行get的时候,会触发死循环,引起CPU的100%问题,所以一定要避免在并发环境下使用HashMap。 阅读全文
posted @ 2023-06-13 20:17 huigui_mint 阅读(26) 评论(0) 推荐(0) 编辑
摘要:1)引入了模块系统,采用模块化系统的应用程序只需要这些应用程序所需的那部分JDK模块,而非是整个JDK框架了,减少了内存的开销。 2)引入了一个新的package:java.net.http,里面提供了对Http访问很好的支持,不仅支持 Http1.1而且还支持HTTP2。 3)引入了jshell这 阅读全文
posted @ 2023-06-13 20:15 huigui_mint 阅读(64) 评论(0) 推荐(0) 编辑
摘要:在介绍java9之前,我们先来看看java成立到现在的所有版本。 1990年初,最初被命名为Oak; 1995年5月23日,Java语言诞生; 1996年1月,第一个JDK-JDK1.0诞生; 1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入Java技术; 1996年9月,约8.3万 阅读全文
posted @ 2023-06-13 20:13 huigui_mint 阅读(28) 评论(0) 推荐(0) 编辑
摘要:一、接口的默认方法 Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下: 代码如下: interface Formula { double calculate(int a); default double sqrt(int a) 阅读全文
posted @ 2023-06-13 20:05 huigui_mint 阅读(4963) 评论(0) 推荐(0) 编辑
摘要:NIO技术概览:http://www.ideabuffer.cn/2017/08/13/NIO%E6%8A%80%E6%9C%AF%E6%A6%82%E8%A7%88/ 阅读全文
posted @ 2023-06-13 19:54 huigui_mint 阅读(16) 评论(0) 推荐(0) 编辑
摘要:红黑树(一棵自平衡的排序二叉树)五大特性: 1)每个结点要么是红的,要么是黑的。 2)根结点是黑的。 3)每个叶结点,即空结点是黑的。 4)如果一个结点是红的,那么它的俩个儿子都是黑的。 5)对每个结点,从该结点到其子孙结点的所有路径上包含相同数目的黑结点 场景 1)广泛用于C++的STL中,map 阅读全文
posted @ 2023-06-13 19:50 huigui_mint 阅读(32) 评论(0) 推荐(0) 编辑
摘要:启动类加载器:负责加载JRE的核心类库,如jre目标下的rt.jar,charsets.jar等扩展类加载器:负责加载JRE扩展目录ext中JAR类包系统类加载器:负责加载ClassPath路径下的类包用户自定义加载器:负责加载用户自定义路径下的类包 为什么会有多种:1)分工,各自负责各自的区块2) 阅读全文
posted @ 2023-06-13 19:46 huigui_mint 阅读(41) 评论(0) 推荐(0) 编辑
摘要:垃圾收集算法:标记-清除算法、复制算法、标记-整理算法、分代收集算法垃圾收集器: Serial收集器、ParNew收集器、Parallel Scavenge收集器、Serial Old收集器、Parallel Old收集器、CMS收集器、G1收集器、Z垃圾收集器 Serial收集器(复制算法): 新 阅读全文
posted @ 2023-06-13 19:46 huigui_mint 阅读(24) 评论(0) 推荐(0) 编辑
摘要:1、类文件介绍 每一个 Class 文件都对应着唯一一个类或接口的定义信息,但是相对地,类或接口并不一定都得定义在文件里(譬如类或接口也可以通过类加载器直接生成)。 本节中,我们只是通俗地将任意一个有效的类或接口所应当满足的格式称为“Class 文件格式”,即使它不一定以磁盘文件的形式存在。 每个 阅读全文
posted @ 2023-06-13 19:41 huigui_mint 阅读(173) 评论(0) 推荐(0) 编辑
摘要:调优工具 console,jProfile,VisualVM Dump线程详细信息:查看线程内部运行情况 死锁检查查看堆内类、对象信息查看:数量、类型等 线程监控线程信息监控:系统线程数量。线程状态监控:各个线程都处在什么样的状态下 热点分析CPU热点:检查系统哪些方法占用的大量CPU时间内存热点: 阅读全文
posted @ 2023-06-13 19:17 huigui_mint 阅读(15) 评论(0) 推荐(0) 编辑
摘要:如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行,如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到达顶层的启动类加载器,如果父类加载器可以完成类加载任务,就成功返回,倘若父类加载器无法完成此加载任务,子加载器才会尝试自己去加载, 阅读全文
posted @ 2023-06-13 19:14 huigui_mint 阅读(29) 评论(0) 推荐(0) 编辑
摘要:synchronized和volatile区别个人理解JMM:Java Memory Model(Java内存模型),根据并发过程中如何处理、可见性、原子性和有序性这三个特性而建立的模型。可见性:JMM提供了volatile变量定义、final、synchronized块来保证可见性。原子性:个人理 阅读全文
posted @ 2023-06-13 18:42 huigui_mint 阅读(23) 评论(0) 推荐(0) 编辑
摘要:1)核心参数 public ThreadPoolExecutor(int corePoolSize, // 核心线程数量大小int maximumPoolSize, // 线程池最大容纳线程数long keepAliveTime, // 线程空闲后的存活时长TimeUnit unit,//缓存异步任 阅读全文
posted @ 2023-06-12 09:37 huigui_mint 阅读(275) 评论(0) 推荐(0) 编辑
摘要:线程的生命周期包括以下几个阶段: 1. 新建状态(New):当一个线程对象被创建时,它处于新建状态。此时线程对象已经被创建,但还没有开始运行。 2. 就绪状态(Runnable):当线程调用start()方法后,线程进入就绪状态。此时线程已经准备好运行,但可能还没有被分配到CPU时间片。 3. 运行 阅读全文
posted @ 2023-06-09 11:26 huigui_mint 阅读(919) 评论(0) 推荐(0) 编辑
摘要:在开始讨论java多线程安全机制之前,首先从内存模型来了解一下什么是多线程的安全性。 我们都知道java的内存模型中有主内存和线程的工作内存之分,主内存上存放的是线程共享的变量(实例字段,静态字段和构成数组的元素),线程的工作内存是线程私有的空间,存放的是线程私有的变量(方法参数与局部变量)。线程在 阅读全文
posted @ 2023-06-07 21:17 huigui_mint 阅读(44) 评论(0) 推荐(0) 编辑
摘要:AtomicInteger是Java中的一个原子类,用于实现对整型变量的原子操作。它提供了一些方法,如get()、set()、getAndSet()、compareAndSet()等,可以实现原子性的读取、设置、获取并设置、比较并设置等操作。 以下是一些关于AtomicInteger的链接: Jav 阅读全文
posted @ 2023-06-07 21:04 huigui_mint 阅读(87) 评论(0) 推荐(0) 编辑
摘要:RocketMQ分布式集群是通过Master和Slave的配合达到高可用性的。Master和Slave的区别: 在Broker的配置文件中,参数brokerId的值为0表明这个Broker是Master, 大于0表明这个Broker是Slave, brokerRole参数也说明这个Broker是Ma 阅读全文
posted @ 2023-06-07 20:55 huigui_mint 阅读(281) 评论(0) 推荐(0) 编辑
摘要:https://rumenz.com/java-topic/index.html 阅读全文
posted @ 2023-06-07 20:55 huigui_mint 阅读(7) 评论(0) 推荐(0) 编辑
摘要:1.场景描述 因要用到微服务,关于注册中心这块,与同事在技术原型上做了讨论,初步定的方案是使用:阿里巴巴的nacos+springcloud gateway,下面表格是同事整理的注册中心对比,以前用的springcloud的eureka作为注册中心,与eurka相比,这次之所以用阿里的nacos,其 阅读全文
posted @ 2023-06-07 20:49 huigui_mint 阅读(162) 评论(0) 推荐(0) 编辑
摘要:我们都知道,在并发编程中,并不是线程越多就效率越高,线程数太少可能导致资源不能充分利用,线程数太多可能导致竞争资源激烈,然后上下文切换频繁造成系统的额外开销。大量的超时报警,通过工具分析,cs指标很高,然后分析日志,发现有大量wait()相关的Exception,这个时候我们怀疑是在多线程并发处理的 阅读全文
posted @ 2023-06-07 20:31 huigui_mint 阅读(134) 评论(0) 推荐(0) 编辑
摘要:微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位。主要体现在,一个请求可能需要调用很多个服务,而内部服务的调用复杂性,决定了问题难以定位。所以微服务架构中,必须实现分布式链路追踪,去跟进一个请求 阅读全文
posted @ 2023-06-07 20:30 huigui_mint 阅读(106) 评论(0) 推荐(0) 编辑
摘要:一、介绍 网上有很多关于Ehcache的介绍,这里就不在多说了,只需要知道Ehcache是一个缓存框架。缓存嘛,就是数据存取比硬盘快,但是容量小的存储区域。当我们需要频繁使用某些数据时,我们可以将这些数据放到缓存中,下次取数据的时候,直接从缓存中取,这样可以节省不少时间。如果我们自己手动进行缓存的管 阅读全文
posted @ 2023-06-07 20:22 huigui_mint 阅读(602) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示