摘要:
排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序。如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。 一、插入排序 (一)、直接插入排序 public class Sort { public static void main(String[ 阅读全文
摘要:
一、顺序查找 public int sequenceSearch(int[] a, int value){ for(int i = 0; i < a.length; i++){ if(a[i] == value) return i; } return -1; } 二、二分查找 要求:元素必须是有序的 阅读全文
摘要:
在计算机上找到 Visual Studio 安装程序->Visual Studio Installer->更多->以管理员身份运行,打开vs2017的安装界面,点击“修复” 官网教程:https://docs.microsoft.com/zh-cn/visualstudio/install/repa 阅读全文
摘要:
一、ThreadLocal解决什么问题ThreadLocal为变量在每个线程中都创建了一个副本,每个线程可以访问自己内部的副本变量。即同一个ThreadLocal的对象(对ThreadLocal< String >而言即为 String 类型变量),在不同的Thread中有不同的副本note:(1) 阅读全文
摘要:
线程安全:就是当多线程访问时,采用了加锁的机制;即当一个线程访问该类的某个数据时,会对这个数据进行保护,其他线程不能对其访问,直到该线程读取完之后,其他线程才可以使用。防止出现数据不一致或者数据被污染的情况。线程不安全:就是不提供数据访问时的数据保护,多个线程能够同时操作某个数据,从而出现数据不一致 阅读全文
摘要:
Throwable 类是Java语言中所有错误或异常的超类。它的两个子类是Error和Exception(错误和异常) 图来自这里 Error:error类包括一些严重的程序不能处理的系统错误类(系统错误或者资源错误),是不可控制的,如内存溢出、虚拟机错误、栈溢出等。这类错误一般与硬件有关,与程序本 阅读全文
摘要:
进程的三个状态就绪、运行、阻塞(1) 就绪->执行就绪状态是指进程获得了调度程序为之分配的除了CPU时间之外的其他必要资源,只要CPU时间一到位就可执行了。处于就绪状态的进程,当进程调度程序为之分配了CPU后,该进程便由就绪状态转变成执行状态。(2) 执行->就绪处于执行状态的进程在其执行过程中,因 阅读全文
摘要:
1. 同步,多个线程通过synchronized关键字实现线程间的通信。(个人理解:使用synchronized和第3种方法使用wait/notify是同一种方式) 例子:子线程循环3次,接着主线程循环5次,接着又回到子线程循环3次,接着在回到主线程循环5次,如此循环4次 代码实现: public 阅读全文
摘要:
转自:https://www.cnblogs.com/whgk/p/6179612.html 一、什么是索引?为什么要建立索引? 索引用于快速找出在某一列中有一特定值的行。如果不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行;表越大,查询数据所花费的时间就越多。如果表中查询的列 阅读全文
摘要:
(一)、B-Tree(平衡多路查找树) B-Tree是为磁盘等外存储设备设计的一种平衡查找树。系统从磁盘读取数据到内存时是以磁盘块(block)为基本单位的,位于同一个磁盘块中的数据会被一次性读取出来,而不是需要什么取什么。InnoDB存储引擎中有页(Page)的概念,页是其磁盘管理的最小单位。In 阅读全文
摘要:
转自:http://blog.codinglabs.org/articles/theory-of-mysql-index.html 一、定义MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 > 索引的本质:索引是数据结构。 我们知道,数据库查询是数据库的最主要 阅读全文
摘要:
一、关系型数据库(Mysql和Oracle) 理解:表和表、表和字段、数据和数据存在着关系 优点:1.因为数据之间有关系,所以增删改查非常方便 2.支持事务,保证数据的完整性和一致性。 缺点:1.因为数据和数据是有关系的,所以底层运行了大量的算法。而大量算法会降低系统的效率,会降低性能 2.对海量数 阅读全文
摘要:
转自:https://www.jianshu.com/p/f692d4f8a53e MVCC(Multi Version Concurrency Control的简称),代表多版本并发控制。与MVCC相对的,是基于锁的并发控制,Lock-Based Concurrency Control)。MVCC 阅读全文
摘要:
打开IE浏览器,Intent选项-> 高级-> 重置 注:以上方式仅限于成功解决了当时的问题(Windows系统),具体原因并未深入了解,不具备普适性 阅读全文
摘要:
总结一下list和map遍历的几种方式 一、遍历list的几种方法实现 1 import java.util.ArrayList; 2 import java.util.Iterator; 3 import java.util.List; 4 import java.util.function.Co 阅读全文
摘要:
一、初始化list的三种方法 import java.util.stream.Collectors; public static void initList() { //方法一:构造 List 后使用 List.add 初始化 List<String> list1 = new ArrayList<S 阅读全文
摘要:
一、获取/设置线程名称 1 public class ThreadTest { 2 3 public static void main(String[] args) { 4 setThreadName1(); 5 setThreadName2(); 6 setThreadName3(); 7 get 阅读全文
摘要:
对于简单类型变量,是无法直接获得变量类型的;//要想获取,必须自定义函数进行返回 对于包装类型变量,是可以直接获得的,变量名称.getClass().getName(); java中获取变量的类型可以使用每个类型的getClass()方法来获得,示例如下: 1 class Test { 2 publ 阅读全文
摘要:
通过Arrays类的静态sort()方法可以实现对数组的排序。sort()方法提供了多种重载形式,可对任意类型的数组进行升序排序。 1 class Test { 2 public static void main(String[] args) { 3 int arr[] = new int[]{3, 阅读全文
摘要:
一、基础类型间的转换 1 public class TransferTest { 2 public static void main(String[] args) { 3 4 //String转为int: 两种方法 5 String str = "100"; 6 int a1 = Integer.v 阅读全文