![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
lilun517735159
这个作者很懒,什么都没留下…
展开
-
idea
http://m.blog.csdn.net/g_blue_wind/article/details/74380483转载 2017-11-27 20:30:19 · 114 阅读 · 0 评论 -
nginx 防盗链
关于nginx防盗链的方法网上有很多教程,都可以用,但是我发现很多教程并不完整,所做的防盗链并不是真正的彻底的防盗链!一般,我们做好防盗链之后其他网站盗链的本站图片就会全部失效无法显示,但是您如果通过浏览器直接输入图片地址,仍然会显示图片,仍然可以右键图片另存为下载文件!依然可以下载?这样就不是彻底的防盗了!那么,nginx应该怎么样彻底地实现真正意义上的防盗链呢?首先,我们来看...原创 2019-03-13 19:51:46 · 116 阅读 · 0 评论 -
JVM调优之jstack找出最耗cpu的线程并定位代码
jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多。下面我们来一个实例找出某个Java进程中最耗费CPU的Java线程并定位堆栈信息,用到的命令有ps、top、printf、jstack、grep。第一步先找出Java进程ID,服务器上的Java应用名称为mrf-center:root@ubuntu:/# ps -ef | gr...原创 2019-03-21 14:55:57 · 617 阅读 · 0 评论 -
如何减少上下文切换
减少上下文切换的方法有无锁并发编程、CAS算法、使用最少线程和使用协程原创 2019-03-21 14:13:52 · 553 阅读 · 0 评论 -
web性能改善
1.nginx 负载均衡以及缓存等功能原创 2019-03-12 15:28:48 · 121 阅读 · 0 评论 -
分布式CAP理论-如何保证C(Consistency)数据一致性
幂等重试,异步补偿 异步通知,主动轮询 SAGAS模式,逆向补偿离线检测,离线补偿原创 2019-03-20 13:49:29 · 660 阅读 · 0 评论 -
spring boot 配置文件加载顺序详解
1.项目内配置文件spring boot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件–file:./config/–file:./–classpath:/config/–classpath:/以上是按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级配置内容会...原创 2019-03-04 14:47:15 · 992 阅读 · 0 评论 -
linux生产服务器部署启动项目不产生nohup.out的方法
背景最近没事看了下生产环境下的一些定时任务,发现nohup.out的文件大小都快3~10G了,吓死人!而且还不不断的增加。然后我查了下,此文件也相当于日志文件,就是运行nohup ./XXX.sh &命令时,将项目的日志打印到nohup.out,而且一直是累加的,从不清空,导致十分巨大。我们项目本身就产生日志文件的,所以nohup.out 相当于是重复的。思路由于nohup.o...原创 2019-03-04 09:52:02 · 760 阅读 · 0 评论 -
后端接口的幂等性
在微服务架构下,我们在完成一个订单流程时经常遇到下面的场景:一个订单创建接口,第一次调用超时了,然后调用方重试了一次 在订单创建时,我们需要去扣减库存,这时接口发生了超时,调用方重试了一次 当这笔订单开始支付,在支付请求发出之后,在服务端发生了扣钱操作,接口响应超时了,调用方重试了一次 一个订单状态更新接口,调用方连续发送了两个消息,一个是已创建,一个是已付款。但是你先接收到已付款,然...原创 2018-12-12 20:34:06 · 206 阅读 · 0 评论 -
HashMap深度解析
最基本的结构就是两种,一种是数组,一种是模拟指针(引用),所有的数据结构都可以用这两个基本结构构造,HashMap也一样。当程序试图将多个 key-value 放入 HashMap 中时,以如下代码片段为例: HashMap<String,Object> m=new HashMap<String,Object>(); ...原创 2018-12-12 20:29:39 · 119 阅读 · 0 评论 -
35+个Java 代码性能优化分享
代 码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像 大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么 此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以...原创 2018-08-23 17:21:25 · 188 阅读 · 0 评论 -
redis设计幂等接口
幂等:幂等性是系统的接口对外一种承诺(而不是实现), 承诺只要调用接口成功, 外部多次调用对系统的影响是一致的. 声明为幂等的接口会认为外部调用失败是常态, 并且失败之后必然会有重试举个例子:有一个订单系统,对外提供了一个处理接口,如果有个订单001是要扣除用户的100块钱,那么订单001被多次调用,也只会处理成功一次,也就是只会扣除用户100块。也可以理解为去除重复调用订单的状态:a) 无记录b...转载 2018-05-18 14:54:11 · 653 阅读 · 0 评论 -
YAML详解 是什么
1. 认识 YAML YAML是一个类似 XML、JSON 的标记性语言。YAML 强调以数据为中心,并不是以标识语言为重点。因而 YAML 本身的定义比较简单,号称“一种人性化的数据格式语言”。1.1 YAML 的设计目标:人类容易阅读可用于不同程序间的数据交换适合描述程序所使用的数据结构,特别是脚本语言丰富的表达能力原创 2018-02-01 17:00:08 · 20539 阅读 · 0 评论 -
epoll 讲解
首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要从socket读如数...原创 2019-03-13 20:16:04 · 120 阅读 · 0 评论