Kubernetes已经成为事实上的容器应用编排引擎。Docker引领了一股构建、打包和容器化应用的风潮。在这股浪潮中首先到来的是Docker和后面Kubernetes的无状...
切格瓦拉:“让我们面对现实,让我们忠于理想。” 切·格瓦拉的名言:“让我们面对现实,让我们忠于理想”,这句话无疑鼓舞了一代青年去追求自由,追求自己的理想,坦荡面对自己内...
前言 本文主要介绍了三色标记法的基本思路、多标导致的浮动垃圾、漏标的处理方案(读写屏障)等。 1. 垃圾回收的简单回顾 关于垃圾回收算法,基本就是那么几种:标记-清除、标记-...
想起来写一下Java线程状态,还是源起与最近的一次问题定位,当时碰到一个偶先超时的问题,使用jstack命令打印出堆栈信息之后,例如 通过定位线程的状态,找到了错误的原因,也...
Seata框架是一个业务层的XA(两阶段提交)解决方案。在理解Seata分布式事务机制前,我们先回顾一下数据库层面的XA方案。 1. MySQL XA方案 MySQL从5.7...
为什么会有这4种引用 Java中的引用的定义很传统:如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这块内存代表着一个引用。 这种定义很纯粹,...
Kafka的分区数是不是越多越好? 分区多的优点 kafka使用分区将topic的消息打散到多个分区分布保存在不同的broker上,实现了producer和consumer消...
状态机是无论科研探索还是科技应用方面都非常重要的一种分析工具。几乎在所有涉及到随时间演化的问题中,都可以找到状态机的用武之地。这里作为一个普及性的介绍文章,我们主要针对最基础...
进程状态和调度 在程序运行的时候,由于被操作系统的调度算法控制,程序会进入几个状态:就绪,运行,阻塞1. 就绪状态: 当进程分配到CPU以外的所有的资源,只要获取的处理器的使...
事务消费 我们经常支付宝转账余额宝,这是日常生活的一件普通小事,但是我们思考支付宝扣除转账的钱之后,如果系统挂掉怎么办,这时余额宝账户并没有增加相应的金额,数据就会出现不一致...
无废话,直接上步骤。 1) 安装 xcode。 打开App Store,搜索xcode,进行下载安装。 2)执行命令: xcode-select --install 安装命令...
该项目源码地址:https://github.com/ggb2312/JavaNotes/tree/master/springboot-integration-example...
Parralel Scavenge 收集器工作流程 jvm初始化的时候,有个重要的步骤是全局堆的初始化,根据vm参数的不同,又会选择不同的堆实现(堆的实现在share/vm/...
1、简介 LockSupport 和 CAS 是Java并发包中很多并发工具控制机制的基础,它们底层其实都是依赖Unsafe实现。 LockSupport是用来创建锁和其他同...
AOP:面向切面编程,相对于OOP面向对象编程Spring的AOP的存在目的是为了解耦。AOP可以让一组类共享相同的行为。在OOP中只能继承和实现接口,且类继承只能单继承,阻...
众所周知,Java 开始方法执行到结束,都是由同一个线程完成的。这种方式虽易于开发调试,但容易因为锁、IO 等原因导致线程挂起,产生线程上下文切换。随着对应用并发能力要求越来...
生产者消费者模型是我们学习多线程知识的一个经典案例,一个典型的生产者消费者模型如下: 这段代码很容易引申出来两个问题:一个是wait()方法外面为什么是while循环而不是i...
适合阅读的人群:本文适合对 Spring、Netty 等框架,以及 Java 8 的 Lambda、Stream 等特性有基本认识,希望了解 Spring 5 的反应式编程特...