- 博客(50)
- 收藏
- 关注
原创 MySQL常用的查询优化分析方法有哪些?
Show Profiles 只显示最近发给服务器的 SQL 语句,默认情况下是记录最近已执行的 15 条记录,我们可以重新设置 profiling_history_size 增大该存储记录,最大值为 100。MySQL Optimizer Trace功能会跟踪MySQL优化器对查询优化过程的关键信息,比如扫描的行数,成本,以及为什么选择哪个执行计划,都是有明确的指示。除了以上工具以外,我们还需要去分析mysql慢查询日志,还有服务器状态指标 比如CPU ,连接数,有没有长事务,page指标等等。
2024-09-02 10:29:21 476 1
原创 MVCC重点掌握这几个点
事务开启后,第一次执行select查询操作就会创建一致性视图read-view,由执行查询时所有未完成的事务组成的事务id数组,以及已创建的最大事务id组成。
2024-08-24 21:40:52 170
原创 jdk17+seata 2.0.0+spring-cloud-alibaba 2023.0.0.0-RC1seata启动报错Index 0 out of bounds for length 0
seata 2.0 服务端mysql+jdk8+业务SqlServer seata-server报错 com.alipay.sofa.jraft.rpc.RaftRpcFactory: could not find any implementation for class · Issue #6445 · apache/incubator-seata (github.com)根据我多方查找这个好像是seata2.0.0的一个bug。再重新启动seata服务,即可解决报错!具体详情可访问git。
2024-05-31 15:17:57 459 2
原创 nginx+nginx-http-flv-module在Linux服务器搭建
在服务器搭建点播/视频平台的话需要在服务器搭建nginx和rtmp模块。
2024-05-20 11:46:50 956
原创 MVCC底层原理
什么时候会获取到事务id?RR隔离级别MVCC的可见性算法是什么?通过reda-view的版本链进行比对的版本链比对规则是什么?
2023-10-10 21:24:46 493
原创 Mysql事务原理
事务是什么?事务的四大特性是什么,由什么来实现?四种隔离级别是什么?脏写、脏读、不可重复读、幻读是什么?可重复读的select和insert、update、delete有什么区别串行是怎么解决脏写问题的?那么如何让最低级别的隔离达到最高的隔离级别串行的效果呢?查询操作方法需要使用事务吗?如何选择隔离级别顺序写是什么六大事务优化实践原则
2023-09-25 23:06:26 182
原创 Mysql索引优化2
分页查询优化主键和非主键字段排序方法Join关联查询优化,NLJ算法和BNL算法如果join_buffer中存放不下所有的t2表中的数据关联字段没有索引为什么要选择BNL而不是选择NLJ算法呢?对于关联sql的优化straight_join 是什么?in和exists的优化count(*)查询优化
2023-09-24 22:15:02 98
原创 Mysql索引优化1
关闭查询缓存sql什么是索引下推?为什么like ‘asd%‘会走索引,但是范围查找不会cost计算成本是什么?order by 和 group by 优化单路排序和双路排序六个索引设计原则
2023-09-24 21:59:05 104
原创 Mysql索引
索引是什么?它的数据结构是什么?为什么mysql采用B+树的数据结构?MyISAM在mysql中的查询顺序,是什么类型的索引?为什么建议InnoDB表必须建主键,并且推荐使用整型的自增主键?Hash索引为什么非主键索引结构叶子节点存储的键是主键值?为什么mysql是索引最左前缀原则?
2023-09-21 21:44:28 46
原创 剖析JVM类加载器
localClass类加载过程的步骤类加载器有哪些?类加载器的初始化过程双亲委派机制是什么?为什么是从应用类加载器开始加载而不是从引导类加载器?为什么要设计双亲委派机制?
2023-09-18 23:39:22 143
原创 ThreadLocal详解
什么是ThreadLocal?它的作用是什么?与synchronized的区别?ThreadLocal的使用方法ThreadLocalMap与HashMap之间的区别实现的思想内存泄露问题
2023-09-17 18:36:43 55
原创 从0开始深入理解并发、线程与等待机制 3
从0开始深入理解并发、线程与等待机制 3synchronized内置锁的作用是什么?synchronized可以传入int变量吗?被synchronized修饰的锁有哪几类?对象锁和类锁的区别volatile是最轻量的通信/同步机制,它的作用是什么?适合什么场景?与synchronized之间的关系等待通知的范式notify和notifyAll的区别notify能指定唤醒处于wait状态下的线程吗?yield()、sleep()、wait()、notify()与锁的关系....
2023-09-16 22:13:54 66
原创 从0开始深入理解并发、线程与等待机制2
从0开始深入理解并发、线程与等待机制 2线程的状态/生命周期系统调度yield()为什么CurrentHashMap初始化中调用了yield()方法线程的调度有几种?Java中的线程调度属于哪种?为什么?线程实现有哪几种?协程出现的原因、优点、局限性、适用场景、Java中的协程是什么?守护线程是什么?与一般应用有什么区别?怎么让应用线程变成守护线程池?管道输入输出流线程中的协调join()
2023-09-15 22:04:21 62
原创 从0开始深入理解并发、线程与等待机制1
从0开始深入理解并发、线程与等待机制1进程与线程是什么以及之间的关系进程间的通信有哪些上下文切换是什么启动线程的方法有哪些(Callable和Futrue接口)终止线程的方法(interrupt)start()和run()方法的区别
2023-09-14 22:54:33 43
原创 Redis常用核心数据(链表List、集合Set、有序集合Zset)
Redis常用核心数据(链表List、集合Set、有序集合Zset)的常用语法和常用场景
2023-05-27 20:52:04 194
原创 当心spring-web和spring-webmvc这两个依赖包一起加载会产生冲突
当你同时导入spring-web和spring-boot-starter-web两个依赖会产生什么大的bug
2023-04-26 00:39:19 1069 2
原创 出现:ORA-01830日期格式图片在转换整个输入字符串之前结束的报错该怎么办
然后换了个报错,上网搜索之后,发现是说要与数据类型一致,我就去看数据存储的是什么格式 2019/02/10 14:25:504 这种格式我搜了半天没找到于是用 yyyy/MM/dd hh24:mi:ss格式去试试,果不其然的还是报这个错误。比如他是yyyy/MM/dd hh:mi:ss那你就不能变成yyyy/MM/dd,不然会报标题所说的错误,如果你只是想要到日层次的转换,可以先截取数据,再用to_date函数。首先,我先祝福创建这张表的人一胎生八个,时间字段整个varchar类型。
2023-04-19 11:07:47 5832
原创 IDEA打jar包转exe
首先打开IDEA,选择 File ----> Project Structure选择Artifacts ------>JAR------->From mo.....然后会生成一个META-INF包然后选择Build ---------> Build Artifacts 选择build即可之后可以在out包下看到打好的jar包可以右击jar包Show in Explorer找到,jar包位置,尝试着启动jar包 ...
2021-12-07 20:08:57 251 1
原创 定时任务之单任务和多任务
首先,如果是单个定时任务(Timer),只讲使用方法public static void main(String[] args) { Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { String url = ""; String param = "";
2021-12-07 19:30:32 555
原创 通过反射操作注解
package annotation反射.反射的用法;//反射操作注解import java.lang.annotation.*;import java.lang.reflect.Field;public class Test10 { public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException { Class c1 = Class.forNam.
2021-07-28 15:49:27 460
原创 通过反射获取泛型类型
直接上代码!package annotation反射.反射的用法;import java.lang.reflect.Method;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import java.util.List;import java.util.Map;//通过反射获取泛型信息public class Test09 { //创建一个传入参数为map,list两个集
2021-07-28 15:23:57 365
原创 内部类概况
A.定义用class关键字修饰过的就是类;将类定义在类的内部,这个类我们称之为内部类//内部类,是改变了类定义位置方式,叫做成员内部类,先初始化外部类, //再初始化内部类“外部类$内部类” class dog{ //定义属性 int age = 10; //定义方法 public void print() { System.out.println(age); } //构造方法 public dog(){ } }B.成员内部类的访问方法1
2021-07-13 17:19:03 71
原创 抽象类和接口
抽象类:abstract修饰的类叫做修饰类特点:抽象类不能被实例化,类中可以有抽象方法和普通方法,子类必须重写父类的抽象方法,类只能单继承,因此只有一个父类接口:接口是一种能力,在接口中只对方法做具体的定义(抽象方法),不做具体的实现,通过子类实现接口的抽象方法实现。特点:扩展性更强,接口通过多实现可以拥有多个父类抽象类和接口的联系:1.抽象类中可以有属性、抽象方法、还可以有普通方法,还可以有构造方法2.接口中没有属性,全部都是默认public static final 修饰的常量
2021-07-13 11:03:30 85
原创 继承与多态
定义子类(派生类)继承父类(基类),就可以拥有父类的属性和方法,private除外。属于单继承关系,一个类只能继承一个父类。this和super的区别this代表当前对象的引用,this可以调用到本类中的属性和方法,this(name,age)也可以调用本类中的方法和构造方法,super:调用父类属性和方法以及super(name,age,sex)调用父类的构造方法在继承关系下,如果通过无参构造方法创建子类对象,先走父类的无参构造方法再会走子类的无参构造方法,所以后期可以把一些初始化的工作交
2021-07-13 10:42:55 108
原创 final和枚举
final定义final是最终的意思,final修饰的变量叫做常量,值是赋值后不能再被修改的,并且需要赋初始值。特点final修饰的方法不能被重写final修饰的类不能被继承final修饰的常量用于经常使用但是不会被修改的值,比如:PI、weekDay=7//在实际的项目中,一般会把项目中用到的常量全部规范到一个工具类中public class ConstantUtil { //注意:一般情况下,常量为了与变量区分,常量建议全部大写 //静态常量,通过类名直
2021-07-13 10:26:38 1106
原创 请编写一个 Application 实现如下功能:接受命令行中给出的一个字母串,先将该串原样输出, 然后判断该串的第一个字母是否为大写,若是大写则统计该串中大写字母的个数,并将所有大写字母输出;
public class Application { public void run(String msg) { int count = 0; // 用于统计个数 System.out.println(msg); if(msg.isEmpty()) { System.out.println("您输入的字符串为null"); }else { String firstLetter = Str...
2021-07-10 10:50:34 1627 1
原创 运行管理器中可以运行java命令不能执行javac和jar命令
出现这个原因就是java的配置环境没有配置好,我之前就是这么配置都不对,明明和其他大部分人设置都一样但是就是运行不了javac和jar命令即我的JAVA_HOME没有效果因此我直接在Path里面加入我的jdk\bin目录的绝对位置然后重启运行窗口输入javac命令和jar命令就可以执行了...
2021-07-08 20:13:27 432
原创 打包文件jar
定义就是一个打包文件,它类似于我们的rar的压缩文件,它全名叫java.active.file可以与zip兼容,所以称之为jar文件。作用:如果开发了很多类,这些类需要拓展提供给其他人或者其他项目使用时,通常我们会以jar的形式提供,它的核心就是将编译好的.class文件打包成一个jar包,使用时,将所需的jar引入到所需项目中,直接通过类名的方式访问。过程1、需要找到生成好的class文件目录输入cmd之后按回车键2、jar命令,java(运行class),javac(编译
2021-07-08 20:00:19 230
原创 eclipse出现java.lang.IllegalArgumentException的解决方法,亲测有效
如果在此之前你已经尝试过其他csdn里大佬的所有方法,不妨试试我试验的。找到自己设置的eclipse的工作空间,然后把.metadata文件删除之后再重新打开eclipse程序,再次执行之前的操作就可以了删掉.metadata文件其实就相当于重新安装了一个eclipse,它会自己找到你安装的JDK和JRE位置我自己造成java.lang.IllegalArgumentException的异常问题就是因为自己老是删除JDK和安装JDK,导致了位置的错乱。...
2021-07-08 19:37:06 5349 1
原创 方法重载和方法重写
A.方法重载overload在同一个类中,多个方法名相同,但是参数类型(个数、顺序)不同,叫做方法重载,与返回的类型无关,方法重载各个重名的方法没有任何关系,只是叫同一个方法名而已。像构造方法必须和类名一样并且有时需要多个构造方法,所以叫构造方法重载public class Student { private String name; //姓名 private int age; //年龄 private char sex; //性别 private int pr...
2021-07-07 20:57:48 99
原创 4大方法种类;值传递和引用传递的区别
A.定义把代码逻辑细节用方法封装起来,通过对象能够重复调用方法,实现代码复用,提高效率B.方法种类(返回值/参数)1.无返回值的无参方法2.无返回值的有参方法3.有返回值的无参方法4.有返回值的有参方法C.值传递和引用传递基本类型进行值传递:在实参中复制了一份形参,形参里面发生改变,实参不会改变引用数据类型:进行引用类型传递,把实参引用的地址复制给形参,形参引用的内存地址的值发生了改变,则实参引用的地址也发生了改变,因为实参和形参引用的是同一个地址。通俗的说就是基本类型进行
2021-07-07 20:31:19 128
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人