摘要:
-1 -1 -1 -1 1 1 -1 1 1 最大子矩阵和是 1 1 1 1 class Main{ public static void main(String[] args) throws Exception{ Scanner in = new Scanner(System.in); // in 阅读全文
摘要:
atomicInteger原理 class A{ public final static void main(String[] args) { AtomicInteger atomicInteger = new AtomicInteger(); for (int i = 0; i < 10; i++ 阅读全文
摘要:
解释 wait/notify必须配合synchronized使用 demo class NotifyStop2 { private final Object lock = new Object(); public void add(String s) throws InterruptedExcept 阅读全文
摘要:
Callable 通过Runable和Thread, 无法获取子线程的运行结果。 Java5 引入了java.util.concurrent, 可以获取到子线程的运行结果。 Future接口可以理解成一个任务, Future.get()方法可以获取任务的运行结果 虽然submit(task)是异步的 阅读全文
摘要:
雪花算法 一共64个比特 第一个部分,是 1 个 bit:0,这个是无意义的。 第二个部分是 41 个 bit:表示的是时间戳(最小毫秒级别)。 第三个部分是 5 个 bit:表示的是机房 id,10001。 第四个部分是 5 个 bit:表示的是机器 id,1 1001。 第五个部分是 12 个 阅读全文
摘要:
多个线程对list操作,每个线程处理list中的每一段数据 比如,线程1处理0-100的数据,线程2处理100-200的数据 class A{ public static void main(String[] args){ List<String> scheList = new ArrayList< 阅读全文
摘要:
事务查看 查看当前oracle未提交的事务 SELECT s.sid, s.serial#, s.event, a.sql_text, a.sql_fulltext, s.username, s.status, s.machine, s.terminal, s.program, a.executio 阅读全文
摘要:
抢购思路 比如2000件商品抢购。如果着2000这个数字,用数据库一行数据来保存,一次只能一个线程来减库存。 如果将2000件商品用20行来保存,每一行数字是100,可以同时20个线程来减少库存。 阅读全文
摘要:
ZooKeeper分布式锁和redis分布式锁的区别 客户端的加锁逻辑没有区别,基本上都是设置一个key,客户端不断的延续着锁的时间。区别在于zookeeper的集群和redis的集群不一样。 如果redis设置的是主从模式。当数据到了master上,master会立刻返回结果给客户端。然后异步把数 阅读全文
摘要:
vue登录获取token loginAuth() { let params = { login_name: this.ruleForm.username, login_password: md5(this.ruleForm.password) } let that = this //axios 请求 阅读全文