摘要:一、背景 在P2P项目中,活期通过一张主表t_bid_transfer_control记录用户的总金额,t_bid_order表记录用户取出和存入活期宝的记录。 示例: t_bid_transfer_control表: member_id 100 t_bid_order表: member_id 10
阅读全文
02 2021 档案
摘要:一、背景 在做电商项目时,会遇到这样的一种情况,mysql数据库中商品表tb_product里面有个字段type,它存储的是商品类型,比如: 1:热门推荐; 2:精选推荐; 3:品牌商品等。 有些商品既属于热门推荐,也属于精选推荐,同时还是品牌商品,系统中type中用 1,2,3 这样的格式存储。
阅读全文
摘要:一、线程池概述 1、什么是线程池?为什么使用线程池? 线程池的优势: 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。 第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资
阅读全文
摘要:一、jdk8的实现原理 JDK8的实现已经抛弃了Segment分段锁机制,利用CAS+Synchronized来保证并发更新的安全,底层依然采用数组+链表+红黑树的存储结构。 二、变量解释 1. table:默认为null,初始化发生在第一次插入操作,默认大小为16的数组,用来存储Node节点数据,
阅读全文
摘要:一、背景 多线程数量的问题,一般情况下,多线程数量要等于机器CPU核数-1。 二、实例 1、解决问题:如何让n个线程顺序遍历含有n个元素的List集合 import java.util.ArrayList; import java.util.List; import org.apache.commo
阅读全文
摘要:一、背景 用多线程接收推送的订单数据,把接收的订单数据存到一个表中。 实现的需求是:如果接收的订单消息在数据库中已经存在,那么执行update操作; 如果没有存在,那么执行insert操作代码逻辑: if(oderid != null){ //该记录已存在 update(); }else{ //写入
阅读全文