niladic monadic dyadic triadic 都是啥意思,怎么来的这么奇怪的名字

4 月 25 日
阅读 1 分钟
50
Niladic(零元):这个术语用于描述不带参数的方法。例如,Java 中的 toString() 方法就是一个典型的 niladic 方法。
封面图

Java char 类型究竟占几个字节?

2022-06-07
阅读 2 分钟
1.9k
char 类型以及封装类 java.lang.Character 的字段和方法是根据 Unicode 标准中的字符信息定义的,特别是作为 Unicode 字符数据库一部分的 UnicodeData文件。此文件为每个分配的 Unicode 代码点或字符范围指定属性,包括名称和类别。该文件可从 Unicode 联盟 [链接] 获得。

乞丐是如何节约Java内存的

2022-04-30
阅读 3 分钟
3.7k
内存使用优化在 Java 中很重要。系统性能主要限于内存访问性能而非 CPU 主频,否则,为什么 CPU 生产商要实现所有这些 L1、L2 和 L3 缓存?这意味着通过减少应用程序内存占用,您很可能会通过让 CPU 等待更少量的数据来提高程序数据处理速度。即:节省内存会提高性能!
封面图

在抽象类中使用@Autowired

2021-01-21
阅读 2 分钟
10.2k
当我们使用_@Autowired_上setter方法,我们应该用final 关键字,这样子类便不能覆盖setter方法。否则,注解将无法正常运行。

MacOS 下切换Java JDK 版本

2020-12-16
阅读 1 分钟
4.4k
要查看已安装的版本,请使用: {代码...} {代码...} 然后只需在您~/.bashrc或~/.bash_profile: {代码...} 让脚本生效: {代码...} 使用很简单,如 {代码...} 就可以切换到java11如果不嫌麻烦,也可以安装一个专门工具,如 jenv

什么是线程安全以及如何实现?

2020-07-11
阅读 8 分钟
4.5k
尽管多线程很强大,但它也是有代价的。在多线程环境中,我们需要以线程安全的方式编写实现。这意味着不同的线程可以访问共享的资源,而不会因错误的行为或产生不可预测的结果。这种编程方法被称为“线程安全”。

Java注解教程和示例

2019-09-30
阅读 5 分钟
3.7k
Java注解使我们可以将元数据信息添加到源代码中,尽管它们不是程序本身的一部分。注解是从JDK 5添加到Java的。注解对其注解的代码的操作没有直接影响(即,它不影响程序的执行)。

spring-cloud 源码解析

2019-09-27
阅读 3 分钟
3.2k
为什么要看源码 因为源码获得很容易, 代码本身是最准确的讲解 推测的结论不准 "实验"周期长,代价大 通过查看历史版本差异, 了解功能演化 源码面前,了无秘密 下载源码方法 直接点 CTRL + 类, 通常是编译的内容, 可以在不下载源码时简单看一下, 但有时编译效果不好, 也没有注释说明等. 这时最好是下载源码. IDE 中都有相应...

10个艰难的Java面试题与答案

2019-08-03
阅读 20 分钟
17.6k
这是我收集的10个较难回答的 Java 面试题。这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题。这些问题都是容易在各种 Java 面试中被问到的。

Java 线程执行与变量可见性的 happen-before 关系

2019-07-31
阅读 2 分钟
1.9k
Happens-before 定义程序中所有操作的部分排序。为了保证执行操作Y的线程可以看到操作X的结果(X和Y是否出现在不同的线程中),X和Y之间必然存在一个先发生的关系。在没有happen-before 排序的情况下在两个操作之间,JVM可以根据需要自由重新排序(JIT编译器优化)。

Tomcat 7 类加载器是如何实现的

2019-06-13
阅读 4 分钟
2.7k
与许多服务器应用程序一样,Tomcat安装了各种类加载器(即实现的类java.lang.ClassLoader),以允许容器的不同部分和容器上运行的Web应用程序访问可用类和资源的不同存储库。此机制用于提供Servlet规范2.4版中定义的功能 - 特别是9.4和9.6节。

Java 作者谈克隆方法的实现

2019-03-22
阅读 2 分钟
2.7k
“克隆”不应该被覆盖, 属坏味道, 阻断型错误约书亚•布洛赫表示,许多人在 Java 中对 clone 方法 和 Cloneable 接口存在误解,很大程度上是因为重写 clone 方法的规则很棘手, 且出错难以纠正。Object 的 clone 方法非常棘手。它基于属性复制,而且是“超语言”。它创建一个对象而不调用构造函数。无法保证它保留构造函数创建...

Curator: ZooKeeper的使用配方

2019-02-23
阅读 2 分钟
3.1k
ZooKeeper 作为分布式的存储方式, 有很多种使用场景, 把典型的使用场景提取出来, 成为"配方", 方便用户参考. Curator 作为这些典型场景的具体实现框架, 进一步简化了用户的使用成本.

Java Lock示例 - ReentrantLock

2018-12-31
阅读 4 分钟
5.4k
大多数情况下,用 synchronized 关键字就足够了,但它也有一些缺点, 所以在 Java Concurrency 包中引入了 Lock API 。从Java 1.5版开始在 java.util.concurrent.locks 包中提供了处理并发的 Concurrency API 的 Lock 锁接口和一些实现类来改进 Object 锁定机制。

Java 中断异常的正确处理方式

2018-12-22
阅读 7 分钟
7.1k
这个故事可能很熟悉:你正在写一个测试程序,你需要暂停某个线程一段时间,所以你调用 Thread.sleep()。然后编译器或 IDE 就会抱怨说 InterruptedException 没有抛出声明或捕获。什么是 InterruptedException,你为什么要处理它?

Java 几种线程状态之间的相互关系

2018-12-20
阅读 2 分钟
2.4k
Java Thread 可能处在以下几种状态 Java Doc 里通过一个枚举类型 Enum<Thread.State> 来定义。 线程可以处于以下状态之一: NEW 尚未启动的线程处于此状态。 RUNNABLE 在Java虚拟机中执行的线程处于此状态。 BLOCKED 被阻塞等待监视器锁定的线程处于此状态。 WAITING 无限期等待另一个线程执行特定操作的线程处于...

Java中断异常 InterruptedException 的正确处理方式

2018-12-09
阅读 2 分钟
9.2k
首先,需要了解为一个方法为啥会 throws InterruptedException, 是这个方法抛出中断异常作为方法签名的一部分以及调用正在调用的方法的可能结果。因此,首先要接受一个事实,InterruptedException 是这个方法调用的完全有效的结果。

ZooKeeper做为应用系统参数配置服务的实践

2018-02-06
阅读 4 分钟
2.7k
当有很多项目需要你来不停的向集成,测试和生产环境发时, 配置文件的差异性会造成很大的困挠.一方面你不希望把敏感信息到处保存. 另一方面会大量的地址信息,url,api-key,username/password需要配置. 每个引入的第三方api都需要配置, 往往不同环境的还都不一样. 一旦搞错了,轻则项目起不来,重则数据搞乱. 总之,头疼得很.