- 博客(9)
- 收藏
- 关注
原创 时间复杂度
文章目录递归的时间复杂度空间复杂度爬楼梯盛水最多的容器 ##时间复杂度分类 O(1) : 常数时间复杂度 O(logn) : 对数时间复杂度 O(n) : 线性时间复杂度 O(n^2) : 平方 O(n^3) : 立方 O(2^n) : 指数 O(n!) : 阶乘 //1. O(1) O(2),O(3),O(常数)-->O(1) int n = 100; System.out.println("hello world" + n); //2. O(n) O(2n),O(n-1)--&g
2020-09-26 08:53:58
416
原创 Integer缓存
#Integer缓存问题 规约: [强制] 所有整型包装类对象之间值的比较, 全部使用equals方法比较 文章目录WhatWhyHow源码分析法反汇编法 What Integer 默认缓存区: [-128 —127] public class IntTest { public static void main(String[] args) { Integer a = 100, b = 100, c = 150, d = 150; System.out.println(a == b
2020-09-06 09:00:33
291
原创 数据结构-树-源码分析(二叉查找树, 平衡二叉树)
数据结构-树-源码分析(二叉查找树, 平衡二叉树) 二叉查找树 所有子树满足 : 左子树上所有结点的值 < 根结点的值 < 右子树上所有结点的值 public class QBST<K extends Comparable<K>, V> { //树结点 class QNode { K key; V value; QNode left;//左子树 QNode right;//右子树
2020-08-30 22:42:49
193
原创 Minor GC
Minor GC(新生代GC) 堆区(heap区): 新生代(细分Eden Space和 Survivor Space)和老年代(Tenured Gen) 新生代分为Eden和From Survivor, To Survivor, Eden和Survivor默认大小比例是8:1; 新创建的对象一般存在Eden中*, 当Eden存满时进行第一次Minor GC(新生代GC), 把Eden中存活的对象复制到From Survivor中, 并给这些对象设置年龄为1后, 对Eden区整体回收; 若再次Eden存满,
2020-07-12 08:41:02
333
原创 多线程技术
文章目录多线程技术线程Thread创建继承Thread类实现Runnable接口实现有返回值的Callable接口线程Thread类构造方法常用方法线程的中断守护线程 (线程的生命周期)线程安全/线程的同步机制(加锁)隐式锁(Synchronized)与显示锁(Lock子类ReentrantLock)线程死锁生产者与消费者问题线程池缓存线程池(长度无限制)定长线程池 (长度是指定的数值)单线程线程池周期定长线程池 多线程技术 线程Thread创建 继承Thread类 //继承Thread的匿名内部类 new
2020-06-18 22:28:21
243
原创 操作时间所必须掌握的三大类
操作时间所必须掌握的三大类 Date类: Date对象存放格林尼治标准时间1970年1月1日08:00:00 000到此对象时间的毫秒数 SimpleDateFormat类: 将Date以自定义的时间格式展现 Calendar类: 日历 可以获取很多有日历有关的数据, 如星期几(一周的第几天), 月份(一年的第几月)等 public class Date extends Object implements Serializable, Cloneable, Comparable<Date>{}
2020-06-14 09:50:28
385
原创 ArrayList的add()方法实现源码(重点扩容)
ArrayList的add()方法实现源码(重点扩容) ArrayList ArrayList<Integet> al = new ArrayLIst<>(); 构造方法 ArrayList() //初始容量为10 ArrayList(int initialCapacity) //指定初始容量 ArrayList(Collection<? extends E> c) //传入集合, 转化为ArrayList 注意: ArrayList()刚构造出来时, 容量为0, 在
2020-06-12 22:51:02
341
原创 String类库
String类库整理 字符串对象构造 String text = "123"; String text = new String("123"); 未加static的方法都是对象方法 静态方法_将其他类型转化为字符串 static String valueOf(char[] date) //将字符数组转化为字符串 static String copyValueOf(char[] date) //–> valueOf(char[]) static String copyValurOf(c
2020-06-10 22:40:01
296
原创 字符串常量池和缓冲池理解与作用
字符串常量池和包装类缓冲池中数据的存储方式 文章目录字符串常量池和包装类缓冲池中数据的存储方式准备知识基础数据类型存储方式(以int为例):字符串的存储方式(字符串常量池)包装类的存储方式(包装类缓冲池)(以Integer为例)源码参考 准备知识 常量池和缓冲池本质都是一个存放特定数据的内存空间, 所以先来分析内存空间 内存空间分类: 栈, 堆, 方法区 存放的数据: 1. 栈: 基本数据类型的数据, 引用数据类型的引用(地址) 2. 堆: 类的对象 3. 方法区: 类的信息 (静态的变量, 常量,
2020-06-05 23:20:34
1661
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人