周阳老师学习

分布式事务

2、3pc

tcc

可靠消息最终一致性

最大努力通知

总结

1)最大努力通知VS 可靠消息最终一致性
在这里插入图片描述

向上管理

态度 》 能力
沟通 》 抱怨
大局 》 细节

汇报进度
寻求知道
成长答疑

先完成后完美
在这里插入图片描述

分布式事务-独立消息服务+MQ

追溯业务执行状态的接口
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

说一下jvm

那我从java代码编译开始说吧。通过编译器将我们这个java代码编译成class文件。其实这一步他最终的目的是为了给类加载器提供一个可以加载的二进制文件。在这个阶段,java架构设计把这个阶段作为第一个阶段,也是比较重要的一个阶段,因为class文件编译之后,所有代码相关的字面量、符号引用、包括代码转字节码指令这些东西都会在这个阶段进行一个规整。从class文件结构来说,它通过一个比较紧凑的固定的这样结构进行排布。比如说魔术主次版本号他可以定位一文件的一个规范性和可加载性。常量池他为整个的一个class文件中的方法、字段、修饰符、类引用、符号引用提供了一个常量的存放位置。访问标志给我们的这个方法和类提供了访问权限。比如说public这种东西。
类索引、父类索引、接口类索引能够展示出类的一个继承结构。字段表方法表描述的描述了一些字段信息、方法信息,包括字段和方法的返回类型,访问权限等。属性表提供了一些更多的相关信息。比如我们的code属性。就代表了我们真正的一个代码的真正的执行逻辑,还有一些Exception属性,就是我们抛出的一些异常。那么这些存储结构和存储方法,直接决定了代码价值及运行过程中的一个提取方式,所以说他是比较重要的一步。拿属性表里的code属性来说,编译完成的code其实会转化为字节码指令,他并不是我们所想象的把abc转化为字节或者二进制,他其实是真正的去操作一个字节码指令。比如c=a+b,ab最终会以一个提取字节码指令,这个字节码指令就是iload,然后在将ab压入操作数经过加操作后最后通过istore把值赋给c。也就是说它会把他们都编译成这种我们读不懂的字节码指令。然后在线程运行的过程中,在线程的栈里的栈帧里的操作数栈里进行一个字节码指令的出入栈操作。

设计完class文件之后呢,就需要将我们的class文件加载到我们的jvm里面,所以java需要设计类加载器,就是双亲委派机制。包括启动类、拓展类、应用类、自定义类加载器。他采用双亲委派的原因是可以通过类加载器和类的全路径名共同保证一个类的唯一性,保证了类加载的安全性。

类加载过程中会class文件的这个存储结构进行校验。比如刚才说的魔术,版本号。

包含后续的准备阶段,把我们静态变量初始化为它的一个原始值

解析阶段把这个class文件里边的符号引用转换为直接引用。

初始化阶段的clinit方法则把一个静态变量的值修改为用户的目标值。

所以这些操作都是基于class文件存储结构进行的一个信息提取,然后在进行一下步的动作。

而加载完成之后了这个class文件它不能仅仅以静态的class文件存储在服务器里,它需要被加载到jvm的方法区里。

当创建对象的时候,创建的对象数据是存储在堆里,而方法直接的调用,包括本地方法则会使用到虚拟机栈和本地方法栈。

程序计数器就是为我们的方法栈进行计数,目前程序执行到哪一块。

随着程序的执行,对象不断创建导致栈的使用率变大,这个时候就需要垃圾收集。针对不同的代,使用复制、标清、标理进行垃圾收集。针对不同的场景,选择不同的垃圾收集,针对具体的业务,设置一些具体的参数。整个阶段我两个部分是重要,

JVM调优

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/145082.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Openssl数据安全传输平台007:共享内存及代码的实现 ——待完善项目具体代码和逻辑

