diff --git a/docs/misc2/114.md b/docs/misc2/114.md index 4ff0ee9cd3a3c4bc06e7be1c3a9a5ee51c592cc4..1a3dfa46073a0331632486d6ce1e4bf40c53d364 100644 --- a/docs/misc2/114.md +++ b/docs/misc2/114.md @@ -124,7 +124,7 @@ writer.write("Hello World"); 3) [javax.xml.bind.annotation.adapters.XmlAdapter#marshal()和#unmarshal()](https://docs.oracle.com/javaee/5/api/javax/xml/bind/annotation/adapters/XmlAdapter.html "XmlAdapter") -使 Java 类型适应自定义封送处理。 将绑定类型转换为值类型。 +使 Java 类型适应自定义编组处理。 将绑定类型转换为值类型。 这就是这个简单主题的全部内容。 diff --git a/docs/misc2/129.md b/docs/misc2/129.md index a083da7170ef956748eeb8a36a50805232c99fa8..1e54b24b489e65931570d632670824051dc16d2c 100644 --- a/docs/misc2/129.md +++ b/docs/misc2/129.md @@ -77,7 +77,7 @@ Summary **另外,这很重要,因为您不希望调试由于某些外部系统中的错误而实际失败的测试用例。** -(顺便说一句,有时您的体系结构可能意味着您的代码在单元测试期间会触及静态变量。如果可以,请避免这样做,但如果不能这样做,请至少确保每个测试在运行之前将相关的静态操作重置为已知状态。 ) +(顺便说一句,有时您的架构可能意味着您的代码在单元测试期间会触及静态变量。如果可以,请避免这样做,但如果不能这样做,请至少确保每个测试在运行之前将相关的静态操作重置为已知状态。 ) #### 5.不进行单元测试配置设置 diff --git a/docs/misc2/208.md b/docs/misc2/208.md index 320a48131e0ab02aa48c16ca0156142b20f335a2..fbcf451f7f84479e1d09e1520aac752d3b09dfb6 100644 --- a/docs/misc2/208.md +++ b/docs/misc2/208.md @@ -26,7 +26,7 @@ #### 1.3 [HashMap 在 Java 中的工作方式](//howtodoinjava.com/java/collections/how-hashmap-works-in-java/ "How hashmap works in java") -如果您参加任何初级或中级面试,[`HashMap`](https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html)可能是讨论最多且最具争议的话题。 如果您知道 hashmap 在内部如何工作,您可以面对与`**HashMap**`相关的任何面试问题。 这篇文章将帮助您回答一些很好的问题,例如: +如果您参加任何初级或中级面试,[`HashMap`](https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html)可能是讨论最多且最具争议的话题。 如果您知道 hashmap 在内部如何工作,您可以面对与`HashMap`相关的任何面试问题。 这篇文章将帮助您回答一些很好的问题,例如: * HashMap 如何存储键值对? * HashMap 如何解决冲突? @@ -119,7 +119,7 @@ HashMap 不是线程安全的。 我们可以在并发应用中使用 **HashTabl #### 1.13 [Java 主要方法](//howtodoinjava.com/java/related-concepts/a-mini-guide-to-main-method-in-java/ "A mini guide to main method in java") -有没有想过为什么`**main()**`是公共的,静态的和无效的? 在 Java 面试中,这不是一个经常问到的面试问题,但我仍然建议您阅读这篇文章来回答以下问题: +有没有想过为什么`main()`是公共的,静态的和无效的? 在 Java 面试中,这不是一个经常问到的面试问题,但我仍然建议您阅读这篇文章来回答以下问题: * Java 主要方法语法? * 为什么主要方法是公开的? diff --git a/docs/misc2/218.md b/docs/misc2/218.md index b3db387348334d265dd57653197c3df5cec9146a..fa6f9aea92832cffe0f389df501f625d7d7e8049 100644 --- a/docs/misc2/218.md +++ b/docs/misc2/218.md @@ -169,7 +169,7 @@ Java 9 中的一些重要功能/ [更改是:](https://howtodoinjava.com/java9/ * 热点 JVM * Java 命名和目录接口(JNDI) -* Java 平台调试器体系结构(JPDA) +* Java 平台调试器架构(JPDA) * Java 声音 * 合成代理类 diff --git a/docs/misc2/3.md b/docs/misc2/3.md index 99b49956cabe97b2e42ed508511c02e35ebed9f0..530b83501a098dec3e74fbe3cc152a9d6ec8ce5d 100644 --- a/docs/misc2/3.md +++ b/docs/misc2/3.md @@ -112,7 +112,7 @@ JMS 应用提供两种类型的管理对象: #### 5.2 连接工厂 -客户端使用的对象是[连接工厂](https://docs.oracle.com/javaee/6/api/javax/jms/ConnectionFactory.html),用于创建与提供程序的连接。 它在 JMS 生产者和 JMS 客户端之间创建连接。 当诸如发送者或接收者之类的 JMS 客户端在 JNDI 注册表中搜索该对象时,则 JMS 客户端会收到一个连接对象,这不仅仅是 JMS 生产者和 JMS 客户端之间的物理连接。 使用此连接,客户端可以与目标对象进行通信,以将消息发送或接收到队列或主题中。 让我们举一个例子来理解它发送消息: +客户端使用的对象是[连接工厂](https://docs.oracle.com/javaee/6/api/javax/jms/ConnectionFactory.html),用于创建与供应器的连接。 它在 JMS 生产者和 JMS 客户端之间创建连接。 当诸如发送者或接收者之类的 JMS 客户端在 JNDI 注册表中搜索该对象时,则 JMS 客户端会收到一个连接对象,这不仅仅是 JMS 生产者和 JMS 客户端之间的物理连接。 使用此连接,客户端可以与目标对象进行通信,以将消息发送或接收到队列或主题中。 让我们举一个例子来理解它发送消息: ```java QueueConnectionFactory queueConnFactory = (QueueConnectionFactory) initialCtx.lookup ("primaryQCF"); @@ -145,7 +145,7 @@ TopicSubscriber receiver = ses.createSubscriber(t); #### 5.4 JMS 连接 -该连接封装了与 JMS 提供程序的虚拟连接。 该连接实现了`Connection`接口,当它具有`ConnectionFactory`对象时,我们可以使用它来创建连接。 +该连接封装了与 JMS 供应器的虚拟连接。 该连接实现了`Connection`接口,当它具有`ConnectionFactory`对象时,我们可以使用它来创建连接。 ```java Connection connection = connectionFactory.createConnection(); @@ -228,7 +228,7 @@ JMS 客户端使用 JMS 消息在系统之间进行通信。 JMS 消息具有简 2. #### 消息属性 - 在消息属性中,我们可以创建和设置消息的属性。 消息属性是由应用设置或读取的自定义名称值对。 消息属性对于支持过滤消息很有用。 JMS API 提供了提供程序可以支持的一些预定义属性。 消息属性是可选的。 + 在消息属性中,我们可以创建和设置消息的属性。 消息属性是由应用设置或读取的自定义名称值对。 消息属性对于支持过滤消息很有用。 JMS API 提供了供应器可以支持的一些预定义属性。 消息属性是可选的。 3. #### 消息正文 diff --git a/docs/misc2/31.md b/docs/misc2/31.md index a3c20b12a8cd2c7016c6a88d4e578437e07f4ba1..e298da26aef693aa7042abb8f1ae0d4d385f13ce 100644 --- a/docs/misc2/31.md +++ b/docs/misc2/31.md @@ -1,23 +1,23 @@ -# JAXB @XmlElementWrapper 注释示例 +# JAXB `@XmlElementWrapper`注释示例 > 原文: [https://howtodoinjava.com/jaxb/xmlelementwrapper-annotation/](https://howtodoinjava.com/jaxb/xmlelementwrapper-annotation/) -**JAXB @XmlElementWrapper 注释**的 Java 示例及其在[编组](https://howtodoinjava.com/jaxb/marshaller-example/)和[编组](https://howtodoinjava.com/jaxb/jaxb-unmarshaller-example/)操作期间的用法详细说明。 +**JAXB `@XmlElementWrapper`注释**的 Java 示例及其在[编组](https://howtodoinjava.com/jaxb/marshaller-example/)和[编组](https://howtodoinjava.com/jaxb/jaxb-unmarshaller-example/)操作期间的用法详细说明。 -## 1\. @XmlElementWrapper 类型 +## 1\. `@XmlElementWrapper`类型 1. 该注释生成围绕 XML 表示的包装器元素。 2. 它主要用于在集合周围产生包装 XML 元素。 -3. 该注释可以与以下注释一起使用:`XmlElement`,`XmlElements`,`XmlElementRef`,`XmlElementRefs`,XmlJavaTypeAdapter。 +3. 该注释可以与以下注释一起使用:`XmlElement`,`XmlElements`,`XmlElementRef`,`XmlElementRefs`,`XmlJavaTypeAdapter`。 4. `@XmlElementWrapper`注释可以与以下程序元素一起使用: * JavaBean 属性 - * 非静态,非瞬态场 + * 非静态,非瞬态字段 -## 2\. JAXB @XmlElementWrapper 示例 +## 2\. JAXB `@XmlElementWrapper`示例 现在来看几个有关如何将`@XmlElementWrapper`与`@XmlElement`一起使用来更改 XML 表示形式的示例。 -#### 2.1 使用@XmlElementWrapper 和@XmlElement(包装的集合) +#### 2.1 使用`@XmlElementWrapper`和`@XmlElement`(包装的集合) ```java @XmlRootElement(name = "employee") @@ -55,7 +55,7 @@ public class Employee implements Serializable { ``` -#### 2.2 仅使用@XmlElementWrapper +#### 2.2 仅使用`@XmlElementWrapper` ```java @XmlRootElement(name = "employee") @@ -93,7 +93,7 @@ public class Employee implements Serializable { ``` -#### 2.3 不要使用@XmlElementWrapper(未包装的集合) +#### 2.3 不要使用`@XmlElementWrapper`(未包装的集合) ```java @XmlRootElement(name = "employee") @@ -133,4 +133,4 @@ public class Employee implements Serializable { 学习愉快! -参考: [XmlElementWrapper Java 文档](https://docs.oracle.com/javase/7/docs/api/javax/xml/bind/annotation/XmlElementWrapper.html) \ No newline at end of file +参考: [`XmlElementWrapper` Java 文档](https://docs.oracle.com/javase/7/docs/api/javax/xml/bind/annotation/XmlElementWrapper.html) \ No newline at end of file diff --git a/docs/misc2/32.md b/docs/misc2/32.md index 985ef843df41c4456270936bfd739430c384b2df..29d3a49c5e57ea139e5dcb1c984a929541fdb258 100644 --- a/docs/misc2/32.md +++ b/docs/misc2/32.md @@ -1,8 +1,8 @@ -# JAXB Marshaller 示例 +# JAXB `Marshaller`(编组器)示例 > 原文: [https://howtodoinjava.com/jaxb/marshaller-example/](https://howtodoinjava.com/jaxb/marshaller-example/) -JAXB [`**Marshaller**`](https://docs.oracle.com/javase/10/docs/api/javax/xml/bind/Marshaller.html)接口负责管理将 Java 内容树即 **Java 对象转换为 XML** 数据的过程。 可以将 XML 编组到各种输出目标。 +JAXB [`Marshaller`](https://docs.oracle.com/javase/10/docs/api/javax/xml/bind/Marshaller.html)接口负责管理将 Java 内容树即 **Java 对象转换为 XML** 数据的过程。 可以将 XML 编组到各种输出目标。 ## 1\. JAXB 编组对象到 XML @@ -21,7 +21,7 @@ jaxbMarshaller.marshal(employeeObj); ``` -#### 1.2 封送 XML 文件 +#### 1.2 编组 XML 文件 ```java OutputStream os = new FileOutputStream( "employee.xml" ); @@ -29,7 +29,7 @@ jaxbMarshaller.marshal( employeeObj, os ); ``` -#### 1.3 封送至 SAX ContentHandler +#### 1.3 编组至 SAX `ContentHandler` 假设`MyContentHandler`是 [`org.xml.sax.ContentHandler`](https://docs.oracle.com/javase/7/docs/api/org/xml/sax/ContentHandler.html) 的实例。 @@ -38,7 +38,7 @@ jaxbMarshaller.marshal( employeeObj, new MyContentHandler() ); ``` -#### 1.4 封送 DOM 文件 +#### 1.4 编组 DOM 文件 ```java DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); @@ -50,14 +50,14 @@ jaxbMarshaller.marshal( employeeObj, doc ); ``` -#### 1.5 封送并打印到控制台 +#### 1.5 编组并打印到控制台 ```java m.marshal( employeeObj, new PrintWriter( System.out ) ); ``` -## 2\. JAXB 马歇尔属性 +## 2\. JAXB `Marshaller`属性 ```java jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); @@ -66,17 +66,17 @@ jaxbMarshaller.setProperty("jaxb.formatted.output", Boolean.TRUE); ``` -所有 JAXB 提供程序都必须支持以下属性集。 一些提供程序可能支持其他属性。 +所有 JAXB 供应器都必须支持以下属性集。 一些供应器可能支持其他属性。 -* **jaxb.encoding** - 编组 XML 数据时使用的输出编码。 如果未指定此属性,则默认情况下`Marshaller`将使用“ `UTF-8`”。 -* **jaxb.formatted.output** - 值可以是`true`或`false`。 `Marshaller`是否将使用换行符和缩进来格式化所得的 XML 数据。 默认值为`false`。 -* **jaxb.schemaLocation** – 允许客户端应用在生成的 XML 数据中指定`xsi:schemaLocation`属性。 -* **jaxb.noNamespaceSchemaLocation** – 它允许客户端应用在生成的 XML 数据中指定`xsi:noNamespaceSchemaLocation`属性。 -* **jaxb.fragment** – 它确定 Marshaller 是否将生成文档级事件。 值可以是`true`或`false`。 +* **`jaxb.encoding`** - 编组 XML 数据时使用的输出编码。 如果未指定此属性,则默认情况下`Marshaller`将使用“ `UTF-8`”。 +* **`jaxb.formatted.output`** - 值可以是`true`或`false`。 `Marshaller`是否将使用换行符和缩进来格式化所得的 XML 数据。 默认值为`false`。 +* **`jaxb.schemaLocation`** – 允许客户端应用在生成的 XML 数据中指定`xsi:schemaLocation`属性。 +* **`jaxb.noNamespaceSchemaLocation`** – 它允许客户端应用在生成的 XML 数据中指定`xsi:noNamespaceSchemaLocation`属性。 +* **`jaxb.fragment`** – 它确定`Marshaller`是否将生成文档级事件。 值可以是`true`或`false`。 -## 3.马歇尔回调方法 +## 3.`Marshaller`回调方法 -您可以通过 JAXB 注释类中的**自定义编组操作,例如 `Employee.java`。 您需要定义两个方法,这些方法将在编组程序处理该类之前和之后进行监听。 在这些方法中,您可以执行诸如设置额外字段之类的操作。** +您可以通过 JAXB 注释类中的**自定义编组操作**,例如 `Employee.java`。 您需要定义两个方法,这些方法将在编组程序处理该类之前和之后进行监听。 在这些方法中,您可以执行诸如设置额外字段之类的操作。 ```java package com.howtodoinjava.demo.model; diff --git a/docs/misc2/33.md b/docs/misc2/33.md index 5c69d857de717c84fa2e76e4639a4a82eb48d2e3..01ef562f84597b24c69892e463a68ddef8e9f605 100644 --- a/docs/misc2/33.md +++ b/docs/misc2/33.md @@ -1,14 +1,14 @@ -# JAXB 解组器示例 +# JAXB `Unmarshaller`(解组器)示例 > 原文: [https://howtodoinjava.com/jaxb/jaxb-unmarshaller-example/](https://howtodoinjava.com/jaxb/jaxb-unmarshaller-example/) -[`JAXB Unmarshaller`](https://docs.oracle.com/javase/10/docs/api/javax/xml/bind/Unmarshaller.html)接口负责管理将 XML 数据反序列化为 Java 对象的过程。 可以将对象解组到各种输入源。 +JAXB [`Unmarshaller`](https://docs.oracle.com/javase/10/docs/api/javax/xml/bind/Unmarshaller.html)接口负责管理将 XML 数据反序列化为 Java 对象的过程。 可以将对象解组到各种输入源。 ## 1.如何将 XML 解组到对象 #### 1.1 创建解组器 -通常,要创建 Unmarshaller,可以重用此代码。 +通常,要创建`Unmarshaller`,可以重用此代码。 ```java JAXBContext jaxbContext = JAXBContext.newInstance( Employee.class ); @@ -19,7 +19,7 @@ Employee employee = (Employee) jaxbUnmarshaller.unmarshal( xmlSource ); ``` -#### 1.2 从 InputStream 解组 +#### 1.2 从`InputStream`解组 ```java InputStream inStream = new FileInputStream( "employee.xml" ); @@ -46,7 +46,7 @@ Employee employee = (Employee) jaxbUnmarshaller.unmarshal(new StringReader(xmlSt ``` -#### 1.5 从 org.w3c.dom.Node 解组 +#### 1.5 从`org.w3c.dom.Node`解组 ```java DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); @@ -60,11 +60,11 @@ Employee employee = (Employee) jaxbUnmarshaller.unmarshal( document ); ## 2\. JAXB 解组器属性 -当前,Unmarshaller 上的所有 JAXB 提供程序都不需要**所有属性**。 但是,某些提供程序可能支持它们自己的一组提供程序特定属性。 +当前,`Unmarshaller`上的所有 JAXB 供应器都不需要**所有属性**。 但是,某些供应器可能支持它们自己的一组供应器特定属性。 ## 3.解组事件回调 -您可以通过在 [JAXB 注释的](https://howtodoinjava.com/jaxb/jaxb-annotations/)类中添加这些回调方法**来自定义解组操作。 `Employee.java`。 您需要定义两个方法,这些方法将在**和`Unmarshaller`处理该类之前和之后监听**。** +您可以通过在 [JAXB 注释的](https://howtodoinjava.com/jaxb/jaxb-annotations/)类中添加这些回调方法**来自定义解组操作**,例如`Employee.java`。 您需要定义两个方法,这些方法将在`Unmarshaller`处理该类之前和之后监听。 * `void beforeUnmarshal(Unmarshaller unmarshaller, Object parent) {}` * `void afterUnmarshal(Unmarshaller unmarshaller, Object parent) {}` diff --git a/docs/misc2/34.md b/docs/misc2/34.md index 825d72292f18159dd95419921c106ab2cd560ae3..74bd159f0a040e4d31e186d06d207135837a647b 100644 --- a/docs/misc2/34.md +++ b/docs/misc2/34.md @@ -6,7 +6,7 @@ ## 1)JAXB vs SAX vs DOM -Java 提供了许多读取 XML 文件并使用 XL 内容打印,在应用中使用或在 Java 对象中填充数据以进一步在应用生命周期中使用的方法。 用于此目的的三个主要 API 是 XML 的简单 API([`SAX`](http://www.saxproject.org/)),文档对象模型([`DOM`](https://www.w3.org/DOM/))和 XML 绑定的 Java 体系结构([`JAXB`](http://jaxb.java.net/))。 +Java 提供了许多读取 XML 文件并使用 XML 内容打印,在应用中使用或在 Java 对象中填充数据以进一步在应用生命周期中使用的方法。 用于此目的的三个主要 API 是 XML 的简单 API([`SAX`](http://www.saxproject.org/)),文档对象模型([`DOM`](https://www.w3.org/DOM/))和 XML 绑定的 Java 架构([`JAXB`](http://jaxb.java.net/))。 * `SAX`或`DOM`解析器使用 [JAXP](https://jaxp.dev.java.net/) API 来解析 XML 文档。 两者都扫描文档并在逻辑上将其分解为离散的片段(例如,节点,文本和注释等)。 * `SAX`解析器从文档的开头开始,并将文档的每个片段按找到它的顺序传递给应用。 内存中没有保存任何内容,因此无法进行任何内存中的操作。 diff --git a/docs/misc2/35.md b/docs/misc2/35.md index 42003a449e5ff27787eaac2ac082ba346fdb540c..9637bcb2f5fc5a422a96a60b2abed707793d03e7 100644 --- a/docs/misc2/35.md +++ b/docs/misc2/35.md @@ -61,7 +61,7 @@ public class Department implements Serializable { ``` -#### 2.2 添加 jaxb.properties +#### 2.2 添加`jaxb.properties` 当您获得`JAXBContext`的实例时,JAXB 将检查`jaxb.properties`文件并构造上下文。 在这里,您从 MOXy 库中注入了`JAXBContextFactory`。 @@ -149,7 +149,7 @@ Employee [id=1, firstName=Lokesh, lastName=Gupta, department=Department [id=101, ## 4.将 JSON 字符串转换为 Java 对象 -您可以获取 String 形式的 JSON,然后直接填充到 Java 对象。 +您可以获取字符串形式的 JSON,然后直接填充到 Java 对象。 ```java package com.howtodoinjava.demo; @@ -198,7 +198,7 @@ public class JaxbExample ``` -Program Output: +程序输出: ```java Employee [id=1, firstName=Lokesh, lastName=Gupta, department=Department [id=101, name=IT]] diff --git a/docs/misc2/37.md b/docs/misc2/37.md index f59801cef254c7796ce9b9afc81c892f3f5df399..4fb6183f5e3f22e34e41d69cecaa7110ed4fa2c7 100644 --- a/docs/misc2/37.md +++ b/docs/misc2/37.md @@ -194,7 +194,7 @@ public class JaxbExample ``` -Program output: +程序输出: ```java { diff --git a/docs/misc2/38.md b/docs/misc2/38.md index 47ea346991be46ad52f8655e557181d4e7ae8530..0fc6e07f1f8054865db3c91f474d9a394710aee4 100644 --- a/docs/misc2/38.md +++ b/docs/misc2/38.md @@ -2,7 +2,7 @@ > 原文: [https://howtodoinjava.com/jaxb/jaxb-example-marshalling-and-unmarshalling-hashmap-in-java/](https://howtodoinjava.com/jaxb/jaxb-example-marshalling-and-unmarshalling-hashmap-in-java/) -我们知道 [JAXB(用于 XML 绑定的 Java 体系结构)](https://en.wikipedia.org/wiki/Java_Architecture_for_XML_Binding "jaxb")允许 Java 开发人员将 Java 类映射到 XML 表示形式。 JAXB 提供了两个主要功能:将 Java 对象编组为 XML 的能力和相反的功能,即将 XML 解组为 Java 对象的能力。 JAXB 主要用于实现 Web 服务或任何其他此类客户端接口的应用,在该应用中,数据需要以 XML 格式(而不是 HTML 格式)传输,而对于可视客户端(如 Web 浏览器)来说,HTML 格式是默认格式。 +我们知道 [JAXB(用于 XML 绑定的 Java 架构)](https://en.wikipedia.org/wiki/Java_Architecture_for_XML_Binding "jaxb")允许 Java 开发人员将 Java 类映射到 XML 表示形式。 JAXB 提供了两个主要功能:将 Java 对象编组为 XML 的能力和相反的功能,即将 XML 解组为 Java 对象的能力。 JAXB 主要用于实现 Web 服务或任何其他此类客户端接口的应用,在该应用中,数据需要以 XML 格式(而不是 HTML 格式)传输,而对于可视客户端(如 Web 浏览器)来说,HTML 格式是默认格式。 一个很好的例子是 facebook API。 Facebook 已通过 [RESTful Web 服务](//howtodoinjava.com/restful-web-service/ "resteasy tutorials")的形式通过一些开放的端点公开了其服务,您在其中单击 URL 并发布了一些参数,而 API 以 xml 格式返回数据。 现在由您决定如何使用这些数据。 diff --git a/docs/misc2/39.md b/docs/misc2/39.md index 4cf5363b2c0c68b04157d1afddcbe67acfb7929c..7328101c8f57efc2c6b0a39e33c3375a764f20a7 100644 --- a/docs/misc2/39.md +++ b/docs/misc2/39.md @@ -2,7 +2,7 @@ > 原文: [https://howtodoinjava.com/jaxb/jaxb-exmaple-marshalling-and-unmarshalling-list-or-set-of-objects/](https://howtodoinjava.com/jaxb/jaxb-exmaple-marshalling-and-unmarshalling-list-or-set-of-objects/) -我们知道 [JAXB(用于 XML 绑定的 Java 体系结构)](https://en.wikipedia.org/wiki/Java_Architecture_for_XML_Binding "jaxb")允许 Java 开发人员将 Java 类映射到 XML 表示形式。 JAXB 提供了两个主要功能:将 Java 对象编组为 XML 的能力和相反的功能,即将 XML 解组为 Java 对象的能力。 JAXB 主要用于实现 Web 服务或任何其他此类客户端接口的应用,在该应用中,数据需要以 XML 格式(而不是 HTML 格式)传输,而对于可视客户端(如 Web 浏览器)来说,HTML 格式是默认格式。 +我们知道 [JAXB(用于 XML 绑定的 Java 架构)](https://en.wikipedia.org/wiki/Java_Architecture_for_XML_Binding "jaxb")允许 Java 开发人员将 Java 类映射到 XML 表示形式。 JAXB 提供了两个主要功能:将 Java 对象编组为 XML 的能力和相反的功能,即将 XML 解组为 Java 对象的能力。 JAXB 主要用于实现 Web 服务或任何其他此类客户端接口的应用,在该应用中,数据需要以 XML 格式(而不是 HTML 格式)传输,而对于可视客户端(如 Web 浏览器)来说,HTML 格式是默认格式。 一个很好的例子是 facebook API。 Facebook 已通过 [RESTful Web 服务](//howtodoinjava.com/restful-web-service/ "resteasy tutorials")的形式通过一些开放的端点公开了其服务,您在其中单击 URL 并发布了一些参数,而 API 以 xml 格式返回数据。 现在由您决定如何使用这些数据。 @@ -28,7 +28,7 @@ ## 2)模型类别 -我创建了一个模型类“ `Employee`”,它具有一些公共字段。 我想构建可以解析一组`employees`的代码。 请注意,JAXB 在最重要的类上需要 [`@XmlRootElement`](https://docs.oracle.com/javaee/5/api/javax/xml/bind/annotation/XmlRootElement.html "XmlRootElement") 注解,我们将对其进行封送或取消封送。 +我创建了一个模型类“ `Employee`”,它具有一些公共字段。 我想构建可以解析一组`employees`的代码。 请注意,JAXB 在最重要的类上需要 [`@XmlRootElement`](https://docs.oracle.com/javaee/5/api/javax/xml/bind/annotation/XmlRootElement.html "XmlRootElement") 注解,我们将对其进行编组或取消编组。 `ArrayList`类是集合框架的一部分,它没有任何 JAXB 注解。 因此,我们需要另外一个类别“ `Employees`”,该类别将代表一组雇员。 现在,在该类中,我们可以添加任何我们喜欢的注释。 diff --git a/docs/misc2/61.md b/docs/misc2/61.md index cb8d7d42835ee106efd487fcece2f343fddf36b4..aeac827b654a3ff9b95faba18b259fa20afcc714 100644 --- a/docs/misc2/61.md +++ b/docs/misc2/61.md @@ -107,7 +107,7 @@ public class XPathExample ``` -Program output: +程序输出: ```java Lokesh diff --git a/docs/misc2/82.md b/docs/misc2/82.md index c4c5798356c739d3e444969e16b82af40d4a196f..29c5bcc2f9491788be7a61d312f63bedfd02adcc 100644 --- a/docs/misc2/82.md +++ b/docs/misc2/82.md @@ -8,7 +8,7 @@ ## Tomcat 的架构 -**Tomcat 的体系结构**由一系列功能组件组成,可以根据明确定义的规则进行组合。 +**Tomcat 的架构**由一系列功能组件组成,可以根据明确定义的规则进行组合。 ![Tomcat Architecture](img/3c43c5e87ebcfa1b2ff3850bcd827fc6.png) diff --git a/docs/misc2/99.md b/docs/misc2/99.md index 57cfeefd85210078ed82554b903c80562fab6846..b8e37ebf3826723928c2aaceecdb066df3d691fe 100644 --- a/docs/misc2/99.md +++ b/docs/misc2/99.md @@ -23,7 +23,7 @@ Table of Contents ## 1.什么时候使用工厂模式? -工厂模式引入了**类之间的松散耦合**,这是在设计应用体系结构时应考虑并应用的最重要的原理。 通过针对抽象实体(而不是具体的实现)进行编程,可以在应用体系结构中引入松耦合。 这不仅使我们的体系结构更加灵活,而且不那么脆弱。 +工厂模式引入了**类之间的松散耦合**,这是在设计应用架构时应考虑并应用的最重要的原理。 通过针对抽象实体(而不是具体的实现)进行编程,可以在应用架构中引入松耦合。 这不仅使我们的架构更加灵活,而且不那么脆弱。 一张图片胜过千言万语。 让我们看看工厂实施的样子。