
Java 进阶
文章平均质量分 91
lovewater
微信公众号:一个Java菜鸟
展开
-
X系统高可用与高并发解决方案
一、平台介绍调用方:包括B端、C端、订单、分销、安伴、宫格等100多个系统并发:并发详情数据将整个主数据平台逐步划分成 四个部分: • 房屋系统:负责对数据 生产的建模,隔离数据生产对 核心模型的影响。例如:商户 上房 、门店分配流程等。 • 核心模型:挖掘数据实 体关系,提升模型能力。例如: 商户多门店、房屋聚合等。 • 基础数据中心:面向交 易系统的应用...原创 2020-04-17 19:07:22 · 387 阅读 · 0 评论 -
JVM源码分析之Metaspace解密
概述metaspace,顾名思义,元数据空间,专门用来存元数据的,它是jdk8里特有的数据结构用来替代perm,这块空间很有自己的特点,前段时间公司这块的问题太多了,主要是因为升级了中间件所致,看到大家讨论来讨论去,看得出很多人对metaspace还是模棱两可,不是很了解它,因此我觉得有必要写篇文章来介绍一下它,解开它神秘的面纱,当我们再次碰到它的相关问题的时候不会再感到束手无策。通过这篇...转载 2018-09-10 23:37:10 · 1600 阅读 · 0 评论 -
SpringMvc 3分钟集成swagger2
swagger:restful管理项目API工具1、引入最新版本的swagger依赖,低版本的有一些bug。如hidden注解的字段不生效 <!-- swagger-mvc --> <dependency> <groupId>io.springfox</groupId> ...原创 2016-11-07 19:30:48 · 22208 阅读 · 7 评论 -
动态调整(springMVC+slf4j)log等级(DEBUG/INFO/WARN/ERROR)
1、logback.xml<pre name="code" class="html"><?xml version="1.0" encoding="UTF-8"?><configuration> <!-- APP NAME --> <property name="AP原创 2015-12-01 13:12:23 · 10936 阅读 · 1 评论 -
单元测试(junit+dubbo+mockito)
关于单元测试请先回忆下面几个问题:1)单元测试是否依赖网络?如果依赖网络,当没有网的时候怎么办?2)单元测试是否支持多次可重复执行?3)dubbo接口怎么单元测试?4)如何计算单元测试对代码的覆盖率?在回答上面几个问题前请先看下面介绍:1、准备测试环境1)引入依赖包: <dependency> <groupI...原创 2018-09-06 22:33:10 · 15050 阅读 · 2 评论 -
基于LRU-K算法设计本地缓存实现流量削峰
1、背景介绍1.1、现象QPS突然增长2倍以上(45w~60w每分钟) 将产生下面一些问题:1)响应接口响应时长增加了5倍(qps增加了2倍);2)机房局域网交换机带宽报警(1kM带宽使用了900多M);3)从redis获取数据接口响应时长增加等。1.2、原因1)某业务线对有限的产品进行推广;2)在短时间内有大量重复数据查询请求;3)短时间从redis获取大量数...原创 2018-09-18 00:53:55 · 5234 阅读 · 3 评论 -
发布或重启线上服务时抖动问题解决方案
一、问题描述 在发布或重启某线上某服务时(jetty8作为服务器),常常发现有些机器的load会飙到非常高(高达70),并持续较长一段时间(5分钟)后回落(图1),与此同时响应时间曲线(图2)也与load曲线一致。注:load飙高的初始时刻是应用服务端口打开,流量打入时(load具体指什么可参考http://www.cnblogs.com/amsun/p/3155246.html)。...转载 2018-08-28 23:52:55 · 1131 阅读 · 0 评论 -
java并发(上)
目录1,基本概念2,volatile3,atom4,ThreadLocal5,CountDownLatch和CyclicBarrier6,信号量7,Condition8,Exchanger 在Java中,JVM、并发、容器、IO/NIO是我认为最重要的知识点,本章将介绍其中的并发,这也是从“会Java”到精通Java所必须经历的一步。本章承接上一张《Java...转载 2018-08-24 00:23:35 · 372 阅读 · 0 评论 -
JVM监控与调优
一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老代) 永久代(Perm) 其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配,但可以通过-XX:PermSize -XX:MaxPermSiz...转载 2018-08-23 23:31:04 · 374 阅读 · 0 评论 -
openjdk8最新源码编译及使用(ubuntu16.04)
1、准备环境sudo apt-get install -y build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev libcups2-dev libfreetype6-dev libasound2-dev ccache gawk m4 openjdk-7-jdk libasound2-dev libxr原创 2017-07-30 13:35:29 · 3808 阅读 · 0 评论