Java
文章平均质量分 77
咕咕咕zhou
这个作者很懒,什么都没留下…
展开
-
复杂IO密集接口优化
复杂IO密集接口优化原创 2023-03-12 03:34:44 · 493 阅读 · 0 评论 -
多维度实时排行榜
说起实时排行榜,最先能想到的方案就是这个,该方案无序额外依赖其他组件,只以日榜的维度来看,该方案能支撑的流水数最多也就百万级别,超过这个级别很可能对数据库造成严重的计算压力,甚至影响其他业务sql的执行。原创 2022-12-15 22:09:53 · 489 阅读 · 0 评论 -
无状态java服务在k8s下流量无缝切换
java在k8s下流量无缝切换原创 2022-10-19 15:07:14 · 1213 阅读 · 2 评论 -
跨线程池共享的ThreadLocal
简单实现一个能够被在线程池中共享的 ThreadLocal.原创 2022-09-17 22:40:52 · 1012 阅读 · 0 评论 -
基于Zookeeper实现的分布式可重入锁
基于Zookeeper实现的分布式可重入锁原创 2022-09-15 10:38:52 · 1135 阅读 · 0 评论 -
MongoDB 以json执行命令及原理分析
背景描述最近参加了公司的一个效能平台的开发,用到了MongoDB。由于不想频繁提交sql执行工单,因此弄了个sql执行的后台。使用Spring data框架携带的Mongodb工具,org.springframework.data.mongodb.core.MongoTemplate的executeCommand(String jsonCommand)作为执行的核心方法。但是做了大量的查询,也没找到对应操作如何以json去执行,为此做下记录。注意版本spring-boot-1.5.8.RELEA原创 2020-11-14 11:37:52 · 1799 阅读 · 2 评论 -
基于Spring的FactoryBean接口,根据不同线程id返回不同对象
原理FactoryBean就是Spring容器中,用来专门生成Bean的一种特殊的Bean.主要是针对配置文件的表达能力有限应运而生的.在Spring MVC的特殊Scope的Reqesut就是通过实现FactoryBean从而达到每个请求生成的都是不同的对象.例子import lombok.Data;import org.springframework.beans.factory.FactoryBean;import org.springframework.context.annotatio原创 2020-10-08 23:55:46 · 276 阅读 · 0 评论 -
JAVA LinkedBlockingQueue详细分析
java.util.concurrent.locks.AbstractQueuedSynchronizer是JUC(Java Util Concurrent)中非常重要的类.其实现了同步锁的基本框架.原创 2020-10-01 15:17:56 · 3155 阅读 · 0 评论 -
Spring BeanPostProcessor,InitializingBean的作用及执行时机
以下源码基于 Spring 5.2.8.RELEASE 版本.BeanPostProcessor有2个方法,分别是在自定义初始化之前和之后执行的行为.InitializingBean只有一个方法,用于BeanFactory完成属性设置之后,执行自定义的初始化行为.postProcessBeforeInitialization方法会在Bean被Spring容器初始化时使用(在被管理的对象实例化后,由Spring容器进行的注入过程).看下Bean初始化的方法:// Spring容器初始化bean原创 2020-09-25 20:21:12 · 1565 阅读 · 0 评论 -
接口幂等性 常用场景简述
幂等性幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。在编程中.一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。个人理解: 幂等就是产生的结果不受执行次数影响.举栗:public class Customer{ private Integer id; public Integer原创 2020-09-18 20:13:13 · 728 阅读 · 0 评论 -
分布式锁及实现
基于ZooKeeper的分布式锁实现准备工作# 准备zookeeperdocker pull zookeeper:zookeeper@3.6# 根据官方的stack.yml文件 https://hub.docker.com/_/zookeeper 启动3个zk容器docker stack deploy -c stack.yml zookeeper代码实现emm先贴一下,之后再改,见谅.import org.apache.zookeeper.*;import org.apache.zoo原创 2020-08-24 00:37:56 · 132 阅读 · 0 评论 -
PC,移动端分页
概述在实际开发中,我们必然会遇到分页.传统的pc端分页,我们会通过传递2个参数pageNo(假设1表示第一页), pageSize去控制具体的分页号及大小.PC端分页以下我们以该表为例:create table users ( id int unsigned not null auto_increment, name varchar(8) null, age tinyint null, primary key (id)) engine = InnoDb;写过S原创 2020-07-07 23:47:56 · 634 阅读 · 0 评论 -
问题: MyBatis:There is no setter for property named 'xxx' in 'class
MyBatis:There is no setter for property named ‘xxx’ in 'class如果在使用过程中碰到这个错误信息,2个可能:确实没有写对应属性的setter方法.属性名写错了,因为 mybatis 是使用字符串来映射的,idea无法关联,很容易写错,并且没有意识到.比如说:又比如说:...原创 2020-01-14 23:23:09 · 3754 阅读 · 1 评论 -
java java.util.concurrent.ThreadPoolExecutor 的翻译及解析
java.util.concurrent.ThreadPoolExecutor 应该是在java中创建线程使用最多的方式了. 因此对于这个类的实现和坑我们就需要了解的更加细致.原创 2020-01-03 18:32:54 · 6434 阅读 · 0 评论