学java开发的几大重要知识点

1将一些需要变动的配置写在属性文件中
比如,没有把一些需要并发执行时使用的线程数设置成可在属性文件中配置。那么你的程序无论在DEV环境中,还是TEST环境中,都可以顺畅无阻地运行,但是一旦部署在PROD上,把它作为多线程程序处理更大的数据集时,就会抛出IOException,原因也许是线上环境并发造成也许是其他。如果线程数目可以在属性文件中配置,那么使它成为一个单线程应用程序就变得十分容易了。我们不再需要为了解决问题而反复地部署和测试应用了。这种方法也同样适用于配置 URL、服务器和端口号等。
这里推荐使用属性文件外化这些配置,文件格式使用properties、yaml、hocon、json都可以。下面的类实现了对这些格式的文件的spring注入支持,包括占位符支持。
2测试中尽可能模拟线上环境
生产过程中一个典型的场景就是只使用1到3个帐户进行测试,而这个数量本应是1000到2000个的。在做性能测试时,使用的数据必须是真实并且未经裁剪的。不贴近真实环境的性能测试,可能会带来不可预料的性能、拓展和多线程问题。这里也可以采取预发布环境的方式来解决部分问题。如果你想学习java可以来这个群,首先是五三二,中间是二五九,最后是九五二,里面有大量的学习资料可以下载。
3对于所有外部调用以及内部服务都要做容错处理
不管是RPC调用还是对于第三方服务的调用,都不能想当然的认为可用性是100%的。不允许出现服务调用超时和重试,将会对应用程序的稳定性和性能造成不利的影响。
4安全设计上一个系统要遵循最小权限原则
网络服务随处可见,从而使得黑客可以轻易地利用它进行拒绝服务攻击。所以,设计系统时,需要遵循“最小权限”原则,采用白名单等方式。

5需要提供以下文档
编写单元测试文档并使其拥有良好的代码覆盖率。
高层次的设计图:描述了所有的组件,交互和结构。
详细的设计图:具体到代码层面的设计,以及一些关键逻辑的流程。
系统组成文档:说明系统的所有组成文件、配置文件等。
数据库层面的dml以及ddl文档,尤其是sql查询语句需要经过dba或者核心开发人员的review才能够上线。
不仅仅对于传统的开发流程,即使对于敏捷开发,这些文档也是必不可少的,否则在后续的维护、交接上会带来很大的不便。
6做好系统关键功能的监控、错误恢复、备份等
对于系统一些至关重要的功能模块要做好对其的监控,防止其影响系统的运行,造成不可估
算的损失。另外,如果可以,监控到故障后去去试图恢复,恢复失败再发送告警。对于一些很重要的数据文件,还要做到冗余备份,防止发生一些突然故障造成数据丢失。
7数据库设计时设计一些便于追踪历史、整理的列
比如create_time、update_time可以说明记录的创建和更新时间。create_by、update_by可以说明记录是由谁创建和更新的。
此外,删除记录有时候并非真正删除,这时需要设计表示此记录状态的列,如可以取‘Active’或‘Inactive’的 ‘status’列。
8制定好项目回滚计划
新的功能上线时,如果发生故障,没有一份回滚计划,那么可能会手忙脚乱而造成线上服务一段时间不可用。有一个良好的回滚计划,可以让你能够有条不紊的执行相关操作,在可控时间内将系统恢复到一个可运行的状态。
9项目上线前要做好量化分析
对于项目中用到的内存、数据库、文件、缓存等,要做好量化分析。预估出未来一段时间
的空间占用,给运维分配机器时一个参考。防止,由于数据量增长过快,导致存储不够。这一点是非常重要的,不然很容易造成线上服务不可用。
10制定好系统的部署计划
系统部署的平台是一个至关重要的部分。对于部署平台的描述,不能仅限于一台服务器、两个数据库这个层面,至少需要包括操作系统的特定版本,JVM等。
有多少内存(包括物理内存,JVM堆内存,JVM栈内存和JVM永久代的空间)。
CPU(内核数)。
负载均衡器,需要的节点数、节点类型,比如是Active-Standby型还是Active-Active型。
文件系统要求,例如,你的应用程序可能会收集生成的日志并将其保存很长的周期,之后才进行归档。这样的话,你就需要有足够的硬盘空间。
11选择最合适的工具/技术
很多情况下,开发者会在生产系统中使用一门想要学习的语言或某种工具。通常这不是最好的选择。比如,为已经实际上是关系型的数据使用NoSQL数据库。不管是语言还是工具,都有其适用的场景。不能求新,也不能以“自我”为标准。
12在一些关键技术领域具有充足的知识储备
设计模式
JVM调优
多线程“并发问题”
事务问题,包括分布式事务
性能问题,包括GC、计算等
缓存
java学习资料群 532259952

