08 2023 档案

摘要:需要基础:多数据源 ==> 查看mybatisplus官方提供 https://baomidou.com/pages/a61e1b/#dynamic-datasource 1、引入pom依赖 <dependency> <groupId>com.baomidou</groupId> <artifact 阅读全文
posted @ 2023-08-31 18:49 风筝上的猫 阅读(33) 评论(0) 推荐(0) 编辑
摘要:前言: 为什么要对mysql做优化? 因为数据都来源于数据库,如果数据库慢了,无论是多线程、各种识别模式优化还是很慢,因为查sql就很慢。 官方说法:单表2000万数据,增删改查就到达瓶颈了。所以为了保证查询效率,得让每张表的大小得到控制。 Mysql架构: 实际生产过程中,查询业务更多,增删改中也 阅读全文
posted @ 2023-08-31 15:18 风筝上的猫 阅读(172) 评论(0) 推荐(0) 编辑
摘要:题目 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号。 示例 1: 输入:s = "()" 输出:true 示例 2: 阅读全文
posted @ 2023-08-10 16:24 风筝上的猫 阅读(14) 评论(0) 推荐(0) 编辑
摘要:以byteeasy项目为例集成xxl-job 两个开源项目git地址: git@gitee.com:xuxueli0323/xxl-job.git git@gitee.com:hbuzc/byteeasy.git 1、导入数据库 xxljob的doc文件下的db文件中包含sql文件,复制到navic 阅读全文
posted @ 2023-08-09 16:24 风筝上的猫 阅读(2023) 评论(0) 推荐(0) 编辑
摘要:concurrent包和atomic包都是线程安全的包,包下的类都是线程安全的类; 面试点:java有那些线程安全的类; 由于Java的CAS同时具有volatile读和volatile写的内存语义,因此Java线程之间的通信现在有了下面4种方式。 1)A线程写volatile变量,随后B线程读这个 阅读全文
posted @ 2023-08-06 09:06 风筝上的猫 阅读(19) 评论(0) 推荐(0) 编辑
摘要:java线程的join()方法的理解 thread.join() 把指定的线程加入到当前线程,可以将两个交替执行的线程和并为顺序执行的线程。简单说就是同步。 例1:比如在线程B中调用了线程A的 join 方法,直到线程A执行完毕后,才会继续执行线程B。 例2:再比如我们做查询操作,总任务需要返回三个 阅读全文
posted @ 2023-08-06 09:03 风筝上的猫 阅读(1409) 评论(0) 推荐(0) 编辑
摘要:线程状态图示 锁池和等待池 java中,每个对象都有两个池,锁池和等待池。 锁池:某个线程已经拥有了某个对象的锁,其他想要获取该对象的锁的线程就会进入该对象的锁池中; ⭕举例解释: 假设线程A已经拥有了某个对象的锁(这里是对象 不是类),其他线程想要调用这个对象的某个synchronized方法或者 阅读全文
posted @ 2023-08-04 16:09 风筝上的猫 阅读(591) 评论(0) 推荐(1) 编辑
摘要:线程五个状态 1、新建状态(New):新创建了一个线程对象,和其他java对象一样,仅在堆中分配内存。 2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的 start() 方法。该状态的线程位于可运行线程池中,变得可运行,等待被线程调度选中,获取CPU的使用权。(指线程已具备了 阅读全文
posted @ 2023-08-04 14:10 风筝上的猫 阅读(1862) 评论(0) 推荐(0) 编辑
摘要:线程池使用实例 先写一个配置类 /** * 线程池配置 */ @Configuration public class ThreadPoolConfig { //定义线程前缀 public static final String NAME_PRE="test"; /** * ExecutorServi 阅读全文
posted @ 2023-08-02 18:26 风筝上的猫 阅读(241) 评论(0) 推荐(0) 编辑
摘要:substring_index(str,delim,count) str:要处理的字符串 delim:分隔符 count:计数 例子: str=www.wikibt.com substring_index(str,'.',1) 结果是: www substring_index(str,'.',2) 阅读全文
posted @ 2023-08-01 21:02 风筝上的猫 阅读(60) 评论(0) 推荐(0) 编辑
摘要:1、group by 语句用来与聚合函数(COUNT、SUM、AVG、MIN、MAX)联合使用得到一个列或多个列 2、having 只能在group by之后(即使用having的前提条件是分组) 3、如果过使用where和having,那么where在前 4、当一个语句同时出现where、grou 阅读全文
posted @ 2023-08-01 20:57 风筝上的猫 阅读(144) 评论(0) 推荐(0) 编辑
摘要:一、jdk动态代理的问题 使用jdk动态代理存在一个问题,jdk提供的动态代理只能为拥有接口的类进行动态代理,但是对于没有实现接口的类,则没有办法进行动态代理。 二、什么是cglib动态代理 cglib是是第三方的工具库。其原理是继承,cglib通过继承目标类,创建他的子类,在子类当中重写父类的相关 阅读全文
posted @ 2023-08-01 20:50 风筝上的猫 阅读(119) 评论(0) 推荐(0) 编辑
摘要:异常体系图示 Thorwable是整个错误和异常的父类 程序无法处理的 由JVM产生或抛出的叫做错误Error 异常Exception 包括 运行时异常和非运行时异常 运行时异常(非受检) 是程序未检测出来的异常,这种错误一般是由我们的逻辑错误所引起的 逻辑错误造成的异常仅运行期间才能被检测 Ari 阅读全文
posted @ 2023-08-01 20:46 风筝上的猫 阅读(44) 评论(0) 推荐(0) 编辑
摘要:MySQL索引是一种用于提高数据库查询性能的数据结构。 在 MySQL 中,索引是在存储引擎层实现的,所以并没有统一的索引标准,即不同存储引擎的索引的工作方式并不一样。而即使多个存储引擎支持同一种类型的索引,其底层的实现也可能不同。由于 InnoDB 存储引擎在 MySQL 数据库中使用最为广泛,所 阅读全文
posted @ 2023-08-01 20:41 风筝上的猫 阅读(14) 评论(0) 推荐(0) 编辑
摘要:synchronized 是 Java 中用于实现线程同步的关键字,它可以应用于方法或代码块上。它的作用是确保在同一时间只有一个线程可以执行被 synchronized 修饰的代码,从而避免多线程并发访问共享资源导致的数据不一致或冲突问题。 理解 synchronized 的关键概念是"互斥访问"和 阅读全文
posted @ 2023-08-01 20:20 风筝上的猫 阅读(73) 评论(0) 推荐(0) 编辑
摘要:在 Java 中,使用线程池可以更有效地管理和控制线程的创建和回收,提高系统的性能和资源利用率。 使用原则:线程池尽量不要使用的时候创建,不要在方法中创建线程池,这样会频繁创建线程时。应该在项目启动时就把线程池创建好。 一、创建线程池: 1、使用 ExecutorService 接口的实现类的工厂方 阅读全文
posted @ 2023-08-01 20:13 风筝上的猫 阅读(1038) 评论(0) 推荐(0) 编辑
摘要:偏向锁 --> 轻量级锁 --> 重量级锁,是synchronized的三种形态转换。 锁可以升级但不能降级,意味着偏向锁升级成轻量级锁后不能降级成偏向锁。这种锁升级却不能降级的策略,目的是为了提高获得锁和释放锁的效率。 线程的状态: 就绪队列可能随时被CPU选中执行;阻塞队列需要等其他线程释放锁后 阅读全文
posted @ 2023-08-01 16:36 风筝上的猫 阅读(41) 评论(0) 推荐(0) 编辑
摘要:一、什么是线程池 在java中,我们可以利用线程做很多事情,创建多个线程来高效完成任务。 线程池可以看作是线程的集合,是一种基于池化思想管理线程的工具。 举个例子: for(int i=0;i<线程数量;i++){ Thread thread=new Thread(任务); thread.start 阅读全文
posted @ 2023-08-01 16:31 风筝上的猫 阅读(21) 评论(0) 推荐(0) 编辑

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