零零碎碎知识点

maven生命周期

  1. maven clean:移除所有上一次构建的文件
  2. mvn compile:编译项目源码,需要先cd到pom所在的文件夹
  3. mvn test:运行所有的单元测试
  4. maven特点:越往下走执行的命令,都会包含前面命令的全部阶段

包冲突解决方式

maven helper:显示项目中的依赖树和包冲突

JavaSE之 内部类,静态内部类,匿名内部类

  1. 内部类的意思:把一个类定义在其他类的内部

  2. 内部类存在的意义:隐式实现多继承;直接访问外部类的成员(包括私有);可以拥有private和protected的权限

  3. 内部类:可访问外部类所有成员,但不能拥有静态方法/成员变量

  4. 静态内部类:只能访问外部类的静态成员变量和方法;静态内部类可以有非静态成员,但也一样不能访问外部的非静态成员变量和方法

  5. 匿名内部类:没有名字,没有关键字修饰的类;

b+树有多少节点,多少层,可以存储多少数据

前置知识:InnoDB最小储存单元是页,一页大小为16k
对于叶子节点,假设一条数据1k,就存16条
对于非叶子节点;假设数据+指针是a字节,则16可可以存16*1024/a,一般一个节点能存几百到一千;

基本git命令

git add :将文件加到暂存区
git commit:将暂存区内容加到仓库
git push:上传远程代码
git status:查看当前版本

git branch 查看分支
git branch -b newbranch 新建一个分支

基本linux命令(感觉自己得多用用)

sudo:需要root权限的时候使用
ls:显示当前目录里面所有文件和文件夹
cd:更改目录
mkdir:新建文件
cp:复制
rm:移除
poweroff :关机(需要sudo)
grep :查找

OSI七层协议(详细版本)

  1. 应用层(各种应用程序的协议):HTTP,FTP(文件传输协议),SMTP(简单邮件),TELNET(TCP/IP终端仿真协议,提供了远程访问另一台主机的可能)
  2. 表示层:信息语法语义和它们的关联,例如加密解密,转换翻译,压缩解压缩
  3. 会话层:为不同机器上的用户建立会话:有安全协议(SSL和TLS,后者是前者标准化后的产物)
  4. 传输层:接受上一层的数据,交给网络层(有必要就分割),最熟悉的还是TCP,UDP啦
  5. 网络层:控制子网的运行,逻辑控制,分组传输,路由选择(都不太熟悉呢),比较熟悉的协议就是IGMP和ICMP了
  6. 数据链路层:物理寻址,将bit流转化为逻辑传输路线
  7. 物理层:原始bit流的传输

加密算法

分类:整体分为可逆加密和不可逆加密,可逆加密分为对称加密和非对称加密

不可逆加密

  1. 其验证过程就是通过比较两个加密后的字符串是否一样来确认身份的
  2. MD5:散列函数,产生18位散列值;原始数据计算MD5很容易,即使修改一个字节,计算出的MD5也有很大差异
  3. SHA:安全散列算法,能计算出一个数字消息所对应到的,长度固定的字符串

可逆加密

  1. 对称加密:DES,3DES(DES晋级版本)
  2. 非对称加密:只有使用匹配的公钥和私钥,才能完成对明文的加密和解密,常见有RSA和SM2

一些选择题

  1. json的格式:数据始终是key-val;每个对象用逗号分割,对象保存在花括号,数组保存在方括号
  2. MySQL模糊查询的通配符:(%,_)
  3. DML语句:对表中的数据进行操作;DDL:对数据库和数据表的结构进行操作
  4. inner join和outer join:inn取交集,outer取并集
  5. HTTPS可以避免DDOS攻击,但需要有受信任的CA证书
  6. AVL树:自平衡查找二叉树,通过左旋右旋保持平衡
  7. HashMap可以有null键吗?可以,但只能有一个
  8. dameon线程:不一定会在主线程结束之后立马结束
  9. java中的switch参数,1.7后 byte short int char enum(枚举),String
posted @ 2021-09-15 22:46  concise_d  阅读(58)  评论(0)    收藏  举报