![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
wuxtwu
这个作者很懒,什么都没留下…
展开
-
maven打包依赖问题
参考:https://www.cnblogs.com/dzblog/p/6913809.html <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <appendAssemblyId>false</appendAssemblyId>原创 2020-09-23 18:13:04 · 250 阅读 · 0 评论 -
JAVA线程池处理for循环
参考:https://blog.nowcoder.net/n/eb5f3aa25f004069b79a47ecf6156275 public String list2Str(List<String> list, final int nThreads) throws Exception { if (list == null || list.isEmpty()) { return null; } StringBu原创 2020-09-23 18:11:59 · 1565 阅读 · 0 评论 -
线程池原理
https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.htmlhttps://www.jianshu.com/p/9d03bf5ed5cdhttps://juejin.im/post/6844903756836896776生产者消费者模型,将线程和任务两者解耦,并不直接关联,从而良好的缓冲任务,复用线程...原创 2020-08-31 17:39:06 · 103 阅读 · 0 评论 -
Cookie, Session, Request
cookie 和 session:https://juejin.im/entry/6844903434366222350https://juejin.im/post/6844903952157245453session 和 Request:https://blog.csdn.net/xsc_c/article/details/12911037session:https://blog.csdn.net/qq_15096707/article/details/74012116登录https:/.原创 2020-08-31 16:15:53 · 99 阅读 · 0 评论 -
parseInt()
JDK源码: public static int parseInt(String s, int radix) throws NumberFormatException { /* * WARNING: This method may be invoked early during VM initialization * before IntegerCache is initialized. Care must原创 2020-08-29 09:36:19 · 89 阅读 · 0 评论 -
修改Integer的值
参考:https://blog.csdn.net/Synlla1119/article/details/94434401package reflect;import java.lang.reflect.Field;public class IntegerTest { public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException { Integer i =原创 2020-07-07 23:28:19 · 509 阅读 · 0 评论 -
JVM
synchronized锁用synchronize标记的代码编译为字节码后,会发现包含一个monitorenter和monitorexit指令,进入该方法是,会执行monitorenter,而在退出该方法时,不管是否正常退出,均需要进行monitorexit操作monitorenter 和 monitorexit 操作所对应的锁对象是隐式的,每个锁对象拥有一个锁计数器和一个指向持有改锁的线程的指针;计数器为了可重入当执行monitorenter方法时,如果目标对象的锁计数器为0,JVM会将该锁对象原创 2020-07-07 00:34:28 · 115 阅读 · 0 评论 -
try finally 中的return
finally 语句的return会覆盖try的return,一般不把return写到finally中,可以写到括号最外面发生异常的时候,在finally 中 修改 try 中 变量的值会起作用finally语句是在try的return语句执行之后,return返回之前执行, return语句先执行了但并没有立即返回,等到finally执行结束后再catch 中 return, 与 try中 return 类似package tryFinally;public class FinallyTe.原创 2020-07-05 22:30:12 · 976 阅读 · 0 评论 -
Fork/Join练习
Fork是对任务的分解,Join对应结果合并Fork/Join计算框架主要包含两部分,一部分是分治任务的线程池ForkJoinPool,另一部分是ForkJoinTask。类似ThreadPoolExecutor和Runnable的关系。ForkJoinTask有两个子类-- RecursiveAction和RecursiveTask,都定义了抽象方法compute() ,RecursiveTask的compute()有返回值。ForkJoinPool工作原理:内部有多个 工作队列, 当调用 Fo.原创 2020-06-26 13:47:49 · 238 阅读 · 0 评论 -
负载均衡算法实现
目录随机加权随机 (区间)轮询加权轮询 (取余,区间)加权轮询,平滑一致性哈希import java.util.Arrays;import java.util.HashMap;import java.util.List;import java.util.Map;public class ServerIPs { public static final List<String>LIST = Arrays.asList( "192.168.0.1",原创 2020-06-20 17:06:03 · 197 阅读 · 0 评论 -
为什么用单例模式
参考:https://www.jianshu.com/p/4f852ec7ac8b管理资源的,如连接池,线程池Spring bean 单例线程安全问题:https://blog.csdn.net/liuxiao723846/article/details/78302363原创 2020-04-12 22:09:36 · 63 阅读 · 0 评论 -
HashMap && ConcurrentHashMap
线程安全问题:https://www.zhihu.com/question/28516433在使用迭代器过程中出现并发操作,可能报concurrentModificationException存储结构解决冲突put操作判断key是否为null确定桶下标 indexfor( hash(key) )判断key 是否已经存在不存在加入新节点resize()头插法resiz...原创 2020-04-12 12:06:06 · 84 阅读 · 0 评论 -
java排序
归并排序复杂度分析:递归树高logn,每一层需要O(n)复杂度,故为nlogn快排:堆排序:从非叶子节点下沉交换收尾,数量-1, 将头下沉package sort;import java.util.ArrayList;import java.util.Arrays;import java.util.List;class sort1{ private in...原创 2020-03-16 09:38:33 · 65 阅读 · 0 评论 -
java死锁代码
死锁产生的四个必要条件:资源互斥:一个资源只能被一个线程使用循环等待:若干线程形成头尾相接的循环等待关系不可剥夺:线程已经获取的资源,在未使用完之前,不能强行剥夺请求与保持:一个线程因请求资源而阻塞时,对已经占有的资源保持不放java 死锁:package MutileThread;class deadLock implements Runnable{ String...原创 2020-03-15 17:48:49 · 150 阅读 · 0 评论 -
Java自己实现阻塞队列
阻塞队列:当队列为空时,获取操作是阻塞的;当队列为满时,添加操作是阻塞的判断是否满足阻塞条件,并用条件变量阻塞加锁,同一时刻只有一个线程进行操作(put/get);package MutileThread;import java.util.Collections;import java.util.LinkedList;import java.util.List;import j...原创 2020-03-15 17:02:19 · 289 阅读 · 0 评论 -
三个线程按照顺序打印
package MutileThread;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;class RResource2 { private int flag ...原创 2020-03-15 16:08:30 · 107 阅读 · 0 评论 -
两个线程交替打印奇偶数
package MutileThread;import java.util.concurrent.TimeUnit;class Resource11 implements Runnable{ private int cnt = 0; Object lock = new Object(); @Override public void run() ...原创 2020-03-15 15:44:00 · 61 阅读 · 0 评论 -
ArrayList使用增强for循环(迭代器)方法删除元素时
参考:https://juejin.im/post/5d553d356fb9a06b317b5bee#heading-7用迭代器方式遍历集合元素时,如果需要删除或者修改集合中元素,建议使用迭代器的删除方法增强for循环本质上调用的还是集合的迭代器因为调用 list自带的remove或者添加 方法,会将modCount值++,迭代器的遍历会先调用**hasNext()方法,如果接下来程...原创 2019-12-15 15:09:48 · 554 阅读 · 0 评论 -
java字符串拼接
转自:https://blog.csdn.net/Zen99T/article/details/51255418StringBuilder 的append 方法效率最高转载 2019-08-07 20:41:13 · 68 阅读 · 0 评论 -
Java中的equals 和 ==
https://www.jianshu.com/p/08445889bbb1的一个图:一般我们在使用泛型的时候,需要用到基本的类型的包装类,即 引用数据类型二者的区别:https://www.cnblogs.com/smyhvae/p/3929585.html因此,如果一个容器的类型是泛型,而我们想比较容器中元素值是否相等,就可以用 equals 方法equals 方法在顶级父类 ...原创 2019-08-06 13:38:15 · 72 阅读 · 0 评论