论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
软件与程序人生
›
程序人生
›
程序人生——Java中类、对象及方法的发起(2) ...
程序人生——Java中类、对象及方法的发起(2)
守听
论坛元老
|
2024-6-20 21:17:22
|
显示全部楼层
|
阅读模式
楼主
主题
1029
|
帖子
1029
|
积分
3087
引出
程序人生——Java中类、对象及方法的发起(2)
类、对象及方法
发起41:让多重继承成为现实
Java中一个类可以多种实现,但不能多重继承。使用成员内部类实现多重继承。内部类一个紧张特性:内部类可以继承一个与外部类无关的类,包管了内部类的独立性,正是基于这一点,多重继承才会成为可能
发起42:让工具类不可实例化
工具类的方法和属性都是静态的,不需要实例即可访问。**实现方式:**将构造函数设置为private,而且在构造函数中抛出Error错误异常
发起43:避免对象的浅拷贝
浅拷贝存在对象属性拷贝不彻底的问题。对于只包含
基本数据类型的类
可以使用
浅拷贝
;而包含有
对象变量的类
需要使用
序列化与反序列化
机制实现
深拷贝
发起44:推荐使用序列化实现对象的拷贝
通过序列化方式来处理,在内存中通过字节流的拷贝来实现深拷贝。使用此方法进行对象拷贝时需注意
两点
:1、对象的内部属性都是可序列化的;2、注意方法和属性的特别修饰符,好比final、static、transient变量的序列化问题都会影响拷贝结果。一个简单办法,使用Apache下的commons工具包中的SerializationUtils类,直接使用更加简洁方便
发起45:覆写equals方法时不要识别不出自己
需要满意p.equals§返回为真,自反性
发起46:equals应该考虑null值景象
覆写equals方法时需要判一下null,否则可能产生NullPointerException异常
发起47:在equals中使用getClass进行类型判断
使用getClass方法来代替instanceof进行类型判断
发起48:覆写equals方法必须覆写hashCode方法
需要两个相同对象的hashCode方法返回值相同,所以需要覆写hashCode方法,如果不覆写,两个差别对象的hashCode肯定不一样,简单实现hashCode方法,调用org.apache.commons.lang.builder包下的Hash码天生工具HashCodeBuilder
发起49:推荐覆写toString方法
原始toString方法显示不人性化
发起50:使用package-info类为包服务
package-info类是专门为本包服务的,是一个
特别性
主要体如今3个方面:1、它不能随便被创建;2、它服务的对象很特别;3、package-info类不能有实当代码;package-info类的
作用
:1、声明友好类和包内访问常量;2、为在包上标注注解提供便利;3、提供包的整体注释说明
发起51:不要主动进行垃圾回收
主动进行垃圾回收是一个非常伤害的动作,因为System.gc要停止所有的响应(Stop 天河world),才气检查内存中是否有可回收的对象,所有的请求都会暂停
深入认识JVM
JVM内存分配,类加载
Java进阶(1)——JVM的内存分配 & 反射Class类的类对象 & 创建对象的几种方式 & 类加载(何时进入内存JVM)& 注解 & 反射+注解的案例
创建对象的4种方法总结
Java进阶(4)——联合类加载JVM的过程明白创建对象的几种方式:new,反射Class,克隆clone(拷贝),序列化反序列化
垃圾回收GC
Java进阶(垃圾回收GC)——理论篇:JVM内存模子 & 垃圾回收定位清除算法 & JVM中的垃圾回收器
简介:本篇博客先容JVM的内存模子,对比了1.7和1.8的内存模子的变化;先容了垃圾回收的语言发展;叙述了定位垃圾的方法,引用计数法和可达性分析发以及垃圾清除算法;然后先容了Java中的垃圾回收器,由串行、到并行再到并发,最后到G1的演变;最后给出了垃圾回收器的对比和使用指引。
JVM调优,Arthas使用
Java进阶(JVM调优)——阿里云的Arthas的使用 & 安装和使用 & 死锁查找案例,重新加载案例,慢调用分析
Java进阶(JVM调优)——JVM调优参数 & JDK自带工具使用 & 内存溢出和死锁问题案例 & GC垃圾回收
认识多线程
创建多线程方法+了解线程池
Java进阶(5)——创建多线程的方法extends Thread和implements Runnable的对比 & 线程池及常用的线程池
多线程下-1非原子性问题即办理
Java进阶(6)——抢购问题中的数据不安全(非原子性问题)& Java中的synchronize和ReentrantLock锁使用 & 死锁及其产生的条件
再论线程,创建、生命周期
Java进阶(再论线程)——线程的4种创建方式 & 线程的生命周期 & 线程的3大特性 & 集合中的线程安全问题
主要内容:
1.线程创建的方式,继承Thread类,实现Runable接口,实现Callable接口,采用线程池;
2.线程生命周期: join():运行结束再下一个, yield():暂时让出cpu的使用权,deamon():守护线程,最后结束,sleep():如果有锁,不会让出;
3.线程3大特性,原子性,可见性,有序性;
4.list集合中线程安全问题,hash算法问题;
总结
程序人生——Java中类、对象及方法的发起(2)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
守听
论坛元老
这个人很懒什么都没写!
楼主热帖
【网络编程】从零开始搭建一个开源博客 ...
Vulnhub靶机-Al-Web-1
Python学习:import的正确用法
jdbc如何连接sqlserver数据库呢? ...
报错building for iOS Simulator, but ...
【CSDN云VS腾讯云】要不然怎么说CSDN开 ...
面试官:BIO、NIO、AIO是什么,他们有 ...
TCP协议
如何成为一名开发人员——第 3 部分: ...
通达OA,长途下令执行漏洞复现 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
Java
Mysql
网络安全
分布式数据库
前端开发
Oracle
鸿蒙
DevOps与敏捷开发
.Net
快速回复
返回顶部
返回列表