最近的需求里有这样一个场景,要校验一个集合中每个对象的多个Id的有效性。比如一个Customer对象,有3个Id:id1,id2,id3,要把这些Id全部取出来,然后去数据库里查询它们是否存在。 @Data publicclassCustomer{ privateStringname; privateStringid1; privateStringid2; privateStringid3; } 通常情况下,我们都是从集合中取出对象的某一个字段,像这样: List<String>id1s= customerList.stream().map(Customer::getId1).f...

  FDhLC0tjKhpb   2023年11月01日   80   0   0 Java

大家是否见过这种for循环,在for循环前加了个标记的: outerLoop: for(;;){ for(;;){ breakouterLoop; } } 我之前有一次在公司业务代码中见过有这种写法的,没在意,今天在看JDK线程池的代码时,又看到ThreadPoolExecutor的addWorker方法中有这种写法。于是就查了相关资料,也比较简单。 总结下它的用法吧: 上面代码中的outerLoop是一个标记外层for循环的标签,它可以随便命名。 该标签主要用于循环嵌套的情况,使得break和continue可直接跳转到标签标记的位置; 我们知道,break的作用是跳出当前循环,con...

  FDhLC0tjKhpb   2023年11月01日   37   0   0 Java

基础概念 进程(process):进程是计算机中的一个任务,比如打开浏览器、IntelliJIDEA。 线程(thread):线程是进程内部的子任务。比如IDEA在敲代码的同时还能自动保存、自动导包,都是子线程做的。 进程和线程的关系就是一个进程包含一个或多个线程。线程是操作系统调度的最小任务单位。线程自己不能决定什么时候执行,由操作系统决定什么时候调度。因此多线程编程中,代码的先后顺序不代表代码的执行顺序。 多线程有什么好处? 提高应用程序的性能。异步编程让程序更快的响应。 提高CPU利用率。一个线程阻塞,另一个线程继续执行,充分利用CPU。 多线程存在什么问题?多线程会带来安全问题...

  FDhLC0tjKhpb   2023年11月01日   68   0   0 Java

1.ThreadLocal是什么 JDK对ThreadLocal的描述为: 此类提供线程局部变量。这些变量与普通变量的不同之处在于,每个访问一个变量的线程(通过其get或set方法)都有自己的、独立初始化的变量副本。ThreadLocal实例通常是类中的私有静态字段,这些字段希望将状态与线程(例如,用户ID或事务ID)相关联。 说白了,ThreadLocal就是用来存放线程自身相关数据的一个容器,这个容器叫做ThreadLocalMap,它是ThreadLocal的一个静态内部类,同时作为Thread类的一个成员变量。ThreadLocal在使用时,先拿到当前线程的成员变量ThreadLo...

  FDhLC0tjKhpb   2023年11月01日   104   0   0 Java
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~