JBuilder2005实现重构之杂项重构-Java基础-Java-编程开发

科技中介服务机构如何降低技术评价服务成本?.docx 科技中介服务机构如何降低技术评价服务成本? 立即下载
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

1、优化import

   简而言之,通过优化import的设置可以达到以下的目的:

   去除无用的import语句:如在类中没有使用任何包中的类,则这个包的import语句可以删除。

   设置包的阈值:当前类引用包中类的数目大于这个阈值时,引入整个包(如import java.io.*),否则为包中每个被引用的类单独指定的一个import语句(如import java.io.File)。

   设置包的排列顺序:按照一般的习惯,按包的常用程度从高到低进行排列,常用的包放在前面引入。一般情况下,JDK经典的包放在最前面(以java.为前缀),JDK扩展包紧跟其后(以javax.为前缀),接着是第三方类库包(如org.apache.*),再次是自己开发的公用类库,最后才是工程中的其他类。

   通过Project->Project Properties...->Java Formating->在Imports设置页中切换到Threshold标

图 25 设置包阈值对话框
   签页中通过Package import threshold指定包的阈值,默认为0表示进行优化import后,用通配符以整个包的形式分别引入。

   你也可以勾选Always import classes项,将每个类用单独的import语句引入,这相当于将Package import threshold设置为无穷大。

   在Imports设置页中切换到Sort Order标签页,在此指定import代码段的包引入顺序及格式。假设myrefactor.jpx工程中有一个myrefactor.sub1的子包,我们通过以下步骤将其置为import引入代码段的最后,并在前面添加一个空行:

   1) 点击Add blank line在列表中添加一个<blank line>,表示在import代码段中添加一个空行。

   2) 点击Add prefix...在弹出的Add Prefix对话框中选择myrefactor.sub1包。

   3) 点击OK保存设置。

图 26 import代码段样式设置对话框
   此外,还可以通过Move Up和Move Down调整包在引入代码段中的位置。列表中有一个<*>项,表示其他所有未匹配的包,如有一个以com.打开的包就放置在<*>的位置。

   设置完后,在工程窗格的<Project Source>节点上右击,选择Format Package...在弹出的Fomcat Code对话框中确认选择Optimize imports项,按OK后,JBuilder对工程中所有的类进行import代码段进行优化重构。

  2、自动添加异常捕捉

   自动添加异常捕捉功能,从严格意义上说并不属性代码重构的范畴,因为编译期的异常是一定要有捕捉代码的,否则程序无法通过编译。但在某些情况下,自动添加异常捕捉就是地地道道的代码重构了,请看下面的代码:

   代码清单 “面向编译”的异常捕捉

1. public void autoCatch()
2. {
3.  try {
4.   FileInputStream fis = null ;
5.   byte[] bArr = new byte[1024] ;
6.   //会抛出FileNotFoundException
7.   fis = new FileInputStream("D:/1.txt") ;
8.   //会抛出IOException
9.   fis.read(bArr) ;
10.  }
11.  catch(Exception ex) {
12.  }
13. }

   第7行语句会抛出FileNotFoundExcetion,而第9行会抛出IOException,理应分别捕捉这两个异常,但是开发人员也许对异常并不感兴趣,所以直接捕捉Exception敷衍了事。由于Exception是所有异常的祖先类,所以这种异常捕捉方式并不会引发编译错误,但它确实没有做什么有意义的事,只是为了通过编译罢了,称之为“面向编译”的异常捕捉,即只为通过编译。

   程序发生异常时,要么用throws将异常踢给调用者,要么直接处理异常。如果打算直接处理异常,就必须对代码中的异常分别处理,这样才可以能够异常的详细信息,以及具体是哪个异常引起的。对于程序的用户来说,详细的错误信息可以让他们更直接知道问题所在,而程序的调用者来说,具体的异常可以让他们进行分别对待,分别处理,这种处理异常的方式称为“面向问题”的异常捕捉。我们拟将这段代码重构为以下的形式,如下所示:

   代码清单 16 “面向问题”的异常捕捉

