随笔分类 - Java
摘要:排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序。如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。 一、插入排序 (一)、直接插入排序 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; } 二、二分查找 要求:元素必须是有序的
阅读全文
摘要:一、ThreadLocal解决什么问题ThreadLocal为变量在每个线程中都创建了一个副本,每个线程可以访问自己内部的副本变量。即同一个ThreadLocal的对象(对ThreadLocal< String >而言即为 String 类型变量),在不同的Thread中有不同的副本note:(1)
阅读全文
摘要:线程安全:就是当多线程访问时,采用了加锁的机制;即当一个线程访问该类的某个数据时,会对这个数据进行保护,其他线程不能对其访问,直到该线程读取完之后,其他线程才可以使用。防止出现数据不一致或者数据被污染的情况。线程不安全:就是不提供数据访问时的数据保护,多个线程能够同时操作某个数据,从而出现数据不一致
阅读全文
摘要:Throwable 类是Java语言中所有错误或异常的超类。它的两个子类是Error和Exception(错误和异常) 图来自这里 Error:error类包括一些严重的程序不能处理的系统错误类(系统错误或者资源错误),是不可控制的,如内存溢出、虚拟机错误、栈溢出等。这类错误一般与硬件有关,与程序本
阅读全文
摘要:1. 同步,多个线程通过synchronized关键字实现线程间的通信。(个人理解:使用synchronized和第3种方法使用wait/notify是同一种方式) 例子:子线程循环3次,接着主线程循环5次,接着又回到子线程循环3次,接着在回到主线程循环5次,如此循环4次 代码实现: public
阅读全文
摘要:(一)、B-Tree(平衡多路查找树) B-Tree是为磁盘等外存储设备设计的一种平衡查找树。系统从磁盘读取数据到内存时是以磁盘块(block)为基本单位的,位于同一个磁盘块中的数据会被一次性读取出来,而不是需要什么取什么。InnoDB存储引擎中有页(Page)的概念,页是其磁盘管理的最小单位。In
阅读全文
摘要:总结一下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
阅读全文
摘要:基本类型有默认值,而包装类型初始为null。 什么时候使用基础类型,什么时候使用包装类型:在阿里巴巴的规范里所有的POJO类必须使用包装类型,而在本地变量推荐使用基本类型。 Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。 1、整数:包括int、
阅读全文
摘要:问题 idea在push代码时,报错could not read from remote repository 解决方案 Preferences --> Version Control --> Git,将Built-in 改为 Native 参考 https://stackoverflow.com/
阅读全文
摘要:1. 同步方法用synchronized关键字修饰方法。 由于java的每个对象都有一个内置锁,当用此关键字修饰方法时,内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于阻塞状态。 2. 同步代码块用synchronized关键字修饰语句块。被该关键字修饰的语句块会自动被加上内置锁,从
阅读全文
摘要:线程安全 非线程安全 Collection Vector ArrayList、LinkedList HashSet、TreeSet Map HashTable HashMap、TreeMap 字符串 StringBuffer StringBuilder 线程安全 非线程安全 Collection V
阅读全文
摘要:转自:https://www.cnblogs.com/dolphin0520/p/3681042.html hashCode方法在Object类中: 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实现。1. hashCode的作用当向集
阅读全文
摘要:JDK1.8中JVM把String常量池移入了堆中,同时取消了“永久代”,改用元空间代替(Metaspace)java中对String对象特殊对待,所以在heap区域分成了两块,一块是字符串常量池(String constant pool),用于存储java字符串常量对象,另一块用于存储普通对象及字
阅读全文
摘要:一、String、StringBuffer、StringBuilder区别 1.可变与不可变(1). String类中使用字符数组保存字符串,因为有“final”修饰符,所以string对象是不可变的。 (2). StringBuilder与StringBuffer都继承自AbstractStrin
阅读全文

浙公网安备 33010602011771号