JAVA基础面试题

1.String和StringBuilder和StringBuffer区别

  1. String是不可变的字符串 ,线程安全;适用于字符串不经常增删改的操作的场景。

  2. Stringbuilder和StringBuffe是可变字符串,适用于频繁操作(增删改插)字符串的场景;但StringBuffe是线程安全的,StringBuilder是线程不安全的

  3. String是线程安全的,因为它的底层是private final char value [];

2.ArrayList和LinkedList区别,你一般用哪一个,为什么

  1. arraylist是更便于修改和查询,而linklist更便于增加和删除

  2. arraylist是基于数组,LinkedList是基于链表

  3. arraylist和LinkedList是线程不安全的


3.创建线程是几种方式

  1. 定义类继承Thread类,不但具有里面的东西,还具有Thread类的特性,自定义类也是一个线程类,然后覆写run方法,然后把我们的代码写在我们覆写的run方法里面,然后启动

  2. 通过实现Runable接口,覆写run方法来创建线程

  3. 使用Callable和Future创建线程

  4. 使用线程池例如用Executor框架

4.直接调用线程的start方法和run方法有什么区别

  1. 可以直接调用run方法,但是没有启动一个独立的线程;

  2. 只有调用start 才会启动一个独立的线程;

 

 

5.项目开发流程

  1. 获取项目

  2. 获取项目需求

  3. 分析需求,制定项目框架

  4. 完成需求

  5. 测试

  6. 运营

6.maven的打包和安装用什么命令

  1. maven的命令有clean,package,install,test,compile

并发(concurrency)和并行(parallellism)是:

  1. 解释一:并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。

  2. 解释二:并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。

  3. 解释三:并行是在多台处理器上同时处理多个任务。如 hadoop 分布式集群,并发是在一台处理器上“同时”处理多个任务。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值