码农必备干活:Java编码——高效代码汇总小技巧

面试了一个34岁的Java架构师,感觉到他背过很多面试题基本都能答上 又到了一年一度的金九银十,互联网行业竞争是一年比一年严峻,作为工程师的我们唯有不停地学习,不断的提升自己才能保证自己的核心竞争力从而拿到更好的薪水,进入心仪的企业(阿里、字节、美团、腾讯.....) 所以,大家就迎来了一堆问题: 自己目前的能力能不能够支撑自己晋升?如果跳槽的话要不要去大厂,都有哪些面试要求?进入大厂后薪资是否能有大幅度提升...... 其实这些问题总结起来,都取决于你自身的技术与能力,当你的能力达到一定水平,薪资与岗位自然会上升。而我一般将程序员的发展分为三个等级。 首先 阅读详情

本文转载自:码农必备干活:Java编码——高效代码汇总小技巧


一. 常量&变量

1.1 当成员变量值无需改变时,尽量定义为静态常量

在类的每个对象实例中,每个成员变量都有一份副本,而成员静态常量只有一份实例。

反例

public class HttpConnection {
    private final long timeout = 5L;
    ...
}

正例

public class HttpConnection {
    private static final long TIMEOUT = 5L;
    ...
}

1.2 尽量使用基本数据类型,避免自动装箱和拆箱

Java 中的基本数据类型double、float、long、int、short、char、boolean,分别对应包装类Double、Float、Long、Integer、Short、Character、Boolean。 JVM支持基本类型与对应包装类的自动转换,被称为自动装箱和拆箱。装箱和拆箱都是需要CPU和内存资源的,所以应尽量避免使用自动装箱和拆箱。

反例

Integer sum = 0;
int[] values = ...;
for (int value : values) {
    sum += value; // 相当于result = Integer.valueOf(result.intValue() + value);
}

正例

int sum = 0;
int[] values = ...;
for (int value : values) {
    sum += value;
}

1.3 如果变量的初值会被覆盖,就没有必要给变量赋初值

反例

List<UserDO> userList = new ArrayList<>();
if (isAll) {
    userList = userDAO.queryAll();
} else {
    userList = userDAO.queryActive();
}

正例

List<UserDO> userList
从码农到架构师:程序员必备的技能进阶路线与转型策略 在开始技能进阶路线之前,首先需要明确“架构师”这一职位的定义及其职责。架构师(Software Architect)通常指的是设计和规划软件系统结构、技术栈、模块划分、组件协作等方面的专家。架构师不仅要具备深厚的技术能力,还要有系统的思维方式,能够从全局角度考虑问题并做出技术决策。从“码农”到架构师,是一个长期的积累和不断进阶的过程。程序员需要在技术上不断深化自己的专业能力,同时提升跨领域的知识储备,培养解决复杂问题的能力。 阅读详情

相关推荐

码农必备!VS Code集成Gemini插件,效率狂飙秘籍

摘要:本文详细介绍如何在VSCode中配置Gemini AI编程助手插件。Gemini凭借超长上下文处理能力(1M+ token)和多语言支持,可显著提升编码效率和质量。配置步骤包括:1)安装VSCode;2)搜索安装RooCode插件;3)获取Google API密钥;4)完成插件设置。文章还分享了代码生成、解释等实用技巧,并提供了网络权限问题和API调用限制的解决方案。通过合理使用Gemini,开发者可以快速生成优化代码,理解复杂逻辑,大幅提升开发效率。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 2210

java码农技术体系

java码农技术体系归类总结

Mongodb操作与Java(四)MongoTemplate的使用

MongoTemplate的使用

A乐神的博客 3437

yanshee 机器人全流程指南

2.点击yanshee app右上角根据提示操作 3.当手机显示成功连接 ,按下机器人胸前按钮说出“ip地址”4.根据机器人播报的ip地址加上:8888使用浏览器访问,你就会看到 jupyterd的界面,里面可以新建文件也可以改他存在的文件。我们使了yanshee机器人,这个是面向K12、中高职、高校学生推出的开源人形机器人教育平台,应用于课程教学、竞赛、科研活动等场景。我们接下来可以根据这些apl做许多好玩的,比如控制他运动,跳舞唱歌,it`s easy。注意电脑,手机,机器人必须连同一个网。

qq_44827929的博客 7612

用AT7456E给监控摄像头加OSD?5步搞定时间水印和Logo叠加

本文详细解析了如何使用AT7456E视频字符叠加芯片为监控系统添加专业级OSD功能,涵盖硬件设计、字符库编程和系统集成等关键步骤。通过5步操作实现时间水印和Logo叠加,提升监控系统的可用性和专业性,特别适合安防和工业视觉应用。

sea99的博客 1012

SolidWorks 2022 学习(一)软件安装

接下来是安装SolidWorks,右键SolidWorks.2022.SP0.Premium.DVD.iso,选择装载。然后以管理员身份运行SolidWorks_Flexnet_Server目录下的server_install.bat。更改需要安装的产品,以及安装路径,并勾选接受条款,点击现在安装,会弹出如下窗口。然后以管理员身份运行setup.exe,开始安装solidworks。下载链接会在文章末尾给出,下载完成的文件如下图所示。双击注册表文件,然后点击确定。保持不动,点击确定,开始安装。

qq_38383364的博客 3128

MDK5 Debug调试方法总结

MDK5 Debug调试方法总结

m0_70748084的博客 2万+

财务惊呼“不可能”!Python 自动识别 PDF 发票,数据秒级录入系统

电子发票(原生 PDF):这种最爽,文字是可以选中的。我们用 PyPDF2 直接提取文本,速度快,准确率 100%。 纸质扫描/拍照发票:这种是图片。必须上 OCR(光学字符识别)。我们要用百度开源的 PaddleOCR,这是目前中文识别效果最好的开源库之一,吊打早已过气的 Tesseract。

BUG猿的博客 1024

【Tessy】集成测试小白入门指导

本文详细介绍了如何进行集成测试的小白入门指导,从新建工程到设计用例,实现集成测试的过程详细步骤

qq_37282365的博客 1185

手把手教你学Simulink——机器人控制场景实例:基于Simulink的双足人形机器人步态生成与ZMP稳定控制仿真

ZMP是地面上合力矩在水平方向为零的点。对于平面行走: [ x_{\text{zmp}} = x_c - \frac{z_c}{g} \ddot{x}_c ]📌稳定性判据ZMP必须始终位于支撑脚的凸包(即脚掌范围内)本文完成了基于Simulink的双足人形机器人ZMP稳定控制仿真,实现了:✅ 基于LIPM生成稳定CoM轨迹✅ 构建ZMP参考与验证机制✅ 设计简化踝关节PD控制器✅ 验证ZMP始终位于支撑脚内 → 动态平衡✅ 为人形机器人步态规划奠定理论基础。

MHD0815的博客 138

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: Java程序员面试时,应当注意HR面的十三个小套路,纯干货分享
下一篇: 面试挂在JVM?别慌,图文讲解JVM工作原理,看完还不懂我跪键盘
Java_supermanNO1
博客等级 码龄7年 1170粉丝 329原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值