自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 @Bean 和 @Component的区别

前言Spring和SpringBoot用多了,里面有比较多的注解,用起来是很爽,但是很少人都是靠死记硬背去用,而不是因为理解了而去用,包括自己,也只是理解了部分的注解,没有去了解更多,所以特意开一贴来记录并分析工作中常遇到的注解。SpringSpringBoot...

2020-04-27 01:48:58 688

原创 企業級容器化DevOps平台 OpenShift Container Platform

http://www.sysage.com.tw/Guest/Docs/20170323_200_ActivityFile_1.pdf

2018-11-27 17:41:53 291

转载 JVM调优总结

 目录  数据类型堆与栈Java对象的大小引用类型按照基本回收策略分按分区对待的方式分按系统线程分如何区分垃圾如何处理碎片如何解决同时存在的对象创建和对象回收问题为什么要分代如何分代什么情况下触发垃圾回收分代垃圾回收流程示意选择合适的垃圾收集算法小结回收器选择辅助信息常见配置汇总调优总结垃圾回收的瓶颈增量...

2018-11-22 11:35:41 839

转载 深入理解JVM(八)——java堆分析

上一节介绍了针对JVM的监控工具,包括JPS可以查看当前所有的java进程,jstack查看线程栈可以帮助你分析是否有死锁等情况,jmap可以导出java堆文件在MAT工具上进行分析等等。这些工具都非常有用,但要用好他们需要不断的进行实践分析。本文将介绍使用MAT工具进行java堆分析的案例。内存溢出(OOM)的原因我们常见的OOM(OutOfMemoryError)发生的原因不只是堆内存...

2018-11-19 16:37:32 156

转载 深入理解JVM(七)——性能监控工具

前言  工欲善其事必先利其器,性能优化和故障排查在我们大都数人眼里是件比较棘手的事情,一是需要具备一定的原理知识作为基础,二是需要掌握排查问题和解决问题的流程、方法。本文就将介绍利用性能监控工具,帮助开发者更快更准的找到问题产生的根源。本文分为三部分,第一部分将介绍在Linux环境下的常用监控工具,第二部分介绍Windows环境下的监控工具,第三部分将通过一个案例,介绍利用这些监控工具一步一步...

2018-11-19 16:36:34 107

转载 深入理解JVM(六)——类加载器原理

我们知道我们编写的java代码,会经过编译器编译成字节码文件(class文件),再把字节码文件装载到JVM中,映射到各个内存区域中,我们的程序就可以在内存中运行了。那么字节码文件是怎样装载到JVM中的呢?中间经过了哪些步骤?常说的双亲委派模式又是怎么回事?本文主要搞清楚这些问题。类装载流程1、加载加载是类装载的第一步,首先通过class文件的路径读取到二进制流,并解析二进制流将里面...

2018-11-19 16:35:39 98

转载 深入理解JVM(五)——垃圾回收器

轻松学习JVM(五)——垃圾回收器    上一篇我们介绍了常见的垃圾回收算法,不同的算法各有各的优缺点,在JVM中并不是单纯的使用某一种算法进行垃圾回收,而是将不同的垃圾回收算法包装在不同的垃圾回收器当中,用户可以根据自身的需求,使用不同的垃圾回收器,以便让自己的java程序性能到达最佳。在介绍垃圾回收器之前,我们先回顾一下java堆的结构。堆内存回顾java堆内存结构包括:新...

2018-11-19 16:33:59 145

转载 深入理解JVM(四)——垃圾回收算法

 我们都知道java语言与C语言最大的区别就是内存自动回收,那么JVM是怎么控制内存回收的,这篇文章将介绍JVM垃圾回收的几种算法,从而了解内存回收的基本原理。stop the world    在介绍垃圾回收算法之前,我们需要先了解一个词“stop the world”,stop the world会在执行某一个垃圾回收算法的时候产生,JVM为了执行垃圾回收,会暂时java应用程序的执行...

2018-11-19 16:32:40 176

转载 深入理解JVM(三)——配置参数

JVM配置参数分为三类参数:1、跟踪参数2、堆分配参数3、栈分配参数这三类参数分别用于跟踪监控JVM状态,分配堆内存以及分配栈内存。跟踪参数跟踪参数用于跟踪监控JVM,往往被开发人员用于JVM调优以及故障排查。1、当发生GC时,打印GC简要信息使用-XX:+PrintGC或-verbose:gc参数这两个配置参数效果是一样的,都是在发生GC时打印出简要的信息,例...

2018-11-19 16:09:17 127

转载 深入理解JVM(二)——内存模型、可见性、指令重排序

    上一篇 我们介绍了JVM的基本运行流程以及内存结构,对JVM有了初步的认识,这篇文章我们将根据JVM的内存模型探索java当中变量的可见性以及不同的java指令在并发时可能发生的指令重排序的情况。内存模型    首先我们思考一下一个java线程要向另外一个线程进行通信,应该怎么做,我们再把需求明确一点,一个java线程对一个变量的更新怎么通知到另外一个线程呢?我们知道java当中的...

2018-11-19 15:49:53 113

转载 深入理解JVM(一)——基本原理

前言  JVM一直是java知识里面进阶阶段的重要部分,如果希望在java领域研究的更深入,则JVM则是如论如何也避开不了的话题,本系列试图通过简洁易读的方式,讲解JVM必要的知识点。运行流程  我们都知道java一直宣传的口号是:一次编译,到处运行。那么它如何实现的呢?我们看下图:  java程序经过一次编译之后,将java代码编译为字节码也就是class文件,然后在不同的操...

2018-11-19 15:44:35 102

转载 Java 详解 JVM 工作原理和流程

作为一名Java使用者,掌握JVM的体系结构也是必须的。说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示:运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件),再然...

2018-11-12 14:11:30 126

原创 SpringCloud(一):SpringCould 框架预览

前言 SpringCloud是基于SpringBoot的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。最重要的是跟spring boot框架一起使用的话,会让你开发微服务架构的云服务非常好的方便。  SpringBoot旨在简化创建产品级的 Spring 应用和服务,简化了配置文件,...

2018-10-29 00:37:43 324

原创 SpringCloud 与 Dubbo区别

总览  Dubbo SpringCloud 服务注册中心 Zookeeper  Spring Cloud Netfix Eureka 服务调用方式 RPC  REST API 服务监控 Dubbo-monitor Spring Boot Admin 熔断器 不完善 Spring Cloud Netflix Hystri...

2018-10-26 15:21:03 727

原创 Spring boot (一):入门篇

Spring boot 简介          Build Anything with Spring Boot:Spring Boot is the starting point for building all Spring-based applications. Spring Boot is designed to get you up and running as quickly a...

2018-10-25 09:48:39 130

空空如也

空空如也

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

TA关注的人

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