Java开发中常常需要检查一个方法的参数是否满足特定条件,满足才能进行下一步. 例如:
Spring框架BeanPostProcessor解读
按照Spring bean的生命周期,先读取BeanDefinition,然后是实例化,之后是初始化,而BeanPostProcessor
就是作用在实例化阶段之后,围绕着初始化阶段。
一个简单的限流器
需求: 一个类似于商品秒杀的系统,商品的列表页面和详情页面进行了缓存,可能在短时间内有大量的请求进入,正常情况下每一次购买操作都会触发一次异步的缓存刷新操作,但是秒杀的时候,会在短时间内产生大量的缓存更新请求,而这些请求其实是没有必要全部处理的,此时可以采用限流的方式控制缓存刷新的频率
JVM基础知识
概述
java虚拟机是一台虚拟的机器,在这台机器上可以运行java源代码编译后的class文件,运行的入口是main方法,第一步是找到main方法,然后开始执行main方法,java类中的方法都会被编译器编译为字节码,字节码也就是指一个字节一个字节的二进制代码,字节码和所有的汇编语言一样是有很多指令组成的,每条指令有分为操作码和操作数部分,操作数并不是必须的,简单的指令如iadd会将操作数栈中的两个整型数字相加,然后把结果再放入操作数栈中。
如何用Jekyll写blog?
jekyll的blog存放在_posts
目录下,文件名格式是YEAR-MONTH-DAY-title.md
,其中年必须是4位数字,月和日必须是2位数字
Welcome to Jekyll!
You’ll find this post in your _posts
directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve
, which launches a web server and auto-regenerates your site when a file is updated.
单例模式
单例模式很简单,但是要写好不简单,一个主要的原因是要考虑并发场景下如何安全的创建单例
基本的思路是