![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JAVA
Java学习每日总结
生于四海
一个在科研路上越走越远的猴子
展开
-
JAVA面试——内部类
定义在类内部的类称为内部类。内部类根据不同的定义方式,可分为静态内部类/成员内部类/局部内部类和匿名内部类。静态内部类 定义在类内部的静态类成为静态内部类。静态内部类可以访问外部类的静态变量和方法;在静态内部类中可以定义静态变量/方法/构造函数等;静态内部类通过“外部类.静态内部类”的方式调用。 public class OuterClass{ private static String className = "StaticInnerClass"; public static clas原创 2021-01-02 11:42:21 · 194 阅读 · 0 评论 -
Java面试——反射机制
Java是一种半动态语言,动态语言是程序在运行时可以改变其结构的语言,比如新的属性或方法的添加/删除等结构上的变化。Javascript/Ruby/Python等都属于静态语言;C/C++不属于静态语言。反射机制反射机制指在程序运行过程中,对任意一个类都能获取其所有属性和方法,并且对任意一个对象都能调用其任意一个方法。这种动态获取类和对象的信息,以便动态调用对象的方法的功能成为Java语言的反射机制。Java中的对象有两种类型:编译时类型和运行时类型。编译时类型指在声明对象时所采用的类型运原创 2020-12-31 15:34:07 · 84 阅读 · 0 评论 -
Java面试——异常分类及处理
异常是指在方法不能按照正常方式完成时,可以通过抛出异常的方式退出该方法。在异常中封装了方法执行过程中的错误信息及原因,调用方在获取该异常后可根据业务的情况选择处理该异常或者继续抛出该异常。异常分类Throwable是所有错误或异常的父类,Throwable又可分为Error和Exception,如上图。Error:Java程序错误,程序启动时出现Error,则启动失败;如果在运行过程中出现Error,则系统将退出进程。出现Error通常是因为系统的内部错误或资源耗尽,Error不能被在运原创 2020-12-24 10:52:16 · 125 阅读 · 0 评论 -
JAVA面试——集合(容器)
List——可重复ArrayList:基于数组实现、增删慢、查询快、线程不安全内部数据结构基于数组实现,提供了对List的增加(add)、删除(remove)和访问(get)功能。缺点:元素必须连续存储,当需要在ArrayList的中间位置插入或者删除元素时,需要移动大量元素,修改代价较高,故更适合随机查找和遍历的操作。ArrayList不需要在定义时指定数组的长度,在数组长度不能满足存储要求时,ArrayList会创建一个新的更大的数组并将数组中已有的数据复制到新的数组中。Vecto原创 2020-12-22 10:53:15 · 89 阅读 · 0 评论 -
JAVA-线程和锁
1.保证线程安全通过合理的时间调度,避开对共享资源的存取冲突。另外,在并行任务设计上可以通过适当的策略,保证任务与任务之间不存在共享资源,设计一个规则来保证一个客户的计算工作和数据访问只会被一个线程或一台工作机完成,而不是把一个客户的计算工作分配给多个线程去完成。2.线程的基本状态以及状态之间的关系Running表示运行状态Runnable表示就绪状态Blocked表示阻塞状态,阻塞状态又有多种情况,可能是因为调用wait()方法进入等待池,也可能是执行同步方法或同步代码块进入等锁池,或者是原创 2020-10-29 11:31:03 · 183 阅读 · 0 评论 -
JAVA-集合类
1.List、Map、Set三个接口存取元素的特点List以特定索引来存取元素,可以有重复元素。Set不能存放重复元素(用对象的equals()方法来区分元素是否重复)。Map保存键值对(key-value pair)映射,映射关系可以是一对一或多对一。Set和Map容器都有基于哈希存储和排序树的两种实现版本,基于哈希存储的版本理论存取时间复杂度为O(1),而基于排序树版本的实现在插入或删除元素时会按照元素或元素的键(key)构成排序树从而达到排序和去重的效果。2.ArrayList、Vect原创 2020-10-26 14:45:03 · 72 阅读 · 0 评论 -
JAVA-面向对象
1. 一个不重写的类的equals()方法是如何比较的比较是对象的地址2. hashCode()和equals()方法联系➀相等(相同)的对象必须具有相等的哈希码(或者散列码)。➁如果两个对象的hashCode相同,它们并不一定相同。3.构造函数、构造函数重载当新对象被创建的时候,构造函数会被调用。每一个类都有构造函数。在程序员没有给类提供构造函数的情况下,Java编译器会为这个类创建一个默认的构造函数。Java中构造函数重载和方法重载很相似。可以为一个类创建多个构造函数。每一个构造函数必须有原创 2020-10-25 15:44:37 · 76 阅读 · 0 评论 -
Java面试(持续更新)
Java面试(持续更新)java特性1.抽象:现实生活中的事物被抽象成对象,把具有相同属性和行为的对象被抽象成类,再从具有相同属性和行为的类中抽象出父类。2.封装:隐藏对象的属性和实现细节,仅仅对外公开接口。3.继承:子类和父类之间的继承关系,子类可以获取到父类的属性和方法。4.多态:java语言允许某个类型的引用变量引用子类的实例,而且可以对这个引用变量进行类型转换。正则表达式https://blog.csdn.net/weixin_39609623/article/details/8102原创 2020-10-24 10:00:15 · 93 阅读 · 0 评论 -
多线程编程(基础防忘)
进程和线程多进程操作系统能同时运行多个进程(程序),由于CPU具备分时机制,所以每个进程都能循环获得自己的CPU时间片,由于CPU执行速度非常快,使得所有程序好像是在“同时”运行一样。在同一个时间段上会有多个程序共同执行,而在一个时间点上只能有一个进程执行。...原创 2020-05-27 15:27:15 · 97 阅读 · 0 评论