diff --git a/docs/misc1/242.md b/docs/misc1/242.md index 8e6825a680b1623d252ec66682aa1c29bb233ea6..554520e3f3c52939e441b8418055fb1ab1b94725 100644 --- a/docs/misc1/242.md +++ b/docs/misc1/242.md @@ -1,3 +1,5 @@ +{% raw %} + # Angular 插值 > 原文: [https://howtodoinjava.com/angular/angular-interpolation/](https://howtodoinjava.com/angular/angular-interpolation/) @@ -170,4 +172,6 @@ export class AppComponent { ``` -学习愉快! \ No newline at end of file +学习愉快! + +{% endraw %} \ No newline at end of file diff --git a/docs/misc1/245.md b/docs/misc1/245.md index f304c9ef8fdde3e46a376d7adb6cd6d31779a339..830f9b5a892afbad2e51393a865feefed384f4ed 100644 --- a/docs/misc1/245.md +++ b/docs/misc1/245.md @@ -1,3 +1,5 @@ +{% raw %} + # Angular 服务示例 > 原文: [https://howtodoinjava.com/angular/angular2-service/](https://howtodoinjava.com/angular/angular2-service/) @@ -178,4 +180,6 @@ Angular 2 服务输出 学习愉快! -[源码下载](https://howtodoinjava.com/wp-content/downloads/angular2-service.zip) \ No newline at end of file +[源码下载](https://howtodoinjava.com/wp-content/downloads/angular2-service.zip) + +{% endraw %} \ No newline at end of file diff --git a/docs/misc1/246.md b/docs/misc1/246.md index 9eb487149060018c0441fc6abf902b1369afcbda..83cabcef756608d7256521151844225e77100b75 100644 --- a/docs/misc1/246.md +++ b/docs/misc1/246.md @@ -1,3 +1,5 @@ +{% raw %} + # 带有 RxJS `Observable`的 Angular `HttpClient`示例 > 原文: [https://howtodoinjava.com/angular/rxjs-observable-httpclient/](https://howtodoinjava.com/angular/rxjs-observable-httpclient/) @@ -199,4 +201,6 @@ export class AppComponent { 学习愉快! -[源码下载](https://howtodoinjava.com/wp-content/downloads/Angular2%20Http%20Service%20Example.zip) \ No newline at end of file +[源码下载](https://howtodoinjava.com/wp-content/downloads/Angular2%20Http%20Service%20Example.zip) + +{% endraw %} \ No newline at end of file diff --git a/docs/misc1/248.md b/docs/misc1/248.md index a5eed6c2241b8fb22af620ee689ba08cde18eca1..5f6ac0e7f91a846d4c2efaf51680a0e4d4efed32 100644 --- a/docs/misc1/248.md +++ b/docs/misc1/248.md @@ -1,3 +1,5 @@ +{% raw %} + # AngularJS 教程 – HelloWorld 示例 > 原文: [https://howtodoinjava.com/angularjs/angularjs-tutorial-helloworld-example/](https://howtodoinjava.com/angularjs/angularjs-tutorial-helloworld-example/) @@ -223,4 +225,6 @@ firstApp.controller('MyController', function($scope) { 当您执行上面的 Angular 示例时,您将看到输出作为附加图像作为工作应用。 -学习愉快! \ No newline at end of file +学习愉快! + +{% endraw %} \ No newline at end of file diff --git a/docs/misc1/250.md b/docs/misc1/250.md index 077a14ed615f3dff81d89770ce96b571db8a1913..e5b6cae4f7bee791668a0d7706e46c9385a7b20c 100644 --- a/docs/misc1/250.md +++ b/docs/misc1/250.md @@ -1,3 +1,5 @@ +{% raw %} + # AngularJS 服务(内置和自定义) > 原文: [https://howtodoinjava.com/angularjs/angularjs-services-built-in-and-custom/](https://howtodoinjava.com/angularjs/angularjs-services-built-in-and-custom/) @@ -206,4 +208,6 @@ app.controller('LondonController', ['$scope', 'TimeService', 这就是 **AngularJS 服务入门教程**的全部内容。 将我的问题放在评论部分。 -学习愉快! \ No newline at end of file +学习愉快! + +{% endraw %} \ No newline at end of file diff --git a/docs/misc1/251.md b/docs/misc1/251.md index d1e299eeeb2b2a9294416dba70c9637cd7130013..4644084e18eb24cf84c5e8a6328f22475fa08672 100644 --- a/docs/misc1/251.md +++ b/docs/misc1/251.md @@ -1,3 +1,5 @@ +{% raw %} + # AngularJS Spring MVC Rest 示例 > 原文: [https://howtodoinjava.com/angularjs/angularjs-http-restful-api-example/](https://howtodoinjava.com/angularjs/angularjs-http-restful-api-example/) @@ -399,4 +401,6 @@ public class EmployeeRESTController 其余的事情几乎可以自我解释。 如果您有任何疑问或疑问,请在下面给我留言。 -学习愉快! \ No newline at end of file +学习愉快! + +{% endraw %} \ No newline at end of file diff --git a/docs/misc2/1.md b/docs/misc2/1.md deleted file mode 100644 index 77346ca7e145a43aa28cc361506847396d4638bd..0000000000000000000000000000000000000000 --- a/docs/misc2/1.md +++ /dev/null @@ -1,3 +0,0 @@ -# HTDIJ2 - -来源: [http://cpython.org/](http://cpython.org/) \ No newline at end of file diff --git a/docs/misc2/100.md b/docs/misc2/100.md index 11885c1c7924ebf9c4feee7f7f863f9528a41e67..c2f913ed3fdc0725aefe1e97d7ee2a29c14b721c 100644 --- a/docs/misc2/100.md +++ b/docs/misc2/100.md @@ -271,4 +271,4 @@ Model- LUXURY built in ASIA 参考文献: -[抽象工厂–维基百科](https://en.wikipedia.org/wiki/Abstract_factory_pattern) \ No newline at end of file +[抽象工厂 – 维基百科](https://en.wikipedia.org/wiki/Abstract_factory_pattern) \ No newline at end of file diff --git a/docs/misc2/101.md b/docs/misc2/101.md index 873abca512fe48e317e990a7c30e44915975b8a7..c4684e207f1d8c8bcc4d884aeb7a027f2efca755 100644 --- a/docs/misc2/101.md +++ b/docs/misc2/101.md @@ -16,7 +16,7 @@ Implementation > 请确保您要对原型进行[深克隆或浅克隆](https://howtodoinjava.com/java/cloning/a-guide-to-object-cloning-in-java/ "A guide to object cloning in java"),因为两者在运行时的行为不同。 如果需要深度复制,则可以使用在内存序列化中使用此处给出的良好技术[。](https://howtodoinjava.com/java/serialization/how-to-do-deep-cloning-using-in-memory-serialization-in-java/ "How to do deep cloning using in memory serialization in java") -## 原型模式–参与者 +## 原型模式 – 参与者 * **原型**:这是如上所述的实际对象的原型。 * **原型注册表**:用作注册表服务,使所有原型都可以使用简单的字符串参数进行访问。 @@ -26,7 +26,7 @@ Implementation 让我们通过一个例子来了解这种模式。 我正在创建一个娱乐应用程序,该应用程序将非常频繁地需要 Movie,Album 和 Show 类的实例。 我不想每次都创建它们的实例,因为这很昂贵。 因此,我将创建他们的原型实例,每当我需要一个新实例时,我都将克隆该原型。 -## 原型模式示例–实现 +## 原型模式示例 – 实现 让我们从创建类图开始。 diff --git a/docs/misc2/104.md b/docs/misc2/104.md index 1cd5dfaf2d6f399ce506afa0a2d10c8a2de2f592..fc950a13def2df73f43edb73e46622a8f681e78b 100644 --- a/docs/misc2/104.md +++ b/docs/misc2/104.md @@ -29,10 +29,10 @@ Summary 命令设计模式的参与者包括: -* **命令界面** –用于声明操作。 -* **具体命令类** –扩展了`Command`接口,并具有用于在接收方上调用业务操作方法的执行方法。 它在内部具有命令接收者的参考。 -* **调用程序** –被赋予执行操作的命令对象。 -* **接收器** –执行操作。 +* **命令界面** – 用于声明操作。 +* **具体命令类** – 扩展了`Command`接口,并具有用于在接收方上调用业务操作方法的执行方法。 它在内部具有命令接收者的参考。 +* **调用程序** – 被赋予执行操作的命令对象。 +* **接收器** – 执行操作。 在命令模式中,调用者与接收者执行的动作分离。 调用者不知道接收者。 调用程序调用一个命令,然后该命令执行接收方的相应操作。 因此,调用者可以在不知道要执行的动作的细节的情况下调用命令。 此外,这种脱钩意味着对接收者动作的更改不会直接影响动作的调用。 @@ -42,7 +42,7 @@ Summary 在这里,此遥控器将是一个可编程的遥控器,它将用于打开和关闭各种灯/风扇等。 -首先,让我们看看如何使用任何设计方法解决问题。 她的遥控器代码可能看起来像– +首先,让我们看看如何使用任何设计方法解决问题。 她的遥控器代码可能看起来像 – ```java If(buttonName.equals(“Light”)) @@ -56,7 +56,7 @@ else If(buttonName.equals(“Fan”)) ``` -但是上述解决方案显然存在许多明显的问题,例如– +但是上述解决方案显然存在许多明显的问题,例如 – * 任何新物品(例如 TubeLight)都需要更改遥控器的代码。 您将需要添加更多的 if-elses。 * 如果我们想为其他目的更改按钮,那么我们也需要更改代码。 diff --git a/docs/misc2/106.md b/docs/misc2/106.md index 16b7d2a96cee40039b68013591cc886394683789..dbaaadd94d6f785ab91982e87a35eb8d695a920d 100644 --- a/docs/misc2/106.md +++ b/docs/misc2/106.md @@ -37,14 +37,14 @@ Mediator design pattern -图片来源– [Wikipedia](https://en.wikipedia.org/wiki/Mediator_pattern) +图片来源 – [Wikipedia](https://en.wikipedia.org/wiki/Mediator_pattern) #### 3.2。 设计参加者 -* **介体** –定义`Colleague`对象之间的通信接口 -* **ConcreteMediator** –实现`Mediator`接口并协调`Colleague`对象之间的通信。 **它了解所有同事及其在互通方面的目的**。 -* **同事** –定义了通过`Mediator`与其他同事进行交流的接口 -* **ConcreteColleague** –实现`Colleague`接口并通过其`Mediator`与其他同事进行通信 +* **介体** – 定义`Colleague`对象之间的通信接口 +* **ConcreteMediator** – 实现`Mediator`接口并协调`Colleague`对象之间的通信。 **它了解所有同事及其在互通方面的目的**。 +* **同事** – 定义了通过`Mediator`与其他同事进行交流的接口 +* **ConcreteColleague** – 实现`Colleague`接口并通过其`Mediator`与其他同事进行通信 ## 4.中介器设计模式示例 diff --git a/docs/misc2/107.md b/docs/misc2/107.md index de38553e809468c6c913e15a1e7c5196913e95d6..897be3135da2e6378cafbda34dc0b1cefdca50c0 100644 --- a/docs/misc2/107.md +++ b/docs/misc2/107.md @@ -38,13 +38,13 @@ Memento 设计模式是行为模式,是 Gang of Four 讨论的 23 种[设计 纪念品模式有三个参与者。 -1. **发起者** –是知道如何创建和保存其状态以备将来使用的对象。 它提供了方法`createMemento()`和`restore(memento)`。 -2. **看守者** –在发起者上执行操作,同时可能回滚。 它跟踪多种纪念品。 看守者类是指发起者类,用于保存(HTG0)和恢复(HTG1)发起者的内部状态。 -3. **Memento** –由发起者编写和读取,并由看守者管理的锁盒。 原则上,纪念品必须在[不可变的](https://howtodoinjava.com/java/basics/how-to-make-a-java-class-immutable/)对象中,这样一旦创建便没有人可以更改其状态。 +1. **发起者** – 是知道如何创建和保存其状态以备将来使用的对象。 它提供了方法`createMemento()`和`restore(memento)`。 +2. **看守者** – 在发起者上执行操作,同时可能回滚。 它跟踪多种纪念品。 看守者类是指发起者类,用于保存(HTG0)和恢复(HTG1)发起者的内部状态。 +3. **Memento** – 由发起者编写和读取,并由看守者管理的锁盒。 原则上,纪念品必须在[不可变的](https://howtodoinjava.com/java/basics/how-to-make-a-java-class-immutable/)对象中,这样一旦创建便没有人可以更改其状态。 ## 4\. Memento 设计模式示例 -在此示例中,我们为`Article`对象创建纪念品,该对象具有三个基本属性– id,title 和 content。 `ArticleMemento`类用作`Article`对象的纪念品。 +在此示例中,我们为`Article`对象创建纪念品,该对象具有三个基本属性 – id,title 和 content。 `ArticleMemento`类用作`Article`对象的纪念品。 ```java public class Article diff --git a/docs/misc2/108.md b/docs/misc2/108.md index 35ce030aa037284ab64435dabec55e5ed0ebd4a6..f3fab49c2397cc139131b9d7b33224e45f10209d 100644 --- a/docs/misc2/108.md +++ b/docs/misc2/108.md @@ -53,8 +53,8 @@ Observer Pattern Architecture * **主题** – [接口或抽象类](https://howtodoinjava.com/oops/exploring-interfaces-and-abstract-classes-in-java/)定义了将观察者附加到主题或从主题上拆下的操作。 * **ConcreteSubject** -具体的 Subject 类。 它维护对象的状态,并在状态发生变化时通知附加的观察者。 -* **观察者** –定义用于通知此对象的操作的接口或抽象类。 -* **ConcreteObserver** –具体的 Observer 实现。 +* **观察者** – 定义用于通知此对象的操作的接口或抽象类。 +* **ConcreteObserver** – 具体的 Observer 实现。 ## 4.观察者设计模式示例 diff --git a/docs/misc2/109.md b/docs/misc2/109.md index 6eb23a55e673ffd426b0b853ce08c8993b848821..1c692bf36435c44c58764dbd7871abaf31db90e2 100644 --- a/docs/misc2/109.md +++ b/docs/misc2/109.md @@ -8,7 +8,7 @@ ## 1.何时使用状态模式 -在任何应用程序中,当我们处理**时,该对象在其生命周期**期间可能处于不同的状态,以及如何根据其当前状态处理传入的请求(或进行状态转换)–我们可以使用 状态模式。 +在任何应用程序中,当我们处理**时,该对象在其生命周期**期间可能处于不同的状态,以及如何根据其当前状态处理传入的请求(或进行状态转换)– 我们可以使用 状态模式。 如果在这种情况下不使用状态模式,则最终将有很多`[if-else](https://howtodoinjava.com/java/basics/if-else-statement-in-java/)`语句,这些语句会使代码库变得丑陋,不必要地复杂且难以维护。 状态模式允许对象根据当前状态表现不同,并且我们可以在不同类中定义特定于状态的行为。 @@ -39,9 +39,9 @@ State design pattern #### 3.2。 设计参加者 -* **状态** –接口定义每个状态必须处理的操作。 -* **具体状态** –包含状态特定行为的类。 -* **上下文** –定义与客户端进行交互的接口。 它维护对具体状态对象的引用,这些引用可用于定义对象的当前状态。 它将特定于状态的行为委派给不同的 State 对象。 +* **状态** – 接口定义每个状态必须处理的操作。 +* **具体状态** – 包含状态特定行为的类。 +* **上下文** – 定义与客户端进行交互的接口。 它维护对具体状态对象的引用,这些引用可用于定义对象的当前状态。 它将特定于状态的行为委派给不同的 State 对象。 ## 4.状态模式示例 @@ -245,7 +245,7 @@ Package is delivered !! #### 5.1。 状态模式与策略模式 -两种模式的结构相似,但目的不同。 [策略模式](https://howtodoinjava.com/design-patterns/behavioral/strategy-design-pattern/)为子类提供了更好的选择,而在状态模式下–行为封装在单独的类中。 +两种模式的结构相似,但目的不同。 [策略模式](https://howtodoinjava.com/design-patterns/behavioral/strategy-design-pattern/)为子类提供了更好的选择,而在状态模式下 – 行为封装在单独的类中。 然而,两者都促进了遗产的继承和授权。 diff --git a/docs/misc2/11.md b/docs/misc2/11.md index c549e207458b93d2774f4da53a4b138665fbd8f7..df98af1938dc851647ac2e103d539356352070fb 100644 --- a/docs/misc2/11.md +++ b/docs/misc2/11.md @@ -64,7 +64,7 @@ Gson 的最佳**好处是,在我们为某些成员字段进行非常特定的 Gson 支持多种机制来排除顶级类,字段和字段类型。 了解如何使用它们。 -* #### [JsonReader –流 JSON 解析器](https://howtodoinjava.com/gson/jsonreader-streaming-json-parser/) +* #### [JsonReader – 流 JSON 解析器](https://howtodoinjava.com/gson/jsonreader-streaming-json-parser/) 了解如何读取 JSON 字符串或文件作为 JSON 令牌流。 diff --git a/docs/misc2/110.md b/docs/misc2/110.md index b21539e1c34d235df2ff7704c9ff77f32457524c..5c330e702480e8f2fa66d3558dc54d4d376c169f 100644 --- a/docs/misc2/110.md +++ b/docs/misc2/110.md @@ -4,7 +4,7 @@ **策略设计模式**是行为设计​​模式,在该行为设计模式中,我们选择[算法](//howtodoinjava.com/java-algorithms-implementations/)或任务在运行时的特定实现-从同一任务的多个其他实现中选择。 -重要的一点是,这些实现是可互换的–根据任务可以选择一种实现而不会干扰应用程序工作流程。 +重要的一点是,这些实现是可互换的 – 根据任务可以选择一种实现而不会干扰应用程序工作流程。 ```java Table of Contents @@ -60,7 +60,7 @@ Strategy Pattern Participants 为了实施该解决方案,让我们一次设计一个参与者。 * **ISocialMediaStrategy** -抽象操作的接口。 -* **SocialMediaContext** –确定实现的上下文。 +* **SocialMediaContext** – 确定实现的上下文。 * **实现** – `ISocialMediaStrategy`的各种实现。 例如。 `FacebookStrategy`,`GooglePlusStrategy`,`TwitterStrategy`和`OrkutStrategy`。 #### 类图 diff --git a/docs/misc2/111.md b/docs/misc2/111.md index 6f27c6580ea27a390f7430746554ff059eff24c8..b367c53463dda3f10af5c3a3a533c3411748b882 100644 --- a/docs/misc2/111.md +++ b/docs/misc2/111.md @@ -262,7 +262,7 @@ Glass Wall House constructed successfully **模板模式**是一种非常简单的设计模式,用于定义和实施编程范例中的某些顺序算法步骤。 它有助于定义算法的框架,该框架不得在子类中被覆盖。 -因此,展望未来,当您需要实现上述业务场景时,请考虑一下模板模式–它非常易于实现并且也非常易于维护。 +因此,展望未来,当您需要实现上述业务场景时,请考虑一下模板模式 – 它非常易于实现并且也非常易于维护。 学习愉快! diff --git a/docs/misc2/112.md b/docs/misc2/112.md index 9d007b35d928221e676729ab6d85f26e400c37dd..d557fd5d4729414a186f306aaa0cfde20fcf2d2a 100644 --- a/docs/misc2/112.md +++ b/docs/misc2/112.md @@ -32,13 +32,13 @@ Sourcecode download 此模式中的参与者类是: -**访问者** –这是用于声明所有可访问类类型的访问操作的接口或抽象类。 +**访问者** – 这是用于声明所有可访问类类型的访问操作的接口或抽象类。 -**ConcreteVisitor** –对于每种类型的访问者,必须实现在抽象访问者中声明的所有访问方法。 每个访客将负责不同的操作。 +**ConcreteVisitor** – 对于每种类型的访问者,必须实现在抽象访问者中声明的所有访问方法。 每个访客将负责不同的操作。 -**可访问** –是一个声明接受操作的接口。 这是使访问者对象可以“访问”对象的入口点。 +**可访问** – 是一个声明接受操作的接口。 这是使访问者对象可以“访问”对象的入口点。 -**ConcreteVisitable** –这些类实现了 Visitable 接口或类并定义了接受操作。 使用 accept 操作将访问者对象传递给该对象。 +**ConcreteVisitable** – 这些类实现了 Visitable 接口或类并定义了接受操作。 使用 accept 操作将访问者对象传递给该对象。 ## 样品问题要解决 diff --git a/docs/misc2/115.md b/docs/misc2/115.md index 919c596748417776602dfaa4a6ddfee753c17661..06b0414ee2302eaf266a3c173c1b087fd7eb6347 100644 --- a/docs/misc2/115.md +++ b/docs/misc2/115.md @@ -58,7 +58,7 @@ Without bridge pattern -但是上述解决方案存在问题。 如果要更改`Rectange`类别,则可能最终也会更改`BlueRectangle`和`RedRectangle` –即使更改是特定于颜色的,也可能需要更改`Circle`类别。 +但是上述解决方案存在问题。 如果要更改`Rectange`类别,则可能最终也会更改`BlueRectangle`和`RedRectangle` – 即使更改是特定于颜色的,也可能需要更改`Circle`类别。 您可以通过以下方式去耦`Shape`和`Color`接口来解决上述问题。 diff --git a/docs/misc2/117.md b/docs/misc2/117.md index f145a3cc90a3fcc4ebdb7c43a431c83a3f4e7938..a07c29e51f420f006384904a2019bfa1d23665ce 100644 --- a/docs/misc2/117.md +++ b/docs/misc2/117.md @@ -26,8 +26,8 @@ Decorator design pattern participants 以下是“装饰器设计”模式的参与者: -* **组件** –这是包装程序,在运行时可以具有与其相关的其他职责。 -* **具体组件** –是在程序中添加了其他职责的原始对象。 +* **组件** – 这是包装程序,在运行时可以具有与其相关的其他职责。 +* **具体组件** – 是在程序中添加了其他职责的原始对象。 * **装饰器**-这是一个抽象类,其中包含对组件对象的引用,并且还实现了组件接口。 * **混凝土装饰器**-它们扩展了装饰器,并在 Component 类的顶部构建了附加功能。 diff --git a/docs/misc2/119.md b/docs/misc2/119.md index e3a848db65be864a2c0695b3ba2a1cb85cdefd7a..f3f11e5be092c14dcee87f5cc6aefd2c7acf4a99 100644 --- a/docs/misc2/119.md +++ b/docs/misc2/119.md @@ -227,7 +227,7 @@ Drawing THICK content in color : BLUE #### 5.3。 轻量化设计模式的好处 -使用举重装置,我们可以– +使用举重装置,我们可以 – * 减少可以相同控制的重物的内存消耗。 * 减少系统中“完整但相似的对象”的总数。 diff --git a/docs/misc2/120.md b/docs/misc2/120.md index 3ceb542e0cf41f65eb94eb3a28feb671363073f4..ec7b3ac5de1906d944ac2f491899554de56fd3de 100644 --- a/docs/misc2/120.md +++ b/docs/misc2/120.md @@ -33,9 +33,9 @@ Proxy design pattern #### 3.2。 设计参加者 -* **主题** –是一个接口,它公开了可供客户端使用的功能。 -* **实际主题** –是实现`Subject`的类,并且是具体的实现,需要隐藏在代理后面。 -* **代理** –通过扩展它来隐藏真实对象,并且客户端通过此代理对象与真实对象进行通信。 通常,当客户端请求真实对象时,框架会创建此代理对象。 +* **主题** – 是一个接口,它公开了可供客户端使用的功能。 +* **实际主题** – 是实现`Subject`的类,并且是具体的实现,需要隐藏在代理后面。 +* **代理** – 通过扩展它来隐藏真实对象,并且客户端通过此代理对象与真实对象进行通信。 通常,当客户端请求真实对象时,框架会创建此代理对象。 ## 4.代理设计模式示例 @@ -102,12 +102,12 @@ Performing work in real object #### 5.1。 有哪些不同类型的代理 -代理通常分为四种类型– +代理通常分为四种类型 – -1. **远程代理** –表示远程授乳的对象。 要与远程对象对话,客户端需要在网络通信方面做其他工作。 代理对象代表原始对象进行此通信,而客户端则专注于实际交谈。 -2. **虚拟代理** –延迟昂贵对象的创建和初始化,直到需要时才按需创建对象。 Hibernate 创建的代理实体是虚拟代理的示例。 -3. **保护代理** –帮助实现对原始对象的安全性。 他们可以在方法调用之前检查访问权限,然后根据结论允许或拒绝访问。 -4. **智能代理** –当客户端访问对象时,执行其他内部管理工作。 一个示例可以是在访问真实对象之前检查它是否已锁定,以确保没有其他对象可以更改它。 +1. **远程代理** – 表示远程授乳的对象。 要与远程对象对话,客户端需要在网络通信方面做其他工作。 代理对象代表原始对象进行此通信,而客户端则专注于实际交谈。 +2. **虚拟代理** – 延迟昂贵对象的创建和初始化,直到需要时才按需创建对象。 Hibernate 创建的代理实体是虚拟代理的示例。 +3. **保护代理** – 帮助实现对原始对象的安全性。 他们可以在方法调用之前检查访问权限,然后根据结论允许或拒绝访问。 +4. **智能代理** – 当客户端访问对象时,执行其他内部管理工作。 一个示例可以是在访问真实对象之前检查它是否已锁定,以确保没有其他对象可以更改它。 #### 5.2。 代理模式与装饰器模式 @@ -119,4 +119,4 @@ Performing work in real object 参考文献: -图片来源– [Wikipedia](https://en.wikipedia.org/wiki/Proxy_pattern) \ No newline at end of file +图片来源 – [Wikipedia](https://en.wikipedia.org/wiki/Proxy_pattern) \ No newline at end of file diff --git a/docs/misc2/122.md b/docs/misc2/122.md index 222eb4236ff4e84d41c604f743c6139292642850..3282032dd3ea4c544d21cabc41b40cacf575f646 100644 --- a/docs/misc2/122.md +++ b/docs/misc2/122.md @@ -118,7 +118,7 @@ LSP 的一个示例可以是 Spring 框架中的[自定义属性编辑器](https Spring 可以为一种数据类型注册一个属性编辑器,并且需要遵循**基类** `PropertyEditorSupport`强制的约束。 所以是任何扩展`PropertyEditorSupport`类的类,那么它可以被需要基类的任何地方替换。 -例如,每本书都有一个 ISBN 号,它始终是固定的显示格式。 您可以在数据库和 UI 中使用独立的 ISBN 表示形式。 为此,我们可以用以下方式编写属性编辑器– +例如,每本书都有一个 ISBN 号,它始终是固定的显示格式。 您可以在数据库和 UI 中使用独立的 ISBN 表示形式。 为此,我们可以用以下方式编写属性编辑器 – ```java import java.beans.PropertyEditorSupport; @@ -164,7 +164,7 @@ public class IsbnEditor extends PropertyEditorSupport { 查找 IPS 示例的最佳地方是 Java AWT 事件处理程序,用于处理从键盘和鼠标触发的 GUI 事件。 对于每种事件,它都有不同的侦听器类。 我们只需要编写希望处理的事件处理程序即可。 没有什么是强制性的。 -一些听众是– +一些听众是 – * FocusListener * 侦听器 diff --git a/docs/misc2/123.md b/docs/misc2/123.md index fe446a889a0cbb95c3a7a5ae6ace6f9fa452b458..80ac462524255cc692994b5928edba8393caa768 100644 --- a/docs/misc2/123.md +++ b/docs/misc2/123.md @@ -6,7 +6,7 @@ ## 1.开放封闭原则的定义 -有两种流行的定义来描述这一原理– +有两种流行的定义来描述这一原理 – #### 1.1。 迈耶的定义 @@ -18,9 +18,9 @@ Robert C. Martin 在他的书《 *敏捷软件开发:原理,模式和实践》(Prentice Hall,2003 年)*中定义了 OCP,如下所示: -**打开扩展** –这意味着可以扩展模块的行为。 随着应用程序需求的变化,我们能够通过满足这些变化的新行为来扩展模块。 换句话说,我们能够更改模块的功能。 +**打开扩展** – 这意味着可以扩展模块的行为。 随着应用程序需求的变化,我们能够通过满足这些变化的新行为来扩展模块。 换句话说,我们能够更改模块的功能。 -**已关闭,可修改** –扩展模块的行为不会导致模块的源代码或二进制代码更改。 模块的二进制可执行版本,无论是在可链接库,DLL 还是 Java .jar 中,都保持不变。 +**已关闭,可修改** – 扩展模块的行为不会导致模块的源代码或二进制代码更改。 模块的二进制可执行版本,无论是在可链接库,DLL 还是 Java .jar 中,都保持不变。 ## 2.讨论 @@ -54,7 +54,7 @@ Robert C. Martin 在他的书《 *敏捷软件开发:原理,模式和实践 在[接口](https://howtodoinjava.com/oops/exploring-interfaces-and-abstract-classes-in-java/)继承中,客户端对类的依赖关系被替换为接口。 与抽象方法相比,这实际上是首选方法。 这呼应了这样的建议,即首选组合而不是[继承](https://howtodoinjava.com/oops/java-inheritance/),并保持继承层次结构较浅,并且子分类层很少。 -> 设计继承或禁止继承。 –有效的 Java(Addison-Wesley,2008 年),约书亚·布洛赫(Joshua Bloch) +> 设计继承或禁止继承。 – 有效的 Java(Addison-Wesley,2008 年),约书亚·布洛赫(Joshua Bloch) ## 3.开闭原理示例 @@ -133,7 +133,7 @@ public class SimpleCalculator implements ICalculator ``` -上面的模块代码看起来不错并达到目的。 但是,在客户端应用程序中时,开发人员想要增加乘法功能–除了更改方法`calculate()`中的`SimpleCalculator`类代码外,他别无选择。 此代码不符合 OCP。 +上面的模块代码看起来不错并达到目的。 但是,在客户端应用程序中时,开发人员想要增加乘法功能 – 除了更改方法`calculate()`中的`SimpleCalculator`类代码外,他别无选择。 此代码不符合 OCP。 #### 3.2。 符合 OCP 的代码 diff --git a/docs/misc2/127.md b/docs/misc2/127.md index 3f360dd7d2372f7f333a191d76432e784d70689b..379e889d027c33e4254fa492675ba2aca21b2c6a 100644 --- a/docs/misc2/127.md +++ b/docs/misc2/127.md @@ -2,7 +2,7 @@ > 原文: [https://howtodoinjava.com/best-practices/first-principles-for-good-tests/](https://howtodoinjava.com/best-practices/first-principles-for-good-tests/) -在解决现实问题的任何应用程序中,单元测试中都存在问题–是最不希望的事情。 [好的书面测试](//howtodoinjava.com/best-practices/unit-testing-best-practices-junit-reference-guide/)是资产,而不好的书面测试是您应用程序的负担。 在本教程中,我们将学习**单元测试 FIRST 原理**,它可以使您的测试脱颖而出,并确保其收益超过成本。 +在解决现实问题的任何应用程序中,单元测试中都存在问题 – 是最不希望的事情。 [好的书面测试](//howtodoinjava.com/best-practices/unit-testing-best-practices-junit-reference-guide/)是资产,而不好的书面测试是您应用程序的负担。 在本教程中,我们将学习**单元测试 FIRST 原理**,它可以使您的测试脱颖而出,并确保其收益超过成本。 ## 良好单元测试的首要原则 @@ -48,11 +48,11 @@ #### 自我验证 -测试必须是自我验证的手段–每个测试都必须能够确定预期的输出与否。 它必须确定它失败或通过。 必须没有**人工解释结果**。 +测试必须是自我验证的手段 – 每个测试都必须能够确定预期的输出与否。 它必须确定它失败或通过。 必须没有**人工解释结果**。 手动验证测试结果是一个耗时的过程,也可能带来更多风险。 -确保您不会做任何愚蠢的事情,例如设计测试以要求在运行前需要手动安排步骤。 您必须自动执行测试所需的任何设置–甚至不依赖于数据库和预煮数据的存在。 +确保您不会做任何愚蠢的事情,例如设计测试以要求在运行前需要手动安排步骤。 您必须自动执行测试所需的任何设置 – 甚至不依赖于数据库和预煮数据的存在。 创建一个内存数据库,创建架构并放入虚拟数据,然后测试代码。 这样,您可以运行该测试 N 次,而不必担心会影响测试执行及其结果的任何外部因素。 diff --git a/docs/misc2/13.md b/docs/misc2/13.md index dd9ba39a4baa903655a6788fc0dda26680c54054..50d87234f9fa6ea097ed4efd76ae23f968cd78d9 100644 --- a/docs/misc2/13.md +++ b/docs/misc2/13.md @@ -1,4 +1,4 @@ -# GSON –序列化和反序列化 JSON +# GSON – 序列化和反序列化 JSON > 原文: [https://howtodoinjava.com/gson/gson-serialize-deserialize-json/](https://howtodoinjava.com/gson/gson-serialize-deserialize-json/) @@ -41,7 +41,7 @@ dependencies { ``` -## 2.序列化–使用 Gson 编写 JSON +## 2.序列化 – 使用 Gson 编写 JSON [在 Gson 上下文中的序列化](https://howtodoinjava.com/java/serialization/a-mini-guide-for-implementing-serializable-interface-in-java/)意味着将 Java 对象转换为其 JSON 表示形式。 为了进行序列化,我们需要一个 **Gson** 对象,该对象可以处理转换。 接下来,我们需要调用函数 **toJson()**,并传递`Employee`对象。 @@ -68,7 +68,7 @@ System.out.println(jsonString); ``` -## 2.反序列化–使用 Gson 读取 JSON +## 2.反序列化 – 使用 Gson 读取 JSON 在 Gson 上下文中,[反序列化](https://howtodoinjava.com/java/serialization/how-deserialization-process-happen-in-java/)意味着将 JSON 字符串转换为等效的 Java 对象。 为了进行反序列化,我们需要一个 **Gson** 对象,并从 Json()调用函数**,并在解析完成后传递两个参数,即 JSON 字符串和所需的 Java 类型。** diff --git a/docs/misc2/133.md b/docs/misc2/133.md index ca5ef306384f4b1d271f10f9dde5683a788dc40d..35d20bcfd9af06211d61dcdbc944cf74731aa702 100644 --- a/docs/misc2/133.md +++ b/docs/misc2/133.md @@ -26,7 +26,7 @@ Web 应用程序的性能对于任何公司和任何客户的项目成功都是 最后,衡量整体应用程序性能的提高并与基准进行比较。 仍然您落后,然后重复所有步骤。 -尽管上述步骤已经完成,但实际上需要完成哪些工作–以可衡量的方式提高性能,但您需要记住以下几点: +尽管上述步骤已经完成,但实际上需要完成哪些工作 – 以可衡量的方式提高性能,但您需要记住以下几点: * **开箱即用**。 例如 如果数据库查询花费时间,则不要过度使用 SQL 语句,而应考虑使用缓存。 * **永远不要假设/猜测任何东西**。 始终进行建议的更改并记录其效果。 diff --git a/docs/misc2/143.md b/docs/misc2/143.md index 5e2fbc597a39b0e42d73f70445278b41906f5f33..2fae6a84743da4760129adc763897406858a649a 100644 --- a/docs/misc2/143.md +++ b/docs/misc2/143.md @@ -1,4 +1,4 @@ -# Java 比较和交换示例– CAS 算法 +# Java 比较和交换示例 – CAS 算法 > 原文: [https://howtodoinjava.com/java/multi-threading/compare-and-swap-cas-algorithm/](https://howtodoinjava.com/java/multi-threading/compare-and-swap-cas-algorithm/) diff --git a/docs/misc2/145.md b/docs/misc2/145.md index 67bf94a6651ca3915dfe58c5155b2ae93e50fa9e..e536054e2cdbcd86842e5495bc9708cb3362bcd8 100644 --- a/docs/misc2/145.md +++ b/docs/misc2/145.md @@ -102,39 +102,39 @@ Hello, World! #### 7.1。 语言基础 -[Python –在 Sublime Editor 中安装](https://howtodoinjava.com/python/install-python-sublime-editor/) -[Python –注释](https://howtodoinjava.com/python/python-comments/) -[Python –变量](https://howtodoinjava.com/python/python-variables/) -[Python –数据类型](https://howtodoinjava.com/python/python-data-types/) -[Python –关键字](https://howtodoinjava.com/python/python-keywords/) -[Python –关键字](https://howtodoinjava.com/python/python-keywords/) -[Python –整数](https://howtodoinjava.com/python/python-integer-ints/) -[Python –字符串](https://howtodoinjava.com/python/python-strings/) -[Python –列出](https://howtodoinjava.com/python/python-lists/) -[Python –元组](https://howtodoinjava.com/python/python-tuples/) +[Python – 在 Sublime Editor 中安装](https://howtodoinjava.com/python/install-python-sublime-editor/) +[Python – 注释](https://howtodoinjava.com/python/python-comments/) +[Python – 变量](https://howtodoinjava.com/python/python-variables/) +[Python – 数据类型](https://howtodoinjava.com/python/python-data-types/) +[Python – 关键字](https://howtodoinjava.com/python/python-keywords/) +[Python – 关键字](https://howtodoinjava.com/python/python-keywords/) +[Python – 整数](https://howtodoinjava.com/python/python-integer-ints/) +[Python – 字符串](https://howtodoinjava.com/python/python-strings/) +[Python – 列出](https://howtodoinjava.com/python/python-lists/) +[Python – 元组](https://howtodoinjava.com/python/python-tuples/) #### 7.2。 弦乐 -[Python –字符串 split()示例](https://howtodoinjava.com/python/split-string/) -[Python –字符串 startswith()示例](https://howtodoinjava.com/python/string-startswith/) -[Python –字符串 endswith()示例](https://howtodoinjava.com/python/string-endswith-method/) +[Python – 字符串 split()示例](https://howtodoinjava.com/python/split-string/) +[Python – 字符串 startswith()示例](https://howtodoinjava.com/python/string-startswith/) +[Python – 字符串 endswith()示例](https://howtodoinjava.com/python/string-endswith-method/) #### 7.3。 馆藏 -[Python –查找列表或数组中的最大值和最小值](https://howtodoinjava.com/python/max-min/) -[Python –查找最大 N 个(前 N 个)或最小 N 个项](https://howtodoinjava.com/python/find-largest-smallest-items/) +[Python – 查找列表或数组中的最大值和最小值](https://howtodoinjava.com/python/max-min/) +[Python – 查找最大 N 个(前 N 个)或最小 N 个项](https://howtodoinjava.com/python/find-largest-smallest-items/) [Python-将元组解包为变量](https://howtodoinjava.com/python/unpack-tuple-sequence/) -[Python –元组比较](https://howtodoinjava.com/python/compare-tuples/) -[Python –列表与元组](https://howtodoinjava.com/python/lists-vs-tuples/) -[Python –解包元组–太多值无法解包](https://howtodoinjava.com/python/unpack-variable-length-tuple/) +[Python – 元组比较](https://howtodoinjava.com/python/compare-tuples/) +[Python – 列表与元组](https://howtodoinjava.com/python/lists-vs-tuples/) +[Python – 解包元组 – 太多值无法解包](https://howtodoinjava.com/python/unpack-variable-length-tuple/) [Python – Multidict 示例](https://howtodoinjava.com/python/multidict-key-to-multiple-values/) [Python – OrderedDict 示例](https://howtodoinjava.com/python/ordereddict-ordered-dictionary/) -[Python –字典交集](https://howtodoinjava.com/python/dictionary-intersection/) -[Python –优先级队列示例](https://howtodoinjava.com/python/priority-queue/) +[Python – 字典交集](https://howtodoinjava.com/python/dictionary-intersection/) +[Python – 优先级队列示例](https://howtodoinjava.com/python/priority-queue/) #### 7.4。 杂 -[Python –读写 CSV 文件](https://howtodoinjava.com/python/python-read-write-csv-files/) +[Python – 读写 CSV 文件](https://howtodoinjava.com/python/python-read-write-csv-files/) [Python – httplib2 库](https://howtodoinjava.com/python/httplib2-http-get-post-requests/) 在评论中向我发送有关 python 的问题。 diff --git a/docs/misc2/147.md b/docs/misc2/147.md index e3bbace8baa37ee92b14cb22fe2842c2f3de9dae..6ec9dbf09ce47bb7a50368e951ecf3c3d3d615f1 100644 --- a/docs/misc2/147.md +++ b/docs/misc2/147.md @@ -1,4 +1,4 @@ -# Python –评论 +# Python – 评论 > 原文: [https://howtodoinjava.com/python/python-comments/](https://howtodoinjava.com/python/python-comments/) diff --git a/docs/misc2/148.md b/docs/misc2/148.md index 33795e429aaa4a8d74a8c5735da59d54d895bebe..51e959aee0338acb269b3eb2014ed1614e265e10 100644 --- a/docs/misc2/148.md +++ b/docs/misc2/148.md @@ -1,4 +1,4 @@ -# Python –变量 +# Python – 变量 > 原文: [https://howtodoinjava.com/python/python-variables/](https://howtodoinjava.com/python/python-variables/) diff --git a/docs/misc2/149.md b/docs/misc2/149.md index e74944b0e8ddd51c1940a744d74e691eb8147e11..3f21e4d1c98c5c396f3b211dd83a25538c9700b4 100644 --- a/docs/misc2/149.md +++ b/docs/misc2/149.md @@ -1,4 +1,4 @@ -# Python –数据类型 +# Python – 数据类型 > 原文: [https://howtodoinjava.com/python/python-data-types/](https://howtodoinjava.com/python/python-data-types/) @@ -52,7 +52,7 @@ sumOfItems = str(100) # type conversion from int to string * `int`保留不限长度的有符号整数。 * `float`保留浮点精度数字,它们的精度最高为 15 个小数位。 -* `complex` –复数包含实部和虚部。 +* `complex` – 复数包含实部和虚部。 ```java x = 2 # int diff --git a/docs/misc2/15.md b/docs/misc2/15.md index 1fffc2fb9901a88895f2aae95a6b400a745ffd37..756f95f8dee91d47325f862d47adf0d0bbe32410 100644 --- a/docs/misc2/15.md +++ b/docs/misc2/15.md @@ -1,10 +1,10 @@ -# GSON –将 JSON 数组解析为 Java 数组或列表 +# GSON – 将 JSON 数组解析为 Java 数组或列表 > 原文: [https://howtodoinjava.com/gson/gson-parse-json-array/](https://howtodoinjava.com/gson/gson-parse-json-array/) 了解如何使用 Google GSON 库将包含 *json 数组*的 [JSON](https://restfulapi.net/introduction-to-json/) 反序列化或解析为 Java [数组](https://howtodoinjava.com/java-array/)或 Java 列表对象。 -值得一提的是,JSON 仅具有[数组数据类型](https://restfulapi.net/json-array/)。 Java 同时具有– [数组](https://howtodoinjava.com/java-array/)和[列表](https://howtodoinjava.com/java-arraylist/)。 +值得一提的是,JSON 仅具有[数组数据类型](https://restfulapi.net/json-array/)。 Java 同时具有 – [数组](https://howtodoinjava.com/java-array/)和[列表](https://howtodoinjava.com/java-arraylist/)。 ## 1.将 JSON 数组解析为根对象 @@ -55,7 +55,7 @@ public class User #### 1.1。 对象数组 -Java 程序将**反序列化为根**的 json 数组–转换为 Java 对象数组。 +Java 程序将**反序列化为根**的 json 数组 – 转换为 Java 对象数组。 ```java String userJson = "[{'name': 'Alex','id': 1}, " @@ -83,7 +83,7 @@ User [id=3, name=Charles] #### 1.2。 对象清单 -Java 程序**以根**的形式反序列化 json 数组– Java 对象列表。 +Java 程序**以根**的形式反序列化 json 数组 – Java 对象列表。 ```java import java.lang.reflect.Type; @@ -143,7 +143,7 @@ User [id=3, name=Charles] #### 2.1。 成员数组 -Java 程序将**反序列化 json 数组作为成员对象** –转换为 Java 对象数组作为成员字段。 +Java 程序将**反序列化 json 数组作为成员对象** – 转换为 Java 对象数组作为成员字段。 ```java public class Department @@ -190,7 +190,7 @@ Department [id=1, name=HR, #### 2.2。 会员名单 -Java 程序**将 json 数组反序列化为成员对象** –到 Java 对象列表的成员字段。 +Java 程序**将 json 数组反序列化为成员对象** – 到 Java 对象列表的成员字段。 ```java public class Department diff --git a/docs/misc2/150.md b/docs/misc2/150.md index 176ed9a7f74d611b1b570b0d8d1ae09dfa97ab53..1774cd86a8d2658dc01cce812fbe775ea970b12c 100644 --- a/docs/misc2/150.md +++ b/docs/misc2/150.md @@ -1,4 +1,4 @@ -# Python –关键字 +# Python – 关键字 > 原文: [https://howtodoinjava.com/python/python-keywords/](https://howtodoinjava.com/python/python-keywords/) diff --git a/docs/misc2/151.md b/docs/misc2/151.md index 097dedecaa3d9b7a715e15f81a9cac7645f16a28..34a6eb5fea8d1921327f007233e497a6b60c20d3 100644 --- a/docs/misc2/151.md +++ b/docs/misc2/151.md @@ -1,4 +1,4 @@ -# Python –字符串 +# Python – 字符串 > 原文: [https://howtodoinjava.com/python/python-strings/](https://howtodoinjava.com/python/python-strings/) diff --git a/docs/misc2/152.md b/docs/misc2/152.md index 3c2fd363f40f808a4aa648645fb0ce2c8ce8beca..887c2a17031008392322e451e9db43930fd0fdb9 100644 --- a/docs/misc2/152.md +++ b/docs/misc2/152.md @@ -1,4 +1,4 @@ -# Python –列表 +# Python – 列表 > 原文: [https://howtodoinjava.com/python/python-lists/](https://howtodoinjava.com/python/python-lists/) @@ -363,4 +363,4 @@ print (charList) # ["a", "b", "c", "d"] 阅读更多: -[Python –列表与元组](https://howtodoinjava.com/python/lists-vs-tuples/) \ No newline at end of file +[Python – 列表与元组](https://howtodoinjava.com/python/lists-vs-tuples/) \ No newline at end of file diff --git a/docs/misc2/153.md b/docs/misc2/153.md index 7bb0e8ec1fd2bb774ac04d8b4e86e0832b4176b4..27799d0a3951aeb6362b674187892103047fd333 100644 --- a/docs/misc2/153.md +++ b/docs/misc2/153.md @@ -1,4 +1,4 @@ -# Python –元组 +# Python – 元组 > 原文: [https://howtodoinjava.com/python/python-tuples/](https://howtodoinjava.com/python/python-tuples/) @@ -157,7 +157,7 @@ Tuple = ("a", "b", "c") **拆包**称为将元组变量分配给另一个元组,并将元组中的各个项目分配给各个变量的操作。 -在给定的示例中,将元组解包为新的元组,并将值`"a", "b" and "c"` –分配给变量`x, y and z`。 +在给定的示例中,将元组解包为新的元组,并将值`"a", "b" and "c"` – 分配给变量`x, y and z`。 ```java Tuple = ("a", "b", "c") # Packing @@ -271,5 +271,5 @@ print( sum( Tuple ) ) # 22 阅读更多 : -[Python –元组比较](https://howtodoinjava.com/python/compare-tuples/) -[Python –列表与元组](https://howtodoinjava.com/python/lists-vs-tuples/) \ No newline at end of file +[Python – 元组比较](https://howtodoinjava.com/python/compare-tuples/) +[Python – 列表与元组](https://howtodoinjava.com/python/lists-vs-tuples/) \ No newline at end of file diff --git a/docs/misc2/154.md b/docs/misc2/154.md index 74c6027646bf36052ec6c94b943c7e74b172b4d3..90effbf3bc461fcbd240ad565dceadff8f352ddd 100644 --- a/docs/misc2/154.md +++ b/docs/misc2/154.md @@ -1,4 +1,4 @@ -# Python max()和 min()–在列表或数组中查找最大值和最小值 +# Python max()和 min()– 在列表或数组中查找最大值和最小值 > 原文: [https://howtodoinjava.com/python/max-min/](https://howtodoinjava.com/python/max-min/) @@ -6,7 +6,7 @@ Python 示例使用 **max()**和 **min()**方法在可比较元素的集 ## 1\. Python max()函数 -`max()`功能用于– +`max()`功能用于 – 1. 计算在其参数中传递的最大值。 2. 如果字符串作为参数传递,则在字典上的最大值。 @@ -56,7 +56,7 @@ Python 示例使用 **max()**和 **min()**方法在可比较元素的集 ## 2\. Python min()函数 -此功能用于– +此功能用于 – 1. 计算在其参数中传递的最小值。 2. 如果字符串作为参数传递,则在字典上的最小值。 diff --git a/docs/misc2/155.md b/docs/misc2/155.md index f1c8635ac1ac94feb5c18f1638a7ced9c5744edb..629e53c4a4b60723029afa0835c2b45411243eeb 100644 --- a/docs/misc2/155.md +++ b/docs/misc2/155.md @@ -6,7 +6,7 @@ Python 示例使用 **heapq** 库中的 **nlargest()**和 **nsmallest()* ## 1.使用 heapq 模块的 nlargest()和 nsmallest() -Python `heapq`模块可用于**从集合中找到 N 个最大或最小的项目**。 它具有两个功能来帮助– +Python `heapq`模块可用于**从集合中找到 N 个最大或最小的项目**。 它具有两个功能来帮助 – 1. `nlargest()` 2. `nsmallest()` diff --git a/docs/misc2/158.md b/docs/misc2/158.md index e5c19d626c9bbb0bfa7906ccb16007706fac2322..ae1e4071f9ceec21e7ce2b3ceaca89093ece239c 100644 --- a/docs/misc2/158.md +++ b/docs/misc2/158.md @@ -8,7 +8,7 @@ Python 示例将 N 元素元组或序列解压缩为 N 个变量的集合。 Pyt 可以使用简单的赋值操作将任何序列(或可迭代)解压缩为变量。 唯一的要求是变量和结构的**数量与序列**匹配。 -#### 1.1。 解压示例– 1 +#### 1.1。 解压示例 – 1 ```java >>> data = (1, 2, 3) @@ -22,7 +22,7 @@ Python 示例将 N 元素元组或序列解压缩为 N 个变量的集合。 Pyt ``` -#### 1.2。 解压示例– 2 +#### 1.2。 解压示例 – 2 ```java >>> data = [ 'Lokesh', 37, 73.5, (1981, 1, 1) ] @@ -49,7 +49,7 @@ Python 示例将 N 元素元组或序列解压缩为 N 个变量的集合。 Pyt ``` -#### 1.3。 解压示例– 3 +#### 1.3。 解压示例 – 3 ```java >>> greeting = 'Hello' diff --git a/docs/misc2/159.md b/docs/misc2/159.md index 69d186d8f82b659244c6a4701b84533292744725..fd9b53ff2b15022c256fc61008141cf727c8e56a 100644 --- a/docs/misc2/159.md +++ b/docs/misc2/159.md @@ -1,4 +1,4 @@ -# Python 解包元组–太多值无法解包 +# Python 解包元组 – 太多值无法解包 > 原文: [https://howtodoinjava.com/python/unpack-variable-length-tuple/](https://howtodoinjava.com/python/unpack-variable-length-tuple/) diff --git a/docs/misc2/16.md b/docs/misc2/16.md index b3881468a1764724eab2af4ff6791471837e5292..e5c0fe0ea97f2b9e8cfa1cb4d614c625379bdb48 100644 --- a/docs/misc2/16.md +++ b/docs/misc2/16.md @@ -1,4 +1,4 @@ -# GSON –序列化和反序列化 JSON 以进行设置 +# GSON – 序列化和反序列化 JSON 以进行设置 > 原文: [https://howtodoinjava.com/gson/gson-serialize-deserialize-set/](https://howtodoinjava.com/gson/gson-serialize-deserialize-set/) diff --git a/docs/misc2/160.md b/docs/misc2/160.md index 19f69ff20f6d954b72e3292a0ce7ac6e763b5b97..3d26c83164335ab465740d2bdecdf59831bd0e56 100644 --- a/docs/misc2/160.md +++ b/docs/misc2/160.md @@ -1,4 +1,4 @@ -# Python multidict 示例–将单个键映射到字典中的多个值 +# Python multidict 示例 – 将单个键映射到字典中的多个值 > 原文: [https://howtodoinjava.com/python/multidict-key-to-multiple-values/](https://howtodoinjava.com/python/multidict-key-to-multiple-values/) diff --git a/docs/misc2/161.md b/docs/misc2/161.md index acf6f2d2581876682b1fcb4e8fb0eac598321480..61efbe48862d998a94afbb27e1c53363d4e3d879 100644 --- a/docs/misc2/161.md +++ b/docs/misc2/161.md @@ -1,4 +1,4 @@ -# Python OrderedDict –有序字典 +# Python OrderedDict – 有序字典 > 原文: [https://howtodoinjava.com/python/ordereddict-ordered-dictionary/](https://howtodoinjava.com/python/ordereddict-ordered-dictionary/) diff --git a/docs/misc2/162.md b/docs/misc2/162.md index d10f6b5f8a5c3acbeab74b00a2f169f9330869cc..bfecba5e725af0e90b09a4fa8e9a438052be93f2 100644 --- a/docs/misc2/162.md +++ b/docs/misc2/162.md @@ -1,4 +1,4 @@ -# Python 字典交集–比较两个字典 +# Python 字典交集 – 比较两个字典 > 原文: [https://howtodoinjava.com/python/dictionary-intersection/](https://howtodoinjava.com/python/dictionary-intersection/) diff --git a/docs/misc2/164.md b/docs/misc2/164.md index 49bd4396a1d265cd75d4adf6d194d56be493627f..5e997b99c158a9355e2279bc9bf370d6d35d4407 100644 --- a/docs/misc2/164.md +++ b/docs/misc2/164.md @@ -4,7 +4,7 @@ [RxJava 2.0](http://reactivex.io/) 是 Java 的开源扩展,用于 NetFlix 的异步编程。 如 [java 8 lambda 表达式](//howtodoinjava.com/java8/complete-lambda-expressions-tutorial-in-java/)中所示,它与函数式编程更加接近。 反应代码的基本构建块是*可观察对象*和*订户*。 `Observable`发出项目; `Subscriber`消耗这些项目。 -RxJava 看起来也像[观察者设计模式](https://howtodoinjava.com/design-patterns/behavioral/observer-design-pattern/),但有所不同–可观察对象通常不会开始发布项目,除非有人明确订阅它们。 +RxJava 看起来也像[观察者设计模式](https://howtodoinjava.com/design-patterns/behavioral/observer-design-pattern/),但有所不同 – 可观察对象通常不会开始发布项目,除非有人明确订阅它们。 ```java Table of Contents diff --git a/docs/misc2/17.md b/docs/misc2/17.md index 84357a3f6c340608484c4d324f887b3a6909a49f..ce5e3ad10ea9228397b6d2c1aee6b76696b4644d 100644 --- a/docs/misc2/17.md +++ b/docs/misc2/17.md @@ -1,4 +1,4 @@ -# Gson –序列化和反序列化包含自定义对象的 HashMap +# Gson – 序列化和反序列化包含自定义对象的 HashMap > 原文: [https://howtodoinjava.com/gson/gson-serialize-deserialize-hashmap/](https://howtodoinjava.com/gson/gson-serialize-deserialize-hashmap/) diff --git a/docs/misc2/172.md b/docs/misc2/172.md index bec07ad49bb9579f8fa1f2e7a060cc3e10b29cc3..543282ba3358cd7772214cb282306ac138a7c792 100644 --- a/docs/misc2/172.md +++ b/docs/misc2/172.md @@ -1,4 +1,4 @@ -# SQL –删除没有临时表的重复行 +# SQL – 删除没有临时表的重复行 > 原文: [https://howtodoinjava.com/sql/how-to-remove-duplicate-rows-in-mysql-without-using-temporary-table/](https://howtodoinjava.com/sql/how-to-remove-duplicate-rows-in-mysql-without-using-temporary-table/) diff --git a/docs/misc2/179.md b/docs/misc2/179.md index 8bdec933a83be71469af29088870ca4c8742389a..47f42c78f8bd85d1b4000fd8b4b85c85b575d735 100644 --- a/docs/misc2/179.md +++ b/docs/misc2/179.md @@ -1,4 +1,4 @@ -# Struts 2 –如何正确设置结果路径 +# Struts 2 – 如何正确设置结果路径 > 原文: [https://howtodoinjava.com/struts2/how-to-correctly-set-result-path-in-struts-2/](https://howtodoinjava.com/struts2/how-to-correctly-set-result-path-in-struts-2/) diff --git a/docs/misc2/18.md b/docs/misc2/18.md index 2fe963447e7a863e742e38615fd2b424830b6cf5..5b71031d336e6fe0b6eb2d23c69fcb3276291a2f 100644 --- a/docs/misc2/18.md +++ b/docs/misc2/18.md @@ -11,7 +11,7 @@ Gson gson = new GsonBuilder().create(); ``` -## 1\. GsonBuilder.setPrettyPrinting()–漂亮的打印 JSON +## 1\. GsonBuilder.setPrettyPrinting()– 漂亮的打印 JSON 默认情况下,Gson 将创建缩小的 JSON 字符串。 这对于减少通过网络传输的数据量非常重要。 @@ -138,7 +138,7 @@ Gson 将确保在将 Java 字段名称的第一个“字母”序列化为 JSON ``` -## 3\. GsonBuilder.serializeNulls()–空值的序列化 +## 3\. GsonBuilder.serializeNulls()– 空值的序列化 默认情况下,Gson 在序列化过程中会忽略`null`属性。 但是,有时我们想序列化具有空值的字段,以便它必须出现在 JSON 中。 为此,请使用 **serializeNulls()**方法。 @@ -195,7 +195,7 @@ Gson gson = new GsonBuilder() ``` -## 5\. GsonBuilder.setLenient()–宽松的 JSON 语法规则 +## 5\. GsonBuilder.setLenient()– 宽松的 JSON 语法规则 在反序列化期间,Gson 使用了一个不太宽大的 *JsonReader* 类。 这意味着它仅接受兼容的 JSON 输入。 如果 JSON 违反结构规则之一,它将抛出 **MalformedJsonException** 。 diff --git a/docs/misc2/187.md b/docs/misc2/187.md index ce04b36068f35072a8c470fb41e465e3801e37e9..6bf1a43c1beb5e184106dfbc6ccaba665e9e976c 100644 --- a/docs/misc2/187.md +++ b/docs/misc2/187.md @@ -1,4 +1,4 @@ -# HTML5 –部分代码示例 +# HTML5 – 部分代码示例 > 原文: [https://howtodoinjava.com/html5/html5-section-tag/](https://howtodoinjava.com/html5/html5-section-tag/) diff --git a/docs/misc2/188.md b/docs/misc2/188.md index 18332f97031d7d56bb361e44d699cbbfbd7fa65d..bdf2728788044b958a9cee80bfa0d3ea6213e356 100644 --- a/docs/misc2/188.md +++ b/docs/misc2/188.md @@ -1,4 +1,4 @@ -# HTML5 字符集–字符编码声明 +# HTML5 字符集 – 字符编码声明 > 原文: [https://howtodoinjava.com/html5/html5-charset/](https://howtodoinjava.com/html5/html5-charset/) diff --git a/docs/misc2/191.md b/docs/misc2/191.md index ab9ef0799fb407f387251eb832817e059e317a5f..799d2e161c909612786788fa6af25a9118b6e083 100644 --- a/docs/misc2/191.md +++ b/docs/misc2/191.md @@ -18,6 +18,6 @@ * [如何反转字符串](//howtodoinjava.com/puzzles/how-to-reverse-string-in-java/) * [从系列](//howtodoinjava.com/puzzles/find-missing-number-from-series/)中查找丢失的号码 -如果被问到,别忘了分享更多这样的难题–并且您认为它们可以帮助其他人。 +如果被问到,别忘了分享更多这样的难题 – 并且您认为它们可以帮助其他人。 学习愉快! \ No newline at end of file diff --git a/docs/misc2/192.md b/docs/misc2/192.md index 0a788ba50b8a1f45f296fd1210ef6897b8a79608..88f2de2b799d778c6f169c4b5a23acf5042857c8 100644 --- a/docs/misc2/192.md +++ b/docs/misc2/192.md @@ -38,7 +38,7 @@ public class IdentifyProblemsInCode { 我将在下一节中给出上述难题的答案,但我建议您先尝试一下。 它只是为了好玩。 -## 2.解决方案–代码无效 +## 2.解决方案 – 代码无效 我们所有人都必须面对与“ **Unreachable code** ”相关的编译**错误**,并且有些人可能已经注意到“ **无效代码警告**”。 以上难题仅与他们有关。 @@ -54,7 +54,7 @@ public class IdentifyProblemsInCode { 方法 2 中无法访问的代码称为“ **死代码**”。 这是**纯粹是 Eclipse 编译器报告的错误**,如果您使用“ ***javac*** ”编译上述类,则 Java 内置编译器将仅抱怨其他两种方法。 [第一和第三]。 -> **引用 Java 语言规范–** +> **引用 Java 语言规范 –** > > “我们的想法是,从包含该语句的构造函数,方法,实例初始化程序或静态初始化程序的开始,必须有一些可能的执行路径。 分析考虑了语句的结构。 > diff --git a/docs/misc2/193.md b/docs/misc2/193.md index eee4ce39e86938bdda2745a1e67fad2bbd92ddf8..df1354f3449090619325805de797ab24d2db53d7 100644 --- a/docs/misc2/193.md +++ b/docs/misc2/193.md @@ -1,4 +1,4 @@ -# Java 字符串回文– Java 数字回文示例 +# Java 字符串回文 – Java 数字回文示例 > 原文: [https://howtodoinjava.com/puzzles/java-string-palindrome-number-palindrome/](https://howtodoinjava.com/puzzles/java-string-palindrome-number-palindrome/) diff --git a/docs/misc2/197.md b/docs/misc2/197.md index ee35518cb6f1a7535c3a03c4e06467f0d5957bdc..af45e2799bcc133c40c20183a0febe08346f4010 100644 --- a/docs/misc2/197.md +++ b/docs/misc2/197.md @@ -1,4 +1,4 @@ -# Java 难题–查找所有重复的元素 +# Java 难题 – 查找所有重复的元素 > 原文: [https://howtodoinjava.com/puzzles/find-all-duplicate-elements/](https://howtodoinjava.com/puzzles/find-all-duplicate-elements/) diff --git a/docs/misc2/198.md b/docs/misc2/198.md index 7c964466fab87b83f61cfcb8e947e4f38a12794c..849e50caffaa665a8b56f3fa48f22c68a7fccd8f 100644 --- a/docs/misc2/198.md +++ b/docs/misc2/198.md @@ -1,4 +1,4 @@ -# Java 难题– TreeMap 的放置操作 +# Java 难题 – TreeMap 的放置操作 > 原文: [https://howtodoinjava.com/puzzles/java-puzzle-treemap-put-operation/](https://howtodoinjava.com/puzzles/java-puzzle-treemap-put-operation/) diff --git a/docs/misc2/199.md b/docs/misc2/199.md index 40e3d2fc1f44cff9ae0b085005b0ac55a597a9d3..a541b5d1a6a7a306738a17b66fb5170b4be627fa 100644 --- a/docs/misc2/199.md +++ b/docs/misc2/199.md @@ -1,4 +1,4 @@ -# 拼图–返回所有字符串的第 N 个最长长度 +# 拼图 – 返回所有字符串的第 N 个最长长度 > 原文: [https://howtodoinjava.com/puzzles/puzzle-return-all-the-strings-with-the-nth-longest-length/](https://howtodoinjava.com/puzzles/puzzle-return-all-the-strings-with-the-nth-longest-length/) diff --git a/docs/misc2/20.md b/docs/misc2/20.md index a3fe6a5742dbae7bcac7d71a803a3a706d16c23e..d5459e1f809a51ef72f34eaa17eae3821c7cb26f 100644 --- a/docs/misc2/20.md +++ b/docs/misc2/20.md @@ -1,4 +1,4 @@ -# Gson @Since –版本支持 +# Gson @Since – 版本支持 > 原文: [https://howtodoinjava.com/gson/gson-since-version-support/](https://howtodoinjava.com/gson/gson-since-version-support/) @@ -8,7 +8,7 @@ ## 1\. Gson @Since 注解 -在 [Gson](https://howtodoinjava.com/learningpaths/gson/) 中,可以通过使用`@Since`注释来维护同一对象的多个版本。 可以在类,字段以及将来的方法中使用此注释。 它采用单个参数– **ignoreVersionsAfter** 。 +在 [Gson](https://howtodoinjava.com/learningpaths/gson/) 中,可以通过使用`@Since`注释来维护同一对象的多个版本。 可以在类,字段以及将来的方法中使用此注释。 它采用单个参数 – **ignoreVersionsAfter** 。 当我们用版本号`'M.N'`配置`Gson`实例时,所有标记有**版本大于`M.N`的类字段将被忽略**。 diff --git a/docs/misc2/200.md b/docs/misc2/200.md index e067488f7a2969b9d4b7bc1eb85d32689aaf8c04..ecc655ca0bd2efce1749adac07b298106086ca86 100644 --- a/docs/misc2/200.md +++ b/docs/misc2/200.md @@ -1,4 +1,4 @@ -# Java 难题:好的字符串–坏的字符串 +# Java 难题:好的字符串 – 坏的字符串 > 原文: [https://howtodoinjava.com/puzzles/java-puzzle-good-string-bad-string/](https://howtodoinjava.com/puzzles/java-puzzle-good-string-bad-string/) diff --git a/docs/misc2/201.md b/docs/misc2/201.md index 84b5a14aa55d453f111121226b750e40d561b8c5..7b17edca5d6becec9dce519f13a270a4947bb43b 100644 --- a/docs/misc2/201.md +++ b/docs/misc2/201.md @@ -1,4 +1,4 @@ -# 拼图–检查字符串是否完整(包含所有字母) +# 拼图 – 检查字符串是否完整(包含所有字母) > 原文: [https://howtodoinjava.com/puzzles/puzzle-check-if-string-is-complete-contains-all-alphabets/](https://howtodoinjava.com/puzzles/puzzle-check-if-string-is-complete-contains-all-alphabets/) diff --git a/docs/misc2/203.md b/docs/misc2/203.md index 85eeb9d9926e99553721dcc76a998a8ab9caf323..c231a4fe67c9b18c4ece38d38d72d3e172b638f0 100644 --- a/docs/misc2/203.md +++ b/docs/misc2/203.md @@ -2,7 +2,7 @@ > 原文: [https://howtodoinjava.com/puzzles/3-ways-to-calculate-factorial-in-java/](https://howtodoinjava.com/puzzles/3-ways-to-calculate-factorial-in-java/) -编写程序以用 Java 计算[阶乘](https://en.wikipedia.org/wiki/Factorial) –可能是 [Java 访谈](//howtodoinjava.com/java-interview-questions/)期间的编码练习。 最好了解如何构建这样的析因程序。 让我们经历以下三种方式: +编写程序以用 Java 计算[阶乘](https://en.wikipedia.org/wiki/Factorial) – 可能是 [Java 访谈](//howtodoinjava.com/java-interview-questions/)期间的编码练习。 最好了解如何构建这样的析因程序。 让我们经历以下三种方式: ## 1)使用迭代计算阶乘 @@ -47,7 +47,7 @@ public static long factorialStreams( long n ) ``` * 在这里,`[LongStream](https://docs.oracle.com/javase/8/docs/api/java/util/stream/LongStream.html).rangeClosed(2, n)`方法创建内容为`[2, 3, ... , n]`的 long 流。 -* `reduce (a, b) -> a * b`表示每对`a`和`b` –将它们相乘并返回结果。 然后结果继续到下一轮。 +* `reduce (a, b) -> a * b`表示每对`a`和`b` – 将它们相乘并返回结果。 然后结果继续到下一轮。 * 在简化方法中使用的值“ 1”在第一次迭代中用作变量`a`的起始值。 ## 4)使用 BigInteger 计算大于 20 的数字的阶乘 diff --git a/docs/misc2/205.md b/docs/misc2/205.md index bbca72711ec983f48abb5da97a05c02e93b8d304..116e8b11aa4ee5e4bb4bddf0804e8aa747d3dc34 100644 --- a/docs/misc2/205.md +++ b/docs/misc2/205.md @@ -2,7 +2,7 @@ > 原文: [https://howtodoinjava.com/puzzles/find-missing-number-from-series/](https://howtodoinjava.com/puzzles/find-missing-number-from-series/) -在 [Java 访谈](https://howtodoinjava.com/java-interview-questions/)上,一个常见的难题是–从一系列数字或数组中找到缺失的数字。 这个难题已经在 Amazon.com 中问过。 +在 [Java 访谈](https://howtodoinjava.com/java-interview-questions/)上,一个常见的难题是 – 从一系列数字或数组中找到缺失的数字。 这个难题已经在 Amazon.com 中问过。 在这个 Java 难题中,您有一系列数字开头(例如 1….N),而该系列中恰好缺少一个数字。 您必须编写一个 **Java 程序来查找**系列中的缺失数字。 @@ -45,7 +45,7 @@ Output: ``` -## 查找电话号码的解决方案– Java 8 +## 查找电话号码的解决方案 – Java 8 上面的代码虽然很简单,但是可以使用新语言功能(例如 [Java 8](https://howtodoinjava.com/java-8-tutorial/) 中的 [lambda](https://howtodoinjava.com/java8/complete-lambda-expressions-tutorial-in-java/) )减少许多行。 让我们看看如何? diff --git a/docs/misc2/206.md b/docs/misc2/206.md index e2961b8fb320fe666dd4b5ae438a47803e7814f5..ce223909e461234a610ffaac9c31e1dd4d053fc0 100644 --- a/docs/misc2/206.md +++ b/docs/misc2/206.md @@ -1,4 +1,4 @@ -# Java –创建不带“ new”关键字的对象 +# Java – 创建不带“ new”关键字的对象 > 原文: [https://howtodoinjava.com/puzzles/how-to-create-an-instance-of-any-class-without-using-new-keyword/](https://howtodoinjava.com/puzzles/how-to-create-an-instance-of-any-class-without-using-new-keyword/) diff --git a/docs/misc2/208.md b/docs/misc2/208.md index 1f3481e68db70821befc3a056048beac4ccce40c..2e32ee194471a50f0b3d85798f69cef05127d1b3 100644 --- a/docs/misc2/208.md +++ b/docs/misc2/208.md @@ -16,9 +16,9 @@ 该系列分为 3 部分。 这些问题将帮助您在很短的时间内快速修订最常见的核心 Java 问题。 开始准备下一次面试的最佳方法。 -* [核心 Java 面试问题–第 1 部分](//howtodoinjava.com/java/interviews-questions/core-java-interview-questions-series-part-1/) -* [核心 Java 面试问题–第 2 部分](//howtodoinjava.com/java/interviews-questions/core-java-interview-questions-series-part-2/) -* [核心 Java 面试问题–第 3 部分](//howtodoinjava.com/java/interviews-questions/core-java-interview-questions-series-part-3/) +* [核心 Java 面试问题 – 第 1 部分](//howtodoinjava.com/java/interviews-questions/core-java-interview-questions-series-part-1/) +* [核心 Java 面试问题 – 第 2 部分](//howtodoinjava.com/java/interviews-questions/core-java-interview-questions-series-part-2/) +* [核心 Java 面试问题 – 第 3 部分](//howtodoinjava.com/java/interviews-questions/core-java-interview-questions-series-part-3/) #### 1.2。 [对象初始化最佳做法](//howtodoinjava.com/java/related-concepts/object-initialization-best-practices-internal-caching-in-wrapper-classes/) @@ -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 如何解决冲突? @@ -53,7 +53,7 @@ HashMap 不是线程安全的。 我们可以在并发应用程序中使用 **Ha 我是否应该建议您准备**收集框架**及其所有主要类别? 我想你已经足够聪明了。 -如果没有任何与馆藏框架有关的问题,则任何面试(初中和中级)都将是不完整的。 它真正测试您的编程技能和对核心 Java API 的了解。 问题可能像集合层次结构一样简单,而困难的问题例如队列和堆栈。 这是此类常见收藏采访问题的列表– +如果没有任何与馆藏框架有关的问题,则任何面试(初中和中级)都将是不完整的。 它真正测试您的编程技能和对核心 Java API 的了解。 问题可能像集合层次结构一样简单,而困难的问题例如队列和堆栈。 这是此类常见收藏采访问题的列表 – * 解释馆藏层次? * **设置**和**列表**之间的区别? @@ -98,7 +98,7 @@ HashMap 不是线程安全的。 我们可以在并发应用程序中使用 **Ha #### 1.11。 [枚举面试问题](//howtodoinjava.com/java-5/guide-for-understanding-enum-in-java/) -枚举已成为核心构建块很长时间了。 在大多数流行的 Java 库中都可以看到它们。 它们帮助您以更加面向对象的方式管理常量。 它们看起来非常简单,但是如果您深入研究,它们会隐藏很多复杂性。 一些枚举问题可能是– +枚举已成为核心构建块很长时间了。 在大多数流行的 Java 库中都可以看到它们。 它们帮助您以更加面向对象的方式管理常量。 它们看起来非常简单,但是如果您深入研究,它们会隐藏很多复杂性。 一些枚举问题可能是 – * 枚举与枚举类之间的区别? * 枚举可以与 String 一起使用吗? @@ -109,7 +109,7 @@ HashMap 不是线程安全的。 我们可以在并发应用程序中使用 **Ha #### 1.12。 [Java 序列化和可序列化接口](//howtodoinjava.com/java/serialization/a-mini-guide-for-implementing-serializable-interface-in-java/) -如果您准备对电信公司或在其应用程序流程中使用**序列化**的任何此类域进行 Java 采访,那么您将从本教程中受益匪浅。 用 Java 进行序列化的可做与不可做的一个很好的清单。 可能的问题可能包括– +如果您准备对电信公司或在其应用程序流程中使用**序列化**的任何此类域进行 Java 采访,那么您将从本教程中受益匪浅。 用 Java 进行序列化的可做与不可做的一个很好的清单。 可能的问题可能包括 – * 什么是 **serialVersionUID** ? * 什么是 **readObject** 和 **writeObject** ? @@ -179,7 +179,7 @@ Java 中的对象**克隆**并非易事。 我自己花了很长时间了解 Jav 这也是一个非常受欢迎的面试问题。 如果您的角色要求为并发应用程序创建设计,那么您必须知道此问题的正确答案。 这个问题的答案决定了您在两者之间选择哪种结构。 -此外,它将帮助您回答一些基本问题,例如– +此外,它将帮助您回答一些基本问题,例如 – * 线程和可运行之间的区别? * 编写 Java 代码以使用 Runnable 接口创建线程? diff --git a/docs/misc2/209.md b/docs/misc2/209.md index ab9ef0799fb407f387251eb832817e059e317a5f..799d2e161c909612786788fa6af25a9118b6e083 100644 --- a/docs/misc2/209.md +++ b/docs/misc2/209.md @@ -18,6 +18,6 @@ * [如何反转字符串](//howtodoinjava.com/puzzles/how-to-reverse-string-in-java/) * [从系列](//howtodoinjava.com/puzzles/find-missing-number-from-series/)中查找丢失的号码 -如果被问到,别忘了分享更多这样的难题–并且您认为它们可以帮助其他人。 +如果被问到,别忘了分享更多这样的难题 – 并且您认为它们可以帮助其他人。 学习愉快! \ No newline at end of file diff --git a/docs/misc2/21.md b/docs/misc2/21.md index e6fa4760761cf6cd0b34f886997c756d2e7d2e80..5cc504a57ee075ac0f58dc0af75b239afa939d8c 100644 --- a/docs/misc2/21.md +++ b/docs/misc2/21.md @@ -16,8 +16,8 @@ 它接受两个属性: -* `value` –序列化或反序列化时所需的字段名称。 -* `alternate` –反序列化字段时的备用名称。 除了*'值'*属性以外,它还提供更多可能的名称。 如果有多个字段匹配一个属性,则 Gson 将使用最后处理的那个。 +* `value` – 序列化或反序列化时所需的字段名称。 +* `alternate` – 反序列化字段时的备用名称。 除了*'值'*属性以外,它还提供更多可能的名称。 如果有多个字段匹配一个属性,则 Gson 将使用最后处理的那个。 > 请记住,具有多个名称的`alternate`选项仅限于反序列化。 在序列化中,不会有任何影响。 diff --git a/docs/misc2/210.md b/docs/misc2/210.md index 639cce883e235a6da56ae06347b1586dc918b7d5..bb0e345024e2cafb7e67926e86ab4fd7f05ff588 100644 --- a/docs/misc2/210.md +++ b/docs/misc2/210.md @@ -345,7 +345,7 @@ default: ## 15.编写一个程序以打印 String 的所有排列? -排列是对字符的有序列表的元素进行重新排列,以使每个排列相对于其他排列都是唯一的。 例如 以下是字符串“ ABC”的排列– ABC ACB BAC BCA CBA CAB。 +排列是对字符的有序列表的元素进行重新排列,以使每个排列相对于其他排列都是唯一的。 例如 以下是字符串“ ABC”的排列 – ABC ACB BAC BCA CBA CAB。 > 长度为`N`的字符串具有`N! (N Factorial)`排列。 diff --git a/docs/misc2/211.md b/docs/misc2/211.md index 99bb2210b8b8045cea295ac2979d9e78ae12fb89..1c284d534496dc44bf00604745f6f004dea81202 100644 --- a/docs/misc2/211.md +++ b/docs/misc2/211.md @@ -1,4 +1,4 @@ -# Java 核心面试问题–第 1 部分 +# Java 核心面试问题 – 第 1 部分 > 原文: [https://howtodoinjava.com/interview-questions/core-java-interview-questions-series-part-1/](https://howtodoinjava.com/interview-questions/core-java-interview-questions-series-part-1/) @@ -31,7 +31,7 @@ When do you override hashCode and equals()? 3. 不允许子类覆盖方法。 最简单的方法是将类声明为`final`。 Java 中的最终类不能被覆盖。 4. 永远记住,您的实例变量将是可变的或不可变的。 标识它们并返回具有所有可变对象(对象引用)复制内容的新对象。 不变的变量(原始类型)可以安全地返回,而无需付出额外的努力。 -另外,您应该记住不变类的以下好处。 面试期间您可能需要它们。 不变的类– +另外,您应该记住不变类的以下好处。 面试期间您可能需要它们。 不变的类 – * 易于构建,测试和使用 * 自动是线程安全的,并且没有同步问题 @@ -69,8 +69,8 @@ Java 规范说 Java 中的 ***都是按值传递*** 。 在 Java 中,没有“ `java.sql.Date`是`java.util.Date`的子类(扩展)。 因此,`java.sql.Date`中发生了什么变化: – `toString()`生成不同的字符串表示形式: **yyyy-mm-dd** -–一种`static valueOf(String)`方法,从具有上述表示形式的字符串中创建日期 -–吸气器和设置器数小时 ,不建议使用分钟和秒 +– 一种`static valueOf(String)`方法,从具有上述表示形式的字符串中创建日期 +– 吸气器和设置器数小时 ,不建议使用分钟和秒 `java.sql.Date`类与 JDBC 一起使用,并且不应包含时间部分,即小时,分钟,秒和毫秒应为零…但是该类未强制执行。 diff --git a/docs/misc2/212.md b/docs/misc2/212.md index 06c0796ca364bb86397cccfe45d79bac6ee2b226..7741e491404ff57365c5eb4fda1fba09b6315e9a 100644 --- a/docs/misc2/212.md +++ b/docs/misc2/212.md @@ -1,4 +1,4 @@ -# Java 核心面试问题–第 2 部分 +# Java 核心面试问题 – 第 2 部分 > 原文: [https://howtodoinjava.com/interview-questions/core-java-interview-questions-series-part-2/](https://howtodoinjava.com/interview-questions/core-java-interview-questions-series-part-2/) @@ -95,8 +95,8 @@ Wrapping data and methods within classes in combination with implementation hidi 因此,它们可以像下面这样关联: -–抽象更多是关于“类可以做什么”。 [想法] -–封装更多地是关于“如何”实现该功能。 [实施] +– 抽象更多是关于“类可以做什么”。 [想法] +– 封装更多地是关于“如何”实现该功能。 [实施] ## 接口和抽象类之间的区别? @@ -126,8 +126,8 @@ Wrapping data and methods within classes in combination with implementation hidi Java 基于 [Hoare](https://en.wikipedia.org/wiki/Tony_Hoare) 的监视器概念。 在 Java 中,所有对象都有一个监视器。 线程在监视器上等待,因此要执行等待,我们需要 2 个参数: -–线程 -–监视器(任何对象) +– 线程 +– 监视器(任何对象) 在 Java 设计中,无法指定线程,它始终是当前运行代码的线程。 但是,我们可以指定监视器(这是我们称为 wait 的对象)。 这是一个很好的设计,因为如果我们可以让任何其他线程在所需的监视器上等待,则会导致“入侵”,给设计/编程并发程序带来了困难。 请记住,在 Java 中,不推荐使用会干扰另一个线程执行的所有操作(例如 stop())。 @@ -211,6 +211,6 @@ Output: ``` -显然,我可以在列表中的任意位置添加元素,同时对其进行迭代–同样,我也可以更改任何元素。 使用`Iterator`不可能。 +显然,我可以在列表中的任意位置添加元素,同时对其进行迭代 – 同样,我也可以更改任何元素。 使用`Iterator`不可能。 学习愉快! \ No newline at end of file diff --git a/docs/misc2/213.md b/docs/misc2/213.md index 0aeb99ea05fc4be118d707fd4a3e82e3b1873c11..050189fb9264342c9f00a5ef93814a10a59f0105 100644 --- a/docs/misc2/213.md +++ b/docs/misc2/213.md @@ -1,4 +1,4 @@ -# Java 核心面试问题–第 3 部分 +# Java 核心面试问题 – 第 3 部分 > 原文: [https://howtodoinjava.com/interview-questions/core-java-interview-questions-series-part-3/](https://howtodoinjava.com/interview-questions/core-java-interview-questions-series-part-3/) diff --git a/docs/misc2/214.md b/docs/misc2/214.md index 7fce36430248fbb5f39b26565e3fb9bd68519171..1554bceaa0f1cbb453ca811406eb7c3b3d6c7ca0 100644 --- a/docs/misc2/214.md +++ b/docs/misc2/214.md @@ -120,7 +120,7 @@ public interface Collection extends Iterable { 由于存在如此大的差异,因此在 Map 界面中未使用 Collection 界面,而是在单独的层次结构中构建。 -## Java 集合面试–列出接口问题 +## Java 集合面试 – 列出接口问题 #### 5)为什么要使用 List 接口? 什么是实现 List 接口的主要类? @@ -162,7 +162,7 @@ List numsList = Arrays.asList(nums); ``` -## Java 集合面试–设置接口问题 +## Java 集合面试 – 设置接口问题 #### 8)为什么要使用 Set 接口? 什么是实现 Set 接口的主要类? @@ -213,7 +213,7 @@ private static final Object PRESENT = new Object(); NavigableMap 是 SortedMap 的子类型,不允许使用 null 键。 因此,本质上, **TreeSet 也不支持空键**。 如果您尝试在 TreeSet 中添加 null 元素,它将抛出 NullPointerException。 -## Java 集合面试– Map 接口问题 +## Java 集合面试 – Map 接口问题 #### 11)为什么要使用 Map 界面? 什么是实现 Map 接口的主要类? @@ -293,7 +293,7 @@ TreeMap 是 HashMap 的特殊形式。 **它维护 HashMap 类中缺少的键** 请注意,**所有插入映射的键都必须实现 Comparable 接口**(这是确定顺序的必要条件)。 此外,所有这些键必须相互可比较:k1.compareTo(k2)不得为映射中的任何键 k1 和 k2 抛出 ClassCastException。 如果用户尝试将键放入违反此约束的映射中(例如,用户尝试将字符串键放入其键为整数的映射中),则 put(Object key,Object value)调用将引发 ClassCastException 。 -## Java 集合访谈–讲述差异问题 +## Java 集合访谈 – 讲述差异问题 #### 18)Set 和 List 之间的区别? diff --git a/docs/misc2/22.md b/docs/misc2/22.md index 17d1b54add93d6232fbc7a426c5b3df21cbab4a6..f581e2d9924fb502579845fbc4e31363db2ad01a 100644 --- a/docs/misc2/22.md +++ b/docs/misc2/22.md @@ -1,4 +1,4 @@ -# Gson –排除或忽略字段 +# Gson – 排除或忽略字段 > 原文: [https://howtodoinjava.com/gson/gson-exclude-or-ignore-fields/](https://howtodoinjava.com/gson/gson-exclude-or-ignore-fields/) @@ -14,8 +14,8 @@ `@Expose`是可选的,并提供两个配置参数: -* `serialize` –如果*为真*,则在序列化时会在 JSON 中写出带有此批注的字段。 -* `deserialize` –如果*为真*,则从 JSON 反序列化带有此批注的字段。 +* `serialize` – 如果*为真*,则在序列化时会在 JSON 中写出带有此批注的字段。 +* `deserialize` – 如果*为真*,则从 JSON 反序列化带有此批注的字段。 ```java @Expose(serialize = false) diff --git a/docs/misc2/24.md b/docs/misc2/24.md index 3507155cff0e944e952b4cafaf35e6e496925a17..2c6929056cbcd7890095c9a5cd2ba8c0133ef4a3 100644 --- a/docs/misc2/24.md +++ b/docs/misc2/24.md @@ -16,8 +16,8 @@ JsonParser parser = new JsonParser(); `JsonParser`类提供 3 种方法来提供 JSON 作为源并将其解析为`JsonElement`的树。 -* **JsonElement parse(JsonReader json)** –使用 [JsonReader](https://howtodoinjava.com/gson/jsonreader-streaming-json-parser/) 将 JSON 作为令牌流读取,并从 JSON 流中返回下一个值作为分析树。 -* **JsonElement parse(java.io.Reader json)** –使用指定的读取器读取 JSON,并将 JSON 字符串解析为解析树。 +* **JsonElement parse(JsonReader json)** – 使用 [JsonReader](https://howtodoinjava.com/gson/jsonreader-streaming-json-parser/) 将 JSON 作为令牌流读取,并从 JSON 流中返回下一个值作为分析树。 +* **JsonElement parse(java.io.Reader json)** – 使用指定的读取器读取 JSON,并将 JSON 字符串解析为解析树。 * **JsonElement parse(java.lang.String json)**-将指定的 JSON 字符串解析为解析树。 如果指定的文本不是有效的 JSON,则这三种方法都将抛出 **JsonParseException** 和 **JsonSyntaxException** 。 diff --git a/docs/misc2/25.md b/docs/misc2/25.md index 197c7b4cda96b2528b9c90e6339529fbcbfe4710..95d7472f54af40e373cbe5ad7a5abc259841fd42 100644 --- a/docs/misc2/25.md +++ b/docs/misc2/25.md @@ -1,4 +1,4 @@ -# Gson –自定义序列化和反序列化 +# Gson – 自定义序列化和反序列化 > 原文: [https://howtodoinjava.com/gson/custom-serialization-deserialization/](https://howtodoinjava.com/gson/custom-serialization-deserialization/) diff --git a/docs/misc2/26.md b/docs/misc2/26.md index e5657f87bf3b652a6cfc4dcaae9e931fba0866aa..49c71089bc3d6a59edf0a4215585b9669e8d2e8f 100644 --- a/docs/misc2/26.md +++ b/docs/misc2/26.md @@ -1,4 +1,4 @@ -# Gson –快速指南 +# Gson – 快速指南 > 原文: [https://howtodoinjava.com/gson/google-gson-tutorial/](https://howtodoinjava.com/gson/google-gson-tutorial/) @@ -97,7 +97,7 @@ Gson gson = new GsonBuilder() 使用`GsonBuilder`时,可以为`Gson`对象提供许多其他[有用选项](https://static.javadoc.io/com.google.code.gson/gson/2.7/com/google/gson/GsonBuilder.html)。 继续检查一下。 -## 3\. Gson toJson()–将 Java 对象转换为 JSON 字符串 +## 3\. Gson toJson()– 将 Java 对象转换为 JSON 字符串 要将**将对象转换为 json** ,请使用 **`toJson()`** 方法。 @@ -121,7 +121,7 @@ System.out.println(gson.toJson(employee)); ``` -## 4\. 3\. Gson fromJson()–将 JSON 字符串转换为 Object +## 4\. 3\. Gson fromJson()– 将 JSON 字符串转换为 Object 要**将 json 解析为对象**,请使用 **`fromJson()`** 方法。 @@ -141,7 +141,7 @@ Employee [id=1, firstName=Lokesh, lastName=Gupta, roles=[ADMIN, MANAGER]] ``` -## 5\. Gson InstanceCreator –给定对象中不存在无参构造函数时 +## 5\. Gson InstanceCreator – 给定对象中不存在无参构造函数时 在大多数情况下,即使任何类都不提供默认的无参数构造函数, **Gson** 库也足以创建实例。 但是,如果使用无参数构造函数的类发现任何问题,则可以使用`InstanceCreator`支持。 使用它之前,您需要先向 Gson 注册 Java 类类型的`InstanceCreator`。 @@ -334,7 +334,7 @@ Employee [id=1, firstName=Lokesh, lastName=Gupta, roles=[ADMIN, MANAGER], birthD ``` -## 7\. Gson setPrettyPrinting()–漂亮的打印 JSON 输出 +## 7\. Gson setPrettyPrinting()– 漂亮的打印 JSON 输出 Gson 提供的默认 JSON 输出是紧凑的 JSON 格式。 这意味着在输出 JSON 结构中将没有任何空格。 要生成更具可读性和美观的 JSON,请使用`GsonBuilder`中的 **setPrettyPrinting()**。 @@ -428,10 +428,10 @@ Output: ## 9.更多的 Gson 教程 1. [Gson-GsonBuilder 教程](https://howtodoinjava.com/library/gson-gsonbuilder-configuration/) -2. [Gson –序列化和反序列化 JSON](https://howtodoinjava.com/library/gson-serialize-deserialize-json/) -3. [Gson –序列化和反序列化映射](https://howtodoinjava.com/java/serialization/gson-serialize-deserialize-hashmap/) -4. [Gson –序列化和反序列化设置](https://howtodoinjava.com/library/gson-serialize-deserialize-set/) -5. [Gson –序列化和反序列化数组](https://howtodoinjava.com/library/gson-parse-json-array/) +2. [Gson – 序列化和反序列化 JSON](https://howtodoinjava.com/library/gson-serialize-deserialize-json/) +3. [Gson – 序列化和反序列化映射](https://howtodoinjava.com/java/serialization/gson-serialize-deserialize-hashmap/) +4. [Gson – 序列化和反序列化设置](https://howtodoinjava.com/library/gson-serialize-deserialize-set/) +5. [Gson – 序列化和反序列化数组](https://howtodoinjava.com/library/gson-parse-json-array/) 6. [Gson-@SerializedName 注释示例](https://howtodoinjava.com/library/gson-serializedname/) 7. [Gson-球衣+ Gson 示例](https://howtodoinjava.com/jersey/jax-rs-gson-example/) diff --git a/docs/misc2/27.md b/docs/misc2/27.md index f07a088917f638f6eefea886035362212ac8ecae..148699505e8d669472c51f8b91f39c4382fc9b83 100644 --- a/docs/misc2/27.md +++ b/docs/misc2/27.md @@ -83,8 +83,8 @@ Object value = mapper.readValue(jsonSource , javaObject); ``` -* `jsonSource` –将获取 json 字符串的输入源。 -* `javaObject` –需要填充的目标 Java 对象。 +* `jsonSource` – 将获取 json 字符串的输入源。 +* `javaObject` – 需要填充的目标 Java 对象。 #### 2.2。 将对象转换为 json 的语法 @@ -96,8 +96,8 @@ Object value = mapper.writeValue(jsonTarget, javaObject); ``` -* `jsonTarget` –将写入 json 字符串的输出目标。 -* `javaObject` –需要转换为 json 的源 Java 对象。 +* `jsonTarget` – 将写入 json 字符串的输出目标。 +* `javaObject` – 需要转换为 json 的源 Java 对象。 ## 3\. Jackson 将对象转换为 JSON diff --git a/docs/misc2/29.md b/docs/misc2/29.md index 859b3d4dbc47c45bbeac4ff02f085e6365feba3c..3200b0e73c12e8cb94c007c9540cbf4e33255294 100644 --- a/docs/misc2/29.md +++ b/docs/misc2/29.md @@ -48,10 +48,10 @@ public class Employee implements Serializable 它定义 JAXB 引擎用来包含到生成的 XML 中的 Java 类的字段或属性。 它有四个可能的值。 -* `FIELD` –绑定到 JAXB 的类中的每个非静态,非瞬态字段都将自动绑定到 XML,除非由`XmlTransient`注释。 -* `NONE` –没有任何字段或属性绑定到 XML,除非使用某些 JAXB 注释专门对其进行注释。 -* `PROPERTY` –绑定到 JAXB 的类中的每个 getter / setter 对将自动绑定到 XML,除非由`XmlTransient`注释。 -* `PUBLIC_MEMBER` –每个公共获取/设置对和每个公共字段都将自动绑定到 XML,除非由`XmlTransient`注释。 +* `FIELD` – 绑定到 JAXB 的类中的每个非静态,非瞬态字段都将自动绑定到 XML,除非由`XmlTransient`注释。 +* `NONE` – 没有任何字段或属性绑定到 XML,除非使用某些 JAXB 注释专门对其进行注释。 +* `PROPERTY` – 绑定到 JAXB 的类中的每个 getter / setter 对将自动绑定到 XML,除非由`XmlTransient`注释。 +* `PUBLIC_MEMBER` – 每个公共获取/设置对和每个公共字段都将自动绑定到 XML,除非由`XmlTransient`注释。 * 默认值为`PUBLIC_MEMBER`。 ```java diff --git a/docs/misc2/3.md b/docs/misc2/3.md index dd498ddf3d4363a07d2cd699fab08a89baac01bd..10dbfb320f986738fd00bf8b79e5edb95759dcc1 100644 --- a/docs/misc2/3.md +++ b/docs/misc2/3.md @@ -1,9 +1,9 @@ -# JMS 教程– Java 消息服务教程 +# JMS 教程 – Java 消息服务教程 > 原文: [https://howtodoinjava.com/jms/jms-java-message-service-tutorial/](https://howtodoinjava.com/jms/jms-java-message-service-tutorial/) [Java 消息服务](https://en.wikipedia.org/wiki/Java_Message_Service)是一种 API,支持网络上计算机之间称为**消息传递的正式通信。 它为标准消息协议和消息服务提供了通用接口,以支持 Java 程序。 它提供了创建,发送和阅读消息的功能。 JMS API 减少了程序员必须学习使用消息传递服务/产品的概念,并且还提供了支持消息传递应用程序的功能。 -**JMS** 是一种技术,在 J2EE 技术​​中用于使应用程序以松散耦合的方式与其他应用程序通信。 这意味着必须通信的应用程序没有直接连接,而是通过一个公共目的地连接。 我们将在本 **jms 教程**中详细介绍。** +**JMS** 是一种技术,在 J2EE 技术​​中用于使应用程序以松散耦合的方式与其他应用程序通信。 这意味着必须通信的应用程序没有直接连接,而是通过一个公共目标连接。 我们将在本 **jms 教程**中详细介绍。** ```java Table of Contents @@ -78,7 +78,7 @@ Read More: [HornetQ Basic Example](//howtodoinjava.com/hornetq/basic-jms-messagi #### 4.1。 同步 -在同步消息使用中,订户/接收者通过调用`[receive()](https://docs.oracle.com/javaee/7/api/javax/jms/MessageConsumer.html#receive--)`方法从目的地请求消息。 在`receive()`中,方法将阻塞直到消息到达或超时(如果消息在给定时间内未到达)。 就像普通的 java 方法调用一样,它带有一些返回值。 +在同步消息使用中,订户/接收者通过调用`[receive()](https://docs.oracle.com/javaee/7/api/javax/jms/MessageConsumer.html#receive--)`方法从目标请求消息。 在`receive()`中,方法将阻塞直到消息到达或超时(如果消息在给定时间内未到达)。 就像普通的 java 方法调用一样,它带有一些返回值。 #### 4.2。 异步 @@ -88,7 +88,7 @@ Read More: [HornetQ Basic Example](//howtodoinjava.com/hornetq/basic-jms-messagi JMS 应用程序具有一些基本构建块,它们是: -1. 受管对象–连接工厂和目的地 +1. 受管对象 – 连接工厂和目标 2. 连接数 3. 届会 4. 消息生产者 @@ -106,7 +106,7 @@ JMS API Programming Model JMS 应用程序提供两种类型的管理对象: * 连接工厂 -* 目的地 +* 目标 这两个受管理对象由 JMS 系统管理员在 JMS Provider 中通过使用 Application Server 管理控制台创建。 这两个对象都存储在应用程序服务器 JNDI 目录或 JNDI 注册表中。 @@ -121,7 +121,7 @@ Queue returnQueue = (Queue) initialCtx.lookup ("Return_Queue"); ``` -#### 5.3。 目的地 +#### 5.3。 目标 客户端使用称为目标的对象,该对象用于指定其生成的消息的目标以及使用它的消息的源。 JMS 应用程序使用两种类型的目标队列或主题。 该代码指定队列和主题。 @@ -189,7 +189,7 @@ producer.send(message); #### 5.7。 JMS 消息使用者 -消息使用者是一个由会话创建的对象,用于接收在目的地发送的消息。 它将实现`[MessageConsumer](https://docs.oracle.com/javaee/7/api/javax/jms/MessageConsumer.html)`接口。 我们使用会话为目标,队列或主题对象创建 MessageConsumer。 +消息使用者是一个由会话创建的对象,用于接收在目标发送的消息。 它将实现`[MessageConsumer](https://docs.oracle.com/javaee/7/api/javax/jms/MessageConsumer.html)`接口。 我们使用会话为目标,队列或主题对象创建 MessageConsumer。 ```java MessageConsumer consumer = session.createConsumer(dest); diff --git a/docs/misc2/32.md b/docs/misc2/32.md index 18fbc6f1fadbece9f35ec8f02e8698a59f8cadb8..f3e8a742b8a68ad4bf5f6799373f89bd9659c96d 100644 --- a/docs/misc2/32.md +++ b/docs/misc2/32.md @@ -70,9 +70,9 @@ jaxbMarshaller.setProperty("jaxb.formatted.output", Boolean.TRUE); * **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.schemaLocation** – 允许客户端应用程序在生成的 XML 数据中指定`xsi:schemaLocation`属性。 +* **jaxb.noNamespaceSchemaLocation** – 它允许客户端应用程序在生成的 XML 数据中指定`xsi:noNamespaceSchemaLocation`属性。 +* **jaxb.fragment** – 它确定 Marshaller 是否将生成文档级事件。 值可以是`true`或`false`。 ## 3.马歇尔回调方法 diff --git a/docs/misc2/39.md b/docs/misc2/39.md index 4fb62ec90153a37b837346bf5871128de2b0ed37..b474d2a1094218057a0cfc334b87dcabdb6f7e05 100644 --- a/docs/misc2/39.md +++ b/docs/misc2/39.md @@ -1,4 +1,4 @@ -# JAXB –编组和解组列表或对象集 +# JAXB – 编组和解组列表或对象集 > 原文: [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/) diff --git a/docs/misc2/4.md b/docs/misc2/4.md index 9c1bdd5161933a2988b38ef5743225aae4027ab4..5905cc799b26dbf51f065dc3b4c4074eee72629e 100644 --- a/docs/misc2/4.md +++ b/docs/misc2/4.md @@ -12,7 +12,7 @@ Point to point JMS Messaging ## 点对点消息发布者应用程序流程 -下面给出了发送方应用程序的典型点对点消息传递示例。 该应用程序的以下步骤是– +下面给出了发送方应用程序的典型点对点消息传递示例。 该应用程序的以下步骤是 – 1. 首先,我们将获取 JMS 服务器的 Initial Context 对象。 2. 之后,使用初始上下文对象查找队列对象。 @@ -79,7 +79,7 @@ public class Sender ## 点对点消息传递订户应用程序流程 -接收方的大多数步骤与发送方应用程序相同–除了它将侦听消息而不是发送 JMS 消息外。 +接收方的大多数步骤与发送方应用程序相同 – 除了它将侦听消息而不是发送 JMS 消息外。 ```java package pointToPoint; diff --git a/docs/misc2/44.md b/docs/misc2/44.md index 1a9e2207acd47251178795a55443bb2895c36a43..ef248ea92e8328b7ccf18173fa1d56731dce5767 100644 --- a/docs/misc2/44.md +++ b/docs/misc2/44.md @@ -1,4 +1,4 @@ -# 没有@XmlRootElement 的 JAXB 元帅–缺少@XmlRootElement 错误 +# 没有@XmlRootElement 的 JAXB 元帅 – 缺少@XmlRootElement 错误 > 原文: [https://howtodoinjava.com/jaxb/marshal-without-xmlrootelement/](https://howtodoinjava.com/jaxb/marshal-without-xmlrootelement/) diff --git a/docs/misc2/46.md b/docs/misc2/46.md index 7527627a5a8845e0543a6accb69c30ea718dfdbb..c33ab351313ba80d0e2cd0d2fe6f280f0b9a729e 100644 --- a/docs/misc2/46.md +++ b/docs/misc2/46.md @@ -1,8 +1,8 @@ -# 杰克逊 2 –将 Java 对象转换为 JSON,并将 JSON 字符串转换为对象 +# 杰克逊 2 – 将 Java 对象转换为 JSON,并将 JSON 字符串转换为对象 > 原文: [https://howtodoinjava.com/jackson/jackson-2-convert-json-to-from-java-object/](https://howtodoinjava.com/jackson/jackson-2-convert-json-to-from-java-object/) -在本教程中,我们将学习使用 **[Jackson 2](https://github.com/FasterXML/jackson)** 库将 **JSON 转换为 Java 对象** –和**将 Java 对象转换为 JSON** 。 +在本教程中,我们将学习使用 **[Jackson 2](https://github.com/FasterXML/jackson)** 库将 **JSON 转换为 Java 对象** – 和**将 Java 对象转换为 JSON** 。 ```java Table of Contents diff --git a/docs/misc2/47.md b/docs/misc2/47.md index f07a088917f638f6eefea886035362212ac8ecae..148699505e8d669472c51f8b91f39c4382fc9b83 100644 --- a/docs/misc2/47.md +++ b/docs/misc2/47.md @@ -83,8 +83,8 @@ Object value = mapper.readValue(jsonSource , javaObject); ``` -* `jsonSource` –将获取 json 字符串的输入源。 -* `javaObject` –需要填充的目标 Java 对象。 +* `jsonSource` – 将获取 json 字符串的输入源。 +* `javaObject` – 需要填充的目标 Java 对象。 #### 2.2。 将对象转换为 json 的语法 @@ -96,8 +96,8 @@ Object value = mapper.writeValue(jsonTarget, javaObject); ``` -* `jsonTarget` –将写入 json 字符串的输出目标。 -* `javaObject` –需要转换为 json 的源 Java 对象。 +* `jsonTarget` – 将写入 json 字符串的输出目标。 +* `javaObject` – 需要转换为 json 的源 Java 对象。 ## 3\. Jackson 将对象转换为 JSON diff --git a/docs/misc2/48.md b/docs/misc2/48.md index f8a54e96304410f258b2d24625ff994f3b645b8b..6e8e696f85684aa15370aa861d03bf23c3b21076 100644 --- a/docs/misc2/48.md +++ b/docs/misc2/48.md @@ -1,4 +1,4 @@ -# 杰克逊–将 JSON 转换为 Map 并将 Map 转换为 JSON +# 杰克逊 – 将 JSON 转换为 Map 并将 Map 转换为 JSON > 原文: [https://howtodoinjava.com/jackson/jackson-json-to-from-hashmap/](https://howtodoinjava.com/jackson/jackson-json-to-from-hashmap/) diff --git a/docs/misc2/5.md b/docs/misc2/5.md index b144ff9001e1015afbd66e96e27da259c824ac4b..b73afa27bde95c5bd800bc33d9c57bc3091609e6 100644 --- a/docs/misc2/5.md +++ b/docs/misc2/5.md @@ -12,7 +12,7 @@ Publish Subscribe JMS Messaging ## 发布/订阅消息发布者应用程序流程 -下面给出了发送方应用程序的典型发布/订阅消息传递示例。 该应用程序的以下步骤是– +下面给出了发送方应用程序的典型发布/订阅消息传递示例。 该应用程序的以下步骤是 – 1. 首先,我们将获取 JMS 服务器的 Initial Context 对象。 2. 之后,使用初始上下文对象查找主题对象。 @@ -82,7 +82,7 @@ public class Publisher ## 发布/订阅消息订阅者应用程序流程 -接收方的大多数步骤与发送方应用程序相同–除了它将侦听消息而不是发送 JMS 消息外。 +接收方的大多数步骤与发送方应用程序相同 – 除了它将侦听消息而不是发送 JMS 消息外。 ```java package pubSub; diff --git a/docs/misc2/50.md b/docs/misc2/50.md index 4f6d8df008a2091d695ad864d75e8aae0e07fdee..3bf1dd38199fd89606aad7e88be101646731f90d 100644 --- a/docs/misc2/50.md +++ b/docs/misc2/50.md @@ -2,7 +2,7 @@ > 原文: [https://howtodoinjava.com/xml/read-xml-dom-parser-example/](https://howtodoinjava.com/xml/read-xml-dom-parser-example/) -在此 *Java xml 解析器教程*中,学习**用 Java 中的 DOM 解析器**读取 xml。 DOM 解析器旨在将 XML 作为内存中的对象图(树状结构)使用–称为“ **文档对象模型(DOM)**”。 +在此 *Java xml 解析器教程*中,学习**用 Java 中的 DOM 解析器**读取 xml。 DOM 解析器旨在将 XML 作为内存中的对象图(树状结构)使用 – 称为“ **文档对象模型(DOM)**”。 首先,解析器遍历输入的 XML 文件并创建与 XML 文件中的节点相对应的 **DOM** 对象。 这些 DOM 对象以树状结构链接在一起。 一旦解析器完成了解析过程,我们就会从中获得这种树状 DOM 对象结构。 现在,我们可以根据需要来回遍历 DOM 结构-从中获取/更新/删除数据。 diff --git a/docs/misc2/51.md b/docs/misc2/51.md index 34c8e32d5a520081c44129a82cb34da76d9dbd83..4c789df99589e52bb23370e7c19acdb984958a86 100644 --- a/docs/misc2/51.md +++ b/docs/misc2/51.md @@ -1,4 +1,4 @@ -# Java SAX 解析器–阅读 XML 示例 +# Java SAX 解析器 – 阅读 XML 示例 > 原文: [https://howtodoinjava.com/xml/sax-parser-read-xml-example/](https://howtodoinjava.com/xml/sax-parser-read-xml-example/) diff --git a/docs/misc2/52.md b/docs/misc2/52.md index ee6d77f66eaed2776049bd90c6281be90dd0520e..c6de1a30b0dc4f0d10cbaaa049b1eb579844b55e 100644 --- a/docs/misc2/52.md +++ b/docs/misc2/52.md @@ -1,4 +1,4 @@ -# Java JDOM2 –阅读 XML 示例 +# Java JDOM2 – 阅读 XML 示例 > 原文: [https://howtodoinjava.com/xml/jdom2-read-parse-xml-examples/](https://howtodoinjava.com/xml/jdom2-read-parse-xml-examples/) diff --git a/docs/misc2/53.md b/docs/misc2/53.md index 25e05e1790e0ec92b39730df0525d1b3817d9b89..9f8a6967a1b09a33d8524bbe1ab65637f5daaac7 100644 --- a/docs/misc2/53.md +++ b/docs/misc2/53.md @@ -1,4 +1,4 @@ -# 使用 StAX Parser 的 Java 读取 XML –游标&迭代器 API +# 使用 StAX Parser 的 Java 读取 XML – 游标&迭代器 API > 原文: [https://howtodoinjava.com/xml/read-xml-stax-parser-cursor-iterator/](https://howtodoinjava.com/xml/read-xml-stax-parser-cursor-iterator/) diff --git a/docs/misc2/55.md b/docs/misc2/55.md index b929b2eae571d9f623e22233d63d5eab63bd753e..43524fbe98f10ce4fc29deac945e2e6775a681d2 100644 --- a/docs/misc2/55.md +++ b/docs/misc2/55.md @@ -1,4 +1,4 @@ -# Java 将 XML 转换为属性–从 XML 文件读取属性 +# Java 将 XML 转换为属性 – 从 XML 文件读取属性 > 原文: [https://howtodoinjava.com/xml/convert-xml-to-properties/](https://howtodoinjava.com/xml/convert-xml-to-properties/) diff --git a/docs/misc2/57.md b/docs/misc2/57.md index 25140a09e4afd34bab09de367ed4870ed1a34de8..9ff3e6c46f45d565ecb1f851ca3dd4da1d82c9fd 100644 --- a/docs/misc2/57.md +++ b/docs/misc2/57.md @@ -1,4 +1,4 @@ -# Java String to XML –将字符串解析为 XML DOM 示例 +# Java String to XML – 将字符串解析为 XML DOM 示例 > 原文: [https://howtodoinjava.com/xml/parse-string-to-xml-dom/](https://howtodoinjava.com/xml/parse-string-to-xml-dom/) diff --git a/docs/misc2/58.md b/docs/misc2/58.md index ae38a13d7241c9e0771bd8c12894dfb2fabac632..c58a4335121f994f3d68aae3e762c907edab4247 100644 --- a/docs/misc2/58.md +++ b/docs/misc2/58.md @@ -1,4 +1,4 @@ -# Java XML 转换为字符串–将 XML 对象写入文件示例 +# Java XML 转换为字符串 – 将 XML 对象写入文件示例 > 原文: [https://howtodoinjava.com/xml/xml-to-string-write-xml-file/](https://howtodoinjava.com/xml/xml-to-string-write-xml-file/) diff --git a/docs/misc2/59.md b/docs/misc2/59.md index 30507fd875acee56007bea34e0901d7827696463..4baf847c510d7f7192142073d6cc9d6e420f9a1c 100644 --- a/docs/misc2/59.md +++ b/docs/misc2/59.md @@ -1,4 +1,4 @@ -# Java XPath 示例– XPath 教程 +# Java XPath 示例 – XPath 教程 > 原文: [https://howtodoinjava.com/xml/java-xpath-tutorial-example/](https://howtodoinjava.com/xml/java-xpath-tutorial-example/) @@ -132,11 +132,11 @@ XSLT 样式表几乎从未使用过命名空间节点。 **它们的存在主要 在 Java 中,XPath 表达式可能返回以下数据类型之一: -1. [**节点集**](https://docs.oracle.com/javase/1.5.0/docs/api/javax/xml/xpath/XPathConstants.html#NODESET "NODESET") –表示一组节点。 该集合可以为空,也可以包含任意数量的节点。 -2. [**节点**](https://docs.oracle.com/javase/1.5.0/docs/api/javax/xml/xpath/XPathConstants.html#NODE "NODE") (Java 支持)–表示单个节点。 它可以为空,也可以包含任意数量的子节点。 -3. [**布尔值**](https://docs.oracle.com/javase/1.5.0/docs/api/javax/xml/xpath/XPathConstants.html#BOOLEAN "BOOLEAN") –表示值 true 或 false。 请注意,在 XPath 中,true 或 false 字符串没有特殊含义或值。 有关布尔值的更详细讨论,请参见第 4 章的 4.2.1.2 节。 -4. [**数字**](https://docs.oracle.com/javase/1.5.0/docs/api/javax/xml/xpath/XPathConstants.html#NUMBER "NUMBER") –表示浮点数。 XPath 和 XSLT 中的所有数字均实现为浮点数; XPath 和 XSLT 中不存在整数(或 int)数据类型。 具体来说,所有数字都实现为 IEEE 754 浮点数,与 Java float 和 double 原语类型使用的标准相同。 除普通数字外,数字还有五个特殊值:正负无穷大,正负零和 NaN(非数字的特殊符号)。 -5. [**字符串**](https://docs.oracle.com/javase/1.5.0/docs/api/javax/xml/xpath/XPathConstants.html#STRING "STRING") –表示零个或多个字符,如 XML 规范中所定义。 +1. [**节点集**](https://docs.oracle.com/javase/1.5.0/docs/api/javax/xml/xpath/XPathConstants.html#NODESET "NODESET") – 表示一组节点。 该集合可以为空,也可以包含任意数量的节点。 +2. [**节点**](https://docs.oracle.com/javase/1.5.0/docs/api/javax/xml/xpath/XPathConstants.html#NODE "NODE") (Java 支持)– 表示单个节点。 它可以为空,也可以包含任意数量的子节点。 +3. [**布尔值**](https://docs.oracle.com/javase/1.5.0/docs/api/javax/xml/xpath/XPathConstants.html#BOOLEAN "BOOLEAN") – 表示值 true 或 false。 请注意,在 XPath 中,true 或 false 字符串没有特殊含义或值。 有关布尔值的更详细讨论,请参见第 4 章的 4.2.1.2 节。 +4. [**数字**](https://docs.oracle.com/javase/1.5.0/docs/api/javax/xml/xpath/XPathConstants.html#NUMBER "NUMBER") – 表示浮点数。 XPath 和 XSLT 中的所有数字均实现为浮点数; XPath 和 XSLT 中不存在整数(或 int)数据类型。 具体来说,所有数字都实现为 IEEE 754 浮点数,与 Java float 和 double 原语类型使用的标准相同。 除普通数字外,数字还有五个特殊值:正负无穷大,正负零和 NaN(非数字的特殊符号)。 +5. [**字符串**](https://docs.oracle.com/javase/1.5.0/docs/api/javax/xml/xpath/XPathConstants.html#STRING "STRING") – 表示零个或多个字符,如 XML 规范中所定义。 这些数据类型通常很简单,并且除了节点集之外,类型之间的转换通常很简单。 我们将不在这里更详细地讨论这些数据类型。 相反,我们将讨论数据类型和转换,因为我们需要它们来执行特定的任务。 diff --git a/docs/misc2/60.md b/docs/misc2/60.md index 07355369742c58ab64f86121d0fbf101a0db91c4..d81f3da365179ff72d2ac253b00c9eab67499464 100644 --- a/docs/misc2/60.md +++ b/docs/misc2/60.md @@ -1,4 +1,4 @@ -# Java xpath 示例–在 xml 文件上评估 xpath +# Java xpath 示例 – 在 xml 文件上评估 xpath > 原文: [https://howtodoinjava.com/xml/evaluate-xpath-on-dom/](https://howtodoinjava.com/xml/evaluate-xpath-on-dom/) diff --git a/docs/misc2/61.md b/docs/misc2/61.md index 1142e5f11963e624deb847fe335b37aa7d6b9a5f..46797bda77b28bb80d1ef76208c377dc754fbe6f 100644 --- a/docs/misc2/61.md +++ b/docs/misc2/61.md @@ -1,10 +1,10 @@ -# Java 8 xpath 示例–在字符串上评估 xpath +# Java 8 xpath 示例 – 在字符串上评估 xpath > 原文: [https://howtodoinjava.com/xml/evaluate-xpath-on-xml-string/](https://howtodoinjava.com/xml/evaluate-xpath-on-xml-string/) Java 示例**评估字符串**上的 xpath 并返回字符串本身的结果 XML。 -## 1\. XPath 示例–在 xml 字符串上评估 xpath +## 1\. XPath 示例 – 在 xml 字符串上评估 xpath 1. 创建包含`[StringReader](https://docs.oracle.com/javase/8/docs/api/java/io/StringReader.html)`并引用 XML 字符串的`[org.xml.sax.InputSource](https://docs.oracle.com/javase/7/docs/api/org/xml/sax/InputSource.html)`。 2. 从`[XPathFactory](https://docs.oracle.com/javase/8/docs/api/javax/xml/xpath/XPathFactory.html)`创建`[XPath](https://docs.oracle.com/javase/8/docs/api/javax/xml/xpath/XPath.html)`。 @@ -59,7 +59,7 @@ Lokesh ``` -## 2\. XPath 示例–在 xml 文件上评估 xpath +## 2\. XPath 示例 – 在 xml 文件上评估 xpath ```java package com.howtodoinjava.demo; diff --git a/docs/misc2/63.md b/docs/misc2/63.md index b8f386bbc2f8f2b7d7acc8199f186b0907b4292e..8ea55649d68f93d27c59e4dd2770f788a5222a51 100644 --- a/docs/misc2/63.md +++ b/docs/misc2/63.md @@ -1,4 +1,4 @@ -# Java XPath NamespaceContext –名称空间解析示例 +# Java XPath NamespaceContext – 名称空间解析示例 > 原文: [https://howtodoinjava.com/xml/xpath-namespace-resolution-example/](https://howtodoinjava.com/xml/xpath-namespace-resolution-example/) diff --git a/docs/misc2/66.md b/docs/misc2/66.md index 825066c6e58047b235c4285807f211d95098d119..811864453350a043f8bc29aac330789ca924d0c0 100644 --- a/docs/misc2/66.md +++ b/docs/misc2/66.md @@ -1,4 +1,4 @@ -# Java XPath –检查节点或属性是否存在? +# Java XPath – 检查节点或属性是否存在? > 原文: [https://howtodoinjava.com/xml/xpath-check-if-xml-tag-exists/](https://howtodoinjava.com/xml/xpath-check-if-xml-tag-exists/) diff --git a/docs/misc2/7.md b/docs/misc2/7.md index 5ea99dd8bed4d34ffd5572f931e1ee52fe9891b2..4c31148e81570756c3d479e9b6b9c664551af964 100644 --- a/docs/misc2/7.md +++ b/docs/misc2/7.md @@ -1,4 +1,4 @@ -# HornetQ 独立存在–基本的 JMS 消息传递示例 +# HornetQ 独立存在 – 基本的 JMS 消息传递示例 > 原文: [https://howtodoinjava.com/hornetq/basic-jms-messaging-example-using-hornetq-stand-alone-server/](https://howtodoinjava.com/hornetq/basic-jms-messaging-example-using-hornetq-stand-alone-server/) diff --git a/docs/misc2/74.md b/docs/misc2/74.md index e94f7c95b55be9e21adfcd95bfb115e356f114a9..0767fce08f040b95f64ab95d6738e39ab8f66aed 100644 --- a/docs/misc2/74.md +++ b/docs/misc2/74.md @@ -30,7 +30,7 @@ public class DemoHindiProgram { 这些问题基本上是由于日食中的默认字符编码为“ **Cp1252** ”。 我们需要改变这一点。 -## 3.解决方案–更改 Eclipse 默认编码 +## 3.解决方案 – 更改 Eclipse 默认编码 可以从以下位置更改此默认编码:`"File > Properties"`。 将其更改为 **UTF-8** 。 diff --git a/docs/misc2/75.md b/docs/misc2/75.md index e240362639d084b487367ace973ab43bc2e9fdc8..7f5d7e44e33bc3d63304e41956299400da6b918e 100644 --- a/docs/misc2/75.md +++ b/docs/misc2/75.md @@ -1,4 +1,4 @@ -# Java 覆盖最终的静态方法–方法是覆盖还是隐藏? +# Java 覆盖最终的静态方法 – 方法是覆盖还是隐藏? > 原文: [https://howtodoinjava.com/oops/understanding-the-compiler-error-message-when-hiding-final-static-methods/](https://howtodoinjava.com/oops/understanding-the-compiler-error-message-when-hiding-final-static-methods/) diff --git a/docs/misc2/78.md b/docs/misc2/78.md index 123c71b9e1cd7d2f828b840b433f879538d913fb..cc5602691436f71c085bc2ad3535973e7cf0a3bc 100644 --- a/docs/misc2/78.md +++ b/docs/misc2/78.md @@ -77,6 +77,6 @@ Git 是开源的,免费的。 此外,开发人员可以在各种平台(如 **关于作者:** -以上文章由该博客的其中一位读者 Pradeep Kumar( [**@pradeepkumarl**](https://twitter.com/pradeepkumarl) )提供。 他是一位拥有 10 多年经验的软件开发人员,并且曾使用过各种版本控制工具,例如 SVN,Perforce,ClearCase 和 Git。 他对技术充满热情,并热爱教技术。 您可以在 [**Git –专家新手**](http://prashdeep.usefedora.com) 上查看他的在线课程之一。 +以上文章由该博客的其中一位读者 Pradeep Kumar( [**@pradeepkumarl**](https://twitter.com/pradeepkumarl) )提供。 他是一位拥有 10 多年经验的软件开发人员,并且曾使用过各种版本控制工具,例如 SVN,Perforce,ClearCase 和 Git。 他对技术充满热情,并热爱教技术。 您可以在 [**Git – 专家新手**](http://prashdeep.usefedora.com) 上查看他的在线课程之一。 **祝您学习愉快!** \ No newline at end of file diff --git a/docs/misc2/79.md b/docs/misc2/79.md index 3fb51dfe6e06a59ecd78853181fd0b2253df04ec..30633779d6464c891438e9a07ca5b073f957ac7d 100644 --- a/docs/misc2/79.md +++ b/docs/misc2/79.md @@ -43,6 +43,6 @@ **关于作者:** -以上文章由该博客的其中一位读者 Pradeep Kumar( [**@pradeepkumarl**](https://twitter.com/pradeepkumarl) )提供。 他是一位拥有 10 多年经验的软件开发人员,并且曾使用过各种版本控制工具,例如 SVN,Perforce,ClearCase 和 Git。 他对技术充满热情,并热爱教技术。 您可以在 [**Git –专家新手**](http://prashdeep.usefedora.com) 上查看他的在线课程之一。 +以上文章由该博客的其中一位读者 Pradeep Kumar( [**@pradeepkumarl**](https://twitter.com/pradeepkumarl) )提供。 他是一位拥有 10 多年经验的软件开发人员,并且曾使用过各种版本控制工具,例如 SVN,Perforce,ClearCase 和 Git。 他对技术充满热情,并热爱教技术。 您可以在 [**Git – 专家新手**](http://prashdeep.usefedora.com) 上查看他的在线课程之一。 **祝您学习愉快!** \ No newline at end of file diff --git a/docs/misc2/82.md b/docs/misc2/82.md index 85fd23b55475c2fa541f931d53ae47570157080b..451959e3f08921a3ad8733e1f73c969de4714147 100644 --- a/docs/misc2/82.md +++ b/docs/misc2/82.md @@ -1,4 +1,4 @@ -# Tomcat –架构和 server.xml 配置 +# Tomcat – 架构和 server.xml 配置 > 原文: [https://howtodoinjava.com/tomcat/tomcats-architecture-and-server-xml-configuration-tutorial/](https://howtodoinjava.com/tomcat/tomcats-architecture-and-server-xml-configuration-tutorial/) @@ -131,7 +131,7 @@ Valve 是类似于拦截器的元素,当插入到容器(上下文,主机 阀门可以有多种用途,例如 -通过`RemoteAddrValve`阀,您可以根据源 IP 地址有选择地允许或阻止请求。 它支持两个属性– allow 和 block。 +通过`RemoteAddrValve`阀,您可以根据源 IP 地址有选择地允许或阻止请求。 它支持两个属性 – allow 和 block。 ```java diff --git a/docs/misc2/84.md b/docs/misc2/84.md index c88d0f7a532ae897b14eccd9092010a87c851eec..1b86c9d22907adaca9eb34f898e86b442e5ad25e 100644 --- a/docs/misc2/84.md +++ b/docs/misc2/84.md @@ -1,4 +1,4 @@ -# Tomcat –启用/禁用目录列表 +# Tomcat – 启用/禁用目录列表 > 原文: [https://howtodoinjava.com/tomcat/tomcat-enabledisable-directory-listing/](https://howtodoinjava.com/tomcat/tomcat-enabledisable-directory-listing/) diff --git a/docs/misc2/85.md b/docs/misc2/85.md index 2a0cd8aac512ffb3a22516a8d1d4ae61a03d50f6..af41075a104310b11b43ae39f0353fc89abceab5 100644 --- a/docs/misc2/85.md +++ b/docs/misc2/85.md @@ -2,7 +2,7 @@ > 原文: [https://howtodoinjava.com/tomcat/how-to-configure-tomcat-with-ssl-or-https/](https://howtodoinjava.com/tomcat/how-to-configure-tomcat-with-ssl-or-https/) -**[安全套接字层(SSL)](https://www.digicert.com/ssl.htm "ssl")** 是用于使用加密方法在 Internet 上进行通信的安全传输协议。 SSL 协议的主要目的是确保**不会有人篡改浏览器与部署 Web 应用程序的服务器**之间的通信。 安全通信的另一个目的是**根据 SSL 信息对服务器及其所有者进行身份验证的能力–这样,用户就可以确定它正在访问的服务器就是**。 在常见的 SSL 方案中,当用户首次访问 Web 服务器时,服务器会将其 SSL 证书或公共密钥发送给客户端。 SSL 证书包含有关服务器,其所有者,公司及其有效期的信息。 如果用户不信任证书的真实性,则可以拒绝该证书,从而有效地终止连接。 如果用户接受证书,则证书本身存储在浏览器中,并用于启动与发行服务器的安全连接。 +**[安全套接字层(SSL)](https://www.digicert.com/ssl.htm "ssl")** 是用于使用加密方法在 Internet 上进行通信的安全传输协议。 SSL 协议的主要目的是确保**不会有人篡改浏览器与部署 Web 应用程序的服务器**之间的通信。 安全通信的另一个目的是**根据 SSL 信息对服务器及其所有者进行身份验证的能力 – 这样,用户就可以确定它正在访问的服务器就是**。 在常见的 SSL 方案中,当用户首次访问 Web 服务器时,服务器会将其 SSL 证书或公共密钥发送给客户端。 SSL 证书包含有关服务器,其所有者,公司及其有效期的信息。 如果用户不信任证书的真实性,则可以拒绝该证书,从而有效地终止连接。 如果用户接受证书,则证书本身存储在浏览器中,并用于启动与发行服务器的安全连接。 通过 HTTP 协议进行的 SSL 协议通信称为 **HTTPS** (安全 HTTP)。 使用 SSL 加密连接的网站在浏览器的地址栏中显示 https 作为协议名称,例如。 名为 **[证书颁发机构(CA)](https://en.wikipedia.org/wiki/Certificate_authority "Certificate_authority")** 的组织可以对 SSL 证书的详细信息进行身份验证,因此,如果用户信任 CA,则可以确保安全网站及其证书已通过认证。 细节是正确的。 有许多可以颁发认证的 SSL 证书的 CA。 现代浏览器会自动识别最大和最知名的 CA,并允许自动连接到提供由这些组织认证的 SSL 证书的站点。 如果 SSL 证书未通过 CA 认证,或未通过 CA 认证但未被用户的浏览器识别,则将向用户显示警告屏幕,用户可以在该屏幕上决定是否信任该证书。 diff --git a/docs/misc2/87.md b/docs/misc2/87.md index 13f5fc643c89e3439c59395414f4ff27b549e002..9c37b1622e12c4957f5ad19a829447d6f0fcf0e9 100644 --- a/docs/misc2/87.md +++ b/docs/misc2/87.md @@ -51,21 +51,21 @@ Plugin’s latest version is `2.2`. It has Apache Tomcat7 support. 您可以在`configuration`标签内以各种方式添加 tomcat 插件。 一些有用的配置选项是: -* `address` –此 IP 地址将在所有端口上使用 +* `address` – 此 IP 地址将在所有端口上使用 * `contextFile` – Tomcat 上下文 XML 文件的路径。 -* `hostName` –配置主机名 -* `httpsPort` –用于运行 Tomcat 服务器的 https 端口。 -* `keystoreFile` –覆盖 HTTPS 连接器的默认密钥库文件(如果启用) -* `keystorePass` –覆盖 HTTPS 连接器的默认 keystorePass(如果启用) -* `mainClass` –用于启动独立 jar 的主类。 -* `systemProperties` –要传递给 Tomcat 服务器的系统属性的列表。 -* `port` –自定义端口号 -* `path` –用于 Web 应用程序的 WebApp 上下文路径 -* `warFile` –要部署的 WAR 文件的路径。 +* `hostName` – 配置主机名 +* `httpsPort` – 用于运行 Tomcat 服务器的 https 端口。 +* `keystoreFile` – 覆盖 HTTPS 连接器的默认密钥库文件(如果启用) +* `keystorePass` – 覆盖 HTTPS 连接器的默认 keystorePass(如果启用) +* `mainClass` – 用于启动独立 jar 的主类。 +* `systemProperties` – 要传递给 Tomcat 服务器的系统属性的列表。 +* `port` – 自定义端口号 +* `path` – 用于 Web 应用程序的 WebApp 上下文路径 +* `warFile` – 要部署的 WAR 文件的路径。 ## 使用 tomcat 插件运行应用程序 -要使用 tomcat maven 插件运行该应用程序,请将 maven 目标用作– +要使用 tomcat maven 插件运行该应用程序,请将 maven 目标用作 – ```java mvn tomcat7:run diff --git a/docs/misc2/88.md b/docs/misc2/88.md index 03a2fb03162d8eaeae4f0f4a0da8717bca2b6564..d0fbc30c2ec0b49b4a88ab2e4431b4a44df91b45 100644 --- a/docs/misc2/88.md +++ b/docs/misc2/88.md @@ -1,4 +1,4 @@ -# 春季,Tomcat –在负载均衡器后面获取真实 IP +# 春季,Tomcat – 在负载均衡器后面获取真实 IP > 原文: [https://howtodoinjava.com/tomcat/tomcat-get-real-ip-behind-load-balancer/](https://howtodoinjava.com/tomcat/tomcat-get-real-ip-behind-load-balancer/) @@ -28,7 +28,7 @@ public class WebConfiguration { ``` -或使用 XML 配置,例如 web.xml –使用`filter`标签。 +或使用 XML 配置,例如 web.xml – 使用`filter`标签。 ```java diff --git a/docs/misc2/91.md b/docs/misc2/91.md index 858c662f3d4aacf7b66bb64d69e68bfe3249eb85..3c58de12f4661c326a689c518fb7c2abfef81e93 100644 --- a/docs/misc2/91.md +++ b/docs/misc2/91.md @@ -14,7 +14,7 @@ Java JDK 附带 **jps** 命令,该命令列出了所有 Java 进程 ID。 您 $ jps -l ``` -***记住*** –您可能必须以 **$ sudo -u jps -l** 运行此命令,其中“ user”是 Java 进程用户的用户名 正在运行。 +***记住*** – 您可能必须以 **$ sudo -u jps -l** 运行此命令,其中“ user”是 Java 进程用户的用户名 正在运行。 即使现在,如果您仍无法找到进程 ID,请使用以下命令: diff --git a/docs/misc2/93.md b/docs/misc2/93.md index 61ec0a90e83af30842ca2e660d15e791a7b9e69c..6ba6848dfc8b7fe32f770ed5f029a38760116eed 100644 --- a/docs/misc2/93.md +++ b/docs/misc2/93.md @@ -255,7 +255,7 @@ Swagger2 UI 文档(无注释) 默认生成的 API 文档很好,但是缺少详细的 API 级别信息。 Swagger 提供了一些注释,可以将这些详细信息添加到 API。 例如 -1. `@Api` –我们可以将此注释添加到控制器,以添加有关控制器的基本信息。 +1. `@Api` – 我们可以将此注释添加到控制器,以添加有关控制器的基本信息。 ```java @Api(value = "Swagger2DemoRestController", description = "REST APIs related to Student Entity!!!!") @@ -284,7 +284,7 @@ Swagger2 UI 文档(无注释) 在这里,我们可以将`tags`添加到方法中,以在`swagger-ui`中添加一些分组。 -3. `@ApiModelProperty` –在 Model 属性中使用此注释可为该 Model 属性的 Swagger 输出添加一些描述。 例如 +3. `@ApiModelProperty` – 在 Model 属性中使用此注释可为该 Model 属性的 Swagger 输出添加一些描述。 例如 ```java @ApiModelProperty(notes = "Name of the Student",name="name",required=true,value="test name") diff --git a/docs/misc2/95.md b/docs/misc2/95.md index 6e09246336ac8ec77d24a6d6dbbd230cc2149e33..6d821031df141ae6811560631a1a143c3b125d83 100644 --- a/docs/misc2/95.md +++ b/docs/misc2/95.md @@ -23,7 +23,7 @@ | Design Pattern Name | Purpose | | [适配器](//howtodoinjava.com/2014/05/10/adapter-design-pattern-in-java/) | 适配器将类的接口转换为客户端期望的另一个接口。 它可以让类因接口不兼容而无法一起工作。 | -| [桥](//howtodoinjava.com/design-patterns/structural/bridge-design-pattern/) | 桥接器设计模式用于将一个类分解为两部分-*抽象*和*实现* –以便将来可以相互进化而不会相互影响。 它增加了类抽象与其实现之间的松散耦合。 | +| [桥](//howtodoinjava.com/design-patterns/structural/bridge-design-pattern/) | 桥接器设计模式用于将一个类分解为两部分-*抽象*和*实现* – 以便将来可以相互进化而不会相互影响。 它增加了类抽象与其实现之间的松散耦合。 | | [复合](//howtodoinjava.com/design-patterns/structural/composite-design-pattern/) | 组合设计模式有助于将对象组合成树形结构,以表示整个部分的层次结构。 复合可以使客户统一对待单个对象和对象组成。 | | [装饰器](//howtodoinjava.com/design-patterns/structural/decorator-design-pattern/) | 装饰器设计模式用于向类的特定实例添加其他功能或行为,而不会修改同一类的其他实例。 | | [外立面](https://howtodoinjava.com/design-patterns/structural/facade-design-pattern/) | 外观设计模式为子系统中的一组接口提供了统一的接口。 Facade 定义了一个更高级别的界面,使子系统更易于使用。 | diff --git a/docs/misc2/97.md b/docs/misc2/97.md index b73a5fdafdea596a7a210e9da3e5f581cc85a73c..d15803bce160f11e8ce0bd7dac4ca346b7df5e19 100644 --- a/docs/misc2/97.md +++ b/docs/misc2/97.md @@ -331,7 +331,7 @@ public class DemoSingleton implements Serializable { 学习愉快! -**实时单例示例** –我只是想添加一些示例,以供进一步研究和在访谈中提及: +**实时单例示例** – 我只是想添加一些示例,以供进一步研究和在访谈中提及: * [java.awt.Desktop#getDesktop()](https://docs.oracle.com/javase/6/docs/api/java/awt/Desktop.html#getDesktop%28%29 "Desktop singelton") * [java.lang.Runtime#getRuntime()](https://docs.oracle.com/javase/6/docs/api/java/lang/Runtime.html#getRuntime%28%29 "runtime") \ No newline at end of file