励普教育励普教育合作机构>渝中区培训学校>重庆渝中区达内IT培训机构
重庆渝中区达内IT培训机构
全国统一学习专线 8:30-21:00
位置:励普教育 > 计算机设计类>Java开发> Java开发过程中需要注意技巧整理  正文

Java开发过程中需要注意技巧整理

发布时间:2022-03-15 13:00:34来源:励普教育综合

Java开发过程中需要注意技巧整理~在Java工程师平常的开发过程中,由于业务的不同,可能关注的点有很多不一样的地方,但是在基础层面还是有一些共性的。此文概括了在Java开发、测试、部署、工程化方面一些需要注意的地方,供大家参考。

Java开发需要注意的技巧分享:

1. 将一些需要变动的配置写在属性文件中

比如,没有把一些需要并发执行时使用的线程数设置成可在属性文件中配置。那么你的程序无论在DEV环境中,还是TEST环境中,都可以顺畅无阻地运 行,但是一旦部署在PROD上,把它作为多线程程序处理更大的数据集时,就会抛出IOException,原因也许是线上环境并发造成也许是其他。如果线 程数目可以在属性文件中配置,那么使它成为一个单线程应用程序就变得十分容易了。我们不再需要为了解决问题而反复地部署和测试应用了。这种方法也同样适用 于配置 URL、服务器和端口号等。

这里推荐使用属性文件外化这些配置,文件格式使用properties、yaml、hocon、json都可以。下面的类实现了对这些格式的文件的spring注入支持,包括占位符支持。

2. 测试中尽可能模拟线上环境

生产过程中一个典型的场景就是只使用1到3个帐户进行测试,而这个数量本应是1000到2000个的。在做性能测试时,使用的数据必须是真实并且未经裁剪的。不贴近真实环境的性能测试,可能会带来不可预料的性能、拓展和多线程问题。

3. 对于所有外部调用以及内部服务都要做容错处理

不管是RPC调用还是对于第三方服务的调用,都不能想当然的认为可用性是的。不允许出现服务调用超时和重试,将会对应用程序的稳定性和性能造成不利地影响。

4. 安全设计上一个系统要遵循较小权限原则

网络服务随处可见,从而使得黑客可以轻易地利用它进行拒绝服务攻击。所以,设计系统时,需要遵循“较小权限”原则,采用白名单等方式。

5. 需要提供以下文档

编写单元测试文档并使其拥有良好的代码覆盖率。

高层次的设计图:描述了所有的组件,交互和结构。

详细的设计图:具体到代码层面的设计

系统map(类似于site map):说明系统的所有组成文件、配置文件等。

6. 做好系统关键功能的监控、错误恢复、备份等

对于系统一些至关重要的功能模块要做好对其的监控,防止其影响系统的运行,造成不可估算的损失。另外,如果可以,监控到故障后去去试图恢复,恢复失败再发送告警。对于一些很重要的数据文件,还要做到冗余备份,防止发生一些突然故障造成数据丢失。

7. 数据库设计时设计一些便于追踪历史、整理的列

比如created_time、update_time可以说明记录的创建和更新时间。;created_by、updated_by可以说明记录是由谁创建和更新的。

此外,删除记录有时候并非真正删除,这时需要设计表示此记录状态的列,

如可以取‘Y’或‘N’的‘deleted’列

或是可以取‘Active’或‘Inactive’的 ‘status’列。

8. 制定好项目回滚计划

新的功能上线时,如果发生故障,没有一份回滚计划,那么可能会手忙脚乱。有一个良好的回顾及计划,可以让你能够有条不紊的执行相关操作,将系统恢复到一个可运行的状态。

9. 项目上线前要做好量化分析

对于项目中用到的内存、数据库、文件、缓存等,要做好量化分析。预估出未来一段时间的空间占用,给运维分配机器时一个参考。防止,由于数据量增长过快,导致存储不够。

10. 制定好系统的部署计划。

系统部署的平台是一个至关重要的部分。对于平台的描述,不能仅限于一台服务器、两个数据库这个层面,至少需要包括

操作系统的特定版本,JVM等。

有多少内存(包括物理内存,JVM堆内存,JVM栈内存和JVM代的空间)。

CPU(内核数)。

负载均衡器,需要的节点数、节点类型,比如是Active-Standby型还是Active-Active型。

文件系统要求,例如,你的应用程序可能会收集生成的日志并将其保存很长的周期,之后才进行归档。这样的话,你就需要有足够的硬盘空间。

相关内容: Java开发 Java开发技巧 重庆达内培训

同类文章
最新文章
相关热词
导航

雅思 托福 GRE 托业 SAT GMAT A-Level ACT 多邻国英语测试 OSSD 英语四六级 词汇 职称英语 英语口语 商务英语 考研英语 青少儿英语 成人英语 个人提升英语 少儿英语 初高中英语 剑桥英语 AP课程 一级建造师 二级建造师 消防工程师 消防设施操作员 BIM 造价工程师 环评师 监理工程师 咨询工程师 安全工程师 建筑八大员 注册电气工程师 一级注册建筑师 公路水运检测 通信工程 装配式工程师 二级注册建筑师 智慧消防工程师 智慧建造工程师 全过程工程咨询师 EPC工程总承包 碳排放管理师 初级会计师 中级会计师 注册会计师(cpa) CFA ACCA CMA 基金从业 证券从业 会计证 初中级经济师 薪税师 企业合规师 会计就业 教师资格 人力资源管理 导游考试 心理咨询师 健康管理师 家庭教育指导师 普通话 营养师 物流师 网络主播 专利代理师 教师招聘 少儿编程 书法培训 国学启蒙 绘画美术 音乐 舞蹈 棋类 国画 乐器 机器人编程 小孩子注意力训练 儿童专注力 儿童情绪管理 少儿小主播 信奥赛C++ 嵌入式培训 软件测试 Web前端 linux云计算 大数据 C/C++开发 电子商务 Java开发 影视后期 剪辑包装 游戏设计 php 商业插画 产品经理 Python photoshop UXD全链路 UI设计 室内设计 电商视觉设计 IT认证 PMP项目管理