MoDou Blog

Thinking will not overcome fear but action will.

如何保证缓存与数据库双写时的数据一致性?

如何保证缓存与数据库双写时的数据一致性?

如何保证缓存与数据库双写时的数据一致性? 在做系统优化时,想到了将数据进行分级存储的思路。因为在系统中会存在一些数据,有些数据的实时性要求不高,比如一些配置信息。基本上配置了很久才会变一次。而有一些数据实时性要求非常高,比如订单和流水的数据。所以这里根据数据要求实时性不同将数据分为三级。 第1级:订单数据和支付流水数据;这两块数据对实时性和精确性要求很高,所以不添加任何缓...

史上最便捷搭建Zookeeper服务器的方法

史上最便捷搭建Zookeeper服务器的方法

什么是 ZooKeeper ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效、高可用的分布式协调服务,提供了诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知和分布式锁等分布式基础服务。由于 ZooKeeper 便捷的使用方式、卓越的性能和良好的稳定性,被广泛地应用于诸如 Hadoop、HBase、Kafka 和 Dubbo 等大型分布式系统中。 Zo...

关于加解密、加签验签的那些事

关于加解密、加签验签的那些事

面对MD5、SHA、DES、AES、RSA等等这些名词你是否有很多问号?这些名词都是什么?还有什么公钥加密、私钥解密、私钥加签、公钥验签。这些都什么鬼?或许在你日常工作没有听说过这些名词,但是一旦你要设计一个对外访问的接口,或者安全性要求高的系统,那么必然会接触到这些名词。所以加解密、加签验签对于一个合格的程序员来说是必须要掌握的一个概念。那么加解密相关的密码学真的离我们很遥远吗?其实生...

只需要这三步,用Java也能图片识别

只需要这三步,用Java也能图片识别

最近闲来无事研究了一下用Java如何模拟浏览器的行为,在实验登录的步骤时碰到了识别验证码的问题,于是在网上查找了关于Java如何进行图片识别验证码,由于根据网上查找的相关文章都不适合我的配置,所以特开此博客进行记录一下采坑的过程以及解决方法。 做图像识别,可以使用TESSERACT-OCR来实现,但是该方式需要下载软件,在电脑上安装环境,移植性不高,使用Tess4J只需要下载相关Jar...

史上最便捷搭建RocketMQ服务器的方法

史上最便捷搭建RocketMQ服务器的方法

最近学习使用 rocketmq,需要搭建 rocketmq 服务端,本文主要记录 rocketmq 搭建过程以及这个过程踩到的一些坑。至于有多简单呢,在本机已有Docker环境的情况下只需要三步即可。 从github上面拉取项目 修改broker.conf中的brokerIP1 参数,修改为本机IP 进入docker-compose.yml文件所在路径,执行docker-...

Java中的屠龙之术——如何修改语法树

Java中的屠龙之术——如何修改语法树

在Lombok经常用,但是你知道它的原理是什么吗?,和Lombok经常用,但是你知道它的原理是什么吗?(二)两篇文章中介绍了关于Lombok的底层原理,其实总结为一句话来说就是在编译期通过改变抽象语法树而实现的。上面两篇文章已经讲了抽象语法树的相关知识点,如果有不清楚的可以看一下。 本篇涉及到的所有代码都在github上面有 本篇涉及到的所有代码都在github上面有 本篇涉及到的...

如何快速对接Stripe国际支付系统

如何快速对接Stripe国际支付系统

Stripe国际支付介绍 Stripe是由20多岁的两兄弟Patrick Collison和John Collison创办的Stripe为公司提供网上支付的解决方案。Stripe向服务的公司收取每笔交易的2.9%加上30美分的手续费。 很多中国卖家想要借用stripe来实现建站收款,Stripe现在被称为“移动时代PayPal”。目前服务的客户有大家熟知的facebook、Twi...

Lombok经常用,但是你知道它的原理是什么吗?(二)

Lombok经常用,但是你知道它的原理是什么吗?(二)

在上一篇Lombok经常用,但是你知道它的原理是什么吗?简单介绍了注解处理器,是用来处理编译期的注解的一个工具,我们只是自己生成了一些代码,但是和Lombok却不一样,因为Lombok是在原有类的基础上增加了一些类,你那么Lombok是如何做到修改原有类的内容呢?接下来我们就再进一步了解Lombok的原理。 Javac原理 既然我们是在编译期对类进行操作了,那么我们就需要了解在Java中...

Lombok经常用,但是你知道它的原理是什么吗?

Lombok经常用,但是你知道它的原理是什么吗?

相信大家在项目中都使用过Lombok,因为能够简化我们许多的代码,但是该有的功能一点也不少。那么lombok到底是个什么呢,lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter方法啊,构造函数啊之类的,lombok的作用就是...

《沙盘模拟系列》JVM如何调优

《沙盘模拟系列》JVM如何调优

纸上得来终觉浅 绝知此事要躬行 我所在的公司基本上是没有机会进行JVM参数调优的,但是如果有些东西自己不亲身经历一下,看再多的理论知识也只能算是纸上谈兵,真正碰到问题的时候还是不知道该怎么分析。所以就自己制造一些问题然后看其现象,利用所学的知识事前推测,看现象是不是和自己推测的一样。这样不仅对自己所学的知识又是一次巩固,而且也能锻炼自己解决问题的能力(虽然问题是自己制造的)。 其...