java基础
Array*
这个作者很懒,什么都没留下…
展开
-
深入理解Java自动装箱拆箱机制(Autoboxing and unboxing)
1、自动装箱与拆箱的定义装箱就是自动将基本数据类型转换为包装器类型(int-->Integer);拆箱就是自动将包装器类型转换为基本数据类型(Integer-->int)。Java中的数据类型分为两类:一类是基本数据类型,另一类是引用数据类型。如下图: 由上可知Java中的基本数据类型有八种分别是:int(4字节) byte(1字节) short(2字...转载 2019-04-18 17:26:36 · 717 阅读 · 0 评论 -
java多线程基础与概念
1、多线程的基础与概念(1)并发和并行并发: 主要是指多个任务交替执行。而且这个情况可能出现串行的 并行:一般是多个任务同时执行(2)死锁、饥饿、活锁的概念死锁,是指几个线程占用所有的资源,不释放资源。那么其他线程就不能获得该资源。那么这种情况就会一直持续下去 饥饿,是指某一个或者多个线程因为种种原因无法获得所需要的资源,导致一直无法执行下去。这其中还牵扯到优先级高的线程和优...转载 2019-05-07 09:10:42 · 178 阅读 · 0 评论 -
使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
final 关键字可以用来修饰类,方法和变量(成员变量和局部变量)1、修饰类 final修饰类时,说明该类你不想被别人继承!一个类不被别的类继承就可以使用final来修饰注意:final类中的所有成员方法都会被隐式地指定为final方法。2、修饰方法 当一个方法被final修饰后,就代表该方法无法被重写,如果你想明确禁止该方法在子类中被覆盖的情况下,...转载 2019-05-15 15:32:51 · 3282 阅读 · 1 评论 -
ArrayList与Vector源码解析与区别
ArrayList1、ArrayList介绍 ArrayList是一种线性数据结构,它的底层是用数组实现的,相当于动态数组。与Java中的数组相比,它的容量能动态增长,默认容量大小为10 private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; transien...原创 2019-05-21 11:35:16 · 207 阅读 · 0 评论 -
LinkedList基本原理,与ArrayList的区别
1、LinkedList基本原理 LinkedList是一个双向链表,底层基于链表实现,链表内存是散乱的,每一个元素存储本身内存地址的同时还存储上一个元素节点、下一个元素节点信息等。其源码结构如下: /** * Pointer to last node. * Invariant: (first == null && last == nu...原创 2019-05-21 16:54:48 · 235 阅读 · 0 评论 -
HashMap实现原理与源码解析
1、什么是哈希表在讨论哈希表之前,我们先大概了解下其他数据结构在新增,查找等基础操作执行性能 数组:采用一段连续的存储单元来存储数据。对于指定下标的查找,时间复杂度为O(1);通过给定值进行查找,需要遍历数组,逐一比对给定关键字和数组元素,时间复杂度为O(n),当然,对于有序数组,则可采用二分查找,插值查找,斐波那契查找等方式,可将查找复杂度提高为O(logn);对于一般的插入删除操作,...转载 2019-05-22 11:58:12 · 99 阅读 · 0 评论 -
线程池的是实现原理
1、什么是线程池 线程池就是提前创建若干个线程,如果有任务需要处理,线程池里的线程就会处理任务,处理完之后线程并不会被销毁,而是等待下一个任务。由于创建和销毁线程都是消耗系统资源的,所以当你想要频繁的创建和销毁线程的时候就可以考虑使用线程池来提升系统的性能。2、线程池的分类 Java通过Executors接口提供四种线程池,分别为:newCachedThr...转载 2019-06-21 11:11:22 · 126 阅读 · 0 评论 -
抽象类与接口的区别
1、定义 接口(interface)和抽象类(abstract class)是支持抽象类定义的两种机制。 含有abstract修饰符的class即为抽象类,abstract 类不能创建的实例对象。含有abstract方法的类必须定义为abstract class的类,abstract class类中的方法不必是抽象的。abstract class类中定义抽象方法必须在具体...转载 2019-06-17 17:19:36 · 161 阅读 · 0 评论 -
SpringMVC的工作原理
1、什么是SpringMVC SpringMVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。2、SpringMVC的工作流程(1)用户发送请求至前端控制器Dispatcher...转载 2019-06-21 17:41:06 · 234 阅读 · 0 评论