04 2023 档案

摘要:在Java中,==操作符比较的是两个字符串对象的内存地址是否相同,而equals()方法比较的是两个字符串对象的值是否相等。通常情况下,如果两个字符串的内容相同,它们的内存地址也很有可能相同,此时==操作符和equals()方法都会返回true。 然而,在以下情况下,equals()方法可能返回tr 阅读全文
posted @ 2023-04-13 16:47 人在代码在 阅读(30) 评论(0) 推荐(0)
摘要:MySQL的联合索引是指对多个列共同创建的索引。联合索引是通过多个列的值组合来确定记录的顺序,因此在使用查询语句时,如果涉及到联合索引中的列,则会利用索引的特性进行快速查找,提高查询效率。 以下是创建联合索引的方法: CREATE INDEX index_name ON table_name (co 阅读全文
posted @ 2023-04-13 12:36 人在代码在 阅读(256) 评论(0) 推荐(0)
摘要:ISR机制:主节点认为你跟leader相差不大,就把你跟leader一起放到列表中,等leader挂掉之后就从ISR中找一个用来当主节点。 阅读全文
posted @ 2023-04-10 16:23 人在代码在 阅读(18) 评论(0) 推荐(0)
摘要:Kafka 是一个分布式的消息系统,为了保证高可用性,需要采取以下措施: 集群架构:Kafka 通过分布式的方式来实现高可用性。一个 Kafka 集群通常包含多个 Broker,每个 Broker 负责存储一部分的数据副本,这样即使某个 Broker 出现故障,其他 Broker 也可以继续工作。 阅读全文
posted @ 2023-04-09 21:48 人在代码在 阅读(834) 评论(0) 推荐(0)
摘要:Deployment.yaml 模板文件里放一些固定不变的东西,value里面放程序的配置信息。 chart value放在外面 Deployment.yaml 文件通常可以放在 Helm 包中的 templates 目录下。templates 目录是 Helm 包中用于存放 Kubernetes 阅读全文
posted @ 2023-04-06 11:25 人在代码在 阅读(24) 评论(0) 推荐(0)
摘要:单例模式是一种设计模式,它保证一个类只有一个实例,并提供一个全局访问点。 懒汉模式和饿汉模式都是单例模式的实现方式,它们的区别在于实例化的时机不同。 饿汉模式是指在类加载时就已经创建了实例,并且在类内部提供一个静态的访问方法,通过这个方法返回单例对象。在使用时,不需要判断是否已经创建了实例,直接调用 阅读全文
posted @ 2023-04-06 10:58 人在代码在 阅读(34) 评论(0) 推荐(0)
摘要:3、强制使用CGLIB实现AOP的方法1)添加CGLIB库(aspectjrt-xxx.jar、aspectjweaver-xxx.jar、cglib-nodep-xxx.jar)2)在Spring配置文件中加入<aop:aspectj-autoproxy proxy-target-class=“t 阅读全文
posted @ 2023-04-06 10:56 人在代码在 阅读(54) 评论(0) 推荐(0)
摘要:以下是使用MySQL语句创建索引的示例: 创建B-Tree索引结构: CREATE INDEX idx_name ON table_name(column_name); 其中,idx_name是索引名称,table_name是表名,column_name是需要创建索引的列名。 创建B+Tree索引结 阅读全文
posted @ 2023-04-06 09:00 人在代码在 阅读(96) 评论(0) 推荐(0)
摘要:NIO与IO区别IO是面向流的,NIO是面向缓冲区的Java IO面向流意味着每次从流中读一个或多个字节,直至读取所有字节,它们没有被缓存在任何地方;NIO则能前后移动流中的数据,因为是面向缓冲区的IO流是阻塞的,NIO流是不阻塞的Java IO的各种流是阻塞的。这意味着,当一个线程调用read() 阅读全文
posted @ 2023-04-06 03:38 人在代码在 阅读(58) 评论(0) 推荐(0)
摘要:MySQL的组合索引是指将多个列的索引组合在一起,以提高查询效率。组合索引的创建可以通过CREATE INDEX语句实现。 组合索引的优点是可以提高查询效率,减少磁盘的I/O操作,降低系统的负载。同时,组合索引还可以减少索引的数量,降低索引的存储空间和维护成本。 在使用组合索引时,需要注意以下几点: 阅读全文
posted @ 2023-04-06 03:33 人在代码在 阅读(330) 评论(0) 推荐(0)
摘要:线程池的submit()和execute()方法都可以用于向线程池提交任务,但它们有一些区别: 返回值不同:submit()方法会返回一个Future对象,可以通过Future对象获取任务的执行结果;而execute()方法没有返回值,无法获取任务的执行结果。 异常处理不同:submit()方法可以 阅读全文
posted @ 2023-04-06 03:26 人在代码在 阅读(94) 评论(0) 推荐(0)
摘要:缓存线程池 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class CachedThreadPoolExample { public static void ma 阅读全文
posted @ 2023-04-06 03:25 人在代码在 阅读(39) 评论(0) 推荐(0)
摘要:1.建立索引 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在n 阅读全文
posted @ 2023-04-06 03:12 人在代码在 阅读(22) 评论(0) 推荐(0)
摘要:在数据库中,乐观锁和悲观锁也是常用的并发控制机制,用于保证数据的一致性和完整性。 悲观锁 悲观锁在数据库中的实现方式通常是使用行级锁或表级锁,即在对数据进行读取、更新或删除时,先对数据进行加锁,确保其他事务无法修改该数据,直到当前事务完成操作并释放锁。 在MySQL数据库中,使用SELECT … F 阅读全文
posted @ 2023-04-06 01:25 人在代码在 阅读(185) 评论(0) 推荐(0)
摘要:java中的乐观锁和悲观锁是常用的并发控制机制,用于并发访问共享数据时保证数据的一致性。它们的区别在于对于共享数据的访问策略不同。 悲观锁 悲观锁认为在并发访问中,数据很容易被其他线程修改,因此在访问共享数据时,会采用“独占”的方式,即在访问数据之前,先将其锁定,确保其他线程无法修改该数据,待访问完 阅读全文
posted @ 2023-04-06 01:20 人在代码在 阅读(22) 评论(0) 推荐(0)
摘要:1.初始化 new 2.初始化成功等待使用 runnable 3.running 4.blocking,wait》sleep不是线程状态之一只是在现有的状态中睡觉 5.销毁 解释: 首先,程序创建了一个新的线程对象,并输出其状态为 NEW。 然后,程序调用线程对象的 start() 方法,启动该线程 阅读全文
posted @ 2023-04-06 01:10 人在代码在 阅读(55) 评论(0) 推荐(0)
摘要:1.wait就是在门口等,关上了门释放了锁。sleep就是抱着锁睡觉,锁还在我手里。 2.sleep来自thread类,wait来自object类。 3.sleep和wait都需要捕获异常,因为别的方法调用interrupt方法可以打断sleep并报错,如果不捕获就会出错。 4.wait方法用not 阅读全文
posted @ 2023-04-06 00:58 人在代码在 阅读(1686) 评论(0) 推荐(0)
摘要:fixthreadpool固定线程数线程池n,maxthreadNum =n(无效参数),core=n,满了之后在无界队列中排队(LinkedBlockingQueue无界链表阻塞队列)。keepaliveTime无效(可空闲时间) singthreadpool线程数1的线程池,maxthreadN 阅读全文
posted @ 2023-04-06 00:21 人在代码在 阅读(20) 评论(0) 推荐(0)
摘要:一.安全性比较 1.hashmap是线程不安全的,concurrentHashmap是线程安全的 JDK1.7只要记住会造成死循环数据丢失。 JDK1.8在多线程环境下会发生数据覆盖。 JDK1.8 中,由于多线程对HashMap进行put操作,调用了HashMap#putVal(),具体原因:假设 阅读全文
posted @ 2023-04-05 21:38 人在代码在 阅读(32) 评论(0) 推荐(0)
摘要:RDB是redis database backup file的缩写,redis数据备份文件。 AOF是append only file的缩写,仅追加文件的缩写。 Redis持久化是指将Redis内存中的数据保存到磁盘中,以防止数据在Redis重启后丢失。Redis支持两种不同的持久化方式:RDB和A 阅读全文
posted @ 2023-04-03 17:26 人在代码在 阅读(28) 评论(0) 推荐(0)
摘要:Redis哨兵是一个用于监控Redis主从复制和故障转移的工具,它可以自动发现Redis的主从关系,并在主节点失效时自动完成故障转移。 Redis哨兵本身不存储数据,它只是在Redis集群中进行监控和管理,通过不断地与主节点、从节点进行交互,来判断节点的状态是否正常,当主节点失效时,哨兵会自动选举出 阅读全文
posted @ 2023-04-03 17:24 人在代码在 阅读(74) 评论(0) 推荐(0)
摘要:在Spring中使用事务时,如果在一个事务中进行了远程调用,那么该远程调用的方法也可能需要使用事务,此时就需要考虑事务的传播行为。 对于远程调用,如果将其放在事务处理的前面,那么在远程调用完成后,当前事务可能还没有提交,如果此时发生异常,那么整个事务就会回滚,包括远程调用的方法也会回滚。这样就会导致 阅读全文
posted @ 2023-04-03 17:21 人在代码在 阅读(318) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/weixin_51146329/article/details/129612350 看门狗 1.不是高并发的场景 stringRedisTemplate.opsForValue().setIfAbsent("zql","人在代码在",10,TimeUnit 阅读全文
posted @ 2023-04-03 17:14 人在代码在 阅读(211) 评论(0) 推荐(0)
摘要:负载均衡策略 1.轮询模式 2.加权轮询 在轮询的基础上,增加了一个权重的概念。权重是一个泛化后的概念,可以用任意方式来体现,本质上是一个能者多劳思想。比如,可以根据宿主的性能差异配置不同的权重。服务器处理能力好的节点接收更多的请求。 3.最少连接数 这是一种根据实时的负载情况,进行动态负载均衡的方 阅读全文
posted @ 2023-04-03 12:06 人在代码在 阅读(134) 评论(0) 推荐(0)