RESTful风格的接口命名规范
REST 描述了 HTTP 层里客户端和服务器端的数据交互规则;客户端通过向服务器端发送 HTTP(s)请求,接收服务器的响应,完成一次 HTTP 交互。这个交互过程中,REST 架构约定两个重要方面就是HTTP请求的所采用方法,以及请求的链接。 因此,REST 规范可以简单粗暴抽象成以下两个规则: 请求 API 的 URL 表示用来定位资源; 请求的 METHOD 表示对这个资源进行的操作; 以下将以这两个规则为基础,描述如何构造一个符合 REST 规范的请求。 一、API的urlURL 用来定位资源,跟要进行的操作区分开,这就意味着URL不该有任何动词。 1.1 下面示例中的 get、create、search 等动词,都不应该出现在 REST 架构的后端接口路径中。比如:/api/getUser/api/createApp/api/searchResult/api/deleteAllUsers 1.2 当我们需要对单个用户进行操作时,根据操作的方式不同可能需要下面的这些接口:/api/getUser (用来获取某个用户的信息,还需要以参数方式传入用户 id 信息)/...
SuppressWarnings注解value值记录
关键字 用途 all to suppress all warnings (抑制所有警告) boxing to suppress warnings relative to boxing/unboxing operations (抑制装箱、拆箱操作时候的警告) cast to suppress warnings relative to cast operations (抑制映射相关的警告) dep-ann to suppress warnings relative to deprecated annotation (抑制启用注释的警告) deprecation to suppress warnings relative to deprecation (抑制过期方法警告) fallthrough to suppress warnings relative to missing breaks in switch statements (抑制确在switch中缺失breaks的警告) finally to suppress warnings r...
jvm常用命令(长期记录)
123456jinfo: 可以输出并修改运行时的java 进程的opts。jps: 与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。jstat: 一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。jstack: 用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式:jmap: 打印出某个java进程(使用pid)内存内的所有'对象'的情况(如:产生那些对象,及其数量)。jconsole/jvisualvm: java GUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器 命令后接>>输出某一位置,如: jstat -gc 13976 >> d:\c.txt jps jps 1仅显示简单类名和pid jps -l 1输出主类或者jar的完全路径名 ...
jvm调优相关记录
jvm调优相关jvisualvm VisualVM是集成了命令行JDK工具和轻量级分析功能的可视化工具。专为开发和生产时间使用而设计。 结合visualvm gc插件使用 修改插件 1231. 先查看java版本,再去下面链接查看应该粘贴哪个插件地址http://visualvm.github.io/pluginscenters.html2. 我的是1.8_102 https://visualvm.github.io/archive/uc/8u40/updates.xml.gz 如下是查看jmeter jvm参数,cpu内存,堆内存监控等 一些gc相关 健康的gc升之后极速下降,再继续升,下降 gc相关下文引用shiyonghm 1234567891011JVM区域总体分两类,heap区和非heap区。heap区又分为:Eden Space(伊甸园)、Survivor Space(幸存者区)、Old Gen(老年代)。非heap区又分:Code Cache(代码缓存区);Perm Gen(永久代);Jvm Stack(java虚拟机栈);...
yum安装软件后彻底卸载
这里以samba服务为例 1yum list installed |grep samba 找到下载文件包,全部remove掉 1yum -y remove <sambax> 查找samba依赖包 1rpm -qa | grep samba 移除这些依赖包 1rpm -e --nodeps samba-common-libs-4.10.16-13.el7_9.x86_64
使用iftops分析带宽
背景: Linux系统下如果服务器带宽跑满了,查看跟哪个ip通信占用带宽比较多,可以通过iftop命令进行查询 安装 CentOS系统运行:yum install iftop -yDebian系统 运行:apt-get install iftop -y 使用ifconfig |grep eth查看网卡 使用 安装好后在服务器执行iftop -i eth1就可以查看服务器公网网卡带宽使用情况(如果只执行iftop默认检测第一块网卡使用情况,这样查的会是内网网卡eth0。 12# -P 参数会将请求服务的端口显示出来,也就是说是通过服务器哪个端口建立的连接,看内网流量执行 iftop -i eth0 -P 命令。iftop -i eth0 -P iftop的相关参数 1234567891011-I :设定监测的网卡,如:# iftop -i eth1-B : 以bytes为单位显示流量,默认是bits,如:# iftop –B-n :使host信息默认直接都显示IP,如:# iftop –n-N :使端口信息默认直接都显示端口号,如: # iftop –N-F :...
yum源更新报错:https://mirrors.aliyun.com/centos/7
具体问题: 在做yum源更新时候, 报如下错误1234567891011Determining fastest mirrors * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.comhttp://mirrors.aliyun.com/centos/%24releasever/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not FoundTrying other mirror.To address this issue please refer to the below wiki article https://wiki.centos.org/yum-errorsIf above article doesn't help to resolve this issue please use https://bugs.centos.org/. 解决办法https://developer.a...
内存,磁盘处理
buff/cache内存占用过多(定时任务,脚本) 找一个目录,然后创建脚本文件--touch cleanCache.sh 用vi编辑--vi cleanCache.sh 添加如下内容 12345678910111213141516#!/bin/bashused=`free -m | awk 'NR==2' | awk '{print $3}'`free=`free -m | awk 'NR==2' | awk '{print $4}'`echo "==========================="echo "内存使用情况 | [使用了:${used}MB][剩余:${free}MB]"if [ $free -le 500 ] ; then sync && echo 1 > /proc/sys/vm/drop_ca...
记录服务器被入侵中了挖矿病毒
问题现象:内存被吃的很满, top之后发现始终有僵尸线程在占用大量资源, kill之后又会重新起来一个1. 检查恶意进程及非法端口123456789101112131415161718192021222324252627282930313233343536371 [root@VM‐ 0 ‐ 8 ‐centos ~]# netstat ‐antp2 Active Internet connections (servers and established)3 Proto Recv‐Q Send‐Q Local Address Foreign Address State PID/Program name4 tcp 0 0 127.0.0.1: 25 0.0.0.0:* LISTEN 2163 /master5 tcp 0 0 127.0.0.1: 8123 0.0.0.0:* LISTEN 2952 /clickhouse‐ser6 tcp 0 0 10.0.0.8: 8123 0.0.0.0:* LISTEN 2952 /clickhouse‐ser7 tcp...
package-lock.json的作用
package-lock.json 文件的作用npm5之后安装文件之后会多出一个package-lock.json的文件,它的作用是: 安装之后锁定包的版本,手动更改package.json文件安装将不会更新包,想要更新只能使用 npm install xxx@1.0.0 --save 这种方式来进行版本更新package-lock.json 文件才可以 加快了npm install 的速度,因为 package-lock.json 文件中已经记录了整个 node_modules 文件夹的树状结构,甚至连模块的下载地址都记录了,再重新安装的时候只需要直接下载文件即可 它的意义在于锁定了包的版本,确保能够避免包版本不同产生的问题。 最外面的两个属性 name 、version 同 package.json 中的 name 和 version ,用于描述当前包名称和版本。 dependencies 是一个对象,对象和 node_modules 中的包结构一一对应,对象的 key 为包名称,值为包的一些描述信息: version:包版本 —— 这个包当前安装在 node_...
