共 144 篇文章 |
|
CompletableFuture的用法CompletableFuture介绍。CompletableFuture<String> future5 = future.thenCompose(str -> CompletableFuture.completedFuture(str + "Java"));CompletableFuture<String> future6 = future.thenCombine(future5, (str1, str2) -> str1 + str2);CompletableFuture<String> future2 =... 阅87 转0 评0 公众公开 23-06-04 17:21 |
[原]线上问题排查思路 Reference.waitForReferencePendingList(java.base@17/Native Method) at java.lang.ref.Reference.processPendingReferences(java.base@17/Reference.java:253) at java.lang.ref.State: BLOCKED at xxxxxx1 - waiting to lock <0xxxxxx> - locked <1xxxxx>java.lang.导出dump文件 jmap -dump:format=b... 阅19 转0 评0 公众公开 23-05-22 08:24 |
[原]一些没用的小技巧 @Datapublic class UserDto { @NotBlank(message = "name不能为空") private String name; @NotNull(message = "age不能为空") @Min(value = 1, message = "年龄不能小于1") private Integer age;}@Setter@Getter@Accessors(chain = true)@RequiredArgsConstructor(staticName = "of")... 阅16 转0 评0 公众公开 22-12-16 16:36 |
[原]MySQL窗口函数的妙用 id int(10) primary key auto_increment comment ''''''''主键'''''''', stu_id int(10) comment ''''''''学生id'''''''', class_id int(10) comment '''''''... 阅81 转0 评0 公众公开 22-11-12 20:30 |
[原]缓存一致性问题 缓存一致性问题一、什么是一致性问题。为了提升服务的性能,我们一般会把热点放进缓存,那么这些热点数据就同时存在于数据库和缓存中,缓存中的数据和数据库中的数据要保持一致,这便是缓存一致性问题。如上图所示,如果线程 A 先更新了 DB,接着线程 B 更新 DB,正常情况,缓存中保存的应该是线程 B 写入 DB 的数据,但因为最后是线程 A 去更... 阅14 转0 评0 公众公开 22-10-03 07:51 |
[原]手把手教你搭建ELK 简单解释一下这段配置:input 块是 logstash 接收日志时的一些配置,output 是 logstash 往 elasticsearch 输送日志的配置;修改完配置,进入 bin 目录指定配置文件启动即可,例如:./logstash -f ../config/logstash.conf,如果是 windows 版本,执行logstash.bat -f ../config/logstash.conf即可。这里的核心配置就是输出到 logstash 那一段... 阅1092 转7 评0 公众公开 22-09-04 19:12 |
业务处理成功,发送MQ失败?面试官:你说你们项目用到了MQ,那么你往MQ发消息是在你业务事务提交之前还是之后呢?二阶段根据业务逻辑的执行结果,判断MQ的事务是提交还是回滚,如果提交,那么这条消息就可以被消费者消费了。补偿措施:如果根据业务逻辑对MQ事务执行提交或者回滚时因为超时等原因失败了,MQ Server会回调业务端的接口,通过这个... 阅296 转0 评0 公众公开 22-08-08 18:54 |
java面试题 --- Mybatis&Hibernate。Mybatis 是半自动的 ORM 的框架,Hibernate 是全自动的,所谓半自动,就是不会自动查询出关联对象,需要自己写 SQL。支持,它有一级缓存和二级缓存,一级缓存用 HashMap 存储,作用域是 session;hibernate 的一级缓存作用域是 session,默认开启,二级缓存作用域是 sessionFactory。flush 方法是让一级... 阅6 转0 评0 公众公开 22-07-31 22:12 |
java面试题 --- 分布式。先新建一个 lock 持久节点,然后线程申请锁时,就在 lock 下新建一个临时顺序节点比如 lock1,然后查找 lock 下所有节点,判断 lock1 是不是第一个,如果是,获取锁成功,如果不是,获取锁失败,同时监控自己前面的那个节点,当自己前面那个节点被干掉时,再去检查自己是不是第一个。用 Redis 实现:利用 Redis 的 incr... 阅42 转0 评0 公众公开 22-07-19 19:00 |
java面试题 --- MQ.常见的 MQ 有 ActiveMQ,它是老牌的 MQ,性能不算太好;简述 ActiveMQ jdbc 持久化的流程。配置好之后 ActiveMQ 收到消息就会在数据库生成三张表,activemq_acks 表用来存储发布订阅关系,activemq_locks 是集群时需要用到的表,activemq_msgs 就是存储消息的表。正常情况下消费者签收了消息,消息就会从 ActiveMQ 中移除,... 阅37 转0 评0 公众公开 22-07-04 23:30 |