基础知识

举报
酸菜鱼. 发表于 2022/07/18 19:57:25 2022/07/18
【摘要】 介绍了基础知识

前言:大家好,我是小威,一个明天即将入职准大三学生。本篇将记录前几次面试中经常被问到的知识点。
本篇文章记录的基础知识,适合在学Java的小白,也适合复习中,面试中的大佬🤩🤩。
如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。
小威在此先感谢各位大佬啦~~🤞🤞
在这里插入图片描述

以下正文开始
在这里插入图片描述

@[toc]

🧁创建线程的三种方法

创建线程有三种方法,分别是:

  • 继承Thread类;
  • 实现Runnable接口,重写run()方法;
  • 实现Callable接口

🍦继承Thread类

  1. 定义一个类继承Thread类,并重写该类的run⽅法,该run方法的方法体里面就表示了线程要完成的任务。我们把run()方法称为执行体;

  2. 创建Thread子类的实例对象,也就是创建了线程对象;

  3. 手动调用线程对象的start()方法来启动该线程。

🍵实现Runnable接口

因为类只支持单方面的继承,所以第一种创建线程的方法有一定的局限性,而接口可以实现多个。

  • 定义一个Runnable接口的实现类,并重写该接⼝的run()⽅法,我们所重写的run()⽅法的⽅法体同样是该线程的线程执行体;

  • 创建 Runnable实现类的实例对象;

  • 使用Thread有参构造方法创建线程实例,并将Runnable接口的实现类的实例对象作为参数传入;

  • 调⽤线程对象的start()⽅法来启动该线程。

🍸实现Callable接口

通过Callable和Future创建线程

  1. 创建Callable接⼝的实现类,并且重写Callable接口里面的call()⽅法,该call()方法即为线程执⾏体,并且有返回值。

  2. 创建Callable实现类的实例,使⽤FutureTask类来包装Callable对象,该FutureTask对象封装了该Callable对象的call()⽅法的返回值。

  3. 使⽤FutureTask对象作为Thread对象的target创建并启动新线程。

  4. 调⽤FutureTask对象的get()⽅法来获得子线程执⾏结束后的返回值

在这里插入图片描述

🍬try…catch和finally

首先,try…catch对异常的捕获是为了使程序能够有效地执行。

try…catch…finally结构
try
{
执行的代码,其中可能有异常。如果发现异常,会立即跳到catch执行。否则不会执行catch里面的内容
}
catch(Exception e)
{
try里面执行的代码发生了异常才会进行catch处理
}
finally
{
不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 finally
}

try-catch-finally的执行顺序是:

  1. 不管有没有出现异常,finally块中的代码都会执行;
  2. 当try和catch中有return时,finally仍然会执行;
  3. finally是在return后面的表达式运算后执行的

try-catch-finally 其中 catch 和 finally 都可以被省略,但是不能同时省略,也就是说有 try 的时候,必须后面跟一个 catch 或者 finally。

🍭Linux文件数字权限

首先解释文件中r ,w, x, - 的含义,r是只读权限,w是写的权限,x是可执行权限, -是没有任何权限。
目录中 r w x的含义,r具有ls(列出目录下的文件)权限,w是在目录上可以增加、删除、创建权限,x是具有ls –l(以长格式的形式查看当前目录下所有可见文件的属性)权限。
数字如何表示权限呢?
我们规定读(r)为4,写(w)为2,执行权限(x)为1。
所以
rwx为7,rw为6,rx为5,wx为3等。
而它表示的权限分为自己,自己群组其他成员,其它组。例如:

chmod 777 file //所有人都可读,写,执行
chmod 700 file //自己可读,写,执行,其他人不可以
chmod 775 file //自己和同组人员可读,写,执行,而其他组可读,执行,不可写

在这里插入图片描述

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。