关闭
当前搜索:

缓存读取术之防止缓存雪崩

概述 如今许多互联网应用系统都重度依赖缓存来提高读操作的性能,对于这些系统来说如何正确地使用缓存至关重要。本文从缓存读取这个视角来讨论缓存架构设计上的一些思路。重点关注如何防止缓存雪崩。 1. 缓存读操作 引入缓存后,读数据的流程如下: (1)先读缓存,如果缓存中有数据(hit),则返回缓存中的结果; (2)如果缓存中没有数据(miss),则回源到database获取,然后把结果写入......
阅读(146) 评论(0)

快速定位生产故障问题-JVM进程CPU占用率超100%

前言 古语有云:人在江湖漂,哪有不挨刀。 这几年作为技术leader处理过的线上紧急问题,掐指一算应该有不下10次吧(说多了都是泪啊~~)。所以挡刀救火也是leader的必备技能!本文主要分享遇到“JVM进程CPU占用率超100%”时如何快速定位原因。 1. 生产故障-JVM进程CPU占用率超100% 某日,运维同学反馈生产环境有故障,某个JVM进程CPU负载一直居高不下。登......
阅读(169) 评论(0)

单元测试系列三-基于Springboot+Junit+Mockito做单元测试

前言 前面的两篇文章讨论过《为什么要写单元测试,何时写,写多细》和《单元测试规范》,这篇文章介绍如何使用Springboot+Junit+Mockito做单元测试,案例选取撮合交易的一个类来做单元测试。 单元测试前先理解需求 要写出好的单测,必须先理解了需求,只有知道做什么才能知道怎么测。但本文主要讲mockito的用法,无需关注具体需求。所以本节略去具体的需求描述。 隔离外部依赖......
阅读(973) 评论(2)

单元测试系列二-单元测试规范(适用于Java)

技术选型 UT框架:JUnit (4.12) Mock框架:Mockito (1.10.19) 文件、类与方法命名规范 源文件目录 src/main/java UT文件目录 src/test/java UT类命名规范 假设源类的全限定名为 com.yourcompany.api.Matching 源文件路径 src/main/java/com/yo......
阅读(191) 评论(0)

单元测试系列一-为什么要写单元测试,何时写,写多细

一、前言 半年前在公司团队内推动单元测试的落地,略有一些心得,记录在此。如有不同观点或建议,请在评论区留言,一起探讨。 定义:单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。 单元测试从长期来看,可以提高代码质量,减少维护成本,降低重构难度。但是从短期来看,加大了工作量,对于进度紧张的项目中的开发人员来说,可能会成为不少的负担。 本文从为什么要写单元测试,......
阅读(712) 评论(0)

Git快速入门-常用命令之交响乐篇

Git快速入门系列文章 - Git快速入门-安装配置篇 - Git快速入门-常用命令之独奏篇 - Git快速入门-常用命令之交响乐篇 - Git快速入门-git stash 暂存变更,git reset 撤销commit,git revert 回退远程版本库 1.概述 Git入门系列第三篇,介绍日常开发中,与团队其他成员协作时常用的命令。 2.Git交响乐 2......
阅读(1668) 评论(2)

Git快速入门-常用命令之独奏篇

Git快速入门系列文章 - Git快速入门-安装配置篇 - Git快速入门-常用命令之独奏篇 - Git快速入门-常用命令之交响乐篇 - Git快速入门-git stash 暂存变更,git reset 撤销commit,git revert 回退远程版本库 1.概述 Git入门系列第二篇,介绍日常开发中,假设只有你一个人使用Git时常用的命令。 2. Git初始化......
阅读(250) 评论(0)

Git快速入门-安装配置篇

Git快速入门系列文章 - Git快速入门-安装配置篇 - Git快速入门-常用命令之独奏篇 - Git快速入门-常用命令之交响乐篇 - Git快速入门-git stash 暂存变更,git reset 撤销commit,git revert 回退远程版本库 1.概述 Git入门系列包括git客户端的安装配置,日常开发中常用命令。本文是第一篇,介绍git客户端的安装,配置......
阅读(331) 评论(0)

Git快速入门-git stash 暂存变更,git reset 撤销commit,git revert 回退远程版本库

Git快速入门系列文章 - Git快速入门-安装配置篇 - Git快速入门-常用命令之独奏篇 - Git快速入门-常用命令之交响乐篇 - Git快速入门-git stash 暂存变更,git reset 撤销commit,git revert 回退远程版本库 注:本文基于git version 2.13.5 版本进行演示 1. 概述 Git入门系列第四篇,基于场......
阅读(1438) 评论(0)

用SWT可视化工具快速开发GUI应用

一、开发背景介绍:      1. 要开发什么工具?     最近和公司里的几位同事凑钱买了个的士发票打印机(报销用,你懂的^_^),内容可自己写,比如金额,时间,路程等等。发票内容的输出位置和文字样式要跟真实发票的一样,否则容易穿帮(嘻嘻...)。但位置、样式要手工调,非常麻烦。所以如果有个工具能够帮助我们调好位置和文字样式的话,那就方便省事多了!!     2. 为什么强调要快速开发?...
阅读(564) 评论(0)

Java并发编程——this引用逸出("this"Escape)

     并发编程实践中,this引用逃逸("this"escape)是指对象还没有构造完成,它的this引用就被发布出去了。这是危及到线程安全的,因为其他线程有可能通过这个逸出的引用访问到“初始化了一半”的对象(partially-constructed object)。这样就会出现某些线程中看到该对象的状态是没初始化完的状态,而在另外一些线程看到的却是已经初始化完的状态,这种不一致性是不确定的......
阅读(4064) 评论(5)
    个人资料
    • 访问:10425次
    • 积分:712
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:0篇
    • 译文:0篇
    • 评论:9条
    联系方式

    Email: flysqrlboy@gmail.com

    GitHub

    文章分类
    文章存档
    最新评论