论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
软件与程序人生
›
程序人生
›
程序人生——Java异常使用建议,我把所有软件测试第三方 ...
程序人生——Java异常使用建议,我把所有软件测试第三方库整理成了PDF ...
刘俊凯
论坛元老
|
2024-8-16 04:59:44
|
显示全部楼层
|
阅读模式
楼主
主题
1010
|
帖子
1010
|
积分
3034
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,现在阿里P7
深知大多数程序员,想要提升技能,往往是自己探索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术故步自封!
因此收集整理了一份《2024年最新软件测试全套学习资料》,初志也很简朴,就是希望能够帮助到想自学提升又不知道该从何学起的朋侪。
既有适合小白学习的零基础资料,也有适合3年以上履历的小同伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比力多,这里只是将部门目录截图出来,全套包罗大厂面经、学习笔记、源码课本、实战项目、大纲路线、解说视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
正文
建议112:受检异常尽可能转化为非受检异常
建议113:不要在finally块中处理返回值
建议114:不要在构造函数中抛异常
建议115:使用Throwable得到栈信息
建议116:异常只为异常服务
建议117:多使用异常,把性能标题放一边
深入认识JVM
JVM内存分配,类加载
创建对象的4种方法总结
垃圾接纳GC
JVM调优,Arthas使用
认识多线程
创建多线程方法+了解线程池
多线程下-1非原子性标题即解决
再论线程,创建、生命周期
总结
引出
程序人生——Java异常使用建议
异常
建议110:提倡异常封装;
异常封装有三方面的优点:
1、提高体系的友好性;
2、提高体系的可维护性;
3、解决Java异常机制本身的缺陷;
建议111:采用异常链通报异常
责任链模式
(Chain of Responsibility),目的是将多个对象连城一条链,并沿着这条链通报该哀求,直到有对象处理它为止,异常的通报处理也应该采用责任链模式
建议112:受检异常尽可能转化为非受检异常
受检异常威胁到体系的安全性、稳定性、可靠性、正确性时、不能转为非受检异常)(受检异常(Checked Exception),非受检异常(Unchecked Exception),受检异常时正常逻辑的一种补偿处理本领,特别是对可靠性要求比力高的体系来说,在某些条件下必须抛出受检异常以便由程序进行补偿处理,也就是说受检异常有合理的存在来由。但是受检异常有不足的地方:1、受检异常使接口声明脆弱;2、受检异常是代码的可读性低沉,一个方法增加了受检异常,则必须有一个调用者对异常进行处理。受检异常需要try…catch处理;3、受检异常增加了开辟工作量。避免以上受检异常缺点办法:将受检异常转化为非受检异常
建议113:不要在finally块中处理返回值
在finally块中参加了return语句会导致以下两个标题:1、覆盖了try代码块中的return返回值;2、屏蔽异常,纵然throw出去了异常,异常线程会登记异常,但是当执行器执行finally代码块时,则会重新为方法赋值,也就是告诉调用者“该方法执行正确”,没有发生异常,于是乎,异常神奇的消失了
建议114:不要在构造函数中抛异常
Java异常机制有三种:1、Error类及其子类表现的是错误,它是不需要程序员处理的也不能处理的异常,比如VirtualMachineError捏造机错误,ThreadDeath线程僵死等;2、RuntimeException类及其子类表现的是非受检异常,是体系可能抛出的异常,程序员可以去处理,也可以不处理,最经典的是NullPointerException空指针异常和IndexOutOfBoundsException越界异常;3、Exception类及其子类(不包罗非受检异常)表现的是受检异常,这是程序员必须要处理的异常,不处理则程序不能通过编译,比如IOException表现I/O异常,SQLException数据库访问异常。一个对象的创建过程要经过内存分配、静态代码初始化、构造函数执行等过程,构造函数中是否答应抛出异常呢?从Java语法上来说,完全可以,三类异常都可以,但是从体系计划和开辟的角度分析,则尽量不要在构造函数中抛出异常
建议115:使用Throwable得到栈信息
在出现异常时(或主动声明一个Throwable对象时),JVM会通过fillInStackTrace方法记载下栈信息,然后生成一个Throwable对象,这样就能知道类间的调用顺序、方法名称以及当前行号等
建议116:异常只为异常服务
异常本来是正常逻辑的一个补充,但有时间会被当前主逻辑使用。异常作为主逻辑有标题:1、异常判断低沉了体系性能;2、低沉了代码的可读性,只有具体了解valueOf方法的人才气读懂这样的代码,由于valueOf抛出的是一个非受检异常;3、隐蔽了运行期可能产生的错误,catch到异常,但没有做任何处理
建议117:多使用异常,把性能标题放一边
new一个IOException会被String慢5倍:由于它要执行fillInStackTrace方法,要记载当前栈的快照,而String类则是直接申请一个内存创建对象。而且,异常类是不能缓存的。但是异常是主逻辑的例外逻辑,会让方法更符合实际的处理逻辑,同时使主逻辑更加清晰,可让正常代码和异常代码分离、能快速查找标题(栈信息快照)等
深入认识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使用
网上学习资料一大堆,但如果学到的知识不成体系,遇到标题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份体系化的资料的朋侪,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才气走的更远!岂论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎参加我们的的圈子(技术交换、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
*
[外链图片转存中…(img-ilaMAUBv-1713235765533)]
一个人可以走的很快,但一群人才气走的更远!岂论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎参加我们的的圈子(技术交换、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
刘俊凯
论坛元老
这个人很懒什么都没写!
楼主热帖
牛客SQL刷题第三趴——SQL大厂面试真题 ...
IDEA中集成Git操作以及关于Git中分支说 ...
github上fork2.4k,star8.7k的这款状态 ...
Bug驱动开发探讨
SAP MM 使用两个STO实现免关税跨国公 ...
MySQL ——select语句 一条龙服务 ...
哈工大信息安全概论期末复习 ...
袋鼠云春季生长大会最新议程来啦!4月2 ...
事务
2023H1中国超融合市场第二!深信服超融 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
Oracle
物联网
Mysql
DevOps与敏捷开发
分布式数据库
网络安全
云原生
虚拟化与私有云
SQL-Server
快速回复
返回顶部
返回列表