自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (3)
  • 收藏
  • 关注

转载 JVM性能调优实践:G1 垃圾收集器介绍篇

前言前面两篇主要整理了性能测试的主要观察指标信息:性能测试篇,以及JVM性能调优的工具:JVM篇。这一篇先简单总结一下GC的种类,然后侧重总结下G1(Garbage-First)垃圾收集器的分代,结合open-jdk源码分析下重要算法如SATB,重要存储结构如CSet、RSet、TLAB、PLAB、Card Table等。最后会再梳理下G1 GC的YoungGC,MixedGC收集过程。GC...

2019-07-30 20:34:26 529

转载 JVM性能调优实践

前言在遇到实际性能问题时,除了关注系统性能指标。还要结合应用程序的系统的日志、堆栈信息、GClog、threaddump等数据进行问题分析和定位。关于性能指标分析可以参考前一篇JVM性能调优实践——性能指标分析。JVM的调优和故障处理可以使用JDK的几个常用命令工具。因为本文是基于Docker容器内部的Springboot服务。需要调整一下docker容器的启动参数,才可以使用jmap等工具...

2019-07-30 09:13:02 363

转载 关于java的响应式编程框架----SpringReactor

关于Reactor的介绍Reactor是Spring中的一个子项目是一个基于java的响应式编程框架,此框架是 Pivotal 公司(开发 Spring 等技术的公司)开发的,实现了 Reactive Programming(反应式编程即响应式编程) 思想,符合Reactive Streams 规范(Reactive Streams 是由 Netflix、TypeSafe、Pivotal 等公...

2019-07-30 08:29:35 2901

转载 git clone remote: HTTP Basic: Access denied

git clone 项目失败,报下面的错误信息:$ git clone http://192.168.0.141/xxxx.gitCloning into 'appEnterprise'...remote: HTTP Basic: Access deniedfatal: Authentication failed for ...因为之前输入错误的gitlab用户名和密码,第二次clone...

2019-07-26 15:10:14 243

转载 基本概率模型和贝叶斯定理

基本概率模型这里简单介绍三个概念,古典概型,频率学派,贝叶斯学派。古典概型这个模型下,随机实验所有可能的结果是有限的,并且每个基本结果发生的概率是相同的比如:投掷一枚均匀硬币,结果只有两种(假设硬币没有立起来),正面朝上和反面朝上,那么正面朝上的的概率就是0.5。这是基于古典概率模型的计算。频率学派认为待估计参数是某个未知的常量,通过多次试验,统计事件发生的次数占总试验的比值...

2019-07-26 13:43:12 647

转载 用贝叶斯来看看抛硬币的概率

前面介绍了贝叶斯学派的思想和先验分布、后验分布的相关知识,古典频率学派认为抛硬币的概率是常数,本文从贝叶斯学派的角度看待抛硬币的概率问题。本文详细介绍了分布,重述贝叶斯思想,对于抛硬币的概率问题作各种情况的分析,最后总结全文。目录为什么选择分布作为先验分布 重述贝叶斯思想 抛硬币问题的多情况分析 总结1.为什么选择分布作为先验分布本节详细介绍分布的定义及解释选择...

2019-07-26 13:29:09 3015

转载 快速搞懂ThreadLocal实现原理

文章目录一、ThreadLocal使用案例二、ThreadLocal类的实现原理2.1 核心方法set()2.2 核心方法get()2.3 核心方法remove()三、ThreadLocal.ThreadLocalMap结构分析四、ThreadLocal内存泄漏问题参考资料维持线程封闭性可以通过Ad-hoc线程封闭、栈封闭来实现,一种更加规范的方法是使用ThreadLocal类。...

2019-07-26 10:25:08 432

转载 让面试官颤抖的 HTTP 2.0 协议面试题

Http协议,对于拥有丰富开发经验的程序员来说简直是信手拈来,家常便饭。虽然天天见,但是对于http协议的问题,可能很多人在没有积极准备的情况下,不一定能很好的回答出来。今天,我们就来讲讲http 2.0和之前版本的区别。一、HTTP定义HTTP协议(HyperTextTransferProtocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议。...

2019-07-25 10:41:22 774

转载 BTrace简介及使用

背景在生产环境中可能经常遇到各种问题,定位问题需要获取程序运行时的数据信息,如方法参数、返回值、全局变量、堆栈信息等。为了获取这些数据信息,我们可以通过改写代码,增加日志信息的打印,再发布到生产环境。通过这种方式,一方面将增大定位问题的成本和周期,对于紧急问题无法做到及时响应;另一方面重新部署后环境可能已被破坏,很难重新问题的场景。对于程序员来说最头大的问题之一就是线上出了故障了,但是我们...

2019-07-12 15:00:39 1302

转载 G1 GC 日志格式

在 Java9 中,G1 GC 将成为默认的垃圾收集器,G1 垃圾收集器的关键特性之一是能够在不牺牲吞吐量的同时,限制 GC 暂停时间(即可以设置所需的最大停顿时间)。由于 G1 GC 正在逐渐成为默认的垃圾收集器,它的使用与关注度也会逐渐增加。因此在调整 JVM 大小和排查问题的情况下,必须先理解 G1 GC 的日志格式,接下来将介绍如何理解 G1 GC 的日志格式。由于 G1 GC 日志中...

2019-07-09 20:57:04 1717 1

转载 full GC排查案例

https://www.cnblogs.com/QG-whz/p/9647614.html问题出现:现网CPU飙高,Full GC告警CGI 服务发布到现网后,现网机器出现了Full GC告警,同时CPU飙高99%。在优先恢复现网服务正常后,开始着手定位Full GC的问题。在现场只能够抓到四个GC线程占用了很高的CPU,无法抓到引发Full GC的线程。查看了服务故障期间的错误日志,发现更...

2019-07-09 19:59:41 2538 7

转载 G1 解决Evacuation Failure和Humongous Allocation

希望您对G1有所了解。在jdk8中,我们很多会使用G1垃圾收集器,她是目前唯一跨越年轻代和年老代的垃圾收集器。里面有一个混合垃圾收集,可以清理全部的年轻代和部分年老代。G1里面东西还有很多,希望读者有一定的基础,下面我们来说说gc日志中常出现的两个组词:Evacuation Failure和Humongous Allocation。为什么只说这两个呢?很简单,因为它们耗时多!直接关系到系统性能。...

2019-07-09 19:03:30 1126

转载 submit与execute区别

(1)可以接受的任务类型 submit: execute: 可以看出: execute只能接受Runnable类型的任务 submit不管是Ru...

2019-07-09 18:08:27 812

转载 “堆外内存泄漏”排查及经验总结

背景为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Boot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7G,确实不正常。JVM参数配置是“-XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+AlwaysPre...

2019-07-09 15:56:35 11481 10

转载 SEDA: An Architecture for Well-Conditioned, Scalable Internet Services

Matt Welsh, David Culler, and Eric BrewerComputer Science DivisionUniversity of California, Berkeley {mdw,culler,brewer}@cs.berkele...

2019-07-09 15:25:19 851

转载 Java性能问题定位

一句话总结:从问题现象为入口,归结为3类问题进行定位分析:内存满、CPU高、线程阻塞。首先先介绍下jvisualvm这款jdk自带的性能工具。通常我们要定位哪块代码性能差,耗时久,最原始的办法就是在各个方法前后日志打印时间戳并计算耗时,这种方法很繁琐,通常要加很多日志多次部署才能定位到,我一开始也是这么搞的。而使用jvisualvm工具则可以直接查看整个业务代码调用链中各个方法的耗时及占比,直...

2019-07-05 19:59:31 234

转载 Java 线程状态之 TIMED_WAITING

定义一个正在限时等待另一个线程执行一个动作的线程处于这一状态。A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state.更详细的定义还是看 javadoc(jdk8):带指定的等待时间的等待线程所处的...

2019-07-05 16:19:46 40285 3

转载 Java线程状态分析

Java线程的生命周期中,存在几种状态。在Thread类里有一个枚举类型State,定义了线程的几种状态,分别有:NEW: 线程创建之后,但是还没有启动(not yet started)。这时候它的状态就是NEW RUNNABLE: 正在Java虚拟机下跑任务的线程的状态。在RUNNABLE状态下的线程可能会处于等待状态, 因为它正在等待一些系统资源的释放,比如IO BLOCKED: 阻塞...

2019-07-05 16:17:46 1711

转载 Java应用CPU问题排查

0、背景经常做后端服务开发的同学,或多或少都遇到过CPU 负载特别高的问题。尤其是在周末或大半夜,突然群里有人反馈线上机器负载特别高,不熟悉定位流程和思路的同学可能登上服务器一通手忙脚乱,定位过程百转千回。对此,也有不少同学曾经整理过相关流程或方法论,类似把大象放进冰箱要几步,传统的方案一般是4步:top oder by with P:1040 // 首先按进程负载排序找到 a...

2019-07-02 17:27:47 635

hadoop-windows

Hadoop 2.7. 6在Windows7下单机部署时的补丁文件包,解决Hadoop在Windows下的安装问题

2018-08-14

Z-Stack API

ZStack 2006版本Api,中文版,

2011-03-30

《Z-Stack API 接口》中文版

ZigBee协议栈编程接口(API),中文版。

2010-04-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除