"Java设计模式之23种设计模式详解" Java设计模式是软件工程的基石,项目中合理的运用设计模式可以完美的解决很多问题。设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 一、什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。 二、设计模式的三个分类 设计模式可以分为三大类:创建型模式、结构型模式和行为型模式。 创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程。 结构型模式:把类或对象结合在一起形成一个更大的结构。 行为型模式:类和对象如何交互,及划分责任和算法。 三、各分类中模式的关键点 1. 单例模式:某个类只能有一个实例,提供一个全局的访问点。 2. 简单工厂:一个工厂类根据传入的参量决定创建出那一种产品类的实例。 3. 工厂方法:定义一个创建对象的接口,让子类决定实例化那个类。 4. 抽象工厂:创建相关或依赖对象的家族,而无需明确指定具体类。 5. 建造者模式:封装一个复杂对象的构建过程,并可以按步骤构造。 6. 原型模式:通过复制现有的实例来创建新的实例。 7. 适配器模式:将一个类的方法接口转换成客户希望的另外一个接口。 8. 组合模式:将对象组合成树形结构以表示“”部分-整体“”的层次结构。 9. 装饰模式:动态的给对象添加新的功能。 10. 代理模式:为其他对象提供一个代理以便控制这个对象的访问。 11. 亨元(蝇量)模式:通过共享技术来有效的支持大量细粒度的对象。 12. 外观模式:对外提供一个统一的方法,来访问子系统中的一群接口。 13. 桥接模式:将抽象部分和它的实现部分分离,使它们都可以独立的变化。 14. 模板模式:定义一个算法结构,而将一些步骤延迟到子类实现。 15. 解释器模式:给定一个语言,定义它的文法的一种表示,并定义一个解释器。 16. 策略模式:定义一系列算法,把他们封装起来,并且使它们可以相互替换。 17. 状态模式:允许一个对象在其对象内部状态改变时改变它的行为。 18. 观察者模式:对象间的一对多的依赖关系。 19. 备忘录模式:在不破坏封装的前提下,保持对象的内部状态。 20. 中介者模式:用一个中介对象来封装一系列的对象交互。 21. 命令模式:将命令请求封装为一个对象,使得可以用不同的请求来进行参数化。 22. 访问者模式:在不改变数据结构的前提下,增加作用于一组对象元素的新功能。 23. 责任链模式:将请求的发送者和接收者解耦,使的多个对象都有处理这个请求的机会。 这些设计模式都可以帮助我们更好地编写代码,提高代码的可读性和维护性。
2024-07-03 16:20:03 735KB Java设计模式 23种设计模式
1
在pp和Pb-Pb碰撞中,首次提出了与孤立光子相关联的射流的碎片函数的测量结果。 该分析使用的是在CERN LHC上用CMS检测器收集的数据,其核子-核子质心能量为5.02 TeV。 对于包含pTγ> 60 GeV / c的孤立光子的事件,对于pTjet> 30 GeV / c的射流,可以使用在射流轴周围的圆锥中使用横向动量pTtrk> 1 GeV / c的带电轨道获得碎片功能。 与孤立的光子的结合会限制其淋浴产生射流的部分的初始pT和方位角。 对于中心的Pb-Pb碰撞,与在pp碰撞中测量的射流碎片功能相比,可以观察到喷射碎片功能的变化,而在大多数50%的外围碰撞中没有发现显着差异。 中心Pb-Pb事件中的喷射流显示出低(高)pT颗粒过多(耗尽),跃迁约为3 GeV / c。 该测量值首次显示了具有明确定义的初始运动学的中型花洒修饰(夸克为主)。 它构成了一个新的,控制良好的参考,用于测试部分分子通过夸克-胶子等离子体的理论模型。
2024-07-03 16:11:27 998KB Open Access
1
在本文中,我们建议使用卷积神经网络(CNN)来改善轻子对撞机上希格斯玻色子-胶子有效耦合的精度。 CNN用于识别希格斯玻色子和Z玻色子相关的生产过程,希格斯玻色子在质心能量250 GeV和积分光度5 ab处衰变成胶子对,而Z玻色子衰变成轻子对。 -1。 通过使用CNN,有效的耦合测量的不确定性可以使用pythia数据从1.94%降低到约1.28%,使用蒙特卡罗模拟中的herwig数据可以从1.82%降低到约1.22%。 此外,使用不同最终状态成分的CNN的性能表明,领先和次领先射流成分的能量分布在识别中起主要作用,与使用常规CNN相比,使用CNN进行有效耦合的最佳不确定性降低了约35%。 方法。
2024-07-03 15:24:37 552KB Open Access
1
java版飞机大战源码 spring boot restful API 从零到一完整实践 自己第一次接触 restful 是在学习 vue 的时候,第一次看见的时候,真的打心底里的喜欢。不仅是因为其一致的规范性,还有他的简单明了,都让我眼前一亮的感觉。现在对于一些程序,都是提倡的前后端分离,各干各的互不相干,事实上我也非常喜欢这种方式,虽然我希望的是成为一个全栈的工程师。但是前后端的分离却带来了一些质的飞跃,一方面业务上的逻辑不会太耦合,另一方面让更专业的人处理更专业的事,效率和质量上都会高上许多。Restful Api 是目前比较成熟的一套互联网应用程序的 API 设计理论,就是作为其中一种统一的机制出现,方便不同的前端设备与后端进行通信。今天就利用 spring boot 的多个组件,来实现以下 restful 风格的 api,从自己使用 controller 到使用框架开始一步一步搭建。 RESTFul RESTFUl 一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件(源自)。这是一篇如何使用 spring boot 来进行构建一个 restful Api
2024-07-03 15:22:36 104KB 系统开源
1
在左-右孪生希格斯(LRTH)模型的框架中,我们考虑了最近一次在LHC上寻找高质子核共振的约束,并发现重中性玻色子ZH的质量低于2.76 TeV。 在这些约束下,我们研究了希格斯-格格勒耦合生产过程e + e-→ZH,e + e-→νeνe¯H和e + e-→e + e-H,上夸克汤河耦合生产过程e + e- →tt¯H,在e + e-对撞机上,希格斯自耦产生过程e + e-→ZHH和e + e-→νeνe¯HH。 此外,我们研究了希格斯玻色子的主要衰变模式,即h→ff′(f = b,c,τ),VV⁎(V = W,Z),gg,γγ。 我们发现LRTH效应相当大,因此e + e-对撞机上的希格斯玻色子过程可能是LRTH模型的敏感探针。
2024-07-03 14:52:48 719KB Open Access
1
我们探索在未来的e-p对撞机FCC-eh上发现SU(2)L-三重标量双电荷分量的发现前景,提出以60 GeV的电子束能和50 GeV的质子束能工作 TeV。 我们考虑了带双电荷的希格斯玻色子连同轻子和射流的相关产生,以及随后迅速衰变为同号轻子对的现象。 标量三重态与带电轻子的O(1)Yukawa耦合会发生这种情况,这对于控制II型跷跷板中微子质量产生的三重态场的中性成分的合理较小的真空期望值是可以预期的。 我们介绍了针对两个不同最终状态的分析,即3l +≥1j和包含性的≥2l+≥1j通道。 仅考虑它对电子的衰变,我们发现质量为TeV的双电荷希格斯玻色子可以在3σ置信度下观察到,并且积分光度为O(200)fb-1,而质量为2 TeV 在几年的数据积累中进行了调查。 如果在μμ模式下触发信号,并且此信号对于TeV级双电荷希格斯玻色子具有完整的发光度低至O(50)fb-1,则在此通道中可以实现5σ发现,因此该信号基本上变为无背景信号 。 我们还强调了FCC-eh对Yukawa耦合的敏感性,该耦合是ee和μμ通道中双电荷希格斯玻色子产生的质量的函数。
2024-07-03 14:29:58 1.53MB Open Access
1
在IT领域,SpringBoot是一个广泛使用的Java框架,它简化了创建独立、生产级的Spring应用程序的流程。OPC(OLE for Process Control)是工业自动化领域的一个标准,用于数据交换,尤其是设备与上位机之间的通信。本项目是将OPC客户端功能集成到SpringBoot应用中的实践,对于理解如何在工业自动化环境中利用Java技术进行设备通信具有重要的参考价值。 我们需要了解OPC的基本概念。OPC提供了一种标准接口,使得不同的硬件和软件供应商能够无缝地共享数据。OPC客户端是通过OPC接口来获取或设置服务器的数据,而OPC服务器则暴露这些接口,供客户端使用。在工业自动化系统中,OPC客户端通常负责从PLC(可编程逻辑控制器)或其他设备读取数据,然后可能将这些数据进一步处理或展示给用户。 接下来,我们将深入探讨如何在SpringBoot应用中实现OPC客户端。SpringBoot以其快速启动、内置HTTP服务器和自动配置特性著称,使得开发者可以更专注于业务逻辑,而不是基础设施。在本项目中,OPC客户端的功能可能是通过一个名为`opcagent`的模块来实现的。 1. **依赖管理**:为了使用OPC,你需要引入相应的Java库,如OPC-UA Java Stack或者JOPC。这些库提供了OPC客户端所需的基础组件,如连接管理、数据读写等。在SpringBoot项目中,这些依赖可以通过Maven或Gradle的POM文件添加。 2. **配置与初始化**:在SpringBoot的配置文件(application.properties或application.yml)中,你可以定义OPC服务器的地址、端口、认证信息等参数。然后,你可以创建一个配置类,利用`@Configuration`和`@Bean`注解来初始化OPC客户端实例。 3. **OPC客户端实现**:在Java代码中,你可以创建OPC客户端对象,使用库提供的API建立连接,注册监听器来实时接收数据变化,以及执行读取和写入操作。这通常涉及到异步编程,以确保高效率和实时性。 4. **SpringBoot集成**:SpringBoot的事件驱动模型和AOP(面向切面编程)可以方便地与OPC客户端交互。例如,你可以使用`ApplicationEventPublisher`发布自定义事件,当OPC数据发生变化时触发业务逻辑。同时,你可以定义切面来处理OPC操作的异常,确保应用的健壮性。 5. **测试与调试**:由于OPC通信涉及到网络和硬件设备,单元测试可能比较复杂。然而,可以使用模拟OPC服务器或mocking工具进行测试。此外,日志记录和监控工具对于理解和优化OPC客户端的性能至关重要。 6. **安全性考虑**:OPC通信可能涉及敏感数据,因此必须确保安全。你可以配置SSL/TLS来加密通信,使用安全的身份验证机制,并遵循最佳的安全实践。 "基于SpringBoot实现的opc客户端"项目是一个实用示例,展示了如何将流行的Java微服务框架与工业自动化领域的标准结合,为开发者提供了一个高效、灵活的解决方案。通过学习这个项目,开发者可以更好地理解如何在现代企业环境中整合不同系统的数据流。
2024-07-03 14:07:12 79.51MB springboot opc客户端 java
1
我们研究了质子-质子对撞机产生的三个希格斯玻色子的产生,质子-质子对撞机的质心能量为100 TeV,所有这些都衰减为b型射流。 最终状态封装了迄今为止三重希格斯玻色子生产总横截面的最大部分,约为20%至20%。 通过构造详细的现象学分析,我们研究了两种情况:(i)一种情况,其中三重和四次希格斯玻色子自耦合被关于其标准模型(SM)值的新现象独立地修改,并且(ii)扩展了 在所谓的xSM的背景下,SM通过标量单标量来驱动一阶电弱相变。 在前者中,我们发现$$ {\ mathscr {O}}(1)$$ O(1)的竞争约束可以放在四次耦合上,而在后者中,我们证明有可能获得重要信息 关于扩展标量部门的结构。
2024-07-03 13:46:53 1.09MB Open Access
1
计算了光子发射(初始状态辐射)在希格斯玻色子的直接生产过程的横截面中对未来高发光度电子和μ子对撞机的影响。 已经发现,对于电子对撞机,希格斯玻色子共振峰的顶部的横截面减小了0.348倍,对于μ子对撞机减小了0.548倍。 4.2 MeV(等于希格斯宽度)的质心能量的质心能量散布将使电子和μ子束的峰截面进一步减小0.170和0.256(QED和能量散布) 分别。 讨论了恢复QED计算中可能存在的不确定性。 提供了包括QED在内的线形横截面的数值结果以及许多质心能量散布值。
2024-07-03 13:11:55 895KB Open Access
1
最小超对称标准模型(MSSM)的框架中提供了一个中子希格斯玻色子与光子在电子-正电子碰撞中的单一产生的完整单环预测,并特别注意每种类型的单个贡献 图。 该过程在树级别没有幅度,因此对单环影响和希格斯的基本动态直接敏感。 为了研究新物理学的影响,有四种不同的方案,其中包括质量和耦合与发现的希格斯玻色子一致的希格斯玻色子,以及搜索其他希格斯玻色子和粒子边界所允许的相当大的参数空间 ,在MSSM中选择。 标准模型和MSSM中横截面对c.m的依赖性。 通过考虑初始电子束和正电子束的极化来检查能量。 还详细研究了每种单回路图对总横截面的影响。 此外,针对每种情况,在平面mA-tanβ上扫描e-e +→γh0以及e-e +→γA0的总横截面。 完整的一环贡献对于在未来的电子-正负电子对撞机中分析超出标准模型物理学至关重要。
2024-07-03 12:47:31 1.77MB Open Access
1