
杂谈
郭敬仰
这个作者很懒,什么都没留下…
展开
-
当线上接口请求过慢如何排查?
线上接口过慢,排除网络的原因之外无非有以下三点:1.内存使用过高,频繁gc导致cpu占满2.内存使用不高,出现了类似死循环场景3.死锁一般在遇到问题的时候先使用top -c 命令查看cpu是否占满,然后再使用free -m查看内存使用率,初步判断是上面问题的哪一种,然后再针对这一种问题深入排查。下面来模拟一下以上几种情况:内存使用过高导致CPU满载案例代码public class F...原创 2019-12-07 20:25:20 · 12325 阅读 · 0 评论 -
关于RocketMQ你需要掌握哪些点?
核心组件Producer,消息生产者Consumer,消息消费者,负责消费消息,服务端向消费者推送消息或者消费者向服务端定时拉取消息。包括ConsumerGroup,逻辑概念通常消费一类的消息,且消费逻辑一致NameServer,元数据信息存储,相当于注册中心,集群架构中的组织协调员Broker,是RocketMq核心是真正干活的,专门负责消息的发送,接收,默认每10秒同步一次自身情况...原创 2019-12-07 13:15:50 · 344 阅读 · 0 评论 -
swagger2快速搭建《一》
添加Swagger2依赖 <!-- swagger-mvc --> <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-core</artifactId> <version>1.5.8</version> </原创 2017-12-21 17:04:38 · 756 阅读 · 0 评论 -
elasticsearch搭建《一》
elasticsearch2.0.0搭建步骤官网选择2.0.0版本: https://www.elastic.co/downloads/past-releases解压:tar -zxvf elasticsearch-2.0.0.tar.gz修改config/elasticsearch.yml (注意要顶格写,冒号后面要加一个空格)a)Cluster.nam...原创 2017-10-17 10:34:18 · 567 阅读 · 1 评论 -
Protobuf协议Java示例
demo的结构为:maven依赖为:<dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>3.4....原创 2018-03-09 14:21:05 · 793 阅读 · 0 评论 -
解决Git添加.gitignore后不生效的问题
进入.gitignore所在目录,执行:git rm -r --cached .git add .git commit -m 'update .gitignore'参考博客:https://www.cnblogs.com/kevingrace/p/5690241.html原创 2018-03-27 18:45:29 · 843 阅读 · 0 评论 -
spring集成dwr
项目结构图pom.xml文件&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://mave原创 2018-03-28 18:02:44 · 522 阅读 · 0 评论 -
springboot项目打包与运行
一、打包mvncleanpackage-Dmaven.test.skip=true-am-pl项目名字二、运行java-jar-Xms256m-Xmx512mxx.jar--spring.profiles.active=dev解释:--spring.profiles.active=dev表示指定运行环境参考博客:https://www.cnb...原创 2018-03-26 16:26:13 · 354 阅读 · 0 评论 -
基于redisTemplate的redis的分布式锁正确打开方式
@Componentpublic class RedisDistributedLock { @Resource private RedisTemplate&amp;amp;amp;amp;amp;amp;amp;lt;String, Object&amp;amp;amp;amp;amp;amp;amp;gt; redisTemplate; public synchronized boolean lock(String key, Str原创 2018-12-27 11:09:09 · 2246 阅读 · 2 评论 -
最简单的redis教程:centos下redis集群安装《二》
准备集群版基于单机版,单机版参考:https://blog.youkuaiyun.com/jingyangV587/article/details/79900228开始安装安装rubyyum install rubyyum install rubygems安装ruby的包gem install redis-3.0.0.gemredis-3.0.0.gem文件下...原创 2018-04-11 18:41:08 · 180 阅读 · 0 评论 -
最简单的redis教程:centos6.5下redis单机版安装《一》
安装命令如下:wget http://download.redis.io/releases/redis-3.0.0.tar.gztar -zxvf redis-3.0.0.tar.gzcd redis-3.0.0makemake install启动前端启动/usr/local/redis/bin/redis-server后端启动1.复制redis.c...原创 2018-04-11 17:36:57 · 208 阅读 · 0 评论 -
HashMap实现原理总结
hashmap初始化一定是2的倍数原因比如:默认数组大小是16时,他的二进制码为:0001 0000计算下表的时候将length-1,进行与运算,与运算比取模运算效率高,-1之后的二进制为:0000 1111这样刚好数组下标的取值范围为:0~15h 0001 1001&amp;amp; 0000 1111解决hash冲突的办法链表法这是jdk7主要的对同一hash值处理的...原创 2019-01-28 15:10:25 · 607 阅读 · 0 评论 -
反射中getSuperclass与getGenericSuperclass区别
声明三个类class Person&lt;T, V&gt; {}class Teacher {}class Student extends Person&lt;Student, Teacher&gt; {}分别打印数据观察区别 Class&lt;? super Student&gt; superclass = Student.class.getSuper原创 2018-07-13 20:12:56 · 3455 阅读 · 0 评论 -
NIO笔记
NIO与IO的主要区别IO面向流单向传输、NIO面向缓冲区双向传输;IO阻塞、NIO非阻塞;网络编程NIO多了个选择器传统io模型的缺点:传统io单线程模型:如果线程未完成数据处理,新的请求将阻塞;传统io多线程模型:每个请求都会新启一个线程,阻塞的线程依旧不能做其它事情,cpu利用率仍然不高;缓冲区(Buffer)Buffer 主要用于与NIO 通道进行交互,数据是从通道读...原创 2019-10-13 20:01:30 · 193 阅读 · 0 评论 -
nginx图片服务器配置与反向代理配置
图片服务器配置期望例如图片路径为:c://test/img/1.jpg 希望访问路径为:http://127.0.0.1:80/img/1.jpg方案一 location ~ \.(gif|jpg|jpeg|png|bmp|swf)$ { root C:/test; #默认的图片路径,只要后缀是以上的都会到这个路径下...原创 2018-07-13 20:50:15 · 9631 阅读 · 0 评论