![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
大多肉
做事一定要专注
展开
-
类的加载时间
所有的类都是在对其第一次使用时,动态的加载到JVM中的。当程序创建第一个对类的静态成员的引用时,就会加载这个类。这个证明构造器也是类的静态方法,即使在构造器之前并没有使用static关键字。因此,使用new操作符创建类的新对象也会被当作对类的静态成员的引用。 因此,Java程序在他开始运行之前并非完全加载,其各个部分是在必需时才加载的。这一点与许多传统语言都不同。动态加载使能的行为,在诸如c原创 2017-08-08 09:10:41 · 1144 阅读 · 0 评论 -
sleep(),wait(),notify()三者的区别
----------------非本人原创,是本人电脑里的一个别人总结的文档内容------------------(网上的答案:sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。 wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,...转载 2018-05-26 09:26:00 · 3004 阅读 · 1 评论 -
为何stop()和suspend()方法不推荐使用
-------------纯属记录自己的学习生活-------------参考[1] 沈小默的博客, 为何stop()和suspend()方法不推荐使用.转载 2018-05-25 21:40:20 · 4146 阅读 · 2 评论 -
hashmap底层实现
HashMap的底层实现分析put方法①.当调用put方法向hashmap增加元素时,会先判断hashmap里的数组是否null或数组长度为0,是就进行resize()操作,否就进行下一步判断;②.根据put时传递的参数key计算出的hash值,让这个值和数组长度减一的结果进行按位与运算,得到put进去的key-value要放在数组的哪个位置上(以下称table[i]),如果该位置为null,直接...原创 2018-05-17 07:12:21 · 284 阅读 · 0 评论 -
Comparable和Comparator的是使用
Comparable和Comparator的都可以实现同类的实例对象的比较,但注重点稍微有点不同。----------------举个栗子----------------有一个A类,A类的两个实例变量a1和a2,现在让a1和a2进行自定义的比较,方式如下:/** * 这是让A类具有比较的功能 */ class A implements Comparable<A> { p...原创 2018-04-03 15:48:22 · 205 阅读 · 0 评论 -
Java中Serializable的序列化、反序列化和transient关键字
序列化的含义:将内存中的一个Java对象编码成一个字节流(序列化),并从字节流中重新构建出新的对象(反序列化)。序列化的作用:对象一旦被序列化后,就可以从一台正在运行的虚拟机传输到另一台虚拟机上,或者将序列化的对象保存起来(比如:保存到磁盘),供以后反序列化时使用。Java是如何实现对象序列化?默认序列化,实现序列化接口java.io.Serializable,该接口只是一个标识,表示说明该对象可...原创 2018-04-02 20:07:15 · 1028 阅读 · 0 评论 -
Java中的static关键字总结
Java中static关键字作用总结1.static修饰类的属性时,表示该属性是类属性,这个类的所有实例对象都共享这一个属性,当一个实例对这一类属性的值修改时,则其他实例再访问这个类属性时就会是修改后的值。2.static修饰类的方法时,所有的类的实例共享这个类方法。3.static修饰的属性和方法访问方式,类名.属性名类名.方法名以下是值得注意的地方,第一个地方public class Stat...原创 2018-04-01 20:06:28 · 464 阅读 · 0 评论 -
泛型擦除
泛型擦除:编译期泛型起作用,而在运行期泛型类型是不起作用的,可以理解成编译器进行泛型检查后,运行时不再检查。原创 2017-09-02 09:32:16 · 304 阅读 · 0 评论 -
创建子类对象时,父类构造函数中调用被子类重写的方法为什么调用的是子类的方法,而被子类重载的方法不会调用?
出处:http://blog.csdn.net/liu251890347/article/details/47101567问题:创建子类对象时,父类构造函数中调用被子类重写的方法为什么调用的是子类的方法,而被子类重载的方法不会调用?public class Basic{ public void add(int i) { System.out.println("Bas...转载 2017-07-15 11:06:43 · 2232 阅读 · 0 评论 -
匿名内部类的创建原理
和同学一起聊天,讨论的一些事1.匿名内部类有构造函数吗?答:匿名内部类没有构造函数,匿名内部类的创建不是为了像我们正常创建类,之后调用类的,匿名内部类大多用在直接创建对象上(创建对象时可以添加自己的方法,还可以调用外面的类的方法,类似于多重继承),创建之后不再调用,所以匿名内部类不需要构造函数,他的创建时通过直接包含内部类的那个类创建的。原创 2017-07-24 20:33:14 · 791 阅读 · 1 评论 -
Java类继承时方法覆盖与隐藏
覆盖(或重写):这里举个例子:publicvoid test(int a)throws NullPointerException { }对于上一行的方法被重写时要保证: 方法名和参数列表一致(两同) 返回值和抛出的异常要在父类方法中的范围之内(两小) 修饰符要比父类方法大或者相等(一大)隐藏:这是对类方法的static方法而言的。如果子类中定义了静原创 2017-07-28 15:34:07 · 578 阅读 · 0 评论 -
【转载】java序列化一定要应该注意的6个事项!
原文链接1、如果子类实现Serializable接口而父类未实现时,父类不会被序列化,但此时父类必须有个无参构造方法,否则会抛InvalidClassException异常。2、静态变量不会被序列化,那是类的“菜”,不是对象的。3、transient关键字修饰变量可以限制序列化。4、虚拟机是否允许反序列化,不仅取决于类路径和功能代码是否一致,一个非常重要的一点是两个类的序列化 ID 是否一致,就是...转载 2018-06-17 13:00:50 · 198 阅读 · 0 评论