KANG's BLOG

Let's have some fun

Redis缓存和数据库一致性

Redis缓存和数据库一致性 1.延时双删策略 public void write(String key, Object data){ jedis.del(key); db.update(data); Thread.

常用正则

身份证正则表达式 十八位: ^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$ 十五位: ^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$ 总: ( ^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)

使用org.reflections包来解析类信息

依赖包 <dependency> <groupId>org.reflections</groupId> <artifactId>reflections</artifactId> <version>0.9.11</version> </dependency> <!-- 依赖guava包 --> <dependency> <groupId>com.

Spring生命周期

Spring Bean生命周期 instantiate bean对象实例化 调用Bean的构造函数(或者工厂方法)实例化Bean populate properties 封装属性 对Bean的成员变量赋值,依赖注入 如果Bean实现BeanNameAware执行setBeanName

注解@ControllerAdvice的使用

注解@ControllerAdvice的使用 通过@ControllerAdvice全局处理异常 新建一个类,加上@ControllerAdvice或@RestControllerAdvice注解,表示这个类为全局处理类。 类中方法加上@ExceptionHandler注解并指定你想处理的异常类型,该方法就能够对该异常进行全局处理。 @RestControllerAdvice public class ExceptionControllerAdvice { @ExceptionHandler(MethodArgumentNotValidException.class) public String MethodArgumentNotValidExceptionHandler(MethodArgumentNotValidException e) { // 从异常对象中拿到ObjectError对象 ObjectError objectError = e.

注解@Transactional的使用

实现原理 事务开始时,通过AOP机制,生成一个代理connection对象,并将其放入 DataSource 实例的某个与 DataSourceTransactionManager 相关的某处容器中。 在接下来的整个事务中,客户代码都应该使用该 connection 连接数据库,执行所有数据库命令。[不使用该 connection 连接数据库执行的数据库命令,在本事务回滚的时候得不到回滚](物理连接 connection 逻辑上新建一个会话session;DataSource 与 TransactionManager 配置相同的数据源)

使用Docsify零成本快速搭建个人博客

什么是Docsify 除了自己手写一个博客网站,通常快速搭建个人博客有三种方式: wordpress - 动态建站型 wordpress是PHP语言写的项目,需要LAMP(Linux + Apache + MySQL/MariaDB + PHP)的运行环境,其生态庞大,含有非常多的主题和插件来丰富你网站的内容,大部分云服务如阿里云ECS对wordpress有非常好的支持,有独立的后台管理控制台,支持非常多的网站设置、文章发布功能。而这一切都不需要你具备太多的编程知识。缺点就是非常依赖原生配置能力,有一定的学习门槛,且组件修改方式不够灵活。最要命的是,对markdown支持一般,原生富文本编辑器或者新的古腾堡编辑器都太不程序员了。 Hexo、Hugo等 - 静态编译型 这类博客搭建相比wordpress则轻量很多,一般是通过后台程序(比如nodejs或者go)直接将markdown文件编译成静态网站,再将其发布到你的个人云服务器上。社区生态火热,同样具有非常多的主题,且风格相比wordpress更加的小清新。 docsify - 在线渲染型 docsify是GitHub上开源的快速搭建博客网站的项目,有别于Hexo、Hugo等,docsify的特点是不需要将md文件转化成html,而是在运行时解析markdown文件渲染成html网页,通过引用插件还能提供全局搜索、评论等功能。缺点是SEO较差。 从以上三者的使用经验来看,docsify最大的优点就是简单:无需编译、没有环境依赖。你的markdown笔记内容不做任何处理,直接被加载到客户端后由docsify渲染成网页。

dmesg作用

dmesg作用 dmesg命令是用来在Unix-like系统中显示内核的相关信息的。dmesg全称是display message (or display driver),即显示信息。 dmesg -T|grep java dmesg | less

Eureka注册中心

服务端 Application中添加@EnableEurekaServer注解 @EnableEurekaServer @SpringBootApplication public class ServerApplication { public static void main(String[] args) { SpringApplication.

Feign负载分发

搭建 pom引入依赖 <!--web的起步依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--声明为一个client --> <dependency> <groupId>org.