Java通用程序设计技巧

Oracle21C Windows安装全攻略:从下载到配置环境变量,避开ORA-12514的坑 本文详细介绍了Oracle21C在Windows系统上的安装全流程,包括环境准备、安装包验证、分步安装指南、数据库实例创建与配置、环境变量精准配置等关键步骤,特别针对常见的ORA-12514错误提供了解决方案,帮助用户顺利完成安装并避免常见问题。 阅读详情

第一条:将局部变量的作用域最小化

本条目跟「使类和类成员的可访问性最小化」的本质上是类似的。将局部变量的作用域最小化,可以增强代码的可读性和可维护性,并降低出错的可能性。

使局部变量作用域最小化最有效的方法就是第一次使用它的地方进行声明。如果变量在使用之前进行声明,只会造成混乱。过早地声明局部变量会使它的作用域过早扩展,而且结束过晚。所以局部变量要在用到的时候进行声明,也便于声明周期的控制。

第二条:for-each循环优先于传统的for循环

for-each和for循环的做法都比while循环更好。但是由于for循环中需要创建一个临时变量,所以出错的可能性会稍大,宗旨是越简单越好,出错的可能性也低。

小编是一个有着5年工作经验的java程序员,对于java,自己有做资料的整合,一个完整学习java的路线,学习资料和工具,相信这里有很多学习java的小伙伴,我创立了一个2000人学习扣群,479121291。每晚都有java的直播课程。无论是初级还是进阶的小伙伴小编我都欢迎!

第三条:如果需要精确计算,变使用float和double

主要是float和double在java程序中设计的不是精确的,比如

返回的是0.6100000000000001。所以为了解决这个问题可以进行转换成整形或者使用BigDecimal进行计算。

第四条:基本类型优先于装箱基本类型

Java的类型系统由两部分组成,基本类型和引用类型,基本类型如int、double等,引用类型如String和List等。每个基本类型都有一个对应的引用类型,称作装箱基本类型,比如int对应的Integer、double对应Double。

在JDK1.5中新增了自动装箱和自动拆箱,主要的区别有:

基本类型只有值,装箱基本类型具有不同的统一性。

基本类型只有功能完备的值,而装箱基本类型除了对应的基本类型值外还有非功能值null。

基本类型比装箱类型更节省时间和空间。

第五条:如果有其他类型更适合,尽量避免使用字符串

字符串用来表示文本性能不错,但是针对值类型的数据,则应该被转换为对应的值类型。

字符串不适合代替枚举类型

字符串不适合代替值类型

符串不适合代替聚集类型

第六条:当心字符串连接的性能

字符串连接操作符是把多个字符串合并为一个字符串,可以达到单独一行的输出效果,或者构造一个字符串来表示较小的、大小固定的对象,使用连接操作符是非常适合的,但是它不适合运用在大规模的场景中。为连接n个字符串而重复地使用字符串连接操作符,需要n的平方级时间。

一般建议使用StringBuilder来代替String,在JDK1.5中增加了非同步的StringBuilder类代替过时的StringBuffer类。

第七条:通过接口引用对象

使用接口而不是类作为参数的类型,一般要优先使用接口而不是类来引用对象。如果有合适的接口类型存在,对于参数、返回值、变量和域来说,就应该使用接口类型进行声明。

List list = new ArrayList();

第八条:谨慎地使用本地Native方法

从历史角度来看,本地方法的主要三种用途:

“访问特定平台的机制”,比如访问Windows下的注册表。

访问遗留代码的能力;

针对注重性能的部分,提高系统性能。

随着JVM的不断优化,现在性能已经非常好了,而且关于访问注册表等已经有api支持。

游戏脚本开发避坑:Python调用OP模块实现阴阳师后台操作的5个关键点 本文深入探讨了使用Python调用OP模块开发《阴阳师》后台自动化脚本的5个核心避坑点。重点解析了窗口绑定、后台截图与图像识别、鼠标键盘模拟、脚本稳定性以及性能优化等关键环节的常见问题与实战解决方案,帮助开发者高效实现稳定的游戏后台挂机功能。 阅读详情

