Ansys Zemax | 如何建立二向分色分光镜
分光镜(Beam splitter)可被运用在许多不同的场合。一般而言,入射光抵达二向分色分光镜(dichroic beam splitter)时,会根据波长的差异产生穿透或反射的现象。这篇文章将说明如何在OpticStudio的非序列模式(non-sequential mode)中建立二向分色分光镜,以及如何根据需求自订镀膜结构以产生分光表面。
(联系我们获取文章附件)
简介
作为一个常见的光学元件,分光镜(beam splitter)可将入射光分为折射和反射光线路径。依据元件的型态,我们可以将分光镜分为以下三个类别:
· 立方体分光镜(Cube beam splitters)
· 平板分光镜(Plate beam splitters)
· 薄膜分光镜(Pellicle beam splitters)
在OpticStudio中,分光镜根据入射角、偏振态波长等特性将入射光分为两条不同的路径。
在这篇文章中,我们将示范如何在非序列模式中完成二向分色分光镜的建立和模拟。
二向分色分光镜
二向分色分光镜利用特殊的镀膜表面,使入射光分为如下图的两道光路。在这篇文章中,我们将假设你已熟悉基本的镀膜操作。假如还不是很熟悉的读者,建议在进行后续步骤前可以先参考这篇文章Ansys Zemax | 如何模拟部分反射和散射的表面
在市面上众多的分光镜选择中,本范例会以一款可在CVI Laser, LLC购得的款式为原型。此分光镜为短波通(SWP)的类型,这种类型的分光镜在入射光波长较短时具有高穿透率(即低反射率)。反之,当入射光为长波长时,则穿透率较低(高反射率)。下图为典型的SWP二向分色镀膜的穿透率曲线。
更多关于CVI雷射二向分色分光镜的信息可以参考这个网站CVI - Home Redirect (cvilaseroptics.com)。
在下图中,我们可以依照能量的穿透率将二向分色镀膜的特性曲线分为三个部分。1) Pass band,此波长范围内的入射光具有高穿透率和低反射率 2) Stop band,此波长范围内的入射光具有低穿透率和高反射率 3) Transition region,波长范围介于前两个区域之间。
为了简化模拟,我们将利用CVI提供的信息建立理想的SWP二向分色分光镜。以下五点为建立该模型的原则:
· 不需要知道完整的镀膜分类数据报告(prescription data)
· 二向分色镀膜不受入射光偏振态的影响
· Pass Band的穿透率为100%
· Stop Band的反射率为100%
· 我们不会对过渡区(穿透率由高到低的区域)进行模拟
OpticStudio可以模拟极为接近实际镀膜的状况,因此我们不一定需要输入理想的条件才能完成模拟,这些假设只是用来帮助我们更轻易的完成本范例。
本范例中的SWP二向分色分光镜具有以下特性:
· 材质: N-BK7
· Clear Aperture: 1”
· 厚度: 0.25”
· 二向分色镀膜位于分光镜(Object 2)的前表面(front surface)
· Pass wavelength (在System Explorer中设定): 0.400 um
· Stop wavelength: 0.525 um
· 分光镜的侧表面和后表面以反射率1%(穿透率99%)的抗反射(AR)材质进行镀膜
初始设定
为了更顺利的完成后续的操作步骤,建议以附件的档案进行光学设计。
如下图,范例的档案包含了椭圆光源(Source Ellipse)、标准透镜(Standard Lens, 模拟分光镜)和两个矩形量测器(Detector Rectangle, 分别量测反射和穿透的能量)。
查看System Explorer我们可以发现:
· 系统的透镜长度单位已变更为inches
· 光线追迹相对阀值强度(Minimum Relative Ray Intensity)需设为1E-2(即光线的能量必须高于原先的1%才可被用来进行追迹)
· 在波长选单中可以看到自订的两个波长,其中Wavelength 1被设为主要波长
· 此时我们还未在分光镜上镀膜
镀膜规格
为了模拟二向分色镀膜,我们会透过编辑参数的方式更改OpticStudio内建的镀膜设定。相较于其他形式的镀膜,上述的方法有更高的自由度,允许材质的穿透、反射和吸收等特性随入射光波长、偏振态和入射角变化。此外,镀膜造成的相位变化也可被加入设定中。
以上步骤均可在未知镀膜的材质下完成。当设计者无法得知镀膜特性,仅得知材质产生的光学表现时 (例如: 当不同波长/角度的入射光抵达表面时的穿透/反射信息),这项功能将十分有助于帮助我们建立模型。
关于自订镀膜的格式,资料会依不同的入射角(angle of incidence)初步分类。而在这个大分类下又会再依不同波长入射光的偏振态进一步细分,这里的偏振态变化是由反射和折射系数所定义,如下:
TABLE [镀膜名称]
ANGL [入射角 1 (度)]
WAVE [波长 1, in mm] [Rs] [Rp] [Ts] [Tp] [Ars] [Arp] [Ats] [Atp]
WAVE [波长 2, in mm] [Rs] [Rp] [Ts] [Tp] [Ars] [Arp] [Ats] [Atp]
WAVE [波长 3, in mm] [Rs] [Rp] [Ts] [Tp] [Ars] [Arp] [Ats] [Atp]
...
ANGL [入射角 2 (度)]
WAVE [波长 1, in mm] [Rs] [Rp] [Ts] [Tp] [Ars] [Arp] [Ats] [Atp]
WAVE [波长 2, in mm] [Rs] [Rp] [Ts] [Tp] [Ars] [Arp] [Ats] [Atp]
WAVE [波长 3, in mm] [Rs] [Rp] [Ts] [Tp] [Ars] [Arp] [Ats] [Atp]
...
Rs: S偏振反射系数
Rp: P偏振反射系数
Ts: S偏振透射系数
Tp: P偏振透射系数
反/透射系数后方的参数为相位旋转角(phase rotation angle),这些角度是非必须的,忽略这些参数则镀膜的相位不会发生改变。在本范例中可以全设为0而不会影响最后的结果。
由于在自订镀膜时,S和P偏振态的反/透射系数可以分别被定义,因此我们能在OpticStudio中建立偏振分光镜。
在本范例中,我们只会针对单一入射角(45度)和两个波长(0.400和0.525 um)的入射光进行设计。如之前所述,为了简化设计我们会将二向分光镀膜定义为不随偏振态改变的类型。如此一来,S和P偏振会有相同的反射能量(同理,透射能量也是如此)。由于0.400 um的波长范围位于此分光镜的pass band,因此此处有100%的透射率和0%的反射率。反之,0.525 um位于分光镜的stop band,因此此处有0%的穿透率和100%的反射率。最终的自订镀膜结果如下所示:
TABLE SWP
ANGL 45
WAVE 0.400 0.0 .0.0 1.0 1.0
WAVE 0.525 1.0 1.0 0.0 0.0
我们可以使用文件编辑应用程序(如: 记事本或EditPlus2)进行以上的修改。开启新的档案,并输入以上信息。
接着我们还会需要建立理想的AR镀膜。在前面的篇幅曾提到,本案例中的AR镀膜具有1%的反射率和99%的透射率。另外由于此镀膜不会受入射光的吸收率、波长和角度等因素影响,我们可以在文字档中以 "I.穿透率(transmission)" 的方式描述理想镀膜,如下:
COAT I.99
将以上这行文字加入文件中。
当完成以上的镀膜参数设定后,以适当的名称(例如: DICHROIC.DAT,注意档名须以”.DAT”结尾) 将档案与其他镀膜档储存在同个资料夹中(预设路径为{Zemax}/ Coatings)。
镀膜结果评估
完成镀膜的设定后,接下来就可以将这些信息套用到范例中的分光镜模型了。
首先,在System Explorer中点选Files。接着在第一栏的Coating File选择刚刚建立的自订镀膜DAT档案,如下图:
接下来,在非序列元件编辑器(Non-Sequential Component Editor)中打开object 2的Object Properties,并进入Coat/Scatter选单。在这个选单中可以看到Face栏位为平板分光镜的侧表面 (0, the Side Face),我们会将自订的理想镀膜”I.99”套用到此表面和后表面 (2, Back Face) 上。
最后,以同样的方法将二向分色镀膜” SWP”套用到1, Front Face上。
完成以上的步骤后,我们可以开始进行二向分色分光镜的分析。此分光镜最主要的光学现象为入射光因波长的差异分为两道不同的光路。为了清楚看到分光结果,我们可以打开3D Layout视窗并依下图将光路的分类依据改为Wave #:
如此一来,布局图的光线就会依照波长分为两种不同的颜色。蓝色光束(代表wavelength 1, 0.400 um)位在pass band范围内,因此会穿过分光镜继续前进。而绿色光束(wavelength 2, 0.525 um)位在stop band范围内,则会在分光镜内产生反射。这样的结果显示我们建立的二向分色分光镜是正确的。
接着在Analyze Ribbon...Ray Trace中打开Ray Trace Control视窗,并依下图设定。在进行光线追迹前,我们必须确保Use Polarization和Split NSC Rays这两个选项是有勾选的。
观看Detector Viewer的结果,我们可以发现光线的能量大约减为原先的一半。
自订镀膜的准确性
我们已验证了波长0.400和0.525 um的光线入射二向分色分光镜的结果,那么其他波长的光线入射时会发生什么事呢?
在System Explorer中打开Wavelength Data视窗,并依下图指示新增两组波长:
接着,为了了解这些波长的入射光表现如何,我们可以依Analysis...Coatings...Transmission vs. Wavelength的顺序打开下图的视窗。完成下图的设定后,我们就可以观察到入射角45度的光线抵达镀膜表面时的结果:
下图即为不同波长的入射光在目标表面的穿透率:
这张图则是一般的SWP二向分色镀膜的”穿透率-波长”关系:
由上面两张图的比较,我们可以看到OpticStudio以线性的方式呈现穿透率由高到低过渡区。但实际上,这个区域的特性曲线并非如此,我们可以在第二张图观察到这个现象。会造成这个结果的原因是因为在模拟时我们以较少的资料点定义SWP镀膜,因此系统会以线性内插(linear intropolation)的方式完成波长和穿透/反射率的特性曲线。在本范例中,我们只提供了波长0.400和0.525 um这两个资料点,因此当波长超过0.400 um时,便会以线性的方式递减,直到在波长0.525 um处达到最小值0。若我们想要更精确的呈现过渡区的穿透率变化,便需要在这两个资料点中间加入更多的波长以及对应的光线穿透/反射率。
还有一点要注意的是,落在定义范围外的波段(即本范例中波长小于0.400 um或超过0.525 um的区域),对应的穿透率会保持定值(不会进行外插)。因此若要使特性曲线的准确性提升,同样的也必须增加波长的资料点。
由于本范例中我们使用准直光源入射平板分光镜,因此完成入射角的设定(本范例为45度)后,模拟的结果并不会有太大的落差。那么假如现实中的光源并非准直的呢?
按照Analysis...Coatings...Transmission vs. Angle的顺序打开”穿透率-入射角”分析图,并依下图变更设定。
以下是穿透率对入射角的特性曲线:
我们可以注意到,上图中任何角度的入射光抵达镀膜表面时均有相同表现。然而在现实中并非如此,造成此结果的原因是因为在自订SWP镀膜时,我们只在文字档中输入一组入射角的信息。如前段文章所述,为了使特性曲线更符合实际情况,我们同样必须增加更多组入射角对应穿透/反射的信息。
此外,截至目前S和P偏振均呈现相同的模拟结果。然而在现实中,光线的波长、入射角和偏振态均会对二向分色镀膜的穿透/反射率造成影响。本范例为了简化操作步骤,在定义SWP镀膜时选择忽略S和P偏振对透/反射产生影响的差异,但事实上我们可以在OpticStudio中做到这点。
使模拟更接近实际情况
若想建构更符合实际情况的模型,以本范例为例,我们需要使45度入射光抵达SWP二向分色镀膜时的表现更贴近实际特性曲线。藉由在镀膜档案中加入更多信息,可以使以下几种状况的模拟更精确:
· 特性曲线的过渡区
· 不同偏振态入射光经过镀膜时的变化
· 实际的穿透/反射率(假设100%或0%是为了简化模拟)
以下是入射角45度的SWP镀膜表现:
以下是更精确的自订镀膜范例:
TABLE SWP_REALISTIC
ANGL 45
WAVE 0.350 0.06 0.00 0.94 1.00
WAVE 0.355 0.02 0.00 0.98 1.00
WAVE 0.360 0.01 0.00 0.99 1.00
WAVE 0.365 0.06 0.00 0.94 1.00
WAVE 0.370 0.04 0.00 0.96 1.00
WAVE 0.375 0.00 0.00 1.00 1.00
WAVE 0.380 0.03 0.00 0.97 1.00
WAVE 0.385 0.07 0.00 0.93 1.00
WAVE 0.390 0.04 0.00 0.96 1.00
WAVE 0.395 0.00 0.00 1.00 1.00
WAVE 0.400 0.03 0.00 0.97 1.00
WAVE 0.405 0.07 0.00 0.93 1.00
WAVE 0.410 0.05 0.00 0.95 1.00
WAVE 0.415 0.00 0.02 1.00 0.98
WAVE 0.420 0.03 0.03 0.97 0.97
WAVE 0.425 0.07 0.02 0.93 0.98
WAVE 0.430 0.06 0.00 0.94 1.00
WAVE 0.435 0.05 0.02 0.95 0.98
WAVE 0.440 0.07 0.04 0.93 0.96
WAVE 0.445 0.08 0.06 0.92 0.94
WAVE 0.450 0.07 0.05 0.93 0.95
WAVE 0.455 0.15 0.00 0.85 1.00
WAVE 0.460 0.25 0.02 0.75 0.98
WAVE 0.465 0.21 0.13 0.79 0.87
WAVE 0.470 0.08 0.20 0.92 0.80
WAVE 0.475 0.70 0.16 0.30 0.84
WAVE 0.480 0.90 0.06 0.10 0.94
WAVE 0.485 0.98 0.13 0.02 0.87
WAVE 0.490 0.98 0.53 0.02 0.47
WAVE 0.495 0.99 0.84 0.01 0.16
WAVE 0.500 0.99 0.90 0.01 0.10
WAVE 0.505 1.00 0.94 0.00 0.06
WAVE 0.510 1.00 0.96 0.00 0.04
WAVE 0.515 1.00 0.97 0.00 0.03
WAVE 0.520 1.00 0.97 0.00 0.03
WAVE 0.525 1.00 0.97 0.00 0.03
WAVE 0.530 1.00 0.97 0.00 0.03
WAVE 0.535 1.00 0.97 0.00 0.03
WAVE 0.540 1.00 0.97 0.00 0.03
WAVE 0.545 1.00 0.965 0.00 0.035
WAVE 0.550 1.00 0.96 0.00 0.04
我们可以打开之前建立的镀膜文字档并加入以上信息。接着在Libraries Ribbon...Coatings Tool中选择”重新加载模层文件(Reload Coating File)”,并将Object 2 Properties中1, Front Face表面镀膜设为”SWP_REALISTIC”,如此一来更精确的镀膜数据就会被套用到目标表面上了。由下图的穿透率对波长特性曲线,可以发现结果更贴近实际的情况。
由上图可以发现我们的设计明显改善了许多。当然,如果再加入更多的资料点将使模拟更贴近实际情况。
参考文献
1. CVI Laser Optics. 2017. "SWP: Short Wave Pass Dichroic Beamsplitter." https://www.cvilaseroptics.com/.
2. Farner, Kelly. 2018. Optical Coherence Tomography - System and Simulation. Zemax. August 31.
相关文章:
Ansys Zemax | 如何建立二向分色分光镜
分光镜(Beam splitter)可被运用在许多不同的场合。一般而言,入射光抵达二向分色分光镜(dichroic beam splitter)时,会根据波长的差异产生穿透或反射的现象。这篇文章将说明如何在OpticStudio的非序列模式(non-sequential mode)中建立二向分色分光镜&…...
Mybatis学习笔记8 查询返回专题
1.返回实体类 2.返回List<实体类> 3.返回Map 4.返回List<Map> 5.返回Map<String,Map> 6.resultMap结果集映射 7.返回总记录条数 新建模块 依赖 目录结构 1.返回实体类 如果返回多条,用单个实体接收会出异常 2.返回List<实体类> 即使返回一条记…...
【测试开发】基础篇 · 专业术语 · 软件测试生命周期 · bug的描述 · bug的级别 · bug的生命周期 · 处理争执
【测试开发】基础篇 文章目录 【测试开发】基础篇1. 软件测试生命周期1.1 软件生命周期1.2 软件测试生命周期 2. 描述bug3. 如何定义bug的级别3.1 为什么要对bug进行级别划分3.2 bug的一些常见级别 4. bug的生命周期5. 产生争执这么怎么办(处理人际关系)…...
bing许少辉乡村振兴战略下传统村落文化旅游设计images
bing许少辉乡村振兴战略下传统村落文化旅游设计images...
第三十一章 Classes - 继承规则
第三十一章 Classes - 继承规则 继承规则 与其他基于类的语言一样,可以通过继承组合多个类定义。 类定义可以扩展(或继承)多个其他类。这些类又可以扩展其他类。 请注意,类不能继承 Python 中定义的类(即 .py 文件中…...
华为云HECS安装docker并安装mysql
1、运行安装指令 yum install docker都选择y,直到安装成功 2、查看是否安装成功 运行版本查看指令,显示docker版本,证明安装成功 docker --version 3、启用并运行docker 3.1启用docker指令 systemctl enable docker 3.2 运行docker指令…...
MQ - 04 基础篇_存储_消息数据和元数据的存储设计
文章目录 导图概述元数据信息的存储消息数据的存储数据存储结构设计思路一 (Kafka的方案)思路二 (RocketMQ、RabbitMQ 和 Pulsar 的底层存储 BookKeeper 采用的方案)消息数据的分段实现根据偏移量定位根据索引定位 (RabbitMQ 和 RocketMQ的思路)使用场景消息数据存储格式…...
JavaScript:隐式转换、显示转换、隐式操作、显示操作
一、理解js隐式转换 JavaScript 中的隐式转换是指不需要显式地调用转换函数,而是在执行期间自动发生的数据类型的转换。即在使用不同类型的值进行操作时,JavaScript会自动进行类型转换。这种转换通常发生在不同数据类型之间进行运算或比较时。 序号分类…...
2023全新TwoNav开源网址导航系统源码 | 去授权版
2023全新TwoNav开源网址导航系统源码 已过授权 所有功能可用 测试环境:NginxPHP7.4MySQL5.6 一款开源的书签导航管理程序,界面简洁,安装简单,使用方便,基础功能免费。 TwoNav可帮助你将浏览器书签集中式管理&#…...
Android 12 源码分析 —— 应用层 六(StatusBar的UI创建和初始化)
Android 12 源码分析 —— 应用层 六(StatusBar的UI创建和初始化) 在前面的文章中,我们分别介绍了Layout整体布局,以及StatusBar类的初始化.前者介绍了整体上面的布局,后者介绍了三大窗口的创建的入口处,以及需要做的准备工作.现在我们分别来细化三大窗口的UI创建和…...
华为云ROMA Connect亮相Gartner®全球应用创新及商业解决方案峰会,助力企业应用集成和数字化转型
9月13日-9月14日 Gartner全球应用创新及商业解决方案峰会在伦敦举行 本届峰会以“重塑软件交付,驱动业务价值”为主题,全球1000多位业内专家交流最新的企业应用、软件工程、解决方案架构、集成与自动化、API等企业IT战略和新兴技术热门话题。 9月13日…...
虚拟线上发布会带来颠覆性新体验,3D虚拟场景直播迸发品牌新动能
虚拟线上发布会是近年来在数字化营销领域备受关注的形式,而随着虚拟现实技术的不断进步,3D虚拟场景直播更成为了品牌宣传、推广的新选择。可以说,虚拟线上发布会正在以其颠覆性的新体验,为品牌带来全新的活力。 1.突破时空限制&am…...
Linux arm64 pte相关宏
文章目录 一、pte 和 pfn1.1 pte_pfn1.2 pfn_pte 二、其他宏参考资料 一、pte 和 pfn // linux-5.4.18/arch/arm64/include/asm/pgtable.h#define pte_pfn(pte) (__pte_to_phys(pte) >> PAGE_SHIFT) #define pfn_pte(pfn,prot) \__pte(__phys_to_pte_val((phys_addr_t)…...
MVCC:多版本并发控制案例分析(一)
(笔记总结自b站马士兵教育课程) 一、简介 MVCC:全称multi-version Concurency control,多版本并发控制,是为了解决并发读写问题存在的。MVCC的实现原理由三部分组成:隐藏字段、undolog、readview。 二、概…...
以数据为中心的安全市场快速增长
根据Adroit Market Research的数据,2021年全球以数据为中心的安全市场规模估计为27.6亿美元,预计到2030年将增长至393.48亿美元,2021年至2030年的复合年增长率为30.9%。 研究人员表示,以数据为中心的安全强调保护数据本身&#x…...
AUTOSAR汽车电子嵌入式编程精讲300篇-经典 AUTOSAR 安全防御能力的分析及改善(下)
目录 4.4.2 Security 攻击 4.4.3 Security 要求 4.4.4 SDSA 有效性验证 经典 AUTOSAR 安全防御能力分析...
AI绘图提示词Stable Diffusion Prompt 笔记
基础 提示词分为正向提示词(positive prompt)和反向提示词(negative prompt),用来告诉AI哪些需要,哪些不需要词缀的权重默认值都是1,从左到右依次减弱,权重会影响画面生成结果。AI …...
xml元素值需要保留space
XmlReaderSettings.IgnoreWhitespace 属性 如果忽略空白,则为 true;否则为 false。 默认值为 false。 示例 下面创建一个设置对象,该对象可用于构造一个读取器,该读取器去除处理指令、注释和微不足道的空白。 StreamReader tex…...
Eclipse开源代码下载
当前插件开发,需要修改eclipse源码,如需要修改remote相关的代码,所以需要下载相关源码。网上大多资料都说的不清不楚的,也可能我太小白,不明白,反正就是折腾了一两天才感觉有点思路,改如何找源码…...
python多线程、进程
1、 并行和并发 (1)并发:一定周期内,多个任务来回切换执行,宏观上形成“该周期内有多个任务在同时进行”;但同一时间点,只有一个任务在执行。 举例: 你想在2小时内同时完成做饭、扫…...
Vue基础之模板语法介绍
前言 上篇我分享了关于Vue的入门,简单的入了个门。本篇文章将要分享的内容为Vue的模板语法。 一、插值 1.1、文本 1.2、html 1.3、属性 1.4、class、style绑定 1.5、表达式 在Vue的模板语法中,插值是一种常用的方式来动态地将数据渲染到视图中。Vue使用双…...
【SLAM】 前端-视觉里程计之特征点
前端-视觉里程计之特征点 参考资料: 以不变应万变:前端-视觉里程计之特征点 视觉SLAM——特征点法 task05 本次了解了特征点是由关键子和描述子组成,并且对比了SIFT、SURF等七种获取特征点的方法,同时对比了SIFT、SURF和ORB方法…...
Android笔记(二十九):利用python自动生成多语言
背景 项目需要支持十几种多语言,而且每个版本的新功能ui都有很多地方需要多语言,如果手动添加非常耗时,于是设计了一个python脚本,通过excel表格转化多语言到项目values/strings文件内 步骤 android工程项目结构 脚本位于langu…...
【C++STL基础入门】list的运算符重载和关于list的算法
文章目录 前言一、list运算符1.1 逻辑运算符1.2 赋值运算符 二、list相关算法2.1 查找函数总结 前言 C标准模板库(STL)是一组强大而灵活的工具,用于处理数据结构和算法。其中,std::list是STL中的一个重要容器,它实现了…...
查找内轮廓(孔洞)
一 说明 findContours( InputOutputArray image, OutputArrayOfArrays contours,OutputArray hierarchy, int mode,int method, Point offset=Point());参数列表中有个数据结构参数:hierarchy(译层次结构),hierarchy是一个向量,其元素个数与查找到的轮廓总数相同,每一个…...
Git(6)——GitHub
目录 一、简介 二、概要 三、注册 四、创建仓库 五、推送本地代码 六、拉取远端代码 一、简介 在Git(5)中,我们已经对Git分支的概念和用法有了一定了解,对于在本地进行代码版本管理,其实当前所学的东西基本已经…...
【RocketMQ专题】快速实战及集群架构原理详解
目录 课程内容一、MQ简介基本介绍*作用(解决什么问题) 二、RocketMQ产品特点2.1 RocketMQ介绍2.2 RocketMQ特点2.3 RocketMQ的运行架构 三、RocketMQ快速实战3.1 快速搭建RocketMQ服务3.2 快速实现消息收发3.3 搭建Maven客户端项目3.4 搭建RocketMQ可视化…...
[设计模式] 浅谈SOLID设计原则
目录 单一职责原则开闭原则里氏替换原则接口隔离原则依赖倒转原则 SOLID是一个缩写词,代表以下五种设计原则 单一职责原则 Single Responsibility Principle, SRP开闭原则 Open-Closed Principle, OCP里氏替换原则 Liskov Substitution Principle, LSP接口隔离原则 …...
基于Java+SpringBoot+Vue的旧物置换网站设计和实现
基于JavaSpringBootVue的旧物置换网站设计和实现 源码传送入口前言主要技术系统设计功能截图数据库设计代码论文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码传送入口 前言 摘 要 随着时代在一步一步在进步,旧物也成人们的烦恼,…...
Java基本语法2
目录 Java基本语法 第一个Java程序 基本语法 Java标识符 Java修饰符 Java变量 Java数组 Java枚举 Java关键字 Java注释 Java 空行 继承 接口 Java基本语法 一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介…...
图库网站建设/营销策划主要做些什么
起初照着官方文档配,一直出错,貌似官方的文档时错的,查了非常多资料,综合整理了一个可行的方案,例如以下: 0.1包结构 test.demo test.domain //实体类 test.util//工具类 0.2导如的jar包 hibernate-4.3.5的…...
在线音乐网站源码/进入百度官网
似乎IPython没有考虑我的PYTHONPATH,而普通的python解释器会考虑它。我在Windows7上。 我的Python: C: \workspace\python; C: \Python27\Lib\site packages\spyderlib; C: \Workspace\Python\a…...
网站安装出现dir/网络营销公司如何建立
国际版系统主题商店中没有字体设置。只有主题和壁纸 需要用到第三方主题安装工具mythemer和miui字体打包主题工具mifont maker 首先在网络上下载ttf格式的字体。 打开mifont maker,点击create custom font 点击pick font选择下载的字体 点击create miui font 制…...
wordpress网站密码忘记/win10优化大师是官方的吗
Firefox真是一个好东西,它许多插件。本人是很讨厌插件的,每次电脑里都会安装一大堆无用的插件,看着心里不爽。由于项目需要,要看网页的代码,并 且找到有用信息,如果下载一个html页面,用记事本打…...
wordpress 模板教程/google推广专员招聘
EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器出现no compatible source was found for this media问题的解决参考文章: (1)EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器出现no compatible source was found for…...
做网站 报价/合肥网站推广公司排名
目录1.获取Field2.反编译Field3.通过反射机制访问对象属性4.可变长度参数5.反射Method(了解)6.反编译(了解)7.反射机制调用方法8.反射Constructor9.反射机制调用构造方法10.获取父类和父接口在前面一节我们介绍了反射机制的详细内容反射机制,本节我们将介绍通过反射…...