备战秋招001(20230625)


前言

提示:这里为每天自己的学习内容心情总结;

Learn By Doing,Now or Never,Writing is organized thinking.

今天的学习状态还是不太好,总是喜欢看B站,但是一步一步来吧,前阵子太摆烂了,加油。


提示:以下是本篇文章正文内容

一、今天学习了什么?

  1. finalfinallyfinalize,三者的区别?
  2. 自定义线程池。

二、关于问题的答案

1.三者的区别

final关键字,既可以修饰变量、也可以修饰方法、还可以修饰类。

当修饰的为时,该类就不能被继承了,比如常见的StringInteger等,但是该类的方法可以重载不能被重写。

当修饰的为方法时,方法不能被重写,可以被重载。

当修饰的为变量时,分为两种情况:

  • 基本数据类型,变量初始化后就不能再更改值,相当于常量;
  • 引用数据类型,变量指向的对象/内存地址,不能变化,但是对象本身的属性可以变。

finally,这个是和try–catch–finally一起使用的。保证无论代码块是否发生异常,最后还可以执行相应的操作,比如释放连接、释放锁资源,关闭I/O流等。
难点:return语句位与不同的位置时,会有不同的效果。

finalize,是Object类的方法。负责最后资源的关闭,JVM 会自动进行垃圾回收,释放内存空间。在垃圾回收前,会先调用对象的*finalize()*方法,用于释放对象所占用的资源。

2.自定义线程池

线程池主要有两部分组成:工作线程、阻塞队列。

工作线程,负责处理任务,有最大核心数,线程池中的工作线程的数量不能超过这个最大核心数。

阻塞队列,负责添加任务,需要考虑阻塞队列所能容纳最大任务的个数、当阻塞队列已满时,新的任务如何处理,对应的拒绝策略是什么。


总结

提示:这里对文章进行总结:

目前为止没啥难的,加油,希望明天能更认真学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值