首页 / 技术专题CATEGORY / SPRINGFORALL

Java

在这个技术方向,积累扎实的知识与实践。

共 547 篇文章

Java中Class类及用法

Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识,即所谓的RTTI。 这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建。 说白了就是:…

面试官:CAS和AQS都是什么,有什么用,谁来实现,源码怎么写的?

CAS 全称是:Compare And Swap 比较并交换,是乐观锁的主要实现方式。cas实现了在多线程环境下即使不使用锁也可以让线程间同步。 在Java中使用CAS设计到三个参数,变量的内存地址,期望修改的值,要修改的值。 只有内存中的值和期望修改的值相等时,才会将内存中的值修改为要修改的值,这样代表cas操作成功。…

简单了解一下Linux的文件系统和目录结构

前言 这篇技术文章简单探讨了Linux的文件系统和目录结构,通过详细介绍Linux文件系统的组织方式和各个目录的作用,读者将能够更好地理解Linux系统的运作机制,从而提升对系统管理和优化的能力。无论您是初学者还是有经验的Linux用户,这篇文章都将为你打开一扇通往系统内部的大门,帮助你更好地利用和管理Linux系统。 Linux的文件系统…

Java Random可破解,随机数不再随机,更不安全

Java Random 随机数生成不安全,如果同时泄漏第一个和第二个随机数,那么后面的随机数序列可以被破解。 Java Random类使用线性同余生成器(Linear Congruential Generator)算法来生成伪随机数。所谓伪随机数是指,如果我们使用相同的种子(seed)来生成随机数序列,那么得到的结果将是一样的。…

聊聊我对CompletableFuture的理解

Java提供了许多工具来处理并发编程,而本文将重点介绍Java8中的CompletableFuture。在本文中,笔者通过查阅资料和实践经验,避免了重复已有优秀文章的内容和思路,而是用更简单明了的示例和语言来介绍CompletableFuture,并提供自己的思考。最后,本文还会附上其他一些优秀文章的链接,供读者更深入学习和理解。 1 .理解 Future…

聊聊Java构造函数的几个“陷阱”

Java属性的实例化、构造函数的执行是有先后顺序的。 此外 当出现子类继承情况时,子类和父类也是有初始化顺序的,这让情况更加复杂! 下面我们重点看几个常见的构造函数陷阱! 对象属性间的平行依赖 属性的实例化和 构造函数执行顺序是有先后的,如果构造函数和属性实例之间存在依赖顺序,请小心!请看下面的例子。 public class Context{…

代码小妙招:用Java轻松获取List交集数据

今天遇到一个小需求,当用户上传了一个关于用户数据的列表,我们需要将其与数据库中已有的用户数据进行比较。假设数据库中的用户数据存储在集合A中,而用户上传的数据存储在集合B中。我们需要确定集合B中有多少数据在集合A中,以及有多少数据不在集合A中,并记录这些信息到日志中。那么,我们应该如何处理这个需求呢? 一、如何查找两个集合的重复数据?…

值得使用Lambda的8个场景,别再排斥它了!

可能对不少人来说,Lambda显得陌生又复杂,觉得Lambda会导致代码可读性下降,诟病Lambda语法,甚至排斥。 其实所有的这些问题,在尝试并熟悉后,可能都不是问题。 对Lambda持怀疑态度的人,也许可以采取渐进式使用Lambda的策略。在一些简单和低风险的场景下先尝试使用Lambda,逐渐增加Lambda表达式的使用频率和范围。…