Nanfang Station

keep hungry keep foolish

记一次JVM线上问题排查

觉知此事要躬行...

前几天一直被一个线上问题困扰,经过坚持不懈的努力终于解决了。很开心,同时记录自己的收获。 线上多半是CPU或者内存问题,平时需要关注各种指标和水位,熟练各种命令【cpu情况可以用top,内存用jvm命令】 堆栈问题优先关注死锁,大量线程block可以通过dump文件快速确定关键导火索 关注线程池参数调优,每个参数的配置要去认真了解,特别是对资源的获取上,通过各种方式去优化避免...

《Java编程思想》概览

衣带渐宽终不悔,为伊消得人憔悴。

version-4 加油

Dubbo Telnet

昨夜西风凋碧树,独上高楼,望尽天涯路。

背景 开发经常需要测试dubbo服务接口,除了dubbo admin控制台的入口外,我们还可以通过telnet命令来实现。 从 2.0.5 版本开始,dubbo 开始支持通过 telnet 命令来进行服务治理。 telnet localhost 20880 Trying localhost... Connected to localhost. Escape character ...

Arthas初识

纸上得来终觉浅,绝知此事要躬行

背景 最近被问到一个问题:==如何看某一个类的性能?== 当时一紧张只想起有火焰图这个概念,却不知还有强大的线上诊断工具Arthas。 纸上得来终觉浅,绝知此事要躬行。 实战 官方文档 启动demo curl -O https://alibaba.github.io/arthas/arthas-demo.jar java -jar arthas-demo.jar arthas-d...

maven插件

Il n'ya qu'un héroïsme au monde : c'est de voir le monde tel qu'il est et de l'aimer

maven插件是在生命周期中某些阶段执行的任务,一个插件完成一项功能。 plugin function maven-jar-plugin maven 默认打包插件,用来创建 project jar maven-shade-plugin 用来打可执行包...

分布式系统学习

15-440

Objectives 构建并实现分布式系统程序。 使用定义明确的协议编写可交互的程序。 调试高并发代码,这些代码跨越在多个内核和机器上运行的多个程序。 学习用于锁、同步、并发、调度和复制的分布式算法的原理。 使用标准的网络通信原语,例如UDP和TCP。 了解集群和Internet上的分布式系统编程所需的网络通信的一般属性。 采用并创建通用范例来简化分布式系统编程...

Mybatis基础

把impossible变成I'm possible

前言 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 XML配置 propertie...

表达力

皮格马利翁效应

表达红利 概念 表达力就是影响力 影响力就是变现力 借助内容用更低的成本触达更多用户 再小的个体也有自己的品牌 模型 高质量输入–针对性目标–完整的思维体系–有套路的输出–不断迭代的反馈 康德拉季耶夫周期(康波周期) 周期50-60年 上升–繁荣–衰退–萧条 企业收入公式(by硅谷创业之父 保罗·格雷厄姆著作《黑客与画家》) 工作价值...

Java开发手册笔记

What doesn't kill you makes you stronger

编程规约 命令风格 Service/DAO层 获取单个对象 getXXX 获取多个对象 listXXX 获取统计值 countXXX 插入 saveXXX/insertXXX 删除 removeXXX/deleteXXX 修改 updateXXX 包装类型与基本类型 POJO类属性都使用包装类型,局部变量推荐使用基本类型 并发处理 资源驱动类、工具类...

TCP三次握手四次握手以及滑动窗口机制

要想成为强者,就不要回避心里的恐惧。

特点 UDP用户数据报协议 无连接 尽最大努力交付 面向报文 没有拥塞控制 TCP传输控制协议 面向连接 提供可靠交付 全双工通信 面向字节流 TCP报文段首部格式 TCP连接过程主要解决三个问题 使每一方能确知对方的存在 允许协商一些参数(如最大窗口值、是否使用窗口扩大选项和时间戳选项等) 对运输实体资源(如缓存大小)进行分配...