标签:JVM

Java

java应用监测(3)-这些命令行工具你掌握了吗

3

yeseng 发布于 2019-08-25

tags: java, troubleshooting, monitor,jvm 一句话概括:原来jdk自带的命令行工具如此好用,本文将详细介绍。 1 引言 监测java应用,最方便的就是直接使用jdk提供的现成工具,在jdk的安装的bin目录下,已经提供了多种命令行监测工具,以...

阅读(5)评论(0)赞 (0)

Java

ZooKeeper日志配置

1

darida 发布于 2019-08-25

1. 简介 ZooKeeper 使用  SLF4J 作为日志的抽象层,默认使用  Log4J 来做实际的日志工作。使用两层日志抽象看起来似乎是多余的。这里简要的说明如何来配置  Log4J ,虽然  Log4J 非常灵活且功能强大,但是也有...

阅读(5)评论(0)赞 (0)

Java

Java性能 — NIO

16

darida 发布于 2019-08-25

网络通信中,最底层的是操作系统 内核 中的网络IO模型,分别为 阻塞式IO 、 非阻塞式IO 、 IO复用 、 信号驱动式IO 、 异步IO TCP工作流程 首先,应用程序通过 系统调用socket ,创建一个套接字,它是系统分配给应用程序的一个 文件描述符 其次,应用程序通过 ...

阅读(7)评论(0)赞 (0)

Java

10 人,2 个月:虾米音乐的监控体系升级之路

14

Harries 发布于 2019-08-25

Photo @ 虾米音乐 文 | 宋旭 背景 监控一直是服务端掌握应用运行状态的重要手段,经过近几年的发展,阿里虾米服务端目前已经有 100 多个 Java 应用,承担核心业务的应用也有将近 50 个,对于应用的监控配置也是因人而异。有的人配置的监控比较细,有的应用在经...

阅读(19)评论(1)赞 (0)

Spring

SpringMVC源码分析4:DispatcherServlet如何找到正确的Controller

32

xiaoli.wang 发布于 2019-08-25

SpringMVC是目前主流的Web MVC框架之一。 我们使用浏览器通过地址 http://ip :port/contextPath/path进行访问,SpringMVC是如何得知用户到底是访问哪个Controller中的方法,这期间到底发生了什么。 本文将分析SpringMV...

阅读(8)评论(0)赞 (0)

Java

Java多线程-程序运行堆栈分析

3

wenming.gapo 发布于 2019-08-25

class文件包含JAVA程序执行的字节码;数据严格按照格式紧凑排列在class文件中的二进制流,中间无任何分隔符;文件开头有一个0xcafebabe(16进制)特殊的一个标志。 JVM运行时数据区 线程独占:每个线程都会有它独立的空间,随线程生命周期而创建和销毁 线程共享:所有...

阅读(5)评论(0)赞 (0)

Java

java应用监测(3)-这些命令行工具你掌握了吗

3

xiaoli.wang 发布于 2019-08-25

监测java应用,最方便的就是直接使用jdk提供的现成工具,在jdk的安装的bin目录下,已经提供了多种命令行监测工具,以便于开发人员和运维人员监测java应用和诊断问题,因此,此类工具是java应用监测的重要手段。也是作为java开发人员需要掌握的基本技能。 2 常用监测命令行...

阅读(7)评论(0)赞 (0)

Spring

Spring源码剖析5:JDK和cglib动态代理原理详解

19

zhuangli 发布于 2019-08-25

AOP的基础是Java动态代理,了解和使用两种动态代理能让我们更好地理解 AOP,在讲解AOP之前,让我们先来看看Java动态代理的使用方式以及底层实现原理。 转自https://www.jianshu.com/u/668d0795a95b 本文是基于jdk1.8来对动态代理的底...

阅读(7)评论(0)赞 (0)

Java

JAVA后端开发学习之路

likai 发布于 2019-08-25

本文主要记录了我从Java初学者到专注于Java后端技术栈的开发者的学习历程。主要分享了学习过程中的一些经验和教训,让后来人看到,少走弯路,与君共勉,共同进步。如有错误,还请见谅。 我的GitHub: https://github.com/h2pl/MyTech 喜欢的话麻烦点下...

阅读(7)评论(0)赞 (0)

Java

Kotlin-Coroutines 与 Rxjava2

