Skywalking概述 什么是APM系统 APM系统概述 APM (Application Performance Management) 即应用性能管理系统,是对企业系统即时监控以实现 对应用程序性能管理和故障管理的系统化的解决方案。应用性能管理,主要指对企业的关键业务应用进 行监测、优化,提高企业应用的可靠性和质量,保证用户得到良好的服务,降…
概览 什么是配置 应用程序在启动和运行的时候往往需要读取一些配置信息,配置基本上伴随着应用程序的整个生命周期,比如:数 据库连接参数、启动参数等。 配置主要有以下几个特点: 配置是独立于程序的只读变量 配置首先是独立于程序的,同一份程序在不同的配置下会有不同的行为 其次,配置对于程序是只读的,程序通过读取配置来改变自己的行为,但是程序不应该去改变配…
kubernetes介绍 本章节主要介绍应用程序在服务器上部署方式演变以及kubernetes的概念、组件和工作原理。 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与 缺点:不能为应用程序定义资源使用边界,很难合理地分配计算资源,而且程序之间容易…
Elasticsearch简介 介绍 创始人:Shay Banon (谢巴农) Elasticsearch是一个基于Lucene的搜索服务器 提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口 Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasti…
追随
没有坚实基础的断言,如果你相信,那么你就去追随,在追随过程中如果证明了断言为假,那么你也找到了你自己。如果你不相信,且也没有坚实的基础证明为假,那么你还是在浑浑噩噩当中。如果断言没有过多涉入你的学习工作生活,你当然可以忽略。或者你不相信,并孜孜不倦的证明它为假,那么你也找到了你自己。
信与不信,都不是终点,终点是一直寻找让自己更相信或者不相信的理由,并没有偏颇的接受它们。
Zookeeper基础 Zookeeper概述 Zookeeper 是一个分布式协调服务的开源框架。主要用来解决分布式集群中应用系统的一致性问题,例如怎样避免同时操作同一数据造成脏读的问题。 ZooKeeper 本质上是一个分布式的小文件存储系统。提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。从而用来维护和监控存储…
栈上的数据存储 在Java中有8大基本数据类型: 这里的内存占用,指的是堆上或者数组中内存分配的空间大小,栈上的实现更加复杂。 以基础篇的这段代码为例: Java中的8大数据类型在虚拟机中的实现: boolean、byte、char、short在栈上是不是存在空间浪费? 是的,Java虚拟机采用的是空间换时间方案,在栈上不存储具体的类型,只根据sl…
GraalVM 什么是GraalVM GraalVM是Oracle官方推出的一款高性能JDK,使用它享受比OpenJDK或者OracleJDK更好的性能。 GraalVM的官方网址:https://www.graalvm.org/ 官方标语:Build faster, smaller, leaner applications。 更低的CPU、内存使…
初始JVM 什么是JVM JVM 全称是 Java Virtual Machine,中文译名 Java虚拟机。JVM 本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件。 Java源代码执行流程如下: 分为三个步骤: 1、编写Java源代码文件。 2、使用Java编译器(javac命令)将源代码编译成Java字节码文件。 3、使用J…
内存调优 内存溢出和内存泄漏 内存泄漏(memory leak):在Java中如果不再使用一个对象,但是该对象依然在GC ROOT的引用链上,这个对象就不会被垃圾回收器回收,这种情况就称之为内存泄漏。 内存泄漏绝大多数情况都是由堆内存泄漏引起的,所以后续没有特别说明则讨论的都是堆内存泄漏。 比如图中,如果学生对象1不再使用 可以选择将ArrayLi…