6、Java——常用小技巧总结 一、常用快捷键 二、常用小功能 1、Scanner类;2、equals使用;3、随机数Math.random()用法;4、Math函数—算数计算;5、Math函数—进位 阅读详情

相关推荐

工业自动化进阶:西门子 S7-1200 PLC 调度 AGV 实现精确定点移动

本文介绍了基于西门子S7-1200PLC的AGV调度控制系统设计,包括系统架构、硬件选型和PLC程序设计。系统通过PROFINET通信实现PLC与AGV的数据交互,采用状态机控制逻辑实现任务管理、运动控制和闭环位置校正。重点阐述了通信协议实现、梯形图核心逻辑及系统调试优化方法。实际应用案例显示,该系统定位精度达±3mm,显著提升了物料配送效率。该方案为工业自动化升级提供了可靠的技术支持。

qq_52407556的博客 1891

35个可以提高千倍效率的Java代码小技巧

由于文案过于长,在此就不一一介绍了,这份Java后端架构进阶笔记内容包括:Java集合,JVM、Java并发、微服务、SpringNetty与 RPC 、网络、日志 、Zookeeper 、Kafka 、RabbitMQ 、Hbase 、MongoDB、Cassandra 、Java基础、负载均衡、数据库、一致性算法、Java算法、数据结构、分布式缓存等等知识详解。本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,

2401_84048832的博客 1105

【SABRE 3D, SABRE 3DxT,LAM设备】2025年9月12日-生产期间维护用的双重隔离

生产期间维护用的双重隔离。该程序用于准备将一个或多个双工位设置为维护状态,同时SABRE 3D/3DxT/3D Scimitar保持生产运行。其目的是在不中断生产的情况下将双工位与运行中的设备隔离。

weixin_46735260的博客 574

Java 编程开发的30个技巧

