摘要:
MySQL从57版升到80版后,用IDEA 2019.3连接数据库时报时区错误: 连接数据库(MySQL80)驱动版本:mysql-connector-java-8.0.15.jar 连接数据库,查看数据库时区: 1、一次性设置(一次连接有效,重启后失效) set global time_zone= 阅读全文
摘要:
1、HashSet实际上是一个HashMap实例,都是一个存放链表的数组,它不保证存储元素的迭代顺序,此类允许使用null元素。 2、HashSet中不允许有重复元素,这是因为HashSet是基于HashMap实现的。3、HashSet中的元素都存放在HashMap中的key上,而value中的值都 阅读全文
摘要:
/** * 快速排序 */ public class QuickSort { public static void main(String[] args) { /** * 定义一个无序数列 */ int[] arr = {22,1,9,67,33,31,17}; System.out.println 阅读全文
摘要:
/** * 使用条件: * 1、折半查找必须采用顺序存储结果 * 2、关键字必须有序 */ public class TestBinarySearch { public static void main(String[] args) { //定义一个数组 int[] arr = {11,21,31, 阅读全文
摘要:
多线程有多种实现方式,常见的有以下三种: 1、继承Thread类,重写run()方法。 1) 定义Thread类的子类,并重写该类的run()方法,该run()方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。 2)创建Thread子类的实例即创建了线程对象。 3)调用线程对象的 阅读全文
摘要:
线程和进程是计算机知识中两个非常重要的概念,下面就来分析下二者的区别和联系。 首先是定义上的辨析: 进程:是执行中的一段程序,即一旦程序被载入到内存中并准备执行,它就是一个进程。 线程:单个进程中执行每个任务就是一个线程。 区别: 1)进程是系统进行资源分配和调度的一个独立单位。 2)线程是进程中执 阅读全文
摘要:
哈希表也叫散列表,是一种神奇的结构,最大的特点就是快。它的结构有很多种,最流行、最容易理解的是:顺序表+链表的结构。主结构是长度可以动态变化的顺序表,每个顺序表的节点可以单独引出一个链表。哈希表的原理可以从以下三点阐述。 添加数据原理: 1)、计算哈希码,调用hashCode()方法,结果是一个in 阅读全文
摘要:
Vector、Hashtable是早期的集合类,线程安全,但是效率低下,被相同原理、结构的ArrayList、HashMap取代。 1、Vector和ArrayList的区别和联系: 联系:实现原理相同,功能相同,都是长度可变的数组,很多情况下可以互用 两者的主要区别如下: 1)Vector是早期的 阅读全文
摘要:
ArrayList是Java众多集合类中的一个,实现List接口,List的父接口是Collection。ArrayList底层的数据结构是线性表中的顺序表,底层是一个长度可以动态增长的数组。数组有很多缺点,ArrayList弥补了数组的缺点。 源码: 1)transient Object[] el 阅读全文
摘要:
ArrayList和LinkedList都是List接口的实现类。主要区别如下: 最主要的区别是底层的数据结构不同: 1)ArrayList相当于一个动态数组,需要随机访问列表中的元素时,ArrayList的性能更高。 2)ArrayList是JDK1.2时增加的。 3)ArrayList在内存中分 阅读全文