- 博客(15)
- 收藏
- 关注
原创 dubbo原理介绍
1、Dubbo优势(1)已经成熟,并且被大量项目使用。(2)开发简单,同正常开发一样,只需额外配置一段xml(dubbo支持注解方式,会更简单,此处不讨论)。(3)可以很容易的切入到当前工程中,无耦合!可以以一个很小的代价在当前的渠道项目中扩展,甚至可以直接使用(无任何修改或者很小修改)原有的接口和方法,并不需要写太多的东西,就可以快速搭起服务平台。2、Dubbo劣势(1)网上资料不是很多,遇到问题需要上官方查找解决方案。(2)由于过于简洁的开发,隐藏太多细节,如有特殊要求,恐怕改动麻烦。
2023-08-02 16:49:40
167
原创 java程序内存占用过高问题排查
一、现象收到线上机器报警(内存使用过高),对报警的机器节点重启后恢复正常,搁天后新的节点又开始报警;二、排查直接对线上机器执行dump命令,由于线上机器还有流量在持续请求,因此dump时间比较长,生成的dump文件有16G+;因此我们先摘除了问题节点的流量,执行dump命令:ps -ef|grep java 获取服务的pidjmap -dump:live,format=b,file=/opt/mydump.hprof 3915 (只dump存活的日志)生成的dump文件13G左右,压
2022-04-08 14:50:31
8422
转载 java服务线上故障如何快速排查?
前言线上定位问题时,主要靠监控和日志。一旦超出监控的范围,则排查思路很重要,按照流程化的思路来定位问题,能够让我们在定位问题时从容、淡定,快速的定位到线上的问题。线上问题定位思维导图一 服务器层面1.1 磁盘1.1.1 问题现象当磁盘容量不足的时候,应用时常会抛出的异常信息1.1.2 排查思路1.1.2.1 利用 df 查询磁盘状态利用以下指令获取磁盘状态:df -h结果是:可知/路径下占用量最大。1.1.2.2 利用 du ...
2020-11-11 16:07:34
855
原创 jenkins安装使用
来源: https://www.cnblogs.com/qixing/p/5896512.html在centos中使用rpm安装包安装jenkinsjenkins下载:http://pkg.jenkins-ci.org/redhat/下载rpm包到本地在linux下使用rpm包安装命令:sudo rpm -ih jenkins-1.562-1.1.noarch.rpm[...
2020-11-05 20:02:15
214
原创 elasticsearch搭建(elk搭建)和使用
说明:Linux不允许root用户启动elasticsearch,所以本地新建es用户,以下所有操作都是基于es用户环境。一、下载安装1.官网地址:https://www.elastic.co/cn/elasticsearch/由于官网下载巨慢,推荐华为云下载,地址:ElasticSearch: https://mirrors.huaweicloud.com/elasticsearch/?C=N&O=Dlogstash: https://mirrors.huaweicloud...
2020-09-20 16:58:51
295
原创 shell脚本启动jar包
#!/bin/bashsource /etc/profilePROG_NAME=$0ACTION=$1usage() { echo "Usage: $PROG_NAME {start|stop|restart|status|tailf|backup|rollback}" exit 1;}# colorsred='\e[0;31m'green='\e[0;32m'yellow='\e[0;33m'reset='\e[0m'echoRed() { echo -e "...
2020-05-11 09:23:09
576
原创 中间件实现高并发设计通用思想
实现思路:服务之间的通信,无非就是实现数据的传输,中间件之所以快,一些通用手段必不可少.如:在加大单位时间内传输响应速度,减小数据量,加快序列化速度,持久到磁盘的速度等:1.大单位时间内传输响应速度: 相对于BIO同步等待,NIO单线程发送,异步回调以及批量发送,都很好的提高的发送端的并发能力2.减小数据量: 实现自己的通讯协议,比如redis的r...
2020-04-30 16:45:28
333
原创 jvm内置工具jconsole
内置工具:jconsole:1,命令行运行jconsole2,可以直连本机java服务3,连接远程,需要在服务器tomcat下配置连接信息vim /usr/local/tomcat/bin/catalina.shJAVA_OPTS="-Dcom.sun.management.jmxremote.port=6969//连接端口,自定义不要与已有的端口冲突-Dc...
2020-04-27 16:02:36
244
原创 Tomcat堆栈等参数设置
虚拟机设置参数:vim /usr/local/tomcat/bin/catalina.sh参数详解:默认值 JAVA_OPTS="-Xms512m -Xmx1024m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=1024m"-Xms 为jvm启动时分配的初始内存比如-Xms512m,表示分配512M-Xmx 为...
2020-04-27 16:00:21
1016
原创 Jenkins单独发包
发包语句maven打包命令:mvn clean install -Dmaven.test.skip=true -U-- 注意 scp -r 要获得目标服务器的免密登录发包命令:1.jar包mv /data/invoiceProvider8061/shidian-invoice-provider-0.0.1-SNAPSHOT.jar /data/invoi...
2020-04-27 15:57:47
315
原创 mysql查看锁表,事务隔离级别,磁盘刷新规则
--查看表的基本信息(包含自增主键值的下一个值)SELECT * FROM INFORMATION_SCHEMA.TABLESWHERETABLE_NAME = 'testuser'-- 查看当前会话隔离级别select @@tx_isolation;-- 查看系统当前隔离级别select @@global.tx_isolation;-- 设置...
2020-04-27 15:55:10
173
原创 linux常用命令及大文件搜索
日志查看:1、查看最后1000行的数据cat -n filename | tail -n 10002、查看1000到3000行的数据cat -n filename | head -n 3000 | tail -n +10003、清空文件内容cat /dev/null > file_name端口查看:1,查看6969端口是否被占用netstat -tunlp...
2020-04-27 15:51:54
693
原创 jvm八种原子性操作及synchronized锁机制
Java内存模型--同步协议关于主内存与工作内存之间的交互协议,即一个变量如何从主内存拷贝到工作内存。如何从工作内存同步到主内存中的实现细节。java内存模型定义了8种操作来完成,每一种都是原子操作: lock(锁定):作用于主内存,它把一个变量标记为一条线程独占状态; read(读取):作用于主内存,它把变量值从主内存传送到线程的工作内存中,以便随后的load动作使用; ...
2019-11-28 16:48:54
1819
原创 redis协议resp
redis协议规范(Redis Protocol specification)1.详见redis官网https://redis.io/topics/protocol2.优势相对于http等其他网络协议具有以下优势: (1)实现简单(传输数据量小,意味着同等请求量,占用带宽少,扛并发数量多) (2)快速地被计算机解析 (3)简单得可以能被人工解析 (4)网络层,R...
2019-11-12 16:38:29
289
转载 Velocity基本语法及在 EasyJWeb 中的最佳实践
一、基本语法1、"#"用来标识Velocity的脚本语句,包括#set、#if 、#else、#end、#foreach、#end、#iinclude、#parse、#macro等;如:#if($info.imgs)<img src="http://jb51.net/ydmx_lei/blog/$info.imgs" border=0>#else<img src...
2019-01-23 15:38:56
283
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人