1.String和StringBuilder和StringBuffer区别
-
String是不可变的字符串 ,线程安全;适用于字符串不经常增删改的操作的场景。
-
Stringbuilder和StringBuffe是可变字符串,适用于频繁操作(增删改插)字符串的场景;但StringBuffe是线程安全的,StringBuilder是线程不安全的
-
String是线程安全的,因为它的底层是private final char value [];
2.ArrayList和LinkedList区别,你一般用哪一个,为什么
-
arraylist是更便于修改和查询,而linklist更便于增加和删除
-
arraylist是基于数组,LinkedList是基于链表
- arraylist和LinkedList是线程不安全的
3.创建线程是几种方式
-
定义类继承Thread类,不但具有里面的东西,还具有Thread类的特性,自定义类也是一个线程类,然后覆写run方法,然后把我们的代码写在我们覆写的run方法里面,然后启动
-
通过实现Runable接口,覆写run方法来创建线程
-
使用Callable和Future创建线程
-
使用线程池例如用Executor框架
4.直接调用线程的start方法和run方法有什么区别
-
可以直接调用run方法,但是没有启动一个独立的线程;
-
只有调用start 才会启动一个独立的线程;
5.项目开发流程
-
获取项目
-
获取项目需求
-
分析需求,制定项目框架
-
完成需求
-
测试
-
运营
6.maven的打包和安装用什么命令
-
maven的命令有clean,package,install,test,compile
并发(concurrency)和并行(parallellism)是:
-
解释一:并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。
-
解释二:并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。
-
解释三:并行是在多台处理器上同时处理多个任务。如 hadoop 分布式集群,并发是在一台处理器上“同时”处理多个任务。