![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
R001
这个作者很懒,什么都没留下…
展开
-
Java基础-HashMap源码
Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键对象和一个值对象。其中,键对象不允许重复,而值对象可以重复。并且值对象还可以是 Map 类型的,就像数组中的元素还可以是数组一样。但是Map不保证映射元素的顺序HashMap只允许存在一个为空的键,但可以存在多个为空的值先来看一下源码中几个比较重要的成员变量//初始化容量static final int ...原创 2020-01-08 16:36:13 · 156 阅读 · 0 评论 -
Java运算符详解
位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。public class data13{ ...原创 2020-01-08 11:06:02 · 147 阅读 · 0 评论 -
快速理解二进制计数的基数和位权
伸出你的右手,从小指开始,给每个手指指定一个位权,位权依次是1、2、4、8、16。手指有伸直和弯曲两个状态,把伸直状态用数字1表示,弯曲状态用数字0表示。现在将右手的五个手指全部伸直,然后将拇指和食指弯曲,从拇指开始依次记录下每个手指的状态:00111。00111这个神秘的数字就是二进制计数,称它为二进制数是因为它只有0和1两个数字,用数学语言来说就是基数为2。依次类推,基数为3的是三进制计数...原创 2020-01-08 08:52:20 · 6592 阅读 · 0 评论 -
Java基础-包装类
前言我们都知道Java是一门面向对象语言,而Java中提供的8中普通类型,例如int、double等等并不是对象,无法参与转型、泛型、反射等等操作,Java为了弥补这一缺陷,故提出了包装类。包装类对应基本数据类型对应的包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDo...原创 2020-01-06 13:23:12 · 118 阅读 · 0 评论 -
Java基础-内部类
前言在java语言中,可以把一个类定义到另外一个类的内部,在类里面的这个类就叫内部类,外面的类就叫外部类。成员内部类顾名思义,成员内部类就是指一个类作为一个成员存在于另一个类的内部。这就成为成员内部类。如下:public class ExterNal { class InsIde{ //内部类 public void a () { System.out.println("a")...原创 2020-01-06 13:21:46 · 101 阅读 · 0 评论 -
Java基础-==和equals
前言==和eques也是Java面试题中经常出现的一道,基础不牢导致每次遇到这个问题都模棱两可,这也是写这些Java基础文章的主要原因。====是直接比较的两个对象的堆内存地址,如果相等,则说明这两个引用实际是指向同一个对象地址的。但是我们又常常碰到这样一个问题public class StringClass { public static void main(String[] arg...原创 2020-01-06 13:21:02 · 205 阅读 · 0 评论 -
Java基础-抽象类和接口
前言在面试题中经常会出现这样抽象类和接口比较的题目,那么什么是抽象类?什么是接口呢?还有它们有什么区别呢?在讨论以上问题之前我们先来看一下抽象类和接口的特征吧。抽象类我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的。如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类。比如new A...原创 2020-01-06 13:20:00 · 248 阅读 · 0 评论 -
Java基础-List集合及实现类
上一篇已经了解了什么Collection下的Set接口。今天来记录一下List接口以及接口的常用实现类。ArrayListArrayList是Java中用到的非常多的一个集合类。它位于Java的util包中,继承了AbstractList接口,实现了List接口、RandomAccess接口、Cloneable接口、Serializable接口。ArrayList实现List,得到了Li...原创 2020-01-06 10:48:43 · 160 阅读 · 0 评论 -
Java基础-Set集合及实现类
前言Set接口继承Collection接口,实现类有HashSet、LinkedHashSet、TreeSet。Set接口的核心方法boolean add(E e); //新增元素boolean remove(Object o); //删除指定元素void clear(); //删除所有元素boolean contains(Object o); //判断元素是否相同lterat...原创 2019-12-23 17:06:23 · 597 阅读 · 0 评论 -
Java基础-线程池
前言在一个应用程序中,我们需要多次使用线程,也就意味着,我们需要多次创建并销毁线程。而创建并销毁线程的过程势必会消耗内存。而在Java中,内存资源是及其宝贵的,所以,我们就提出了线程池的概念。线程池那么什么是线程池 ?顾名思义,线程池就是一个装线程的池子,用来管理线程的创建和回收,重复利用等等,从而达到减少内存消耗的目的。创建线程池线程池的最上层接口是Executor,Executor接...原创 2019-12-23 11:28:53 · 101 阅读 · 0 评论 -
Java基础-多线程(线程同步、线程锁、死锁)
什么是线程?在了解线程之前,首先要知道什么是进程。首先,进程是一个动态的过程,是一个活动的实体。简单来说,一个应用程序的运行就可以被看做是一个进程,而线程,是运行中的实际的任务执行者。可以说,进程中包含了多个可以同时运行的线程。创建多线程的三种方式方式一:继承Thread类,重写run方法// 设置线程名称public ThreadClass(String name) { su...原创 2019-12-20 13:45:57 · 151 阅读 · 1 评论 -
Java基础-String类
前言String类可以说是Java基础中非常重要的一个知识点了,为避免以后百度,记录一下。基本使用1、把字符串封装成对象。String a = new String("hello");2、将字符数组封装成对象。char[] chars = {'h','e','l','l','o'};String chars_1 = new String(chars);3、将字节数组中指定位置...原创 2019-12-18 16:12:41 · 209 阅读 · 1 评论 -
Java基础-反射
介绍JAVA反射机制是指程序在运行状态时,可以动态获取某个类的成员属性,变量,方法等等。还可以动态的创建类的实例,通过类的对象调用类的方法等等的动态操作。这种动态操作称为Java的反射机制。那么在了解反射机制前需要先了解一下在Java中类是如何加载的。在Java程序执行的时候,首先jvm会从Java硬盘中读取源文件,并将源文件(.Java文件)读取到方法区中并创建对应且唯一的class文件...原创 2019-12-18 11:05:20 · 102 阅读 · 0 评论 -
Java基础-final、finally、finalize
Finalfinal修饰类被final修饰的类无法被继承,类中属性全部默认为final,所以在Java中不允许使用abstract和final修饰同一个类,因为abstract抽象类必须被继承。当在设计类时,假如一个类不需要有子类,内容不允许被修改, 并且此类后期不会扩展,那么就将此类设置为final类。final修饰方法被final修饰的方法不允许被子类重写,但不影响被子类继承。pub...原创 2019-12-16 15:56:10 · 113 阅读 · 0 评论 -
Java基础-方法的重写与重载
重写(Overriding)什么是重写? 在Java中一个子类继承一个父类,这就有了继承关系,子类就拥有了父类的所有非私有化的属性、方法、构造函数的使用权。当子类需要修改父类的一些方法进行扩展,增大功能,这种方式就叫做方法的重写。例子/** * 动物类 */class Animal { public void out() { System.out.println("this ...原创 2019-12-16 15:55:25 · 188 阅读 · 0 评论 -
Java基础-面向对象的七大设计原则
前言代码要想写的好,设计模式不能少。只有能熟练运用面向对象的七大原则,开发项目的时候才能写出漂亮而且易于修改的代码。下面是七大原则的英文说明。Single Responsibility Principle:单一职责原则Open Closed Principle:开闭原则Liskov Substitution Principle:里氏替换原则Dependence Inversion Pr...原创 2019-12-16 15:54:45 · 115 阅读 · 0 评论 -
Java基础-面向对象的三大特性
前言Java面向对象的三大特性,封装、继承、多态。类和对象首先了解一下什么是类?什么是对象?Java把真实世界中某些具有共同特性的实体抽象出来,形成一个类,而某个具体的实例就是对象。比如说动物就是一个类,动物包含很多,比如猫,狗,狮子,大象等等这些就是对象。封装所谓的封装指的就是隐藏对象的属性以及实现的细节,仅对外提供对应的访问方式(也就是所谓的接口)将不需要对外提供的内容进行隐藏。...原创 2019-12-16 15:54:10 · 174 阅读 · 0 评论 -
Java复习篇——IO流
IO流概念:在Java IO中,流是一个核心的概念。流从概念上来说是一个连续的数据流。你既可以从流中读取数据,也可以往流中写数据。流与数据源或者数据流向的媒介相关联。在Java IO中流既可以是字节流(以字节为单位进行读写),也可以是字符流(以字符为单位进行读写)。Java中的数据流以及媒介文件管道网络连接内存缓存System.in, System.out, System.error...原创 2019-06-21 11:06:12 · 297 阅读 · 0 评论 -
Java复习篇——线程和进程
你可以简单的这样认为,但实际上有四个线程(了解就好):[1] main——main线程,用户程序入口[2] Reference Handler——清除Reference的线程[3] Finalizer——调用对象finalize方法的线程[4] Signal Dispatcher——分发处理发送给JVM信号的线程作者:我没有三颗心脏链接:https://www.jianshu.com/p/cd9d0927be35来源:简书简书著作权归作者所有,任何形式的转载都请联系作者获原创 2019-06-20 13:22:33 · 180 阅读 · 0 评论