CDz Blog

Think Different.

求解最大公约数

最大公约数的三种法

1. 最大公约数 1.1. 方法一:辗转相除法——欧几里德算法 正整数a,b(a>b),a除以b的余数c,其最大公约数在c-b之间 /** * 辗转相除 * * @param a * @param b * @return */ private int gcd1(int a, int b) { ...

JVM知识——垃圾收集算法

垃圾收集算法

垃圾收集 上面讲了标记垃圾的方式,那么就需要有一个程序来进行对垃圾的收集工作。此时也需要有不同的垃圾收集算法。 垃圾收集算法 标记清除算法 顾名思义,通过可达性分析算法标记出不需要回收的垃圾,然后清除所有未标记对象。 缺点:会造成大量的内存碎片,导致需要连续空间创建的大对象,创建不出,报出OOM异常。 复制算法 复制算法顾名思义,只通过复制来做到清除的目的,但是需要将内存划分为两块...

JVM知识——垃圾收集器发展史

垃圾收集器发展史

垃圾收集器发展史 第一代:Serial收集器、Serial Old收集器 Serial收集器 在JDK1.3.1之前唯一的选择,只能使用此收集器 单线程 STW stop the world 一直在发展,缩短STW时间 client端有优势 Serial Old收集器 Serial收集器的老年代版本 单...

JVM知识——Java运行时内存结构

Java运行时内存结构

资料来源:https://www.bilibili.com/video/av92883117?t=13 Java运行时内存结构 分为六大块: 方法区 主要一些静态变量、常量 final static String 堆 ...

ARTS_WEEK13

二叉树、ThreadLocal、lock

这周算法方面学习到了二叉树结构,关于二叉树基本上都是递归。 有两个方式DFS与BFS,视频方面主要是更深度多线程知识ThreadLocal相关,以及lock锁。 算法: 二叉树 DFS(Deep First Search)深度优先 BFS(Breath First Search)广度优先 多线程: ...

ARTS_WEEK12

散列表、Java的垃圾回收机制、双亲委派机制

每周基本上最耗时的还是在算法上,这周因为是hashtable本身比较熟悉,所以整体花时间比较少。 除了散列表,还研究了两个一直不清楚基础概念,Java的垃圾回收机制、双亲委派机制。 算法: hashtable 基础: 垃圾回收机制 双亲委派机制 构造函数、静态代码块、构造代码块 1. although 1.1. 散列表(hashtable,Java:HashM...

ARTS_WEEK11

二分查找

这周开始有工作了,所以开始学习时间上有所挤压,内容上主要还是围绕专栏与视频课展开。最主要的还是二分查找的算法练习。在写的过程中,发现二分查找思想很简单,但是真正写出一个没有BUG的程序却并不容易(推荐一篇LeetCode上讲解二分查找的文章写得很详细)。 专栏 数据结构与算法 二分查找 调表 ...

ARTS_WEEK10

ARTS_WEEK10

这周主要主攻方面: 算法 复习链表LeetCode练习题 排序LeetCode练习 O(n^2)排序(冒泡、插入、选择) O(nlogn)排序(快排、归并) 多线程 视频和专栏结合学习 围绕死锁 专栏 MySQL的锁问题 ...

ARTS_WEEK9

ARTS_WEEK9

这周在家里学习主攻点在: LeetCode 递归 队列 重新整理简历 专栏 架构思维扫盲 MySQL实战 数据结构与算法 递归 队列 Java并发编程 ...

ARTS_WEEK8

ARTS_WEEK8

这周是春节期间,但是这个2020的年过的并不像往常一样。 算法方面这周主要研究: 栈(先进后出) 专栏: MySQL专栏学习 数据结构与算法:栈(一篇) 视频: 这周看的非常少,所以没有记录笔记。 在家里没有办法静下心来做ARTS。这周经历的,也是过了这多年,第一次如此过年,大家都在家里不出门,而我在大年初一就坐上了回深圳飞机。 也是在深圳家里,才能静下心刷LeetCod...