xiaoli.he 发布于 2019-08-25

目前 kotlin 语言植根于 JVM 生态系统 , Native 生态系统 , Android&IOS 生态系统 和 JS 生态系统 . Kotlin-Coroutines 是拥有 占用资源相对少 更高性能 的并发模型的一项新型JVM多线程编程技术. (就是吃得少干得多...

阅读(5)评论(0)赞 (0)

Java

牛逼了!用 IDEA 扒出了开源组件导致FGC的原因

6

hanze 发布于 2019-08-25

点击上方“ 匠心零度 ”,选择“设为星标” 做积极的人,而不是积极废人! 某天上午收到最近发布的一个服务 频繁FGC 的告警,这个服务只是给公司内部相关人员使用的,并非给互联网用户提供服务的系统。而且功能也比较简单,就是查看一些统计信息、报表数据、数据导出Excel等,访问量非常...

阅读(2)评论(0)赞 (0)

Java

SRE 高延迟问题的罪魁祸首 System.gc()

4

changyuan.xu 发布于 2019-08-25

01 案例一: 某日,支付平台的开发人员找到 SRE, 需要 SRE 帮助解决一个棘手的问题。 他们发现一个调用第三方支付接口的应用里面,偶尔出现请求超时的情况 。第三方平台保证他们的服务 99% 在 10 秒 内完成,算上网络传输时间, 15 秒 足够了,尽管支付平台设置的超时...

阅读(6)评论(0)赞 (0)

Java

G1收集器中的to-space exhausted问题一则

4

Harries 发布于 2019-08-24

最近刚刚将自己的一个应用从CMS升级到G1,在一天早上,刚刚到办公室坐下,就收到手机一阵报警,去查看了监控,发现机器的内存出现了一个90度的涨幅,如下图所示: 在查看GC日志后,发现那个时间点附近出现了“to-space exhausted”这种日志 在这里,我比较奇怪的是为啥t...

阅读(8)评论(0)赞 (0)

Spring

Spring 启动过程(下)组件初始化

hellas 发布于 2019-08-24

前言 上篇文章介绍了 JVM 是怎么加载到 Spring 的,分别介绍了 Jar 包机制的 Spring 唤起 Tomcat 方式和 War 包时的 Tomcat 自动加载 Spring 方式,这篇文章就从内部来介绍一下 Spring 服务是如何启动起来的。 转载随意,文章会持续...

阅读(16)评论(0)赞 (0)

Java

java应用监测(2)-java命令的秘密

1

darida 发布于 2019-08-24

tags: java, troubleshooting, monitor 一句话概括:简单的java启动命令,原来藏着这么多秘密,本文为你揭晓。 1 引言 刚开始学java的同学,一定都不会忘记安装完jdk后,都会使用 java-version 命令来检测一下是否安装成功,那还有...

阅读(19)评论(0)赞 (0)

Java

Java内存缓存-通过Google Guava创建缓存

2

changyuan.xu 发布于 2019-08-24

谷歌Guava缓存 Guava介绍 Guava是Google guava中的一个内存缓存模块,用于将数据缓存到JVM内存中。实际项目开发中经常将一些公共或者常用的数据缓存起来方便快速访问。 Guava Cache是单个应用运行时的本地缓存。它不把数据存放到文件或外部服务器。如果不...

阅读(19)评论(0)赞 (0)

Java

曹工杂谈:一例简单的Jar包冲突解决示例

4

hanze 发布于 2019-08-24

了不得,我可能发现了Jar 包冲突的秘密 一、前言 jar包冲突分多种,简单理解来说,就是同package且同名的类在多个jar包内出现,如果两个jar包在同一个classloader下,那么最终的结果是,只会加载其中的一个。 有时,这个错误一般在运行时出现,报的错可能是,找不到...

阅读(17)评论(0)赞 (0)

Java

基于通用 jar、动态配置、组件编排的会员任务中心系统设计

8

dulong 发布于 2019-08-24

前言 为更好帮助商家的会员快速成长,保持用户活性,完善用户的成长体系,有赞用户中心 – 会员成长团队基于现有的业务场景,设计了一套较完备任务中心系统。同时也有很多通用技术组件能够落地。接下来本文会简单分享下这些常用的技术组件,抛砖引玉。 在开始之前我们会先提几个问题:...

阅读(13)评论(0)赞 (0)