3K+ 阅读量
Java 提供了两个用于生成随机数的类 - SecureRandom.java 和 Random.java。随机数通常可用于加密密钥或会话密钥,或者只是 Web 服务器上的密码。SecureRandom 位于 java.security 包下,而 Random.java 位于 java.util 包下。这两个类之间最基本和最重要的区别在于,SecureRandom 生成更不可预测的随机数,因为它实现了密码学安全伪随机数生成器 (CSPRNG),而 Random 类则使用线性同余生成器 (LCG)。这里需要说明的一点是,SecureRandom 是 Random 类的子类,并继承了其所有方法,例如 nextBoolean()、nextDouble()、nextFloat()、nextGaussian()、nextInt() 等... 阅读更多
2K+ 阅读量
在这篇文章中,我们将学习如何使用 Java 的 Map 工具在字符串中查找唯一单词,因为它具有不包含重复键的特性。要查找唯一单词,首先获取数组中的所有单词以比较每个单词,为此,基于空格/s 分割字符串。如果存在其他字符,例如逗号 (,) 或句点 (.),则首先使用所需的正则表达式替换字符串中的这些字符。将字符串的每个单词作为 Map 的键插入,并为每个键提供初始值,如果该值是唯一的,则... 阅读更多
609 阅读量
要计算字符串中元音出现的次数,再次使用 Java 的 Map 工具,就像在计算字符串中每个字符出现的次数时使用的那样。将每个元音作为 Map 的键放入,并为每个键放入初始值为 1。现在将每个字符与 map 的键进行比较,如果一个字符与一个键匹配,则将其对应的值增加 1。示例public class OccurenceVowel { public static void main(String[] args) { String str = "AEAIOG"; LinkedHashMap hMap = new LinkedHashMap(); hMap.put('A', 0); hMap.put('E', 0); hMap.put('I', 0); hMap.put('O', 0); hMap.put('U', 0); for (int i = 0; i
30K+ 阅读量
在这篇文章中,我们将尝试以我们通常在纸上书写的方式在控制台上打印一个数字数组或矩阵。为此,逻辑是逐个访问数组的每个元素,并用空格分隔打印它们,当行到达矩阵末尾时,我们还会更改行。示例 在线演示public class Print2DArray { public static void main(String[] args) { final int[][] matrix = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; for (int i = 0; i
1K+ 阅读量
在 Java 中,不可变类是一个一旦创建,其内容就不能更改的类。在相同的概念下,不可变对象是其状态一旦构建就不能更改的对象。包装类被设计为不可变的,因为有以下优点:由于不可变对象的状态一旦创建就不能更改,因此它们会自动同步。不可变对象自动线程安全,避免了由于使用同步而产生的开销。一旦创建,包装类不可变对象的状态就不能更改,因此它们不可能进入不一致的状态。这... 阅读更多
4K+ 阅读量
我们知道在 Java 中 POJO 指的是普通的旧 Java 对象。Java 中的 POJO 和 Bean 类共享一些共同的特性,如下所示:两个类都必须是 public 的,即对所有人可见。在两个类中定义的属性或变量必须是 private 的,即不能直接访问。两个类都必须具有默认构造函数,即无参数构造函数。为了访问变量/属性,两个类中都必须存在公共 Getter 和 Setter。这两个类之间唯一的区别在于 Java 使 Java Bean 对象序列化,以便可以保留 Bean 类状态... 阅读更多
419 阅读量
POJI 是 Plain Old Java Interface 的缩写,对应于 Java 标准接口,这意味着这些接口是在 JEE 中提供服务的上下文中。例如,OSGI 服务在 JEE 中通过 POJI 提供在其他方面,我们可以说 POJI 是一个普通的接口,没有任何特殊之处,它没有继承自任何技术 API 特定接口或框架接口。示例interface myCustomInterface { public void myMethod(); } interface mySecondCustomInterface extends myCustomInterface { public void mySecondMethod(); }这两个接口都称为 POJI,因为它们没有继承任何技术特定的... 阅读更多
5K+ 阅读量
众所周知,Java 中始终是按值传递,而不是按引用传递。因此,在这篇文章中,我们将重点关注在传递基本类型和传递对方法的引用时,此概念如何得到验证。当基本类型作为参数传递给方法时,分配给该基本类型的值将传递给该方法,并且该值对该方法来说是局部的,这意味着方法对该值的任何更改都不会更改您拥有的基本类型的值... 阅读更多
811 阅读量
构造函数链是在用户在特定方法中初始化对象时注入构造函数的特定顺序。当我们仅基于实例类逐一调用大量构造函数时,可以使用此过程。此过程是与继承相关联的另一种方法,其中子类构造函数的任务是调用超类构造函数。在 Java 中可以通过两种方式执行构造函数链 - 在同一类中 - 该过程可以通过使用 this() 关键字对同一类中存在的构造函数进行。从基类 - 通过使用... 阅读更多
250 阅读量
要获取 UNIX syslog 库信息,我们需要在程序中使用 syslog 模块。此模块的 syslog 具有 syslog 库的不同模块。要使用此模块,我们应该使用以下方法导入它:import syslog 方法如下所示:方法 syslog.syslog(message) 或 syslog.syslog(priority, message) 此方法用于将字符串类型消息发送到系统日志记录器。每条消息都有一个优先级。priority 参数可用于设置给定消息的优先级。方法 syslog.openlog([ident[, logoption[, facility]]]) 此方法用于记录后续 syslog 的选项... 阅读更多