加载中
博客目录

1 JAVA 1.1 JAVA JVM JAVA内存模型 JAVA内存结构和内存管理 JAVA垃圾回收器 JAVA Class文件和类加载机制 jvm学习总结之【一个类的前世今生】 JAVA对象的创建和内存分配策略 1.2 线程与并发控...

JAVA内存泄漏和内存溢出

1 内存泄漏(memory leak) 内存泄漏是指你向系统申请分配内存进行使用(allocate),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了...

2021/02/18 20:24
534
Spring的循环依赖和三级缓存

循环依赖 循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图: 注意,这里不是函数的循环调用,是对象的相互...

2021/02/04 20:17
783
详解分布式锁的三种实现方式

前言 分布式锁的背景 我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的Java多线程的18般武艺进行处理,并且可以完美的运行,毫无Bug。 但注意这...

JAVA中浮点型数据的存储方式

前言 在JAVA中,我们知道int和float占用4个字节,double和long占用8个字节。 那为何int和long的取值范围分别是[-2^31,2^31],float的取值范围却是[-3.40282346638528860e+38 , -1.4012984643...

2021/01/18 22:20
646
【I/O设计总结三】详解Reactor/Proactor高性能IO处理模式

前言 随着IO多路复用技术的出现,出现了很多事件处理模式,其中Reactor/Proactor模式是其中的佼佼者。 Reactor模式是非阻塞同步的I/O模型,Proactor模式是非阻塞异步I/O模型。 平时接触的开源...

MySQL的分区/分库/分表总结

前言 本文一切基于MySql InnoDB 概念 分区:把一张表的数据分成多个区块,在逻辑上看最终只是一张表,但底层是由多个物理区块组成的 分表:把一张表按一定的规则分解成多个具有独立存储空间的...

2020/12/29 22:40
368
动态规划的分析和简述

1 动态规划的概念 1.1 定义 动态规划(Dynamic Programming,DP)是运筹学的一个分支,是求解决策过程最优化的数学方法。20世纪50年代初,美国数学家贝尔曼(R.Bellman)等人在研究多阶段决策...

ios
2020/12/23 22:31
260
【I/O设计总结一】五种I/O模型总结

前言 在了解IO设计之前,我们首先的搞明白几个概念:什么是阻塞和非阻塞,什么是同步和异步; 同步和异步是针对应用程序和内核的交互而言的; 同步指的是应用程序触发IO操作并等待或者轮询的...

通俗易懂的二叉树的前中后序遍历

前言 二叉树的遍历是指不重复地访问二叉树中所有结点,主要指非空二叉树,对于空二叉树则结束返回。二叉树的遍历主要包括前序遍历、中序遍历、后序遍历。 一棵二叉树由根结点、左子树和右子树...

cef
2020/12/07 22:01
1.2K
分布式事务的概念论述和方案总结

1 分布式事务的概念 事务在分布式计算领域也得到了广泛的应用。在单机数据库中,我们很容易能够实现一套满足ACID特性的事务处理系统,但是在分布式数据库中,数据分散在各台不同的机器上,如...

JAVA内置排序Arrays.sort实现简述

前言 在JAVA开发中,我们经常需要操作数组和集合,其中数组和链表的排序是重中之重。 Arrays.sort方法用来对数组排序。Collections.sort()方法用来对链表排序,而Collections.sort()的底层,...

2020/10/13 23:15
1.1K
【图论】拓扑排序详解

前言 在正文开始前,我们先来了解一下有向无环图(Directed Acyclic Graph简称DAG) 如下图就是一个DAG图,DAG图是我们讨论拓扑排序的基础。 AOV网:数据在顶点 可以理解为面向对象 AOE网:数据...

【图论】广度/深度优先搜索算法

前言 我们首次接触广度优先搜索和深度优先搜索时,应该是在数据结构课上讲的 “图的遍历”。还有就是刷题的时候,遍历二叉树/拓扑排序我们会经常用到这两种遍历方法。 广度优先搜索算法(Bre...

mst
2020/09/15 20:55
904

没有更多内容

加载失败,请刷新页面

返回顶部
顶部