摘要:
1. 二叉树遍历 树是最重要的数据结构之一,而树的遍历是树最基本的操作。 二叉树的遍历一般来说有三种遍历次序: 前序遍历 中序遍历 后序遍历 而这三种遍历次序都可以采用递归和非递归的方式来完成。 就时间、空间的复杂度来讲,因为非递归需要借助额外的Stack来完成操作,所以递归和非递归的时间复杂度都是 阅读全文
摘要:
1.概述 大量的结构化数据通常被存储在数据库中,通过简单的SQL语句,我们可以方便的查询、修改、插入、删除这些数据。例如当我们执行: SELECT * FROM USER WHERE userName = 'A'; DBMS会将表中所有用户名等于A的用户的记录返回给我们,但随着表中的记录越来越多,比 阅读全文
摘要:
1.数据库事务 事务是用户定义的一个数据库操作系列,这些操作要么全做要么全不做,是一个不可分割的工作单位。 事务是数据库中重要的概念,通常以BEGIN TRANSACTION开始,以COMMIT或者ROLLBACK结束。数据库事务具有四个著名的特性:ACID。 Automatic 原子性:即事务中的 阅读全文
摘要:
HashMap工作原理 HashMap扩容 1 HashMap的扩容时机 2 HashMap的扩容过程 补充 1 容量必须是2的幂 2 rehash References 1. HashMap工作原理 HashMap作为优秀的Java集合框架中的一个重要的成员,在很多编程场景下为我们所用。HashM 阅读全文
摘要:
Java ArrayListSet互相转化 ArrayListSet互转实例 1 ArrayList互转 2 ListSet互转 3 ArraySet互转 ArraysasList 和 CollectiontoArray Java Array、List、Set互相转化 1. Array、List、S 阅读全文
摘要:
JVM内存区域二对象的创建1 对象创建过程2 堆内存分配的问题3 源码分析对象的内存布局对象的访问定位JVM内存区域(二)1. 对象的创建1.1 对象创建过程Java是一种面向对象的语言,在使用java的日常,我们常常和对象打交道。在JVM内存区域中也存在专门的堆内存... 阅读全文
摘要:
JVM内存区域一 运行时内存区域分类 运行时内存区域含义 JVM内存区域(一) 1. 运行时内存区域分类 JVM运行时内存区域主要包含: 程序计数器 栈 堆 方法区 其中属于线程私有的是程序计数器、栈;属于共享的是堆,方法区。 2. 运行时内存区域含义 程序计数器 程序计数器是一块较小的内存空间,他 阅读全文
摘要:
回溯法 回溯法简介 回溯法的基本步骤 回溯法之经典问题 回溯法之经典问题Sudoku数独 回溯法 1.回溯法简介 回溯法,又称试探法,是常用的,基本的优选搜索方法。常用于解决这一类问题:给定一定约束条件F(该约束条件常用于后面的剪枝)下求问题的一个解或者所有解。 回溯法其实是暴力枚举的一种改进,因为 阅读全文
摘要:
LCS问题 简介 最长公共子串问题 最长公共子序列问题 References LCS问题 1. 简介 LCS通常是指Longest Common Subsequence, 但是也可代指Longest Common Substring。子串是一种特殊的子序列,子串和子序列的区别就是字串要求是组成子串的 阅读全文
摘要:
Maven简介与Maven安装 简介 1 目标 2 标准化 3 应用 下载安装 创建Maven项目 1 创建项目 2 修改POM 总结 Maven简介与Maven安装 1.简介 1.1 目标 Maven是一个自动化构建工具,常用来构建和管理java项目。 Maven的主要目的是让开发人员在最短的时间 阅读全文