Java
timshinlee
这个作者很懒,什么都没留下…
展开
-
缓存基础概念
1 缓存穿透缓存穿透指的是用户不断对缓存和数据库中都没有的数据发起请求,例如id为负数或特别大的数,导致数据库压力过大。穿透可以想象成幽灵穿过墙壁一样,什么都没有碰到,就像数据库和缓存都没有命中。一般情况下不会发生缓存穿透,较大可能是有人恶意攻击。解决方案:接口层添加参数校验,对于不合法参数直接拦截,例如id为负数的请求。无法直接判断是否合法的话,如果数据库和缓存都没有命中,则把对应的...原创 2020-03-11 09:45:41 · 228 阅读 · 0 评论 -
34) Four kinds of reference
IntroductionAs we all know that Garbage Collector reclaims memory from objects which are eligible for garbage collection. And this eligibility is decided based upon which kind of references are pointin转载 2016-11-11 21:44:28 · 316 阅读 · 0 评论 -
I/O流
1. public abstract int read() throws IOException;InputStream中的read()读取单个字节是抽象方法。返回读取到的字节,范围是0到255,如果读取到了流的末尾,则会返回-1。如果没有输入数据该方法会阻塞住。2. public int read(byte b[]) throws IOException { return read(b原创 2017-07-27 14:15:31 · 165 阅读 · 0 评论 -
Dagger2
一、简介二、依赖注入@Inject提供依赖@Provides提供依赖三、依赖特殊情况@Qualifier@Singleton四、依赖注入时机1. 直接注入2. Lazy注入3. Provider注入五、Component依赖六、Subcomponents1. 实现步骤2. Subcomponent实现不同Scope3. Subcomponent实现封装...原创 2017-08-29 11:37:29 · 334 阅读 · 0 评论 -
Java——Log4j1与Log4j2
1. Log4j 1引入Log4j:<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version></dependency>重点原创 2019-02-16 14:36:06 · 907 阅读 · 0 评论 -
Java——二维码
使用zxing生成二维码引入zxing依赖库:&lt;dependency&gt; &lt;groupId&gt;com.google.zxing&lt;/groupId&gt; &lt;artifactId&gt;core&lt;/artifactId&gt; &lt;version&gt原创 2019-02-20 14:07:49 · 161 阅读 · 0 评论 -
Java+UEditor
首先到UEditor官网下载JSP版本的压缩包,目前是停留在了1.4.3.3版本。下载完成后解压缩,把ueditor目录放到项目中,例如放到webapp目录下的/static/ueditor,注意要配置静态资源访问路径,保证能够正常访问到里面的文件,例如http://localhost/static/ueditor/ueditor.config.js。HTML中在目标位置放上UEd...原创 2019-03-11 10:40:38 · 3880 阅读 · 2 评论