ls mkdir touch cp mv cat tar -zxvf rm
echo在终端显示一串内容 echo “” > .txt 给文本输入字符串
ps -ef 查看所有进程 ps -ef | grep mysql
1.git init
2.git clone
3.git pull、git fetch
4.git add
5.git commit
6.git reset
7.git branch
8.git status
10.git push
11.git merge
15.git config
16.git rm
Websocket和osi七层模型的关系:
websocket是基于应用层,建立在tcp协议之上的协议,相比与http协议,它只需要建立一次tcp连接,就可以进行长时间的全双工的低延迟实时通信,适用于基于web的游戏,聊天应用。
内存溢出:
大量jar包,class文件被加载类空间不够导致内存溢出,
大量对象导致堆空间占满,内存溢出
使用jmap ,jstat查看新生代老年代情况,去代码查看对象是否被正确回收
java中的重载与重写的区别:
1、重载发生在本类,重写发生在父类与子类之间;
2、重载的方法名必须相同,重写的方法名相同且返回值类型必须相同;
3、重载的参数列表不同,重写的参数列表必须相同。
mysql的b+树了解吗?主键是什么索引,怎么避免回表?
A2:了解,B+树是一种用于存储数据的多路搜索树,它的特点是在叶子结点中存储数据,而非叶子结点仅用于存储索引,可以更有效的进行检索。主键是一种索引,它能够唯一标识一条记录,通过使用主键可以快速检索到记录,从而避免回表查询。
线程的生命周期?用什么命令可以查看?
A3:线程的生命周期一般分为四个阶段,分别为新建阶段、就绪阶段、运行阶段和死亡阶段。可以使用jps命令查看正在运行的Java进程,使用jstack命令可以查看进程中线程的生命周期状态。
synchronize和reentrantlock有什么区别?
A4:synchronize是java中内置的锁,它能够自动完成加锁和解锁,但是它没有提供其他更多的特性,比如可中断锁、可轮询锁等。而ReentrantLock是java中的可重入锁,它提供了更多的特性,比如可以实现公平锁和非公平锁,以及可以中断锁和可轮询锁等特性。
跟我聊一聊aop,并且跟我说明怎么运用它
A6:面向切面编程(AOP)是面向对象编程的一种补充,它可以把一些公共功能(比如日志记录、权限检查等)抽取出来,作为一个独立的切面来处理,从而避免重复的代码出现在不同的业务逻辑中。使用AOP可以更加灵活的处理业务逻辑,提高代码的可重用性。
跟我聊聊super关键字
A7:super关键字是java中用于访问超类的关键字,它可以用于调用超类的构造函数、调用超类的属性或方法,以及引用超类的实例变量,从而使子类能够获取超类的内容,并且可以对超类的内容进行修改。
我知道mysql中的索引分为三类,B+树索引,Hash索引,全文索引,你可以告诉我这三个索引的区别在哪里,举例出形象的例子,最好有sql语句以便我能够理解。
当谈论MySQL的索引时,通常会涉及以下三种类型的索引:B+树索引、哈希索引和全文索引。它们各自的优势和适用场景不同。
- B+树索引
B+树索引是MySQL中最常用的索引类型之一,它采用B+树数据结构来存储索引。B+树索引适用于单列或多列的等值查询、范围查询、排序和分组等操作,而且支持最左前缀匹配原则,也就是说如果查询条件中只涉及到索引的左侧前缀,则可以有效利用索引。
下面是一个创建B+树索引的例子:
scssCopy code
CREATE INDEX idx_name ON users(name);
这将在users
表的name
列上创建一个名为idx_name
的B+树索引。
- 哈希索引
哈希索引将索引列的值作为键值,通过哈希算法计算得到一个哈希值,然后将这个哈希值和相应的行指针存储在哈希表中。哈希索引适用于单列等值查询,但不支持范围查询、排序和分组等操作。
下面是一个创建哈希索引的例子:
scssCopy code
CREATE INDEX idx_age ON users(age) USING HASH;
这将在users
表的age
列上创建一个名为idx_age
的哈希索引。
- 全文索引
全文索引可以用来进行文本搜索,它将文本