相关推荐

(详细总结)python爬取 163收件箱邮件内容,收件箱列表的几种方法(urllib, requests, selenium)

需求:最近有一个需求,需要将163邮箱收件箱里面的所有邮件的内容全部copy下来,整理到一个word里面,不多也就28页的邮件(不要问我为什么有这需求,不告诉你),自己手动去ctrl+ cv 的话,估计要搞吐。然后就想能不能用python的爬虫来实现,虽然过程比较苦(后期改bug改的要吐了)。但是会后还是将需求实现了。这基本也算是入门了 urllib、requests、selenium这几个py...

man_tou_22 1万+

Java 编程开发的30个技巧

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

ywyngq的博客 1861

MiniMax H3本地部署实战:ComfyUI整合包安装与提速插件验证指南

在AIGC工具链快速演进的当下,本地部署内容生成模型成为许多创作者和开发者的关注焦点。本地部署意味着数据不出本机、可按需定制工作流,还能规避云端排队与外部依赖,其核心价值在于为内容生产提供可控、私密且可编程的生成环境。ComfyUI作为模块化节点式AI绘画工具,凭借灵活的工作流编排和API接口能力,成为承载这类模型的热门平台。MiniMax H3作为支持文本、参考图等多种输入的内容生成模型,与ComfyUI结合后,既适合个人进行概念验证,也能用于团队私有化流程搭建。实际落地过程中,中文整合包显著降低了环境配

weixin_29042035的博客 296

Java开发实用小技巧

