- 博客(7)
- 收藏
- 关注
原创 抽象类abstract
解释:因为abstract修饰的方法是必须在其子类中实现(覆盖),才能以多态方式调用,以上修饰符在修饰方法时期子类都覆盖不了这个方法,final是不可以覆盖,private是不能够继承到子类,所以也就不能覆盖,static是可以覆盖的,但是在调用时会调用编译时类型的方法,因为调用的是父类的方法,而父类的方法又是抽象的方法,又不能够调用,所以上的修饰符不能放在一起。因为抽象类是存在抽象方法的,如果能让抽象类创建对象的话,那么使用抽象的对象调用抽象方法是没有任何意义的。u 有抽象方法的类一定是抽象类。
2022-09-30 13:24:42 209 1
原创 Java类加载
双亲委派:当收到一个类加载请求,类加载器会逐一向上查找,询问父类加载器是否加载过此类,缓存中是否存在,如果不存在,在逐一向下委托加载。就是把以任何形式存储的字节码,转化成二进制字节流,存储在内存中,建立一个java.lang.class的对象。以一组符号(任何形式的字面量,只要在使用时能够无歧义的定位到目标即可)来描述所引用的目标。类,编译时 Wanger 类并不知道 Chenmo 类的实际内存地址,因此只能使用符号。在编译时,Java 类并不知道所引用的类的实际地址,因此只能使用符号引用来代替。
2022-09-14 15:33:09 119
原创 Http 相关
过程是第一次发送请求之后服务端给客户端一个cookie放在响应头里面,之后下一次会话的时候客户端请求头带着这个cookie,服务端就能辨别出是谁。session放在服务端,但是他也依附于cookie,将id存在cookie中,每次带着这个id来完成会话。安全问题,有效期,cookie不能存java对象,session什么类型都能存储。cookie存在客户端,存一些id密码等,方便用户下一次登录直接记住密码。一个占用服务端内存,一个占用客户端的内存。是可靠的传输,下一层是tcp进行传输。...
2022-07-24 10:01:32 110
原创 java 1
1.关于这里需要额外多说明一下,上面的表述不太清晰准确如果方法的返回类型是void和基本数据类型,则返回值重写时不可修改。但是如果方法的返回值是引用类型,重写时是可以返回该引用类型的子类的。答案是会优先匹配固定参数的方法,因为固定参数的方法匹配度更高。3.Java的可变参数编译后实际会被转换成一个数组4.Java基本数据类型的包装类型的大部分都用到了缓存机制来提升性能。Byte,Short,Integer,Long这4种包装类默认创建了数值的相应类型的缓存数据,Character直接返回。...
2022-07-23 11:22:56 88
原创 静态方法为什么不能调用非静态成员
静态方法属于类,在类加载时分配内存空间,类直接可以调用,非静态的成员属于实例,在静态方法存在时,非静态的成员并未存在,会产生错误。
2022-07-22 16:31:48 151
原创 java面试必问的80道JVM面试题
引用计数法,被引用就加一,为0的就是没有引用的,就可以被回收,但是会有循环引用的问题科可达性分析,与根没有关系的就是可以回收的。==============================executor和executors的区别======================================cms问题=======================================守护线程和用户线程========================守护线程thread。...
2022-07-22 12:54:18 628
原创 hashmap和concurrenthashmap
1.7concurrenthashmap大数组小数组,小数组中数据以链表形式存储。重入锁加在大数组身上,实现线程安全。1.8concurrent大数组没有什么用,把锁加在了小数组上。这样加锁的频率就会降低,发生hash冲突的频率也小了。concurrenthashmap是hashmap的多线程版本。1.8hashmap中数据存储的形式是数组加链表加红黑树。1.7hashmap中数据存储的形式是数组加链表。...
2022-07-21 10:17:58 175 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人