《Maven官方指南》生成源文件
原文链接 译者:carvendy
生成源文件
让我们运行这个小例子。为了生成源文件你必须有一个插件它是在generate-sources周期中有参与的,像ANTLR4 Maven Plugin。
所以这一切都很好,我们有一个插件想要从Antlr4 语法中生成一些源码但是我们应该怎么使用呢?你需要指定你想要使用的在你的POM中。
《Log4j 2 官方文档》自动重加载配置
当通过一个文件加载配置的时候,Log4j
可以自动识别配置文件发生变化,并根据变化重新加载。
如果 configuration
的属性monitorInterval
被设置了一个非0的值,那么Log4j2
会周期性的检查配置文件。
接下来的例子展示了每隔30
秒进行一次检测的例子。(最小的时间间隔是5
秒,不能小于5
)。
[code]
<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorInterval="30">
…
</Configuration>
[/code]
Java锁是如何保证数据可见性的
引言
在 java.util.concurrent.locks.Lock 接口的Javadoc中有这样一段话:
All Lock implementations must enforce the same memory synchronization semantics as provided by the built-in monitor lock :
- A successful lock operation acts like a successful monitorEnter action
- A successful unlock operation acts like a successful monitorExit action
Unsuccessful locking and unlocking operations, and reentrant locking/unlocking operations, do not require any memory synchronization effects.
这段话的核心是j.u.c.locks.Lock接口的实现类具有和synchronized内置锁一样的内存同步语义。
不同于由JVM底层实现的内置锁,Lock接口的实现类是直接用Java代码实现的。如何保证了内存中数据的可见性?下面进行一下分析。
《Spring官方文档1》17 使用 O/X(Object/XML)映射器对XML进行编组
17 使用 O/X(Object/XML)映射器对XML进行编组
17.1 简介
本章将讨论 Spring 对于 对象/XML 映射的支持。对象/XML 映射,或 O/X 映射,是指将 XML 文档与 XML 文档对象进行互相转换的操作。这一转换操作也被称作 XML 编组,或 XML 序列化。在本章中,这几个概念都指的是同一个东西。 在 O/X 映射中,将一组对象序列化为 XML 的操作是由一个编组器负责的。与之相对,一个反编组器则被用于将 XML 反序列化为一组对象。而这些操作中的 XML 文件来源可能是一份 DOM 文档,一个输入/输出流,或一个 SAX 管理器。 使用 Spring 提供的支持来实现你的 O/X 映射需求具有如下一些好处:
《Spring 5 官方文档》20. CORS 支持
原文链接 译者:dan QQ:903585177
20. CORS 支持
20.1 简介
出于安全考虑,浏览器禁止AJAX调用驻留在当前来源之外的资源。 例如,当您在一个标签中检查您的银行帐户时,您可以在另一个标签中打开evil.com网站。 evil.com的脚本不能使用您的凭据向您的银行API发出AJAX请求(例如,从您的帐户中提款)!
Cross-origin resource sharing (CORS) 是 大多数浏览器实现的W3C 规范,允许您以灵活的方式指定什么样的跨域请求被授权,而不是使用一些较不安全和不太强大的黑客工具(如IFRAME或JSONP)。
《Spring 5官方文档》-JMX
27.1 引言
Spring对JMX的支持提供了你可以简单、透明的将Spring应用程序集成到JMX的基础架构中。
JMX?
本章不是介绍JMX的...它不会试图去解释为什么要使用JMX(或JMX实际代表什么含义)的动机。如果你是JMX的新手,请参考本章末尾的[第27.8节,更多资源](jmx.html#jmx-resources)。
具体来说,Spring JMX支持提供了四个核心功能:
- 任何Spring bean都会自动注册为JMX MBean
- bean管理接口的灵活控制机制
- 可以通过JSR-160连接器将声明的MBeans暴露给远程
- 远程和本地MBean资源的简单代理
这个功能的设计是应用程序组件在和Spring或JMX接口和类无需耦合的方式工作。事实上,在大多数情况下应用程序为了使用Spring JMX的特性,也不会去关心Spring或者JMX。
《Kafka官方文档》实现
1. API Design
Producer APIs
Producer API封装了底层两个Producer:
- kafka.producer.SyncProducer
- kafka.producer.async.AsyncProducer