随笔分类 -  javase

摘要:package com.erayt.mock.test.thread; import com.erayt.fmut.infrastructure.util.thread.LongTimeTaskExecutor; import com.erayt.fmut.infrastructure.util.t 阅读全文
posted @ 2024-08-30 14:41 WXY_WXY 阅读(3) 评论(0) 推荐(0) 编辑
摘要:1.List-》Map List<MarketExecPojo> bondsExecPojos = queryRemoteData(s); Map<String, List<MarketExecPojo>> xBondMap = bondsExecPojos.stream() .filter(i - 阅读全文
posted @ 2024-02-05 17:07 WXY_WXY 阅读(8) 评论(0) 推荐(0) 编辑
摘要:synchronized锁的是对象,所以我们是通过对象里面的对象头来判断是否有锁。 对象头 无锁和偏向锁的锁标志位都为01,轻量级锁为00,重量级锁为10。无锁和偏向锁通过倒数第三位来判断是否是偏向锁。 无锁升级偏向锁过程: 线程A执行到同步代码块时,检查对象头锁标志位是否为01,再看偏向锁标志位是 阅读全文
posted @ 2022-07-02 16:30 WXY_WXY 阅读(271) 评论(0) 推荐(0) 编辑
摘要:接口类 public interface People { void eat(String name); void run(); } 实现类: public class Man implements People{ @Override public void eat(String name) { S 阅读全文
posted @ 2022-06-30 17:59 WXY_WXY 阅读(38) 评论(0) 推荐(0) 编辑
摘要:IO模型 BIO:同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时,服务器端就会启动一个线程进行处理,无论这个客户端的这次请求做不做任何事,都会创建线程从而造成不必要的开销。 NIO:同步非阻塞,服务器实现模式为一个线程处理多个请求连接,即客户端发送的连接请求都会注册到多路复用器上 阅读全文
posted @ 2022-06-19 20:33 WXY_WXY 阅读(33) 评论(0) 推荐(0) 编辑
摘要:1.ThreadLocal为什么能做到线程隔离? public class ThreadLocal1 { static ThreadLocal<People> t1 = new ThreadLocal<>(); public static void main(String[] args) { new 阅读全文
posted @ 2022-06-18 20:38 WXY_WXY 阅读(28) 评论(0) 推荐(0) 编辑
摘要:String存储结构改变? 有char改为byte,String再也不用char[]来存储,改为byte[]加上编码标记,节约了一些空间 String s1 = "a"; String s2 = "b"; String s3 = “ab”; String s4 = s1+s2; 等价于StringB 阅读全文
posted @ 2022-06-07 22:10 WXY_WXY 阅读(42) 评论(0) 推荐(0) 编辑
摘要:上文讲到了hashmap的底层源码分析,可以了解到hashmap是线程不安全的。比如在场景多个线程同时调用put方法,会出现将前一个值给覆盖的现象。 在JDK1.7版本中,ConcurrentHashMap的数据结构是由一个Segment数组和多个HashEntry组成,主要实现原理是实现了锁分离的 阅读全文
posted @ 2022-05-14 15:53 WXY_WXY 阅读(39) 评论(0) 推荐(0) 编辑
摘要:数据结构 数组+单向链表+双向链表+红黑树 数组:static class Node<K,V> implements Map.Entry<K,V> { final int hash; final K key; V value; Node<K,V> next; Node(int hash, K key 阅读全文
posted @ 2022-05-04 23:10 WXY_WXY 阅读(27) 评论(0) 推荐(0) 编辑
摘要:1.LongAdder的本质 里面是一个数组,假设长度为4,当有1000个线程的时候,250个线程分别占用一个,最后相加,就可得到递增总数 2.ReentrantLock可重用锁 可重入锁:可重入锁又称递归锁,是指同一个线程在外层方法获取锁的时候,再进入该线程的内层方法会自动获取锁(前提是锁对象得是 阅读全文
posted @ 2022-03-18 11:12 WXY_WXY 阅读(267) 评论(0) 推荐(0) 编辑
摘要:1.run和start的使用 public class Test1 { private static class T1 extends Thread{ @Override public void run() { for (int i = 0; i < 10; i++) { try { Thread. 阅读全文
posted @ 2022-03-15 00:08 WXY_WXY 阅读(46) 评论(0) 推荐(0) 编辑
摘要:Lambda表示式 import org.springframework.beans.factory.ObjectFactory; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; public class In 阅读全文
posted @ 2022-02-27 10:53 WXY_WXY 阅读(22) 评论(0) 推荐(0) 编辑