Java:每天三道大白话面试题(005)

前言

大白话讲面试题,每天更新三题,提倡每日积累而不是临阵磨枪,我的目的不是为了背题,而是通过这种方式来更好的巩固自身所掌握的知识。

题目的星星代表难度等级,五星为满,并且我会列出需要掌握的前置知识。

大家一起,冲鸭!

线程的状态都有哪些,它的生命周期是怎样的?⭐⭐

目的:多线程与并发编程基础考察

前置知识:理解 java.lang.Thread 类

当我们 new 了一个线程时,它刚刚被创建,还没调用 start() 方法,此时处于初始状态

当调用了 start() 方法后,线程会处于一个就绪状态,表明线程处在“万事俱备,只欠东风”的状态,这个状态的线程叫就绪状态;当这个线程被选中执行的时候,叫运行状态,在 Java 中,就绪和运行这两种状态统称为运行状态

假如线程在运行中,被锁阻塞,就会进入阻塞状态,当获取到锁后,就会重新回到就绪状态。

如果线程主动调用了 wait() 方法,就会进入等待状态,这个状态中的线程需要等待其他线程主动唤醒它,才能继续运行;如果在进入等待状态时我们指定了超时时间,那么就会进入超时等待的状态,如果超过这个时间没人唤醒它,它会重新回到就绪状态。

最后就是终止状态,代表线程已经执行完毕。


常见的项目构建工具都有哪些,你们一般使用哪些工具来管理和构建项目?⭐

目的:考察知识的广度,考察你是否只会埋头写代码,而不关注这些司空见惯的东西

前置知识:无

常用的项目管理工具有 Maven、Gradle。

Maven 是基于 XML 进行配置,而 Gradle 使用 Groovy 进行配置。

我们现在的话,两个都有用到,使用 Maven + Nexus 私服的方式管理微服务项目,用 Gradle 来管理一些独立插件性质的项目。


Maven 构建的生命周期了解吗?⭐⭐

目的:底层知识考察,司空见惯的东西看你会不会去了解其原理

前置知识:Maven 工具

为了完成项目的构建,Maven 有三个标准的生命周期:

  • clean:清理上一次构建生成的文件。
  • build:构建项目。
  • site:建立和发布项目站点。

那所谓构建的生命周期就是 build 阶段,它由以下几个部分组成:

验证 validate验证项目验证项目是否正确且所有必须信息是可用的
阶段处理描述
编译 compile执行编译源代码编译在此阶段完成
测试 Test测试使用适当的单元测试框架(例如JUnit)运行测试。
包装 package打包创建JAR/WAR包如在 pom.xml 中定义提及的包
检查 verify检查对集成测试的结果进行检查,以保证质量达标
安装 install安装安装打包的项目到本地仓库,以供其他项目使用
部署 deploy部署拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程

说白了 IDEA 里的 Maven 生命周期中都给你列好了,顺序都一样。


引用

在这里我会放上所有我参考的资料链接

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值