目录 0.前言 1.TemporalAccessor源码 2.Temporal源码 3.TemporalAdjuster源码 4.ChronoLocalDate源码 5.LocalDate源码 6.总结 0.前言 通过前面Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类中主要的类关系简图如下: 可以看出主要的LocalDate, LocalTime, LocalDateTime, Instant都是实现相同的接口,这里以LocalDate为例分析jav…
EventLoop 在之前介绍Bootstrap的初始化以及启动过程时,我们多次接触了NioEventLoopGroup这个类,关于这个类的理解,还需要了解netty的线程模型.NioEventLoopGroup可以理解为一组线程,这些线程每一个都可以独立地处理多个channel产生的io事件. NioEventLoopGroup初始化 我们看其中一个参数比较多的构造方法,其他一些参数较少的构造方法使用了一些默认值,使用的默认参数如下: SelectorProvider类型,用于创建socket…
RocketMQ的前提回顾 RocketMQ是一款分布式.队列模型的消息中间件,具有以下特点: 能够保证严格的消息顺序 提供丰富的消息拉取模式 高效的订阅者水平扩展能力 实时的消息订阅机制 亿级消息堆积能力 为什么使用RocketMQ 强调集群无单点,可扩展,任意一点高可用.水平可扩展 海量消息堆积能力,消息堆积后写入低延迟 支持上万个队列 消息失败重试机制 消息可查询 开源社区活跃 成熟度已经经过淘宝双十一的考验 RocketMQ的发展变化 RocketMQ开源是使用文件作为持久化工具,阿里内…
public String trim() {        int arg0 = this.value.length;   //得到此字符串的长度        int arg1 = 0;   //声明一个int 值,并赋值为0 char[] arg2; //声明一个char数组        for (arg2 = this.value; arg1 < arg0 && arg2[arg1] <= 32; ++arg1) { //将此字符数组赋值给arg2字符数组(java字符…
目录 前言 现象 源码分析 实战例子 总结 参考资料 前言 今天研究了一下tomcat上web.xml配置文件中url-pattern的问题. 这个问题其实毕业前就困扰着我,当时忙于找工作. 找到工作之后一直忙,也就没时间顾虑这个问题了. 说到底还是自己懒了,没花时间来研究. 今天看了tomcat的部分源码 了解了这个url-pattern的机制.  下面让我一一道来. tomcat的大致结构就不说了, 毕竟自己也不是特别熟悉. 有兴趣的同学请自行查看相关资料. 等有时间了我会来补充这部分的知识…
前言:线程是我们在学习java过程中非常重要的也是绕不开的一个知识点,它的重要程度可以说是java的核心之一,线程具有不可轻视的作用,对于我们提高程序的运行效率.压榨CPU处理能力.多条线路同时运行等都是强有力的杀手锏工具.线程是如此的重要,那么我们来思考这样一个问题.假设我们有一个高并发,多线程的项目,多条线程在运行的时候,来一个任务我们new一个线程,任务结束了,再把它销毁结束,这样看似没有问题,适合于低并发的场景,可是当我们的项目投入到生产环境,一下涌入千条任务的时候,线程不断的new执行…
百篇博客系列篇.本篇为: v35.xx 鸿蒙内核源码分析(时间管理篇) | 谁是内核基本时间单位 | 51.c.h .o 本篇说清楚时间概念 读本篇之前建议先读鸿蒙内核源码分析(总目录)其他篇. 时间概念太重要了,在鸿蒙内核又是如何管理和使用时间的呢? 时间管理以系统时钟 g_sysClock 为基础,给应用程序提供所有和时间有关的服务. 用户以秒.毫秒为单位计时. 操作系统以Tick为单位计时,这个认识很重要. 每秒的tick大小很大程度上决定了内核调度的次数多少. 当用户需要对系统进行操作时…
AbpZeroDbContext:配置ABP.Zero中定义的entity的Dbset EntityFrameworkModelBuilderExtensions:给PrimitivePropertyConfiguration添加了扩展方法用于创建Index. AbpZeroDbModelBuilderExtensions:给DbModelBuilder添加了扩展方法用于表的重命名. AbpZeroEntityFrameworkModule:很明显Abp Zero模块中的EntityFramew…
一.heapster简介 什么是Heapster? Heapster是容器集群监控和性能分析工具,天然的支持Kubernetes和CoreOS.Kubernetes有个出名的监控agent---cAdvisor.在每个kubernetes Node上都会运行cAdvisor,它会收集本机以及容器的监控数据(cpu,memory,filesystem,network,uptime).在较新的版本中,K8S已经将cAdvisor功能集成到kubelet组件中.每个Node节点可以直接进行web访问.…
Vue3中的响应式对象Reactive源码分析 ReactiveEffect.js 中的 trackEffects函数 及 ReactiveEffect类 在Ref随笔中已经介绍,在本文中不做赘述 本文中所有的源代码均为 JS简易版本,便于阅读理解 Vue3源码分析之 Ref 与 ReactiveEffect Reactive流程图 reactive(obj) 都做了些什么? reactive函数其实只做了 过滤只读对象 的功能,创建 Proxy 代理是通过调用 createReactiveOb…