摘要: 基本工作流程: 工作原理 工作原理分 10 层:第一层:service 层,接口层,给服务提供者和消费者来实现的(留给开发人员来实现);第二层:config 层,配置层,主要是对 Dubbo 进行各种配置的,Dubbo 相关配置;第三层:proxy 层,服务代理层,透明生成客户端的 stub 和服务 阅读全文
posted @ 2023-06-27 02:49 huigui_mint 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 1. 经常增删改的列不要建立索引;2. 有大量重复的列不建立索引;3. 表记录太少不要建立索引。 阅读全文
posted @ 2023-06-27 02:41 huigui_mint 阅读(34) 评论(0) 推荐(0) 编辑
摘要: mysql常用引擎包括:MYISAM、Innodb、Memory、MERGE MYISAM:全表锁,拥有较高的执行速度,不支持事务,不支持外键,并发性能差,占用空间相对较小,对事务完整性没有要求,以select、insert为主的应用基本上可以使用这引擎Innodb:行级锁,提供了具有提交、回滚和崩 阅读全文
posted @ 2023-06-27 02:35 huigui_mint 阅读(146) 评论(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 阅读(20) 评论(0) 推荐(0) 编辑
摘要: Spring Boot 优点 一、独立运行 Spring Boot而且内嵌了各种servlet容器,Tomcat、Jetty等,现在不再需要打成war包部署到容器中,Spring Boot只要打成一个可执行的jar包就能独立运行,所有的依赖包都在一个jar包内。 二、简化配置 spring-boot 阅读全文
posted @ 2023-06-27 02:30 huigui_mint 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-06-27 02:24 huigui_mint 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 一级缓存localCache 在应用运行过程中,我们有可能在一次数据库会话中,执行多次查询条件完全相同的 SQL,MyBatis 提供了一级缓存的方案优化这部分场景,如果是相同的 SQL 语句,会优先命中一级缓存,避免直接对数据库进行查询,提高性能。每个 SqlSession 中持有了 Execut 阅读全文
posted @ 2023-06-27 02:21 huigui_mint 阅读(37) 评论(0) 推荐(0) 编辑
摘要: #{}是预编译处理,${}是字符串替换。Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;Mybatis在处理${}时,就是把${}替换成变量的值。使用#{}可以有效的防止SQL注入,提高系统安全性。 阅读全文
posted @ 2023-06-27 02:14 huigui_mint 阅读(64) 评论(0) 推荐(0) 编辑
摘要: Spring事务定义了7种传播机制:1. PROPAGATION_REQUIRED:默认的Spring事物传播级别,若当前存在事务,则加入该事务,若不存在事务,则新建一个事务。2. PAOPAGATION_REQUIRE_NEW:若当前没有事务,则新建一个事务。若当前存在事务,则新建一个事务,新老事 阅读全文
posted @ 2023-06-27 02:12 huigui_mint 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-06-27 02:10 huigui_mint 阅读(2) 评论(0) 推荐(0) 编辑
摘要: springMVC是一个MVC的开源框架,springMVC=struts2+spring,springMVC就相当于是Struts2加上sring的整合,但是这里有一个疑惑就是,springMVC和spring是什么样的关系呢?这个在百度百科上有一个很好的解释:意思是说,springMVC是spr 阅读全文
posted @ 2023-06-27 02:06 huigui_mint 阅读(14) 评论(0) 推荐(0) 编辑
摘要: JMM是定义程序中变量的访问规则,线程对于变量的操作只能在自己的工作内存中进行,而不能直接对主内存操作.由于指令重排序,读写的顺序会被打乱,因此JMM需要提供原子性,可见性,有序性保证. 随着CPU和内存的发展速度差异的问题,导致CPU的速度远快于内存,所以现在的CPU加入了高速缓存,高速缓存一般可 阅读全文
posted @ 2023-06-27 02:01 huigui_mint 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-06-27 01:30 huigui_mint 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 当 tomcat启动时,会创建几种类加载器: Bootstrap 引导类加载器 加载 JVM启动所需的类,以及标准扩展类(位于jre/lib/ext 下) System 系统类加载器 加载 tomcat 启动的类,比如bootstrap.jar,通常在 catalina.bat 或者 catalin 阅读全文
posted @ 2023-06-27 00:42 huigui_mint 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 命令 jps,JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程。 jstat,JVM statistics Monitoring是用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。 jmap,JVM 阅读全文
posted @ 2023-06-27 00:26 huigui_mint 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 1.父类【静态成员】和【静态代码块】,按在代码中出现的顺序依次执行。2.子类【静态成员】和【静态代码块】,按在代码中出现的顺序依次执行。3.父类的【普通成员变量被普通成员方法赋值】和【普通代码块】,按在代码中出现的顺序依次执行。4.执行父类的构造方法。5.子类的【普通成员变量被普通成员方法赋值】和【 阅读全文
posted @ 2023-06-27 00:07 huigui_mint 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 在什么时候 首先需要知道,GC又分为 minor GC 和 Full GC (也称为 Major GC )。Java 堆内存分为新生代和老年代,新生代中又分为1个 Eden 区域 和两个 Survivor 区域。 那么对于 Minor GC 的触发条件:大多数情况下,直接在 Eden 区中进行分配。 阅读全文
posted @ 2023-06-27 00:05 huigui_mint 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 先来看一下流的概念:在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。InputStream 和OutputStream,两个是为字节流设计的,主要用来处理字节或二进制对象,Reader和 Writer 阅读全文
posted @ 2023-06-27 00:03 huigui_mint 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 不会,设置为 null 只是栈中指向的引用为 null,但是 new 出来的对象还是存在于堆里面的,按照目前的 GC 算法,要等 survior1 or survior2 满的时候 JVM 才会调用 GC 命令清除对应 survior 区的对象,将没有栈指向的对象给回收掉。所以回收内存不是实时的,要 阅读全文
posted @ 2023-06-27 00:02 huigui_mint 阅读(766) 评论(0) 推荐(0) 编辑