Dubbo 入门笔记2|Java-dubbo前言
本文介绍dubbo的核心概念,架构和相关组件的搭建
Read more
JDK 源码学习笔记 1|Java-JDK前言
从本文开始对JDK源码进行学习,内容包含Java中各种常见数据结构的底层实现原理和其他重要的Java函数的底层实现。本文包括JDK源码阅读环境搭建
Read more
Dubbo 入门笔记1|Java-dubbo前言本文记录应用架构的发展,RPC的思想。
分布式系统分布式系统是若干独立计算机的集合,这些计算机对用户来说是单个的相关系统。
直白解释:多台计算机负责不同的功能,相互交互,但对用户来说和用一台计算机没有区别。
单一服务器无法完成如此复杂和如此大量的需求(比如淘宝),因此将不同的功能拆分成不同的 ...
Read more
MySQL笔记之三事务的隔离级别|MySQL前言本文记录MySQL事务隔离级别的相关知识,包括四种隔离级别,默认级别,不同存储引擎采用的锁。
事务定义事务是由一组sql语句组成的逻辑处理单元,具有ACID的属性
Atomicity(原子性):一個事务(transaction)中的所有操作,或者全部完成,或者全部不完成,不会结束在中间某个 ...
Read more
MySQL笔记之二索引建立和优化|MySQL前言本文讨论MySQL中索引的建立方式和优化原则
索引的建立上一篇文章中讲述了MySQL的存储结构为B+树,因此,建立索引就是建立B+树的过程。对一张MySQL的表格而言,一般存在一个主键,则以主键为关键字建立B+树就是最基本的一种。除此以外,还可以针对非主键字段建立B+树来加快搜索。还可以针对 ...
Read more
MySQL笔记之一 存储结构,存储引擎|MySQL前言本文记录MySQL底层的存储数据结构和存储引擎。
MySQL存储结构从需求的角度出发来考虑可以用的数据结构。对于数据库来说,最重要的功能就是要快速找到需要的数据。因此,线性的存储结构比如数组,链表等都不做考虑,用遍历的方式找到数据太过缓慢。可用的数据结构有哈希表,搜索二叉树,红黑树,b树,b ...
Read more
Manacher|algorithmManacher: 求最长回文子串该算法用于求最长回文字串,可在O(n)内求出一个字符串的最长回文字串,暴力做法需要O(n^2)的时间。主要运用动态规划的思想,之前求过的信息(以某个位置为对称中心的最长回文半径)在之后可以被反复运用,无需再求一次。
具体做法:
先将字符串预处理,取消奇偶字符串的 ...
Read more
Tree|algorithm基本知识二叉树二叉树:二叉树是有限个结点的集合,这个集合或者是空集,或者是由一个根结点和两株互不相交的二叉树组成,其中一株叫根的做左子树,另一棵叫做根的右子树。
二叉树的性质:
性质1:在二叉树中第 i 层的结点数最多为2^(i-1)(i ≥ 1)
性质2:高度为k的二叉树其结点总数最多为2^k- ...
Read more
Bit Manipulation|algorithm-Java位运算基本思路:将给定的数字都转化为二进制,然后进行相应的操作。
左移符号<<
操作:将数字转换成二进制,然后左移x位,空缺补零。
效果:乘2^x
例子:
7<<1 =14, 7<<2=28…
7的二进制是111,左移后变成1110是14。
右移符号:> ...
Read more
Stack and Queue|algorithmStackStack,栈,一种数据结构,拥有“先进后出”的特性,简单来说就是先进入栈的元素会后出栈。类似叠放的一摞盘子,放在底部的盘子是先放进来的,但要想拿到就必须先把后放入的在它上面的盘子都拿出来。
QueueQueue,队列,另一种数据结构,拥有“先进先出”的特性,就是先进入队列的元素先出队列。 ...
Read more