Java基础
未读
PreparedStatement与Statement
1、PreparedStatement效率为什么高 PreparedStatement会讲SQL语句进行预编译,每次执行的时候只需要将参数设置给相应的占位符就可以运行。而使用Statement时,SQL语句时每次都要进行编译,所以PreparedStatement的效率相对较高。 1.1、具体分析
Java基础
未读
Java泛型上下界通配符
前言 和是Java泛型中的“通配符(Wildcards)”和“边界(Bounds)”的概念。 <? extends T>:是指“上界通配符(Upper Bounds Wildcards)” <? super T>:是指“下界通配符(Lower Bounds Wildcards)”; 1、为什么使用通
Java基础
未读
Java对象是在什么时候创建的?
我们都知道,创建 java 类对象的方式: new + 类的构造方法(可能是有参构造或者无参构造)! 在大多数初学者眼中,执行构造方法就是创建实例,其实不然。这一点可以从 this 关键字来看出: public class User{
public User(){
this.
Java基础
未读
HashMap的扩容机制
【得分点】 三个条件、翻倍扩容 【参考答案】 标准回答 1.7 第一次put时,容量扩容初始化:其容量变为不小于指定容量的2的幂数(默认为16) 不是第一次put时,扩容:新容量 = 旧容量 * 2 ,新阈值 = 新容量 * 加载因子 1.8 向HashMap中添加数据时,有三个条件会触发它的扩容行
Java基础
未读
CopyOnWriteArrayList的底层原理是怎样的
在CopyOnWriteArrayList中,当多个线程同时对列表进行写操作时,它们不会直接修改原始列表,而是先将原始列表进行复制,然后在复制的副本上进行修改,最后再将副本替换为原始列表。这个过程中,读操作仍然直接访问原始列表,因此可以避免读写冲突。 多线程同时写入:add方法内部使用synchor
Java基础
未读
ConcurrentHashMap的实现原理
【得分点】 数组 + 链表 + 红黑树、锁头节点 【参考答案】 标准回答 在 JDK8 中,ConcurrentHashMap 的底层数据结构与 HashMap 一样,也是采用“数组 + 链表 + 红黑树”的形式。同时,它又采用锁定头节点的方式降低了锁粒度,以较低的性能代价实现了线程安全。底层数据结
SpringCloud
未读
微服务 - Nginx网关 · 进程机制 · 限流熔断 · 性能优化 · 动态负载 · 高可用
为什么需要网关 通常后台提供了不同的应用服务,甚至是集群,每种服务每个服务,需要维护不同的请求地址,甚至服务认证、跨域等动作,管理起来比较麻烦。因此,需要一个网关,介于客户端和应用服务之间,所有的外部请求都会先经过网关,网关再把请求分发到目标服务。网关对外提供唯一请求入口,作为对外联系的窗口,易于管