内部类初探 什么是内部类? 内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限)。内部类主要有以下几类:成员内部类、局部内部类、静态内部类、匿名内部类。 内部类的共性…
Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识,即所谓的RTTI。 这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建。 说白了就是:…
CAS 全称是:Compare And Swap 比较并交换,是乐观锁的主要实现方式。cas实现了在多线程环境下即使不使用锁也可以让线程间同步。 在Java中使用CAS设计到三个参数,变量的内存地址,期望修改的值,要修改的值。 只有内存中的值和期望修改的值相等时,才会将内存中的值修改为要修改的值,这样代表cas操作成功。…
前言 这篇技术文章简单探讨了Linux的文件系统和目录结构,通过详细介绍Linux文件系统的组织方式和各个目录的作用,读者将能够更好地理解Linux系统的运作机制,从而提升对系统管理和优化的能力。无论您是初学者还是有经验的Linux用户,这篇文章都将为你打开一扇通往系统内部的大门,帮助你更好地利用和管理Linux系统。 Linux的文件系统…
** 我们日常工作中,Lambda 使用比较多的场景,就是集合类下的 Lambda 流操作,往往几行代码可以帮助我们实现复杂代码 接下来我们把 Lambda 流的常用方法用案列讲解一下。 集合的遍历forEach方法 public void testForEach(){ List<String> list = new ArrayList<String>()…
Java Random 随机数生成不安全,如果同时泄漏第一个和第二个随机数,那么后面的随机数序列可以被破解。 Java Random类使用线性同余生成器(Linear Congruential Generator)算法来生成伪随机数。所谓伪随机数是指,如果我们使用相同的种子(seed)来生成随机数序列,那么得到的结果将是一样的。…
Java提供了许多工具来处理并发编程,而本文将重点介绍Java8中的CompletableFuture。在本文中,笔者通过查阅资料和实践经验,避免了重复已有优秀文章的内容和思路,而是用更简单明了的示例和语言来介绍CompletableFuture,并提供自己的思考。最后,本文还会附上其他一些优秀文章的链接,供读者更深入学习和理解。 1 .理解 Future…
Java属性的实例化、构造函数的执行是有先后顺序的。 此外 当出现子类继承情况时,子类和父类也是有初始化顺序的,这让情况更加复杂! 下面我们重点看几个常见的构造函数陷阱! 对象属性间的平行依赖 属性的实例化和 构造函数执行顺序是有先后的,如果构造函数和属性实例之间存在依赖顺序,请小心!请看下面的例子。 public class Context{…
Spring Boot使用的Reactor模型是一种基于Java的反应式编程框架,属于Spring WebFlux框架的核心部分。Reactor模型主要提供了一种在Java虚拟机上构建非阻塞应用的方式,这种方式使用了响应式编程原理,通过响应式流(Reactive Streams)标准来实现。 简单介绍 基本概念 响应式编程(Reactive…
系统集成即ShardingSphere 和 Spring 框架的集成。 ShardingSphere 实现 两种系统集成机制 : 命名空间(namespace)机制,通过扩展 Spring Schema 来实现与 Spring 框架的集成 编写自定义 starter 组件完成与 Spring Boot 的集成 1 基于命名空间集成 Spring…