谁负责将类加载到内存中,谁提供加载器 ClassLoader:类加载器,许多框架都会自己重写加载器,按照自己的规则重写
//会执行静态代码块 ClassLoader loader = ClassLoader.getSystemClassLoader(); loader.loadClass("yang.TestObject"); 实例对象: 创建方法: 1)new 2)通过反射:一般先获取字节码对象 对象的作用: 存储数据(变量:类变量 实例变量 参数变量 局部变量) 执行业务逻辑(方法)Java对象的四大特征:封装、继承、多态、组合lrccache public class TestObject<K,V> extends LinkedHashMap<K, V>{ private int max; private LinkedHashMap<String, Integer> list; @Override protected boolean removeEldestEntry(java.util.Map.Entry<K, V> var1) { // TODO Auto-generated method stub return size()>max; } public TestObject(int max) { super(max,0.75f,true); this.max = max; } public static void main(String[] args) throws ClassNotFoundException { TestObject<String, Integer> map = new TestObject<String, Integer>(3); map.put("a", 2); map.put("a1", 21); map.put("a2", 22); map.put("a3", 23); System.out.println(map); } } final 变量初始化一次,static初始化两次 。-XX:+TraceClassLoading:跟踪类加载的过程