- 博客(8)
- 收藏
- 关注
原创 Java中net.sf.json包关于JSON的坑
某些情况下该jar包JSON会将"[]"包围的字符串转化为数组,代码如下:JSONObject j = new JSONObject();j.put("aa","[abc88]");j.put("bb","[88abc]");j.put("cc","[+abc]");j.put("dd","[-abc]");j.put("ee","[.abc]");j.put("ff","[a-bc]");j.put("gg","[a.bc]");j.put("hh","[a+bc]");j.put
2021-10-20 15:37:32
1274
1
原创 Spring过滤器、拦截器、controller以及controller注解执行顺序
Spring过滤器、拦截器、controller以及controller注解的代码1、过滤器web.xml里面配置:过滤器和spring没关系<!-- filter 拦截请求--><filter> <filter-name>FilterProxy</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filte
2021-07-16 16:56:00
2307
1
原创 线程池 3种创建方式 7大参数 4种拒绝策略
创建方式:区别在于corePoolSize 和 maxPoolSize1.ExecutorService pool = Executors.newSingleThreadExecutor(); for (int i = 0; i < 10; i++) { pool.execute(()->{ System.out.println(Thread.currentThread().getName()+"执行"); }); }2.ExecutorService pool = Ex
2021-07-05 15:43:31
195
原创 抽象类和接口的区别
package com.cxx.demon;// 抽象类public abstract class TestAbstractDemon1 { // 非抽象方法 public TestAbstractDemon1() {} public void test1(){} public String test2(){return null;} // 抽象方法 abstract public void test3();}abstract cla.
2021-06-24 19:52:15
110
原创 java8对于List的操作
概述:近期在项目中产品有排序、筛选等需求,java8中可以很好支持这些,代码简洁,效率高。下面举几个对list排序、筛选的例子。前提:有个dog的实体类组装一个doglist1、根据某个条件筛选2、根据某个字段聚合3、根据多个字段聚合,如下:4、筛选出值并去重5、筛选并形成新的list6、排序以上打印输出结果为:...
2021-05-22 09:33:02
342
原创 分布式缓存redis 缓存雪崩、缓存击穿、缓存穿透的原因及解决方案
缓存雪崩:原因:到某一时间点缓存中数据大批量过期失效,导致新访问的数据无法命中缓存,从而访问数据,导致数据库流量压力过大。解决方案:1、可以在缓存过期时间上采用随机数,对缓存设置不同的到期时间,避免缓存数据在同一时间失效。2、对热点数据异步热部署,设置永不过期。3、可以采用多级缓存,或者redis服务器多机房部署,做好容灾、降级处理。缓存穿透:原因:缓存穿透是查询指缓存和数据库里面都不存在的数据,例如会员编码为“-1”的会员信息,如果高并发场景下请求的话,必然会导致数据库压.
2021-05-12 14:59:14
292
原创 缓存的几种淘汰策略
缓存的几种淘汰策略:1.LRU(Least Recently Used) “最近最少使用”淘汰策略。如果数据最近被访问过,那么它将来也最有可能被访问。其原理是a、新访问的数据放在链表的头部,因为这个数据被访问,那么他将来最有可能被访问,适用于缓存热点数据,访问比较频繁,命中率高。b、每当缓存数据命中之后,就将数据移到链表头部。c、当链表满了之后,链表尾部的被淘汰。算法结实模型如下:链表一开始是缓存如下数据dog cat monkey bull ,这时访问缓存数据mon
2021-05-12 11:45:53
1174
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