JAVA中隐藏与覆盖 覆盖:子类重写父类的方法,要求方法名和参数类型完全一样(参数不能是子类),返回值和异常比父类小或者相同(即为父类的子类),访问修饰符比父类大或者相同。 隐藏:父类和子类拥有相同名字的属性或者方法( 方法隐藏只有一种形式,就是父类和子类存在相同的静态方法)时,父类的同名的属性或者
HashMap中put方法分析 put方法 public V put(K key, V value) { return putVal(hash(key), key, value, false, true); } hash方法 static final int
在理解扩容器前得先明白HashMap中几个常量的含义 //默认初始容量 ,必须为二的次幂 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 //最大容量 static final int MA
HashMap扩容导致死链问题 分析造成原因: *当新增后的链表length大于Load factor(负载因子)length时hashMap会就行重新扩容、位置进行rehash计算,当然在单线程的情况下扩容不会出现问题,真正出现问题是在多线程情况下,同时进行扩容,链表会形成环,这就导致了死链的问题
基础用法 消息确认模式( AcknowledgeMode ) NONE:自动确认,一旦消息到达了消费者端即视为该消息无误了。该情况可能会出现若消费者端出现了异常,而此时又自动确认了,因此容易导致消息删除,容易造成消息丢失。 AUTO:根据情况确认 执行无异常将自动确认 执行抛出 AmqpReject
校验注解 使用方法: **在需要进行校验的实体前加上 **@Valid 在需要进行校验的字段上进行对应校验 常用校验有: @AssertTrue / @AssertFalse 验证适用字段:boolean 注解说明:验证值是否为true / false @DecimalMax / @Decima
线程五个状态 新建状态(NEW),当程序使用new关键字创建了一个线程之后,该线程就处于新建状态,此时仅由JVM为其分配内存,并初始化其成员变量的值。 就绪状态(RUNNABLE),当对象待用了start()方法之后,该线程就处于就绪状态。Java虚拟机会为其创建方法调用栈和程序计数器,等待调度运行
单一职责原则 不符合单一职责原则情况 package com.lvqiang.principle.singleResponsibilityPrinciple; public class SingleResponsibilityPrinciple { public static void m
命令: mvn deploy:deploy-file -Durl=http://**.**.com:8081/repository/maven-releases/ -Dfile=C:\***\bcprov-jdk15on-1.64.jar -Dpackaging=jar -DgroupId=com.
在List中有一个独立的接口:RandomAccess接口,Vector和ArrayList实现了该接口,而LinkedList却未实现该接口。查看该接口源码发现这居然是一个空的接口。 public interface RandomAccess { } 那么这个空接口起到了什么作用呢? 该接口的注