04 2021 档案

摘要:一:模板方法代码如下所示: 1、定义模板类 public abstract class TemplateMethod { /**模板方法:总体算法的骨架,总体不能修改 * @return */ final public Long typeOperate(){ //当前系统的时间(毫秒) Long c 阅读全文
posted @ 2021-04-26 14:19 郭慕荣 阅读(173) 评论(0) 推荐(0)
摘要:1:你要为你写的每一行代码负责任,质量,干净,如果能用到设计模式一定要用到设计模式;比如适配器模式设计模式、模板方法设计模式等 2:泛型、抽象类、面向接口编程等设计思维一定要运用起来;抽象类里面可以有抽象方法,也可以有具体的实现方法,具体方法可以调用抽象方法等等 3:可以在抽象类上面添加注解@Com 阅读全文
posted @ 2021-04-25 20:06 郭慕荣 阅读(112) 评论(0) 推荐(0)
摘要:1:普通的Redis分布式锁的缺陷我们在网上看到的redis分布式锁的工具方法,大都满足互斥、防止死锁的特性,有些工具方法会满足可重入特性。如果只满足上述3种特性会有哪些隐患呢?redis分布式锁无法自动续期,比如,一个锁设置了1分钟超时释放,如果拿到这个锁的线程在一分钟内没有执行完毕,那么这个锁就 阅读全文
posted @ 2021-04-25 10:56 郭慕荣 阅读(41789) 评论(5) 推荐(8)
摘要:最近排查一些MySQL的问题,会经常用到 show processlist,所以在这里把这个命令总结一下,做个备忘,以备不时只需。首先是几条常用的SQL。1、按客户端 IP 分组,看哪个客户端的链接数最多 select client_ip,count(client_ip) as client_num 阅读全文
posted @ 2021-04-20 16:36 郭慕荣 阅读(1223) 评论(0) 推荐(0)
摘要:1,查看数据库的隔离级别:mysql> select @@tx_isolation;2,去查看先当前库的线程情况:mysql> show processlist; 没有看到正在执行的慢SQL记录线程,再去查看innodb的事务表INNODB_TRX,看下里面是否有正在锁定的事务线程,看看ID是否在s 阅读全文
posted @ 2021-04-20 11:31 郭慕荣 阅读(174) 评论(0) 推荐(0)
摘要:组合模式就是对象嵌套对象的模式,组合模式是以树形结构呈现。 一、概念①、什么是组合模式?组合模式又叫部分整体模式,是用于把一组相似的对象当做一个单一的对象。组合模式依据树型结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构性模式,它创建了对象组的树形结构。②、主要解决的问题?它在树 阅读全文
posted @ 2021-04-19 11:29 郭慕荣 阅读(94) 评论(0) 推荐(0)
摘要:同步刷盘、异步刷盘RocketMQ的消息是存储到磁盘上的,这样既能保证断电后恢复,又可以让存储的消息量超出内存的限制。RocketMQ为了提高性能,会尽可能地保证磁盘的顺序写。消息在通过Producer写入RocketMQ的时候,有两种写磁盘方式:1)异步刷盘方式:在返回写成功状态时,消息可能只是被 阅读全文
posted @ 2021-04-18 09:37 郭慕荣 阅读(1171) 评论(0) 推荐(0)
摘要:redis常用的方式有单节点、主从模式、哨兵模式、集群模式。 单节点在生产环境基本上不会使用,因为不能达到高可用,且连RDB或AOF备份都只能放在master上,所以基本上不会使用。另外几种模式都无法避免两个问题:1、异步数据丢失。2、脑裂问题。 所以redis官方针对这种情况提出了红锁(Redlo 阅读全文
posted @ 2021-04-16 10:47 郭慕荣 阅读(1827) 评论(0) 推荐(0)
摘要:在分布式环境中,很多场景,如:秒杀、ID生成... 都需要分布式锁。分布式锁的实现,可以基于redis的setnx,zk的临时节点。。。今天我们介绍一种redis官方推荐的方法——redission。1、pom.xml <dependency> <groupId>org.redisson</grou 阅读全文
posted @ 2021-04-13 17:52 郭慕荣 阅读(464) 评论(0) 推荐(0)
摘要:kafka是需要集成zookeeper的; 在本电脑中:zookeeper的位置是:D:\data\tools\zookeeper-kafka-3.6.2\bin;kafka的位置是:D:\data\tools\kafka_2.12-2.2.1 zookeeper的启动是点击:zkServer.cm 阅读全文
posted @ 2021-04-04 13:15 郭慕荣 阅读(1342) 评论(0) 推荐(0)
摘要:这个问题在面试中经常会被问到的,synchronized在1.6之后做了什么优化,其实对synchronized一些底层的理解还是很重要的。 一:Synchronized实现原理1、Java对象头首先,我们要知道对象在内存中的布局:已知对象是存放在堆内存中的,对象大致可以分为三个部分,分别是对象头、 阅读全文
posted @ 2021-04-02 11:01 郭慕荣 阅读(1256) 评论(0) 推荐(1)
摘要:前言Java内存模型是Java程序员学习JVM前必须要掌握的基础知识 ,也是面试中经常会被问到的问题点。但是要真正完全弄清楚它,还是有点难度的,因为Java内存模型是不可见的,它并不是一个真实的东西,它只是一个概念、一个规范。 计算机硬件体系介绍,CPU多级缓存要想完全搞清楚Java内存模型,先要了 阅读全文
posted @ 2021-04-02 10:45 郭慕荣 阅读(2136) 评论(0) 推荐(1)
摘要:问:索引建立越多越好吗?数据量小的表不需要建立索引,因为建立索引会增加额外的开销。数据变更需要维护索引,因此更多的索引意味着更多的维护成本。更多的索引意味着更多的存储空间。 B+树,最好是使用主键递增的这种方式,如果使用其他的方式,B+树是一个二叉树,要维护这个B+树,结构会发生很大的变化。数据结构 阅读全文
posted @ 2021-04-01 14:05 郭慕荣 阅读(668) 评论(0) 推荐(0)