例如:ThisIsAClassNamethisIsMethodOrFieldName若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此。对于域名扩展名称,如com,org,net或者edu等,全部都应小写(这也是Java 1.1和Java 1.2的区别之一)。equals()hashCode()toString()clone()(implemen

ywyngq的博客 1861

RK3568嵌入式Linux多屏显示开发指南

摘要:本篇RK3568嵌入式Linux多屏显示开发指南详细介绍了基于Qt应用层的实现方案。文章首先概述了技术架构,说明从Qt应用到硬件显示的完整流程。然后提供了两种实现方案:推荐使用Qt内置多屏支持方案,包含完整的C++代码示例和配置文件说明;对于需要精细控制的场景,给出了基于libdrm API的底层实现方案。最后重点讨论了屏幕旋转处理和多屏协同工作模式的关键技术要点,包括扩展桌面、镜像模式等实现方法。

froxy的专栏 1574

保姆级教程:用ncnn把自训练的YOLOv8模型塞进Android App(附完整代码)

本文提供了一份详细的保姆级教程,指导开发者如何将自训练的YOLOv8模型通过ncnn框架部署到Android应用中。教程涵盖环境配置、模型训练与转换、Android工程集成及性能优化等全流程,并附完整代码实现,帮助开发者快速掌握移动端AI模型部署技术。

weixin_42659194的博客 256

【Java】开发过程中注意事项

本文旨在分享我在日常开发中总结的经验和注意事项。通过这篇文章,我希望能够帮助读者们更好地应对开发过程中的各种问题,并提供一些建议和解决方案。我深信,通过共享经验和知识,我们能够共同进步。无论你是刚入门的新手还是经验丰富的老手,我都希望这些经验总结能够为你提供一些帮助和灵感。

DreamSun的博客 661

COMSOL多物理场仿真:瓷绝缘子电热耦合建模与优化策略

本文详细介绍了使用COMSOL Multiphysics进行瓷绝缘子电热耦合仿真的完整流程与优化策略。文章阐述了电热耦合效应的工程意义,并逐步讲解了从几何建模、材料定义、物理场设置到边界条件与网格划分的关键步骤。重点分析了如何通过焦耳热耦合实现电场与温度场的双向交互,以及如何利用仿真结果进行参数化优化和瞬态故障模拟,为提升电力设备可靠性提供有效的数字化设计工具。

n8m7b6v5c4的博客 884

Java开发注意事项和细节说明

Java开发注意事项和细节说明

m0_57781407的博客 455

STM32F103开发实战:如何用CubeMX+CLion调整Flash起始地址(附完整CMake配置)

本文详细介绍了在STM32F103开发中如何使用CubeMX和CLion工具链调整Flash起始地址,包括链接脚本修改、系统文件配置和CMake工程适配。通过实战步骤和完整配置示例,帮助开发者实现固件双备份、OTA升级等高级功能,提升嵌入式开发效率。

5b6n7m8的博客 211

2、集中式MIMO雷达研究进展:正交波形设计与信号处理

集中式多输入多输出(Multiple Input Multiple Output,MIMO)雷达通常利用正交波形增加发射波形 自由度,采用数字阵列拓展空间收发自由度,使得雷达接收机的天线孔径获得明显扩展,最终带来空间分辨率、 测角精确度、杂波抑制能力等大幅度提升。但是,这些性能提升的前提是发射波形具有正交特性。事实上,在 实际应用中,在不牺牲时域/频域资源情况下,受限于时宽带宽积,无法获得完全正交的波形集合,从而限制了 MIMO雷达系统性能。本文对集中式MIMO雷达正交波形复用的技术原理进行了系统回顾,分别

qq_43416206的博客 2773

Java后端开发需要学什么

java后端开发需要学的知识有:1、Java基础语法和oop特性;2、数据库相关知识,例SQL语言、MySQL、非关系型数据库;3、Web基础知识;4、Web主流框架,例Spring、SpringMVC、Mybatis;5、前端知识等。 本篇文章将大致介绍后端从基础到独立后端的学习路线,仅供参考。 推荐课程:Java教程。 Java 基础 Java 是一门纯粹的面向对象的编程语言,所以除了基础语法之外,必须得弄懂它的 oop 特性:封装、继承、多态。此外还有泛型、反射 的特性,很多框架的技术.

m0_70565884的博客 1万+

把 ABAP 接到外部世界的几条路, 从 Web Service 到 RFC、BAPI 与 IDoc 的完整理解

摘要: ABAP 的连接能力是其长期成为企业核心的关键,不仅支持通用协议(HTTP、SOAP、XML),还保留了 SAP 特有的技术(RFC、BAPI、IDoc)。Web Service 是跨系统通信的主轴,依赖 SOAP/WSDL 实现契约化协作,而 Enterprise Service 更强调业务语义的复用与治理。经典技术如 RFC 和 BAPI 因高效稳定仍广泛使用,尤其适合紧耦合场景。ABAP 通过分层工具箱(如代理生成、服务注册)实现灵活集成,平衡新旧技术,满足多样化的企业连接需求。 (字数:15

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 142

java后端开发需要学什么

java后端开发需要学的知识有:1、Java基础语法和oop特性;2、数据库相关知识,例SQL语言、MySQL、非关系型数据库;3、Web基础知识;4、Web主流框架,例Spring、SpringMVC、Mybatis;5、前端知识等。 本篇文章将大致介绍后端从基础到独立后端的学习路线,仅供参考。 Java 基础 Java 是一门纯粹的面向对象的编程语言,所以除了基础语法之外,必须得弄懂它的 oop 特性:封装、继承、多态。此外还有泛型、反射 的特性,很多框架的技术都依赖它,比如 Spring 核心的

machacoder的博客 9096

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

学Java开发需要掌握的主要知识点

1、常用算法考察冒泡排序 快速排序 插入排序 希尔排序 归并排序 堆排序 桶排序 动态规划 最长公共子串 最长回文子串 数组的最大k个值 数字的最大连续子数组之和 左旋转字符串 字符串匹配算法:KMP算法 二分查找 2、链表单链表逆序 两个有序单链表合并 两个单链表是否相交 相交处的节点 单链表倒数第K个数 单链表排序 3、栈和队列设计包含min函数的栈

JavaMM 2698

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java开发要学哪些知识点?建议收藏

随着信息技术的快速发展,Java语言技能成为了企业招聘市场上最受欢迎的技能之一。在这样的市场需求下,Java开发也成为了很多人想要掌握的基本技能之一。那么,我们在学习Java开发时,应当掌握哪些知识点呢?下面,小编将为大家分享一些关键知识点的建议。

DDDYSz的博客 475

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

女生学java开发难吗?女生适合学java吗?

女生学java开发?Java开发看上去是一项系统性很强、入门很难的“高大上”学科,前端、代码这些普通人基本不会接触到的名词,吓怕了众多初学者。大部分人对于Java程序员都有一个既定印象,那就是程序员都是男生。女程序员可以说是“稀有物种”,因为Java工作对于逻辑的要求很高,而这方面男生相对于女生比较有优势。现在女生从事程序员工作的也越来越多,在某些方面相对于男生也有优势。所以,小编就来给大家分析分析,女生学java开发难吗?女生适合学java吗? 女生适合从事java吗? 在很多人的潜意识里,认为女生是不

m0_67394360的博客 1万+

java项目开发所需要知识点

简介:自己学习java后端开发也有一段时间了,每天都在学习新的知识点,学了一段时间之后,发现脑子越来越不够用了,需要记得东西太多,而用的却不勤,导致了很多知识点掌握的并不牢固,所以需要经常复习。再加上马上要找工作了,然后就想写点东西保存一下自己的一下复习感想,以便经常用来回顾复习之用。 这是我第一次写博客,就不去写各个知识点了,以后在做知识点的总结。这次呢就写一个简单java项目开发的整个流程所...

weixin_44715110的博客 3131

java开发需要掌握哪些知识_Java必备知识点有哪些?

Java工程师必备知识点有哪些?首先要确定你想要成为哪一方面的Java工程师。Java分为三个方向:Java ME、JavaSE、JavaEE,具体区别这里就不说了,其中Java EE是企业级应用,用来开发网站,现在比较流行,我们常说的Java工程师也是指的这一种。Java工程师必备知识点有哪些?我们总结了java工程师必须掌握的知识技能点:成为JAVA软件工程师需要学的技能:1、不仅要熟练掌握J...

weixin_35020639的博客 2465

阿甘学Java-开篇

1.深入浅出,用接近自然语言来讲Java技术,入门的时候尽可能少用专业术语,第一次出现术语的地方我会做一些解释,或者备注上需要补充的内容给大家做参考; 2.我讲技术的方式可能跟大家在网上看的不太一样,重实用技术,轻理论,所以理论的东西需要大家下去自己去查,换句 话说就是去其浮躁,取之精华; 3.在讲解过程中,我会结合我做过的一些实战项目的案例给大家讲解,所以刚开始如果听不懂没关系,只要跟着我走就行了,后面自然会明白,学Java最忌讳的就是把什么都搞懂了再去动手,这种思想是万万不能有的。

jason的java世界 2115

学java怎么记住知识点?

很多初学者在学习Java的过程中都会遇到类似的情况,“今天学,明天忘”,好的学习思路和方法也能让你事半功倍,无论是学习什么,都需要找到一个适合自己的学习方法,这样你学习起来也会相对的容易很多,学java怎么记住知识点?本篇来帮大家解答一下这个问题。 学java怎么记住知识点? 方法一:比起重复记忆,一边思考、du一边动手、一边测试、一zhi边记忆更有效果。就算犯dao错了对记忆也有帮住。 方法二:学会将复杂的问题简单化,罗列编码步骤,按照步骤解决问题。 方法三:编码前,想着结果,想着应用场景,想

gu1857035894的博客 1063

java要学的知识_Java学习中12个必须知道的重要知识点

关于java的编程知识,有人会问哪几个是重要的知识点,不知道大家是否知道呢?现在给大家分享一下!1. Java的运行(基础必备)这条可能出看很简单,java程序的运行谁不会呢?不过很多时候, 我们只是单纯通过IDE去执行java程序,底层IDE又是如何执行java程序呢?很多人并不了解。这 个知识点是最最基本的java开发者需要掌握的,初学java,第一个肯定是教你如何在命令行中执行java程序,...

weixin_42393829的博客 351

JAVA的几大特性

JAVA的几大特性,光说JAVA语言特性有大概3个,分别是封装,继承,多态。如果加上面向对象这种概念就会有个抽象,因为抽象这特点是所有面向对象语言都应有的。

画个安静的博客 3万+
上一篇: 关于C++的经典书籍有哪些
下一篇: 2017嵌入式行业现状分析
python66
博客等级 码龄10年 91粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值