上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 21 下一页
摘要: //死锁实例: @AllArgsConstructor@Dataclass MyRunnable implements Runnable{ private String lockA; private String lockB; @Override public void run() { synchr 阅读全文
posted @ 2018-10-25 09:52 brx_blog 阅读(329) 评论(0) 推荐(0)
摘要: 使用场景: 需要频繁的进行创建和销毁的对象; 创建对象时耗时过多或耗费资源过多,但又经常用到的对象; 工具类对象; 频繁访问数据库或文件的对象。 1)饿汉先吃 2)懒汉不安全 3)懒汉同步方法【不可用】 4)懒汉双重检查【推荐使用】 5)饿汉内部类-lazy【推荐使用】 6)饿汉枚举 阅读全文
posted @ 2018-10-23 21:49 brx_blog 阅读(150) 评论(0) 推荐(0)
摘要: 常见 23 种模式概述: (1) 抽象工厂模式( Abstract Factory ):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 (2) 适配器模式( Adapter ):将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的类可以一 阅读全文
posted @ 2018-10-16 15:26 brx_blog 阅读(194) 评论(0) 推荐(0)
摘要: 一.冒泡排序: 外层循环控制排序躺数:n个数需要跑n-1躺,一个数组的长度为length,那么下标为length-1,那么最大趟数为length-2,即写为<length-1 //因为比较剩下最后一个数时,无需比较。 内层循环控制每一趟的比较次数:每一趟需要比较n-i次 二.快速排序: 快速排序,顾 阅读全文
posted @ 2018-10-15 17:49 brx_blog 阅读(293) 评论(0) 推荐(0)
摘要: 链表跟数组的区别: 数组随机访问性强(通过下标进行快速定位),查找速度快;链表不能随机查找,必须从第一个开始遍历,查找效率低 数组插入和删除效率低(插入和删除需要移动数据),链表插入删除速度快(因为有next指针指向其下一个节点,通过改变指针的指向可以方便的增加删除元素) 数组浪费内存(每次创建数组 阅读全文
posted @ 2018-10-12 15:42 brx_blog 阅读(1835) 评论(0) 推荐(0)
摘要: 代码心得: 一个基本的做法:对于用户身份认证做到拦截器里,针对HandlerMethod进行统一拦截认证,根据方法上的注解标识,判别是否需要身份验证,并将查找出来的User实体存入ThreadLocal,在本次请求中,以后的目标方法都可以从ThreadLocal里取出user,并在afterComp 阅读全文
posted @ 2018-10-11 11:25 brx_blog 阅读(1081) 评论(0) 推荐(0)
摘要: 一.为什么要流量整形(削峰填谷) 流量冲击(高并发情况下带来的突发流量): 上游调用方(push)不限速,很可能会把下游压垮 eg:上游发起下单操作,下游完成秒杀业务逻辑(库存检查,库存枷锁,余额检查,余额枷锁,订单生成,余额扣减,库存扣减,生成流水,余额解锁,库存解锁) 上游业务简单,每秒发起了1 阅读全文
posted @ 2018-10-10 17:38 brx_blog 阅读(3891) 评论(0) 推荐(1)
摘要: 死锁产生前置条件: 1.互斥条件:一个资源只能被一个线程占有 2.请求与保持条件:一个线程请求资源阻塞,保持已有资源不释放 3.不剥夺条件:线程间不能强行剥夺 4.循环等待:多个线程形成首位相接的循环等待资源关系链 死锁处理方法: 1.查看死锁进程id,杀掉该进程(一种临时解决方案,总不能在生产环境 阅读全文
posted @ 2018-10-10 16:56 brx_blog 阅读(419) 评论(0) 推荐(0)
摘要: //内存标记,商品是否卖完 private HashMap<Long, Boolean> localOverMap = new HashMap<Long, Boolean>(); /** * 系统初始化,加载商品库存,并为每个商品初始化内存标记 * */ public void afterPrope 阅读全文
posted @ 2018-10-10 15:42 brx_blog 阅读(706) 评论(0) 推荐(0)
摘要: 第一招:利用response向浏览器输出图片: //告诉浏览器不要缓存 //response.setHeader("Pragma", "no-cache");response.setHeader("Cache-Control", "no-cache");response.setIntHeader(" 阅读全文
posted @ 2018-10-09 17:42 brx_blog 阅读(406) 评论(0) 推荐(0)
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 21 下一页