论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
软件与程序人生
›
程序人生
›
步伐人生——Java开辟中通用的方法和准则,Java进阶知识 ...
步伐人生——Java开辟中通用的方法和准则,Java进阶知识汇总 ...
锦通
论坛元老
|
2024-7-18 23:14:21
|
显示全部楼层
|
阅读模式
楼主
主题
1021
|
帖子
1021
|
积分
3063
引出
步伐人生——Java开辟中通用的方法和准则,Java进阶知识汇总
<hr>
Java开辟中通用的方法和准则
建议1:不要在常量和变量中出现易混淆的字母
i、l、1;o、0等
建议2:莫让常量蜕变成变量
代码运行工程中不要改变常量值
建议3:三元操纵符的范例务必同等
不同等会导致自动范例转换,范例提升int->float->double等
建议4:避免带有变长参数的方法重载
变长参数的方法重载之后可能会包罗原方法
建议5:别让null值和空值威胁到变长方法
两个都包罗变长参数的重载方法,当变长参数部分空值,大概为null值时,重载方法不清楚会调用哪一个方法
建议6:覆写变长方法也循规蹈矩
变长参数与数组,覆写的方法参数与父类雷同,不仅仅是范例、数量,还包罗表现形式
建议7:警惕自增的陷阱
count=count++;操纵时JVM起首将count原值拷贝到临时变量区,再执行count加1,之后再将临时变量区的值赋给count,以是count一直为0大概某个初始值。C中count=count;与count++等效,而PHP与Java雷同
建议8:不要让旧语法困扰你
Java中抛弃了C语言中的goto语法,但是还保留了该关键字,只是不进行语义处置惩罚,const关键中同样雷同
建议9:少用静态导入
Java5引入的静态导入语法import static,使用静态导入可以减少步伐字符输入量,但是会带来许多代码歧义,省略的类束缚太少,显得步伐晦涩难懂
建议10:不要在本类中覆盖静态导入的变量和方法
例如静态导入Math包下的PI常量,类属性中又界说了一个同样名字PI的常量。编译器的“最短路径原则”将会选择使用本类中的PI常量。本类中的属性,方法优先。如果要变更一个被静态导入的方法,最好的办法是在原始类中重构,而不是在本类中覆盖
建议11:养成良好的习惯,显式声明UID
显式声明serialVersionUID可以避免序列化和反序列化中对象不同等,JVM根据serialVersionUID来判定类是否发生改变。隐式声明由编译器在编译的时候根据包名、类名、继续关系等诸多因子盘算得出,极其复杂,算出的值基本唯一
建议12:避免用序列化类在构造函数中为不变量赋值
在序列化类中,不实用构造函数为final变量赋值)(**序列化规则1:**如果final属性是一个直接量,在反序列化时就会重新盘算;**序列化规则2:**反序列化时构造函数不会执行;**反序列化执行过程:**JVM从数据流中获取一个Object对象,然后根据数据流中的类文件描述信息(在序列化时,保存到磁盘的对象文件中包罗了类描述信息,不是类)查看,发现是final变量,必要重新盘算,于是引用Person类中的name值,而此时JVM又发现name没有赋值(因为反序列化时构造函数不会执行),不能引用,于是它不再初始化,保持原始值状态。整个过程中必要保持serialVersionUID雷同
建议13:避免为final变量复杂赋值
类序列化保存到磁盘上(或网络传输)的对象文件
包罗两部分
:1、类描述信息:包罗包路径、继续关系等。留意,它并不是class文件的翻版,不记录方法、构造函数、static变量等的详细实现。2、非瞬态(transient关键字)和非静态(static关键字)的实例变量值。总结:反序列化时final变量在以下环境下不会被重新赋值:1、通过构造函数为final变量赋值
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
锦通
论坛元老
这个人很懒什么都没写!
楼主热帖
vue3 - 最新详细实现 “拖曳式课程表“ ...
快速入手node.js
奇怪,为什么ArrayList初始化容量大小 ...
漏洞利用
医院HIS体系厂家统计
如何成为一位人心所向的管理者?我的经 ...
Kubernetes(k8s)pod详解
如何在文章中设置灰色文本框(正文底色 ...
Vue实现复制粘贴功能
理解MVCC
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
网络安全
DevOps与敏捷开发
鸿蒙
快速回复
返回顶部
返回列表