摘要: 1.迭代遍历 2.for循环遍历: 3.优点还体现在泛型 假如 set中存放的是Object 阅读全文
posted @ 2020-01-28 21:07 未月廿三 阅读(1621) 评论(0) 推荐(0) 编辑
摘要: ``` 包装类型间的相等判断应该用equals,而不是'!=' Inspection info: 所有的包装类对象之间值的比较,全部使用equals方法比较。 说明:对于Integer var=?在-128至127之间的赋值,Integer对象是在IntegerCache.cache产生,会复用已有对象, 这个区间内的Integer值可以直接使用==进行判断,但是这个区间之外的所有数据,都会在堆上 阅读全文
posted @ 2020-01-28 21:06 未月廿三 阅读(1143) 评论(0) 推荐(0) 编辑
摘要: 数组转换为集合 采用java中集合自带的asList()方法就可以完成转换了 特别注意: == 因为,Arrays.asList()方法转换成的List集合类是java.util.Arrays.ArrayList下面的,它是java.util.Arrays类中自己定义的一个内部类,没有实现具体的ad 阅读全文
posted @ 2020-01-28 21:04 未月廿三 阅读(941) 评论(0) 推荐(0) 编辑
摘要: 关于java中遍历map具体哪四种方式,请看下文详解吧。 方式一 这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。 方法二 在for each循环中遍历keys或values。 如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entryS 阅读全文
posted @ 2020-01-28 20:58 未月廿三 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 先上一个场景:假如你突然想做饭,但是没有厨具,也没有食材。网上购买厨具比较方便,食材去超市买更放心。 实现分析:在快递员送厨具的期间,我们肯定不会闲着,可以去超市买食材。所以,在主线程里面另起一个子线程去网购厨具。 但是,子线程执行的结果是要返回厨具的,而run方法是没有返回值的。所以,这才是难点, 阅读全文
posted @ 2020-01-28 20:33 未月廿三 阅读(635) 评论(0) 推荐(0) 编辑
摘要: 创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Java 1.5开始,就提供了Callab 阅读全文
posted @ 2020-01-28 20:28 未月廿三 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 一.利用多线程 直接new线程 使用线程池 二.采用Spring 的异步方法去执行(无返回值) 在启动类或者配置类加上 @EnableAsync 注解. 先把longTimeMethod 封装到Spring的异步方法中,这个方法一定要写在Spring管理的类中,注意注解@Async @Async注解 阅读全文
posted @ 2020-01-28 20:26 未月廿三 阅读(29974) 评论(1) 推荐(0) 编辑
摘要: 问题:在多线程环境下,如何防止自己的变量被其它线程篡改 答案:ThreadLocal. ThreadLocal 不是用来解决共享对象的多线程访问的竞争问题的,因为ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。当线程终止后,这些值会作为 阅读全文
posted @ 2020-01-28 20:24 未月廿三 阅读(654) 评论(2) 推荐(1) 编辑
摘要: ReentrantLock实现了标准的互斥锁:一次最多只有一个线程能够持有相同ReentrantLock。但是互斥通常做为保护数据一致性的很强的加锁约束,因此,过分的限制了并发性。互斥是保守的加锁策略,避免了 “写/写”和“写/读"的重读,但是同样避开了"读/读"的重叠。在很多情况下,数据结构是”频 阅读全文
posted @ 2020-01-28 20:22 未月廿三 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 一、锁优化的思路和方法 锁优化是指:在多线程的并发中当用到锁时,尽可能让性能有所提高。一般并发中用到锁,就是阻塞的并发,前面讲到一般并发级别分为阻塞的和非阻塞的(非阻塞的包含:无障碍的,无等待的,无锁的等等),一旦用到锁,就是阻塞的,也就是一般最糟糕的并发,因此锁优化就是在堵塞的情况下去提高性能;所 阅读全文
posted @ 2020-01-28 20:21 未月廿三 阅读(387) 评论(0) 推荐(0) 编辑