
java基础
文章平均质量分 73
java基础知识总结
Stepen.Meng
这个作者很懒,什么都没留下…
展开
-
【NoHttpResponseException】问题分析--HttpClient(InternalHttpClient)
项目场景:在A服务中通过自己实现的HttpClient请求B服务,偶尔出现NoHttpResponseException : failed to respondurl: http://B-host:port/xxxQPS: 100 - 700A服务ClientConfig参数(本次需要关注的):AsyncHttpClientConfig.maxConnections: 500AsyncHttpClientConfig.maxConnectionsPerHost: 500AsyncHttpCli原创 2022-04-18 17:15:05 · 1873 阅读 · 0 评论 -
5种网络IO模型简析
网络IO模型网络IO模型基础描述阻塞IO(bloking IO -- BIO)非阻塞IO(non-blocking IO -- NIO)多路复用IO(multiplexing IO)selectpollepollepoll_create()epoll_ctl()两种模式信号驱动式IO(signal-driven IO)异步IO(asynchronous IO -- AIO)各类IO比较网络IO模型基础描述IO:一般指访问磁盘数据,分为两个步骤;以read操作为例,第一步是等待数据阶段,数据放入系统原创 2020-11-11 17:37:15 · 245 阅读 · 0 评论 -
volatile关键字解析(阅后即粉)
volatile关键字解析volatile关键字解析基本描述内存可见性禁止指令重排volatile关键字解析基本描述volatile用来修饰变量,保证内存可见性及禁止指令重排volatile并不能保证原子性,比如i++是3步指令,只有完成3步时才会写入主存,所以并发时会有问题内存可见性缓存一致性问题[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2337Jf6o-1605086788107)(./系统内存关系.png)]多核处理器涉及到同一共享内存时,原创 2020-11-11 17:28:50 · 117 阅读 · 0 评论 -
浅谈3种动态代理
浅谈JDK动态代理与CGLIB动态代理的区别JDK动态代理CGLIB动态代理JDK动态代理代理类实现InvocationHandler接口通过反射实现被代理类必须实现某个接口代码示例:// ------------- 代理类 -------------import lombok.extern.slf4j.Slf4j;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import j原创 2020-08-26 18:06:03 · 184 阅读 · 0 评论 -
为什么阿里巴巴代码规范不允许for循环里使用add/remove方法
为什么阿里巴巴代码规范不允许for循环里使用add/remove方法主要是remove方法,add方法在for循环内使用不当可能会死循环不要在foreach循环里进行元素的remove/add操作,remove元素请使用Iterator方式。Negative example: List<String> originList = new ArrayList<String>(); originList.add("22"); for (String ite原创 2020-08-14 19:07:24 · 422 阅读 · 0 评论 -
你确定String是不可变的?
有一次面试被问到 String对象不可被改变么?仔细一想是可变,然后研究了下发现了String的神奇之处!不可变的String众所周知String被设计为不可变类被final修饰,不可被继承;内部由一个char数组实现,由于该变量被final修饰所以保证了其长度不可变String没有提供任何修改char数组内容的方法,保证了内容不可被修改改变String值想必有些人已经想到了,通过反射拿到char数组对象然后修改其值String str = "123";Field field =.原创 2020-06-08 11:48:27 · 229 阅读 · 0 评论 -
单例模式-各种实现总结
单例模式-学习总结饿汉式直接赋值静态块赋值懒汉式简单版double check(双重校验)内部类饿汉式饿汉式是最简单最直接的,在单例数量较少的应用里推荐使用这种方式。优点: 线程安全缺点: 类加载时就初始化,耗费不必要的资源直接赋值public class HungrySingleton { private static final HungrySingleton INSTAN...原创 2019-10-28 18:10:05 · 169 阅读 · 0 评论 -
JAVA集合map、list、set详解
Map中常用的5个集合HashMapLinkedHashMapHashTableConcurrentHashMapTreeMapList中常用的3个集合ArrayListLinkedListVectorSet中常用的3个集合HashSetLinkedHashSetTreeSetCopyOnWriteArraySet使用总结线程安全效率高有顺序Map中常用的5个集原创 2017-11-03 09:52:21 · 407 阅读 · 0 评论