homepage - Aminute/aminute GitHub Wiki

Welcome to the - wiki!

死锁、活锁、饿死

死锁:

  • 产生条件:互斥使用、占有等待、不可剥夺、循环等待

活锁(有可能自行解开):

  • 任务或者执行者没有被阻塞,由于某些条件没有满足,导致一直重复尝试,失败,尝试,失败。
  • 解决方式:通过先来先服务的方式解决

饿死:

  • 优先级较低,即使能被执行,也被调度器忽略,永远得不到调用

前后端分离

前后端分离就是将一个单体应用拆分为两个独立的应用,前端应用和后端应用以JSON格式进行数据交互

  • 不使用前后端分离的缺点:效率低,html->jsp,前端写完html后交给后端整合成jsp,前后端耦合度高
  • 前端只需要编写客户端代码,后端只需要编写服务端代码提供数据接口就行
  • 前端通过ajax请求来访问后端接口,将Model展示到View中即可
  • 前后端开发者只需要提前约定好接口文档,可以真正实现前后端的解耦合

linux常用命令

# 查看端口占用
lsof -i:3306   #通过端口看进程
netstat  -anp  |grep 8080  #查看端口使用情况

netstat -tunlp | grep 12345   #通过进程看端口,pid

#从上面的命令可以获取进程的pid 杀死进程
kill 12345
kill -9 12345  #强制杀死

# chmod  rwx(421)  文件拥有者、群组、其他
chmod 1.txt 777

# 查看cpu使用情况
top

#移动文件或者改名
mv

#查看某个进程
ps -ef | grep nginx

#查看所有进程信息
ps -ef 
ps aux

#显示日志文件中最多的6个ip地址
grep -i -o -E "([0-9]{1,3}\.){3}[0-9]{1,3}" test1.txt | sort -n | uniq -c | sort -n -r | head -6
https://blog.csdn.net/dream_188810/article/details/78228318