avatar
Articles
38
Tags
53
Categories
29

首页
档案
标签
类别
Akachi's blog
Search
首页
档案
标签
类别

Akachi's blog

Spring Cloud Nacos-学习笔记
Created2017-02-28|Consul
Spring Nacos参考: spring官网 https://spring.io/projects/spring-cloud-alibaba nacos https://nacos.io/en-us/ 课程开场白 首先学习配置管理 搞清楚什么是配置中心 nacos 是配置中心的实现方案 服务发现 服务治理 首先通过一个快速入门程序学习nacos的配置中心的搭建方案 这里建议参考官方 https://spring-cloud-alibaba-group.github.io/github-pages/2021/en-us/index.html#_spring_cloud_alibaba_rocketmq_binder 第五章节会将nacos的最佳应用 第三和第四是基础 第五章是重点 nacos功能 服务发现 服务健康检查 配置管理 DNS服务 服务和元数据管理 配置中心介绍配置文件信息使用nacos保存用于它自身启动或运行需要的信息。 相当于spring consul的功能。 配置中心 发布修改配置 获取最新配置 配置更新通知后获取最新配置 对于类似于 ...
Spring Boot
Created2016-02-28|Spring
Spring BootSpring Boot 可以轻松创建独立的、生产级的基于 Spring 的应用程序,您可以“直接运行”这些应用程序。 我们对 Spring 平台和第三方库采取了固执的观点,因此您可以轻松上手。大多数 Spring Boot 应用程序需要最少的 Spring 配置。 如果您正在寻找有关特定版本的信息,或有关如何从早期版本升级的说明。 特征 创建独立的 Spring 应用程序 直接嵌入Tomcat、Jetty或Undertow(无需部署WAR文件) 提供自以为是的“入门”依赖项以简化您的构建配置 尽可能自动配置 Spring 和 3rd 方库 提供生产就绪功能,例如指标、运行状况检查和外部化配置 完全不需要代码生成,也不需要 XML 配置 入门Quickstart Guide创建一个hello 创建项目 添加代码 12345678910111213141516171819202122package org.akachi.springbootquickstartguide;import org.springframework.boot.SpringApplicat ...
系统架构笔记
Created2016-02-28|系统架构
系统架构师学习笔记微服务设计思想 任何技术都是可以被抽象、替换插拔的。 系统架构图基本概念 架构架构就是对系统中的实体以及实体之间的关系所进行的抽象描述,是一系列的决策。架构是结构和愿景。 架构图为了抽象的表示软件系统的整体轮廓和各个组件之间的相互关系和约束边界,以及软件系统的物理部署和软件系统的演进方向的整体视图。 架构图的作用要让干系人理解、遵循架构决策,就需要把架构信息传递出去:解决沟通障碍达成共识减少歧义 架构图分类有一种比较流行的是4+1视图,分别为场景视图、逻辑视图、物理视图、处理流程视图和开发视图。 场景视图用于描述系统的参与者与功能用例间的关系,反映系统的最终需求和交互设计,通常由用例图表示。 逻辑视图描述系统软件功能拆解后的组件关系,组件约束和边界,反映系统整体组成与系 统如何构建的过程,通常由UML的组件图和类图来表示。 物理视图用于描述系统软件到物理硬件的映射关系,反映出系统的组件是如何部署到一组可 计算机器节点上,用于指导软件系统的部署实施过程。 处理流程视图用于描述系统软件组件之间的通信时序,数据的输入输出,反映系统的功能流程 与数据流程,通常由时序图和流 ...
Spring Cloud 组件介绍
Created2016-02-28|Spring
Spring 概念介绍什么是springSpring 使每个人都可以更快、更轻松、更安全地进行 Java 编程。Spring 对速度、简单性和生产力的关注使其成为世界上最受欢迎的 Java框架。 spring优点 应用广泛 灵活 简化开发 快捷 安全 持续维护 spring应用访问 微服务微服务架构是“新常态”。构建小型、自包含、随时可以运行的应用程序可以为您的代码带来极大的灵活性和弹性。Spring Boot 的许多专门构建的功能使在生产中大规模构建和运行微服务变得容易。并且不要忘记,没有微服务架构是不完整的春云 ‒ 简化管理并提高容错能力。 什么是微服务?微服务是一种现代软件方法,其中应用程序代码以小的、可管理的、独立于其他部分的方式交付。 为什么要构建微服务?它们的小规模和相对隔离可以带来许多额外的好处,例如更容易维护、提高生产力、更大的容错能力、更好的业务一致性等等。 实现关键使用spring Boot作为微服务的服务主体,它提供了一个自包含的引用开发框架。这是微服务的基础。 微服务的架构性质会为开发与维护带来一系列的麻烦。 spring提供Spring Cloud作为微服 ...
JVM 调优
Created2015-08-01|java
JVM 调优场景调优Eden内存大小 内存太大 STW太久。内存太小回收太平凡。 考虑吞吐量与STW的平衡 调优Survivor 对象在Survivor中待不到足够的时间。或者某些对象直接晋升到Old 同一个年龄的某个对象超过仓库的一半大小则晋升到老年代。 Metaspace 导致 FullGC关键调优参数 Used 已用空间大小 capacity 当前已使用且未分配的大小 committed 当前已分配的空间大小 reserved 预留空间大小 这个例子中发生了FULL GC 实际使用35MB 但占用空间 56MB。这里可能出现了碎片。 通过Dump文件看是不是存在很多某走类加载器。 在反射实实际上会出现new一个ClassFileAssenbler 这里会创建一个ClassFile 调用次数超过15次之后会创建一个DelegatingClassLoader 来加载这个ClassFile 并且这个DelegatingClassLoader 会作为软引用被创建。所以即便进行FullGC 也需要两次。 解决办法 适当的调高matespace空间大小 优化不合理的反射调用,列 ...
JVM 中篇
Created2015-08-01|java
JVM 中篇字节码与类的加载篇 概述java规范和虚拟机规范的关系 JAVA 规范指的是 java语言的规范,使用符合java规范的编译器讲java编译成class。比如javac编译器。 JVM 规范指的是java虚拟机规范 有很多实现,比如阿里的实现、华为的和ibm的实现。它们负责从导入class文件开始工作。 字节码文件的跨平台性通过java编译器编译完成的文件class,可以在不同的平台上运行,只要平台上安装了JVM。 java的前端编译器java编译器要完成编译有以下几个步骤。 词法解析 语法解析 语义解析 生成字节码 前段编译器和后端编译器的关系 前端编译器编译后的文件有可能进入解释器被执行,也有可能成为热点代码进入JIT执行。在JIT中代码执行效率会高很多。这也是为什么java被定义为半解释半编译行语言。 其他前端编译器 javac ECJ eclipse的 AspectJ IDEA的 后端编译器 AOT 程序运行之前直接把文件翻译成机器指令。 会破坏java的跨平台性。 目前只处于linux中 JIT 在HotSpot中将热点代码编译为机器码。 ja ...
JVM 上篇
Created2015-08-01|java
JVM 上篇 这门课程基于Java虚拟机规范来理解。只要实现此规范就是java虚拟机。 1.8的Java虚拟机规范https://docs.oracle.com/javase/8/docs/ 授课大纲 介绍 虚拟机与JAVA虚拟机 Java HotSpot JVM 是Oracle官方的虚拟机 java 的跨平台性是通过JVM完成的 java 虚拟机是个跨语言的平台可以接收比如Scala Kotlin java等多种语言 JAVA虚拟机有哪些 Classic HotSpot 垃圾回收器 G1 ZGC Shenandoah GC JVM 的整体结构 类装载子系统 运行时数据区 方法区 java栈 本地方法栈 堆 程序计数器 执行引擎 解释器 JIT 即时编译器 垃圾回收器 JAVA代码执行流程 java编译器 词法分析 语法分析 语法抽象语法树 语义分析 注解抽象语法树 字节码生成器 JAVA 虚拟机 类加载器 字节码校验器 执行引擎 翻译字节码 逐条执行指令 JIT编译器 将字节码编译成机器指令后缓存,并作为热点代码反复执行 操 ...
Java 多线程
Created2015-08-01|java
Java 多线程概念 线程就是独立执行的路径; 线程是程序中执行的线程。 Java虚拟机允许应用程序同时执行多个执行线程。 线程分为守护线程和非守护线程,当一个进程中的非守护线程全部停止运行后守护线程也会停止运行。 线程可以通过Thread 或实现Runnable 创建线程创建方式 继承Thread classThread 实现代码 123456789101112class PrimeThread extends Thread { long minPrime; PrimeThread(long minPrime) { this.minPrime = minPrime; } public void run() { // compute primes larger than minPrime . . . }} 12PrimeThread p = new PrimeThread(143); p.start(); 实现 Runnable接口Run ...
1…34
avatar
Akachi
Articles
38
Tags
53
Categories
29
Follow Me
Recent Post
词根英语学习法
词根英语学习法2023-11-29
C++ 基础
C++ 基础2023-03-01
美国游客办理驾照排坑指南
美国游客办理驾照排坑指南2022-12-12
民运日记
民运日记2022-12-06
WordPress
WordPress2022-07-27
Categories
  • AI1
  • C++1
  • Consul2
  • Docker1
  • English1
  • Eureka1
  • Feign1
  • Hystrix1
Tags
AI AOP Consul DockerRegistry English Eureka Feign Gateway HA NN Nacos REST Sentinel Sleuth Spring Spring Cloud Spring Data Web WordPress Zipkin blog ceph docker hexo hugo idea java jvm mysql spring swarm togaf zuul 事务 企业架构 分布式存储 单片机 学习地图 容器化 容器编排
Archives
  • November 20231
  • March 20231
  • December 20222
  • July 20222
  • May 20221
  • September 20217
  • August 20212
  • July 20211
Info
Article :
38
UV :
PV :
Last Push :
©2020 - 2023 By Akachi
Algolia