以下纯属个人观点,如果有啥不合适的地方还请提出来。(后期慢慢维护......) 1、多使用 卫语句,使代码逻辑清晰。也有利于代码维护 if(object != null){ // 业务逻辑 ,各种if-else嵌套 } 转换成卫语句以后的代码如下: if(object == null){ return; } // 业务逻辑; 2、代码异常日志的输出, e.printStackTrace() 只是输出到控制台,没啥卵用,在日志文件里面根本看不到异常信息。数据量庞.......

qq_40010745的博客 3624

无人机上下通信信号解析程序和代码

总的来说,无人机上下行信号解析是无人机系统中非常重要的一部分,它关系到无人机的飞行控制和图像传输能力,对于保障无人机的飞行安全和数据传输质量具有重要作用。3. 读取和解析地面控制中心发送的命令和数据:程序还需要能够读取地面控制中心发送给无人机的命令和数据。1. 读取和解析无人机发送的命令和数据:程序需要能够读取无人机发送的信号,并解析其中的命令和数据。4. 将解析结果传递给无人机:解析地面控制中心发送的命令和数据后,程序需要将解析结果传递给无人机。具体的实现方式可以根据无人机的通信协议和硬件设备来确定。

2401_84824274的博客 2189

保姆级教程:用YOLOv8/9/10搞定仪表盘指针识别,附完整数据集和Python环境配置

本文提供了一份基于YOLOv8/v9/v10的仪表盘指针检测全流程指南,涵盖环境配置、数据集构建、模型选型、训练调优和部署落地等关键步骤。通过详细的代码示例和实战经验,帮助开发者高效解决工业视觉中的仪表盘检测难题,特别适合电力巡检、智能监控等应用场景。

weixin_29031057的博客 1335

Java开发中那些可以提升性能/效率的小技巧(持续更新)

所以,在并发情况下,会有锁竞争的场景,比如说Spring中的依赖注入,为了检查Inject类是否存在,在构造方法中做了检查。但是,这是100万次反射获取方法,280毫秒其实对于一般系统来说也影响不大了,如果是追求极致的并发,或许可以考虑一下为反射添加缓存。日常开发中,经常会用到反射,尤其是SpringAOP或者其他场景,但是经常会忽略其性能,反射的性能确实比普通的方法性能差很多。日常开发中,以及某些Spring的代码中,对于字段或者方法设置Access时,public类型的就不进行。

秃了也弱了 1513

F5 shape最新版逆向分析(美西南、xbk)

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,如有侵权,请联系作者立即删除。今天来简单秀下传说中的f5 shape,这是一个数一数二的盾,jsvmp+顶级风控,就算技术实力再强,也是需要花很多时间去摸索的,如果您遇到了这个盾又没有太多的时间去搞,欢迎来找我们。

mature的博客 3652

Java 代码精简之道

古语有云: 道为术之灵,术为道之体;以道统术,以术得道。 其中:“道”指“规律、道理、理论”,“术”指“方法、技巧、技术”。意思是:“道”是“术”的灵魂,“术”是“道”的肉体;可以用“道”来统管“术”,也可以从“术”中获得“道”。 在拜读大佬“孤尽”的文章《Code Review是苦涩但有意思的修行》时,感受最深的一句话就是:“优质的代码一定是少即是多的精兵原则”,这就是大佬的代码精简之...

javaboy 3399

Skill的嵌套

Skill的嵌套就很简单,直接引用其他的Skill就好了。在一个 Skill 的 SKILL.md 中,可以明确指示 Claude 去读取另一个 Skill 的文档。

Criss@陈磊 958

ABAP 大规模数据并行处理实战,六套 Parallel Processing Framework 如何选,性能调优真正该盯住什么

如果今天真的面对那份执行 14 个小时的生产报表,我不会马上把原来的 Loop 改成 50 个aRFC。我会先用 SAT、ST12、SQL Monitor 和 HANA 侧工具确认时间到底花在哪里。如果 90% 时间其实消耗在一条低效 SQL 上,Parallel Processing 只是让 50 个 Worker 同时执行那条低效 SQL,数据库会比原来更痛苦。应该先把串行逻辑本身优化到合理水平。该做 Set-based Processing 的地方先交给 HANA。该避免SELECT。

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

java通用程序设计技巧

将局部变量的作用域最小化 较早的C语言要求局部变量必须在一个代码块的开头开始声明,出于习惯,有些程序员目前还是继续这样做,这个习惯应该改正,java允许你可以在任何出现语句的地方声明变量。 要使局部变量作用域最小化的最有效方法是在第一次使用它的地方声明。如果变量在使用之前声明这只会造成混乱,等到用到的时候,读者可能已经记不起该变量的类型或初始值了。过早的声明局部变量不仅会使它的作用域过早地扩展,...

weixin_33883178的博客 131

STM32F103/F407/H743不同GPIO速度配置(HAL库)对应的最高速度

详细介绍了STM32F103/F407/H743不同GPIO速度配置(HAL库)对应的最高速度。

kevin1499的博客 5589

Java泛型程序设计使用方法

Java泛型程序设计是Java语言中一项强大的特性,它允许你编写更加通用和类型安全的代码。以下是Java泛型程序设计的使用方法和技巧:

爱的叹息的专栏 563

数学建模模型总结

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

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Effective Java

作者 Joshua Bloch 翻译 杨春花 Java之父 James Gosling 建议大家还是去看原书,最好是英文版。 序言: 举例:学编程语言就像学习自然语言语言(比如英语) 词汇 如何描述事物 语法 语言的结构如何 用法 表达日常的事物 程序设计语言也是如此,你需要理解语言的核心:它是面向算法的,还是面向函数的,或者是面向对象的? 你需要知道词汇表:标准类库提供了哪些数据结构、操作和功能? 熟悉如何用习惯和高效的方式来构建代码。 这本书是关于Java习惯和高效的用

CodeDoraemon的博客 1614

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

《Effective Java》通用程序设计

《Effective Java》第七章 通用程序设计

qq_43350524的博客 815

VC中sqlite的使用

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

《Java面向对象程序设计》学习笔记

备考某学校的 817程序设计Java 专业课,在学习耿祥义老师的《Java面向对象程序设计(第3版)-微课视频版》。 发一些自己的学习笔记到专栏(一篇文章对应书上一章),可能不会及时更新,见谅。 笔记可能有错误,看看就得,现在懒得浓缩精炼了,以后再说吧🧐

奇妙方程式的博客 9992

java通用程序设计_【Java基础】通用程序设计

Num1:for-each循环优先于传统的for循环java1.5版本发布之前的做法:for(int i=0;idoSomething(a[i]);}java1.5发行版本中引入的for-each循环,通过完全隐藏迭代器或索引变量,避免了混乱和出错的可能。示例代码:enum Suit {CLUB, DIAMOND, HEART, SPADE}enum Rank {ACE, DEUCE, THREE...

weixin_36348080的博客 165

Java程序设计基础实验一Java简单程序设计

2.编写4个源文件,即MainClass.java、A.java、B.java和java,每个源文件只有一个类。5.编写一个Java应用程序,输出数组a的全部元素,并将数组a的全部或部分元素复制到其他数组中。经过本次学习了页面的调用、打印,以及数组的相关知识,在猜数字的实验中体验到了Java语言的神奇之处和与计算机互动的乐趣。6.编写一个Java应用程序,用户从键盘输入一个1-9999之间的数,判断这个数是否是回文数。4.编写一个Java应用程序,该程序在命令行窗口输出数组的引用以及元素的值。

Annzz123的博客 5820

Java程序设计的基本结构

本文关键字:基本结构、顺序结构、选择结构、循环结构。结构化程序设计有三种基本结构:顺序结构、选择结构和循环结构。结构化程序设计本身是一种编程的方式和思想,与语言并没有直接关系。但是不同的编程语言对于三种基本结构的表达方式是不同的,比如使用的关键字、语法的基本结构,但是整体的思路都是相同的。掌握了三种基本结构以后,即使我们使用不同的编程语言,只要再去学习一下语法上的差别,就可以马上掌握了。

微光点亮星辰 1万+

java程序设计与开发_Java程序设计技巧与开发实例_IT教程网

资源名称:Java程序设计技巧与开发实例内容简介:本书全面系统地介绍了标准Java程序设计基本知识和基本技巧,涵盖了面向对象程序设计、基于AWT和Swing的图形用户界面设计、Applet程序设计、多线程程序设计、多媒体程序设计、抽象数据结构、文件和安全性、网络编程和分布计算等内容。在每章的最后,都给出一个有一定深度和规模的开发实例,通过开发实例的学习,可以迅速掌握大型程序的设计和开发方法。本书既...

weixin_42449548的博客 209

《Java程序设计》期末复习资料

《Java程序设计》期末复习资料 说明: 本份资料由五部分构成:“考试范围”、“考试题型”、“参看课本相关知识和课后习题”、“课本各个章节重点知识”和“期中测试试卷及参考答案”。 一、考试范围:课本第一至八章。 二、考试题型:①选择题,20道,20分;②填空题,10空,10分;③简答题,6题,30分;④阅读程序题,含填空、改错和运行结果等三类题型,20分;⑤编程题,20分。 三、参看课本相关知识和课后习题: 看课本相关章节,仔细看课后习题的选择题和填空题(答案在第301页

Charles_HongKong的专栏 4956

《Java程序设计》实验报告——Java的基本程序设计结构

浙江理工大学 《Java程序设计》 实验报告 20 19~20 20学年第 1学期 学 院 信息学院 班 级 计算机科学技术18(3) 姓 名 申屠志刚 学 号 2018329621200 任...

无限迭代中...... 7214

2013级《Java程序设计》考试自做答案

2013级《Java程序设计》考试自做答案 简答题 1.不做 2.Java运行时系统是运行Java字节码的系统,其任务是装载程序运行时需要的类、安排程序运行中对内存的使用,并且控制字节码的执行过程。 3.异常处理的两种方式 1.抛出异常,把异常对象通过调用层抛出,一层一层直至交给Java虚拟机 2.使用try-catch-finally的结构对异常进行捕获 4.不做 5.重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写! 6.实例变量成员:没有加sta

qq_38336763的博客 948

《Java面向对象程序设计》总结

【代码】《Java面向对象程序设计》总结。

m0_63096587的博客 957
上一篇: Java面向对象中的成员内部类
下一篇: 最容易犯错的8 道java面试题,看你会不会踩雷?
java03_15
博客等级 码龄9年 263粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值