1. public void autoCatch()
2. {
3.  FileInputStream fis = null ;
4.  byte[] bArr = new byte[1024] ;
5.  try {
6.   //会抛出FileNotFoundException
7.   fis = new FileInputStream("D://1.txt") ;
8.   //会抛出IOException
9.   fis.read(bArr) ;
10.  }
11.  catch(FileNotFoundException ex) {
12.   System.out.println("D://1.txt文件不存在,请检查") ;
13.  }
14.  catch(IOException ex) {
15.   System.out.println("D://1.txt文件读写发生异常,异常信息为:"
16.   ex.getMessage()) ;
17.  }
18.  finally {
19.   if(fis != null) {
20.    try {
21.     fis.close() ;
22.    }
23.   catch(IOException ex1) {
24.    System.out.println("关闭文件输入流的时候发生异常,异常信息为:
25.     " ex1.getMessage()) ;
26.   }
27.  }
28. }
29. }

   你需要做的是删除掉原来的“面向编译”的异常捕捉代码(即第5行和第10~12行),选中第6~9行,按Ctrl Shift C,JBuilder自动分析这段代码,发现这段代码中共有引发两个异常,分别为每个异常生成两个捕捉块,代码如下:

   代码清单 17 通过Ctrl Shift C自动添加异常捕捉代码块

1. public void autoCatch()
2. {
3.  FileInputStream fis = null ;
4.  byte[] bArr = new byte[1024] ;
5.  try {
6.   //会抛出FileNotFoundException
7.   fis = new FileInputStream("D://1.txt") ;
8.   //会抛出IOException
9.   fis.read(bArr) ;
10.  }
11.  catch(FileNotFoundException ex) {
12.  }
13.  catch(IOException ex) {
14.  }
15. }

[1] [2]

产业园区运营负责人如何提升园区企业创新能级与科技成果转化率?.docx 科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。 立即下载

相关推荐

学习路之Java-若依ruoyi接入ai实现模型对话

学习路之Java-若依ruoyi接入ai实现模型对话

[转载]JBuilder2005实现重构之杂项重构

JBuilder2005实现重构之杂项重构1、优化import  简而言之,通过优化import的设置可以达到以下的目的:   去除无用的import语句:如在类中没有使用任何包中的类,则这个包的import语句可以删除。  设...

congji3817的博客 226

科技中介服务机构如何利用数智工具提升服务效率与客户粘性.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

JBuilder2005实现重构

有句英语谚语叫作"Look before you jump",在着手重构前,看看这个更改的影响度,以资决策,是一个不错的主意。  1、查看定义  程序类之间是相互调用的,JBuilder可以方便你查看类、方法、值域的定义,将光标置于某一代码元素上,按Ctrl+Enter快捷键或点击右键,在弹出的菜单中选择Find Definition,JBuilder将定位到该元素的定位处。  2、查看引用  类

新宾二亮子 1098

状态估计【扩展卡尔曼滤波算法的神经网络训练】BP神经网络、扩展卡尔曼滤波EKF+BP、粒子滤波PF轨迹估计研究(Matlab代码实现)

内容概要:本文围绕状态估计与神经网络融合技术展开研究,重点介绍了扩展卡尔曼滤波(EKF)与BP神经网络的联合算法(EKF+BP)以及粒子滤波(PF)在轨迹估计中的应用。资源基于Matlab/Simulink平台,提供了BP神经网络、EKF+BP融合算法和PF的完整代码实现,旨在通过仿真手段提升非线性系统的状态估计精度。文中不仅涵盖了卡尔曼滤波系列(如UKF、EKF、PF)的基本原理与实现方法,还展示了其在风电预测、电池寿命预测、无人机状态估计、雷达跟踪等领域的广泛应用,突出其在复杂动态系统建模与轨迹预测中的实用价值。; 适合人群:具备一定Matlab编程基础,从事自动化、控制工程、电气工程、人工智能及相关领域的研究生、科研人员和工程技术人员。; 使用场景及目标:①深入理解并掌握扩展卡尔曼滤波与BP神经网络融合的建模机制与实现流程;②开展非线性系统的状态估计与动态轨迹跟踪仿真研究;③应用于无人机导航、机器人定位、电力系统状态监测、信号处理等领域的算法开发与系统优化。; 阅读建议:本资源以Matlab代码为核心,建议读者结合提供的仿真模型与参考文献动手实践,重点关注EKF与BP网络的参数配置、融合策略设计及滤波性能对比,通过比较UKF、EKF与PF等不同滤波算法的估计效果,深化对状态估计算法优劣与适用场景的理解。

单相PWM整流器基于直流电流控制+虚拟dq两种闭环控制仿真【2个仿真+参考资料】

内容概要:本文详细介绍了单相PWM整流器基于直流电流控制与虚拟dq两种闭环控制的仿真研究,包含两个完整的Simulink仿真模型及相关参考资料。通过构建控制系统模型,分别实现对直流电流的直接调节和在虚拟dq坐标系下的解耦控制,旨在提高整流器的动态响应性能与稳态精度,同时确保单位功率因数运行。文中系统阐述了两种控制策略的设计原理、坐标变换机制、PI调节器参数整定方法及系统稳定性分析,并通过仿真结果对比验证了各自在动态响应、抗干扰能力和稳态误差等方面的性能特点,充分展示了其在现代电力电子系统中的适用性与优势。; 适合人群:具备电力电子与电力传动基础知识,熟悉Simulink仿真环境,从事新能源变换器、PFC控制或电机驱动等相关领域研究的研究生、工程师及科研人员。; 使用场景及目标:①掌握单相PWM整流器的基本工作原理与数学建模方法;②学习并比较直流电流控制与虚拟dq控制两种主流闭环控制策略的设计流程与性能差异;③应用于实际项目中如充电桩、光伏逆变器、UPS等场合的控制系统开发与优化。; 阅读建议:建议结合提供的仿真模型边操作边学习,重点关注控制框图搭建、坐标变换模块实现及PI参数调试过程,同时参考相关文献深入理解控制理论背景,以提升实际工程应用能力。

JBuilder2005实现重构之对重构的支持-Java基础-Java-编程开发

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/javascript"

java专栏 369

高校技术转移办公室人员如何高效筛选优质科技成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

JBuilder2005实现重构之对重构的支持

Martin Flower在写《重构》时曾经感叹地说,如果有一个自动化的重构工具出现就好了,而且也预言了重构的发展方向是工具自动化重构。JBuilder正好迎合了这声呼喊,到目前为此,可以很公允地说,还没有一种工具在重构的表现上可望其项背。  1、提供了哪些重构的功能  JBuilderX(上一版本)就已经有了重构的功能,JBuilder 2005对代码重构投入了更多的热情,赋予了更多灵活易用的功

masse的专栏 939

两相交错并联Boost电路仿真模型(Simulink仿真实现)

内容概要:本文详细介绍了“两相交错并联Boost电路仿真模型(Simulink仿真实现)”这一电力电子系统仿真资源,隶属于一个涵盖多种主流电力变换器拓扑与先进控制策略的综合性仿真资料库。该资料库以Simulink为主要仿真平台,集成了2.5kW双相交错并联Boost电路、全桥/半桥LLC谐振变换器、双向CLLC、三相维也纳(Vienna)PFC、图腾柱PFC等多种典型电路的仿真模型与配套设计资料。其核心技术不仅包括开环、闭环、软启动、双闭环PI控制等基础控制方法,更深入涵盖了中点电位平衡、恒压恒流双竞争闭环、变频与移相混合控制、模型预测控制(FCS-MPC)等前沿控制算法的实现。此外,资源体系还整合了Mathcad计算书、参数设计报告、PPT说明文档等,构建了从理论推导、参数设计到仿真验证的完整闭环,充分体现了理论与实践的高度融合。; 适合人群:具备扎实的电力电子技术与自动控制理论基础,从事新能源发电、电力变换、工业电源、电动汽车等领域研究与开发的研究生、科研人员及研发工程师。; 使用场景及目标:①系统学习并复现各类DC-DC、AC-DC变换器(如Boost、LLC、Vienna PFC等)的工作原理与核心控制策略;②开展电力电子系统相关的科研项目,支撑拓扑结构创新、控制算法优化、关键参数设计与系统性能验证等工作;③作为毕业设计、课程大作业或工程项目开发的标准化参考模板。; 阅读建议:此资源以仿真为核心,强调理论分析与工程实践的紧密结合。使用者应结合所提供的Mathcad计算书与设计报告,深入理解电路参数的设计依据和控制策略的实现逻辑,并在Simulink环境中动手调试模型,通过细致观察波形变化、定量分析数据结果,来深化对电力电子系统动态特性与稳态性能的理解。

三相电压型PWM整流器PI双闭环控制Matlab仿真

内容概要:本文围绕三相三电平VIENNA整流器的双闭环控制与中点电位平衡问题展开研究,提出一种基于电压电流双闭环PI控制结合电容电压差值补偿的中点电位平衡策略。系统采用同步旋转坐标系下的双闭环控制结构,电压外环用于稳定直流母线电压,电流内环实现输入电流的快速跟踪与单位功率因数运行。针对VIENNA整流器直流侧上下电容电压不平衡的问题,引入电容电压差值Δu作为反馈信号,在SVPWM调制中利用冗余小矢量的时间分配自由度,动态调节中点电荷流动,实现中点电位的主动均衡。仿真结果表明,该方法在800V直流母线电压下,不仅实现了母线电压的稳定跟踪和输入电流低谐波(THD低),而且显著提升了上下电容电压的均衡度,有效抑制了中点电位的漂移。; 适合人群:具备电力电子、自动控制理论基础的电气工程及相关专业研究生、科研人员及从事新能源、电动汽车充电桩、工业电源等领域的研发工程师。; 使用场景及目标:① 掌握三相VIENNA整流器的工作原理与数学建模方法;② 学习双闭环PI控制器的设计与参数整定技巧;③ 理解中点电位不平衡的成因,并掌握基于SVPWM冗余矢量的主动平衡控制策略;④ 通过Matlab/Simulink仿真平台复现并验证所提控制策略的有效性,服务于高性能PFC整流器的研发与优化。; 阅读建议:建议读者结合文中提供的控制框图与仿真参数,动手搭建Simulink模型,重点关注SVPWM模块中冗余矢量作用时间的调节逻辑。在学习过程中,应深入理解PI控制器带宽匹配、中点平衡控制边界及SVPWM谐波性能之间的内在联系,并尝试在不同负载和动态工况下测试系统的鲁棒性。

高校技术转移办公室人员如何通过平台实现科技成果的精准推介与转化路径规划?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

论文复现基于改进型混合有限集模型预测控制(FCS-MPC)的模块化多电平换流器MMC环流抑制与相间电压均衡控制研究(Simulink仿真实现)

内容概要:本文针对模块化多电平换流器(MMC)在运行过程中存在的环流分量抑制困难与相间子模块电压不均衡问题,提出了一种改进型混合有限集模型预测控制(FCS-MPC)策略,并通过MATLAB/Simulink平台完成了完整的系统建模仿真与控制算法验证。该方法在传统FCS-MPC基础上优化了控制律设计,通过构建精确的MMC数学模型,结合预测时域内的系统行为预测,动态选择最优开关状态序列,在单一控制框架下同步实现环流的有效抑制与各相间电压的均衡控制。仿真结果表明,所提策略在动态响应速度、稳态控制精度及抗干扰能力方面均表现出优越性能,相较于传统PI控制或固定模式调制方法,显著降低了环流幅值,提升了系统运行效率与稳定性。同时,文中详尽阐述了预测模型构建、代价函数设计、权重系数整定及多目标协调优化等关键技术环节,为电力电子系统中高性能预测控制的应用提供了完整的理论分析与实践范例。; 适合人群:具备电力电子、自动控制或电气工程等相关专业背景,从事模块化多电平换流器、高压直流输电、新能源并网、柔性交流输电系统等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①解决MMC拓扑中环流抑制与电压均衡控制的关键技术难题;②深入学习和掌握模型预测控制(MPC)在电力电子变换器中的高级应用方法与工程实现路径;③为相关课题的学术论文复现、控制算法改进及实际工程化落地提供可靠的技术参考与仿真模型支持。; 阅读建议:此资源以Simulink仿真实现为核心载体,不仅包含严谨的控制算法理论推导,还配套提供了可运行的仿真模型与参数设置说明,建议读者在系统理解MMC工作原理与MPC控制思想的基础上,动手复现并调试仿真模型,结合文中所述的实验结果进行对比分析,以深入掌握FCS-MPC的调控机制与多目标优化设计精髓。

三相三电平VIENNA整流器双闭环设计与中点电压均衡控制仿真(Simulink仿真实现)

内容概要:本文针对三相三电平VIENNA整流器,系统研究了其双闭环控制系统设计与中点电压均衡控制策略。采用电压外环与电流内环构成的双闭环PI控制结构,实现对800V直流母线电压的稳定跟踪与快速响应,确保单位功率因数运行和输入电流的低谐波特性。针对三电平拓扑固有的中点电位失衡问题,提出了一种基于上下电容电压差值补偿的主动均衡控制方法,该方法将电压偏差信号引入调制环节,结合空间矢量脉宽调制(SVPWM)技术,充分利用冗余小矢量的时间分配自由度,实现对中点电荷的定向调节。基于MATLAB/Simulink平台构建了完整的仿真模型,结果表明,在800V直流母线电压工况下,所提控制策略不仅能够精确稳定母线电压,还能显著提升中点电容电压的均衡度,同时将输入电流总谐波畸变率(THD)控制在较低水平,成功实现了电压稳定、电流低谐波与中点电位均衡的协同控制目标。; 适合人群:具备电力电子与电力系统基础知识,熟悉MATLAB/Simulink仿真环境,从事新能源变换器、整流器控制研究的研发人员与高校研究生。; 使用场景及目标:①掌握VIENNA整流器双闭环PI控制器的设计流程与参数整定方法,理解内外环带宽匹配的重要性;②深入理解中点电位失衡的物理机理及基于电压差值补偿的均衡控制原理;③学习SVPWM在三电平拓扑中的具体应用,掌握其与中点平衡控制的协同工作机制;④通过复现并调试仿真模型,验证控制策略的有效性,用于支撑科研项目或工程原型开发。; 阅读建议:在学习过程中应紧密结合提供的仿真模型,重点关注电压外环与电流内环的参数设计与动态响应特性,深入分析差值补偿环节的增益设置对中点电压动态性能的影响。建议通过对比实验,观察投入与未投入中点平衡控制时的电容电压波形差异,以直观理解该策略的优越性,并尝试在不同负载条件下测试系统的鲁棒性,从而全面把握控制策略的有效性与应用边界。

高校技术转移办公室人员如何利用平台有效识别具有市场潜力的科技成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

三相充电桩维也纳PFC+三电平LLC谐振变换器三电平PSIM仿真设计(Simulink仿真实现)

内容概要:本文针对三相充电桩中的维也纳PFC(功率因数校正)与三电平LLC谐振变换器,开展基于Simulink的系统级仿真设计研究。重点构建了三电平维也纳整流器的电压电流双闭环PI控制模型,并创新性地在电压外环中引入直流侧上下电容电压差值补偿机制,结合SVPWM调制策略,有效解决了三电平拓扑固有的中点电位不平衡问题。仿真结果表明,该控制策略不仅能稳定输出800V直流母线电压,还能显著提升上下电容电压的均衡度,同时保持输入电流低谐波(THD低),验证了“电压稳定—电流低谐波—中点均衡”多重目标协同实现的可行性。此外,该资源包还涵盖了图腾柱PFC、多种LLC变换器(半桥、全桥、双向、交错并联)的闭环控制与软开关仿真,以及参数设计报告、计算书和参考文献,形成了完整的电力电子变换器仿真技术体系。; 适合人群:电气工程、自动化、电力电子等相关专业的研究生、科研人员及从事新能源汽车充电、工业电源研发的工程师。; 使用场景及目标:①掌握三电平维也纳PFC的双闭环控制与中点电位平衡核心技术;②学习LLC谐振变换器的建模、参数设计与闭环控制方法;③利用Simulink进行电力电子系统的仿真验证与性能优化,服务于科研项目、毕业设计或产品开发。; 阅读建议:此资源以Simulink/Matlab仿真为核心,理论与实践紧密结合。建议读者在理解双闭环PI控制、SVPWM调制和中点平衡原理的基础上,动手复现仿真模型,通过调整PI参数、观察中点电压波形,深入理解控制策略的动态响应与调节机理。同时,可参考配套的计算书和设计报告,将仿真结果与理论计算相互印证,全面提升系统设计与分析能力。

产业园区如何快速识别并筛选适合本区域的高质量科技成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

zemax双透镜公差分析

蒙特卡罗分析: 评估公差的整体影响,模拟过程中产生一系列随机的lens,满足指定的公差,然后再按照标准评估。公差分析,就是在设计了一个理想的系统后,想看看实际生产过程中如果产生公差(误差),系统会坏到什么程度,也就是光学性能受到多大影响。反灵敏度分析:分别对每个公差在性能方面的一个给定的最小允许减少量来计算公差,也就是限制了系统性能的变化,和灵敏度分析方向相反。灵敏度分析对每个公差单独求值,分别计算每个公差操作数的最大、最小、标准值(如上图)所有设计上可能的公差都列出来了。注意要固定透镜的口径。

fendoudecheng的博客 3207
上一篇: Java秘史:隐藏在SWT/Swing背后的故事-Java基础-Java-编程开发
下一篇: Struts Spring Hibernate快速入门-Java基础-Java-编程开发
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值