文章目录 0. 代码仓库1. 使用流程案例代码: 2. API解析2.1 创建或打开一块共享内存区2.2 将当前进程和共享内存关联到一起2.3 将共享内存和当前进程分离2.4 共享内存操作 -( 删除共享内存 ) 3. 思考问题3. ftok函数4. 共享内存API封装-以本项…

Jenkins+Ant+Jmeter接口自动化集成测试

一、Jenkins安装配置 1、安装配置JDK1.6环境变量; 2、下载jenkins.war,放入C:\jenkins目录下,目录位置随意; Jenkins启动方法: cmd进入Jenkins目录下,执行java -jar jenkins.war 浏览器输入:l…

KingBase库模式表空间和客户端认证(kylin)

库、模式、表空间 数据库 数据库基集簇与数据库实例 KES集簇是由单个KES实例管理的数据库的集合KES集簇中的库使用相同的全局配置文件和监听端口、共享相关的进程和内存结构同一数据库集簇中的进程、相关的内存结构统称为实例 数据库 数据库是一个长期存储在计算机内的、有…

【网络】HTTPS讲解(侧重于加密、秘钥、证书的讲解)

HTTPS讲解 前言正式开始安全HTTP和HTTPS的关系什么是加密和解密为什么要加密运营商劫持中间人 常⻅的加密⽅式对称加密⾮对称加密 数据摘要数字签名HTTPS 的⼯作过程⽅案 1 - 只使⽤对称加密(不可靠)⽅案 2 - 只使⽤⾮对称加密(不可靠&#x…

【React】高频面试题

1. 简述下 React 的事件代理机制? React使用了一种称为“事件代理”(Event Delegation)的机制来处理事件。事件代理是指将事件处理程序绑定到组件的父级元素上,然后在需要处理事件的子元素上触发事件时,事件将被委托给…

ScrapeKit 和 Swift 编写程序

以下是一个使用 ScrapeKit 和 Swift 编写的爬虫程序,用于爬取 图片。同时,我们使用了proxy 这段代码来获取代理。 import ScrapeKit ​ class PeopleImageCrawler: NSObject, ScrapeKit.Crawler {let url: URLlet proxyUrl: URL ​init(url: URL, proxy…

掌握Java中的volatile关键字

高速缓存 什么是高速缓存 高速缓存(Cache)是一种用于存储计算机数据的临时存储设备,用于加速数据访问速度,减少对主存储器(RAM)或磁盘的频繁访问。高速缓存通过将最常用的数据存储在更接近CPU的位置&…

数字孪生与智慧城市:重塑未来城市生活的奇迹

今天,我们将探讨数字孪生和智慧城市两个颠覆性技术,它们正引领着未来城市生活的巨大变革。随着科技的飞速发展,数字孪生和智慧城市成为实现可持续发展和提升居民生活质量的关键策略。 数字孪生:实现现实与虚拟的完美融合 数字孪生…

Linux进程与线程的内核实现

进程描述符task_struct 进程描述符(struct task_struct)pid与tgid进程id编号分配规则内存管理mm_struct进程与文件,文件系统 进程,线程创建的本质 clone函数原型线程创建的实现进程创建的实现 总结 进程描述符task_struct 进程描述符(st…

centos如何根据端口号查询程序路径

centos如何根据端口号查询程序路径 如果是半路接受的应用,上个人只给你说了程序的端口号,别的都没,那怎么找程序的路径哪?一是给上上个人要,二是自己找(我是自己找的) 小白教程,一…

【字符函数】

✨博客主页:小钱编程成长记 🎈博客专栏:进阶C语言 🎈相关博文:字符串函数(一)、字符串函数(二) 字符函数 字符函数1.字符分类函数1.1 iscntrl - 判断是否是控制字符1.2 i…

el-input单独校验

el-input单独校验,效果图如下 <el-col :span"24"><el-form-item label"修订次数:" prop"sPublish"><el-input-numberv-model"addForm.sPublish":min"0":controls"false":precision"0"p…