other
文章平均质量分 70
tom和cat
知识的搬运工
展开
-
Mac M1安装Homebrew教程
网上一堆安装教程结果各种报错信息;最后发现一个靠谱文章:https://blog.csdn.net/fgx_123456/article/details/109529180MacOS系统使用Homebrew官方地址时,报错:Mac:~ jc$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"curl: (35) LibreSSL SSL_connect转载 2022-05-30 01:27:27 · 565 阅读 · 0 评论 -
详解tomcat的连接数与线程池
前言在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。在前面的文章详解Tomcat配置文件server.xml中写到过:Connector的主要功能,是接收连接请求,创建Request和Response对象用于和请求端交换数据;然后分配线程让Engine(也就是Servlet容器)来处理这个请求,并把产生的Request和Response对象传给Engine。当Engine处理完请求后,也会通过Conne...转载 2021-05-31 22:42:04 · 423 阅读 · 0 评论 -
性能分析 -- 各种毛刺
前言大家在观察压测&日常线上请求的平响、cpu使用时通常都能见到n多的毛刺,有的毛刺凸显并且有规律可循,有的杂乱无章,这些毛刺到底是因为什么产生的,对应的解决解决套路是怎么样的?排队和并发说毛刺之间先来看一下cpu工作的模式:排队和并发,并发指的是我们在某一时刻同时处理多个任务,而排队是指对于cpu而言任务调度处理的机制。这两者直接决定了任务处理的时延,落到用层面也就是我们的用户体验。认知cpu底层性能的工具和方法有很多种,如果之前没有相对清晰的认知可以看下这篇文章:https://z转载 2021-01-26 01:35:14 · 3225 阅读 · 0 评论 -
Redis升降配后Redisson出错:Unable to send command!
出现问题最近在公司开发环境发现一个问题,是这样的,开发环境的机器不断打日志,由于日志的定时清理不及时,导致磁盘满了,然后redis由于没法持久化,所以就连不上了,这个时候发现之后我们重启了redis,然后就回家了。第二天应用在使用redisson的分布式锁的时候就发现错误:org.redisson.client.WriteRedisConnectionException: Unable to send command!,就是分布式锁的命令无法执行,导致许多业务都出现问题。一开始以为是redis出原创 2020-11-28 10:09:57 · 14808 阅读 · 2 评论 -
顺网面经
object中equal重写一般什么时候用到?在equal重写时需要注意什么?String的源码有看过吗?为什么是不可变的?在字节码中是如何的?switch现在支持字符串判断,为什么不允许switch null?synchronized是如何实现锁的?在字节码中是怎么表现的?锁升级过程是怎么样的?项目中有用到反射吗?是怎么用的?JVM中内存模型了解吗?为什么要在方法中使用栈这个结构(虚拟机栈为什么是栈)?内存逃逸和栈内分配了解吗?spring的源码有看过吗?如何解决循环依赖的?...原创 2020-11-24 10:53:35 · 204 阅读 · 1 评论 -
redis几个重要的结构体
redisServerstruct redisServer { /* General */ // 配置文件的绝对路径 char *configfile; /* Absolute config file path, or NULL */ // serverCron() 每秒调用的次数 int hz; /* serverCron() calls frequency in hertz */ ..原创 2020-09-03 16:58:54 · 496 阅读 · 0 评论 -
redis的底层数据结构
SDS字符串结构与C语言字符串不同的是:redis字符串结构中有记录字符长度的字段,一是获取长度是复杂度只需要O(1),二是杜绝缓冲区溢出,在修改某个value时,先去校验分配的长度是否足够,不够的话自动扩展空间,这样不会覆盖到相邻空间的value值。三是减少修改时带来的内存空间重分配,C语言没有记录字符长度,每次修改都需要重新分配内存,避免缓冲区溢出或内存泄露linkedlist链表:双向,无环,带表头指针带表尾指针,带链表长度计数器,多态(通过为链表设置不同的类型特定画数, Redis 的链表.原创 2020-09-03 15:23:56 · 259 阅读 · 0 评论 -
记一次请求暴增导致的线上问题
过程:Linux连接数爆了tomcat连接数爆了部分接口导致mysql出现压力,读写分离的从库经不住读的压力,cpu100%tcp降下来了 redis压力正常 走缓存的页面加载还是慢 原因不明前期mq消费能力差导致消息积压 ,自动应答导致错误消息一直积压...原创 2020-08-03 15:56:37 · 381 阅读 · 0 评论 -
git版本回退
https://blog.csdn.net/tsq292978891/article/details/78965693转载 2020-04-30 15:16:34 · 121 阅读 · 0 评论 -
redis笔记
Redis为什么是单线程、及高并发快的大原因详解https://blog.csdn.net/u011663149/article/details/85307615图解Redis通信协议https://www.jianshu.com/p/f670dfc9409bRedis持久化-RDB和AOFhttps://segmentfault.com/a/1190000016021217...原创 2020-03-31 16:30:48 · 219 阅读 · 0 评论 -
Linux加解锁文件
chattr:加锁文件,无修改,无删除权限常用参数:+a:可给文件追加内容,但无法删除+i:加锁文件(文件不能被删除、改名、设定链接关系,同时不能写入或追加内容)-i:解锁文件(与+i相反)常用参数用法: 加锁:chattr +i 文件 查看加锁: lsattr 文件+i 加锁文件chattr +i /etc/passwd...转载 2020-06-08 14:09:26 · 457 阅读 · 1 评论 -
使用Wkhtmltopdf进行html转pdf
使用itext转换出现pdf格式丢失的,可以换成Wkhtmltopdf前期准备官网:https://wkhtmltopdf.org/centos安装Wkhtmltopdfhttps://segmentfault.com/a/1190000017552056?utm_source=tag-newest安装遇到的问题https://13ua.com:44490/blog/...原创 2019-12-19 19:57:25 · 374 阅读 · 1 评论 -
linux 通过pid 寻找程序路径的最简单命令(pwdx)
在linux实际操作命令中,查看pid的方式有很多种,通过pid找程序路径的方式也有好几个,但是可能大家都忽略的一个很简单也是很实用的命令:pwdx.比如要查找某个java编写的程序运行情况可通过jps命令查看,然后可以通过显示的pid进行程序定位如下图,红色框框为jps命令和pwdx命令,一目了然:...原创 2019-11-18 20:32:58 · 1199 阅读 · 1 评论 -
rabbitMQ入门
介绍RabbitMQ是一个消息代理:它接受并转发消息。你可以把它当成一个邮局:当你想邮寄信件的时候,你会把信件放在投递箱中,并确信邮递员最终会将信件送到收件人的手里。在这个例子中,RabbitMQ就相当与投递箱、邮局和邮递员。RabbitMQ与邮局的区别在于:RabbitMQ并不处理纸质信件,而是接受、存储并转发二进制数据---消息。安装docker安装rabbitmq:htt...原创 2019-04-29 18:36:42 · 324 阅读 · 0 评论 -
java正则匹配转义
特别字符 说明 $ 匹配输入字符串的结尾位置。如果设置了RegExp对象的Multiline属性,则$也匹配‘\n'或‘\r'。要匹配$字符本身,请使用\$。 ( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用\(和...转载 2019-05-09 14:20:25 · 1128 阅读 · 0 评论 -
Dockerfile指令详解
pasting转载自:https://www.cnblogs.com/jing1617/p/9561922.htmlDocker实战-编写Dockerfilehttps://blog.csdn.net/qq_29999343/article/details/78318397docker之Dockerfile实践https://www.cnblogs.com/jsonhc/p/7...转载 2019-05-30 15:22:50 · 4322 阅读 · 0 评论 -
docker启动失败问题Cannot connect to the Docker daemon与Job for docker.service failed
Ubuntu16.04系统已安装docker,再次打开执行时出现“Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?”此时已确定Docker本身已经安装正常。问题原因是因为docker服务没有启动,所以在相应的/var/run/ 路径下找不...原创 2019-06-11 14:31:26 · 2344 阅读 · 1 评论 -
Docker查看log命令与Linux查看log
开发基于 Docker 的应用时,用好 log 可以大大提高排错效率,下面就是几个常用的 log 操作技巧:显示所有 log 显示实时 log 使用 tail 查看 log 尾部 使用 grep 过滤 log 根据时间查看 log 组合使用 把日志写入文件1. 显示所有 log# 显示某个容器的所有log$ docker logs [OPTIONS] <CONTAI...原创 2019-07-01 15:56:55 · 17492 阅读 · 2 评论 -
docker服务和容器自启动
docker服务器开机自启动:1.systemctl is-enabled docker.service 检查服务是否开机启动2.systemctl enable docker.service 将服务配置成开机启动3.systemctl start docker.service 启动服务systemctl 相关其他命令:systemctl disable ...转载 2019-07-29 16:08:59 · 1903 阅读 · 0 评论 -
docker安装elasticsearch主从以及kibana插件
https://juejin.im/post/5ca0d12c518825550b35be6d转载 2019-07-29 17:20:29 · 535 阅读 · 0 评论 -
elasticsearch入门
阮老师的入门教程http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html通俗易懂的漫画http://developer.51cto.com/art/201904/594615.htm倒排索引结构https://blog.csdn.net/qq_33330687/article/details/100729059htt...原创 2019-07-31 09:55:30 · 193 阅读 · 0 评论 -
idea插件
IDEA中plugins搜英文名控制台日志高亮Grep Console括号内容高亮Rainbow Brackets(快捷键Ctrl+鼠标右键)翻译Translation(搜索后要往下拉才找得到)(快捷键Ctrl+shift+y)...原创 2019-08-01 15:23:36 · 158 阅读 · 0 评论 -
如何修改idea中的jvm参数
前言本地部署时抛出异常java.lang.OutOfMemoryError:GC overhead limit exceeded导致服务起不来,查看日志发现加载了太多资源到内存,本地的性能也不好,gc时间消耗的较多。解决这种问题两种方法是,增加参数,-XX:-UseGCOverheadLimit,关闭这个特性,同时增加heap大小,-Xmx1024m。坑填了,but why?OOM大家都知...转载 2019-04-26 14:52:39 · 4952 阅读 · 0 评论 -
idea远程调试
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=4001 -jar gcsp-0.0.1-SNAPSHOT.jar --spring.profiles.active=prodhttps://www.cnblogs.com/krockey/p/5056945.html原创 2019-04-10 10:07:56 · 196 阅读 · 0 评论 -
ubuntu-make | Ubuntu Linux一键安装开发环境
内容简介什么是ubuntu-make 安装最新版ubuntu-make 用ubuntu-make一键安装所需开发环境 在Github上为开源项目ubuntu-make做贡献1. 什么是ubuntu-make我之前的文章 Linux探索之旅 | 第二部分第七课:软件安装,如虎添翼 中, 已经写了如何在Linux下安装软件。相比于Windows,Linux下安装软件已经非常简便了,...转载 2018-08-08 14:26:26 · 1741 阅读 · 0 评论 -
git使用
windows中git如何创建并配置ssh key https://blog.csdn.net/g360z247j123/article/details/51548781基本命令 https://blog.csdn.net/da_caoyuan/article/details/52649829删除本地和远程分支 https://blog.csdn.net/qq_32452623/...原创 2018-07-03 14:42:38 · 141 阅读 · 0 评论 -
git 从分支上创建一个分支
从分支上创建一个分支1.先克隆一个项目git clone2.再转移到分支中$ git status位于分支 master您的分支与上游分支 'origin/master' 一致。无文件要提交,干净的工作区$ git checkout gaodian 分支 gaodian 设置为跟踪来自 origin 的远程分支 gaodian。切换到一个新分支 'gaodian'3.再拉取最新的代码g...原创 2018-07-02 16:56:26 · 22668 阅读 · 0 评论 -
git命令-切换分支
git一般有很多分支,我们clone到本地的时候一般都是master分支,那么如何切换到其他分支呢?主要命令如下:1. 查看远程分支$ git branch -a 我在mxnet根目录下运行以上命令:~/mxnet$ git branch -a* master remotes/origin/HEAD -> orig...转载 2018-06-29 14:42:40 · 6902 阅读 · 0 评论 -
Intellij IDEA 快捷键整理
【常规】Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择Ctrl+N,可以快速打开类Ctrl+S...转载 2018-06-29 14:11:59 · 168 阅读 · 0 评论 -
linux系统打开路由转发功能
1.一次性配置,重启后需再次打开: 将文件/proc/sys/net/ipv4/ip_forward值改为1 echo "1">/proc/sys/net/ipv4/ip_forward12.永久配置 将文件/etc/sysctl.conf里面的net.ipv4.ip_forward=1的注释去除sysctl -让上述配置生效 ...原创 2018-06-11 18:21:11 · 560 阅读 · 1 评论 -
docker简单学习
关系图 基本操作 启动容器:docker run IMAGE [COMMAND] [ARG..] //IMAGE指定启动容器使用的镜像, //COMMAND和ARG指容器启动后运行命令和参数启动交互式容器:...原创 2018-09-06 14:53:23 · 145 阅读 · 0 评论 -
数据结构和算法知识
数据结构链表链表是一种由节点(Node)组成的线性数据集合,每个节点通过指针指向下一个节点。它是一种由节点组成,并能用于表示序列的数据结构。 单链表:每个节点仅指向下一个节点,最后一个节点指向空(null)。 双链表:每个节点有两个指针p,n。p指向前一个节点,n指向下一个节点;最后一个节点指向空。 循环链表:每个节点指向下一个节点,最后一个节点指向第一个节点。 时间复杂度: 索...转载 2018-10-17 13:41:31 · 202 阅读 · 0 评论 -
设计模式
知乎上看到一句话:设计模式就是将软件中变化的部分和不变的部分分开。具体解释:https://blog.csdn.net/wiki_su/article/details/80263967对应到日常开发工厂模式:ioc单例模式:spring bean的作用域单例模式建造者模式:java的StringBuilder。StringBuilder维护了一个缓冲区,使用者通过组合这些方法,...原创 2019-01-14 23:03:25 · 198 阅读 · 0 评论 -
客户端连接不上kafka的问题以及kafka总是自动关闭问题
客户端连接不上kafka的问题java使用客户端测试连接kafka:https://blog.csdn.net/Lnho2015/article/details/51353936以下问题是基于kafka所在服务器跟开发环境不在一台机器上1.把listeners和advertised.listeners前面的#去掉,并把端口号之前的一串英文改为服务器的ip地址如:listeners=P...转载 2018-11-08 15:39:43 · 6827 阅读 · 1 评论 -
kafka搭建以及server-properties配置说明
Kafka简介由Scala和Java编写,Kafka是一种高吞吐量的分布式发布订阅消息系统.术语介绍Broker : Kafka集群包含一个或多个服务器,这种服务器被称为broker Topic : 每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息...转载 2018-11-08 14:13:51 · 17422 阅读 · 3 评论 -
Ubuntu配置root用户下的Java环境变量
ubuntu配置环境变量 sudo gedit /etc/profile 文件末尾加入下面 JAVA_HOME 是jdk主目录export JAVA_HOME=/usr/jdkexport JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_...原创 2018-11-07 15:29:46 · 2150 阅读 · 0 评论 -
ubuntu开启ssh服务(filezilla,Xshell等工具无法连接Unbuntu)
前言:用filezilla连接虚拟机拒绝访问,排查了防火墙原因跟开启IIS服务。最后发现是没有开启ssh服务教程 安装:sudo apt-get install openssh-server启动:sudo service ssh start查询服务启动状态:sudo ps -e | grep ssh或者sudo service ssh status...原创 2018-11-07 11:59:42 · 786 阅读 · 0 评论 -
windows连虚拟机redis服务时遇到连接不了的情况
个人测试:默认的127.0.0.1是注释掉的,而且在不用设置密码的情况下是可以连上的,所以主要的问题是没有开启6379端口。。在开启6379端口时,我的虚拟机一直用不了firewall的命令,安装Firewall包用yum install firewall命令提示找不到这个包,于是用其他命令去开启端口给所有机器开放6379端口1 /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT2 保存设置:/etc/rc.d/init.d/iptabl原创 2017-11-19 14:10:22 · 3370 阅读 · 0 评论