自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 4.1 Docker

一个 Java 代码,需要通过 mvn 编译,编译源码之后会生成 war 包或者 jar 包,可以把 jar 包启动,就可 以对外提供服务了(能正常访问页面,做操作)。打包 机制就不一样了,他很强,可以把我这个代码需要的 一切 ,包括 tomcat,jdk,甚至是 linux 文 件都 打包到一起。开发、运维、测试同事都都觉得自己没问题,总结的时候会相互撕,影响产品上线效率,最重要的是还影 响团队绩效,把你的钱蹭蹭的扣。运行时的性能快,管理操作(启动,停止,开始,重启等等) 都是以秒或毫秒为单位的。

2023-09-28 15:08:39 55

原创 3.3 Spring之Bean生命周期源码解析

实例化自动注入Aware对象初始化。

2023-09-04 13:18:35 45

原创 3.2 Spring之底层架构核心概念

在Spring的源码实现中,当我们new一个ApplicationContext时,其底层会new一个BeanFactory出 来,当使用ApplicationContext的某些方法时,比如getBean(),底层调用的是BeanFactory的 getBean()方法。​​​​​​​为什么要使用ASM技术,Spring启动的时候需要去扫描,如果指定的包路径比较宽泛,那么扫描的 类是非常多的,那如果在Spring启动时就把这些类全部加载进JVM了,这样不太好,所以使用了 ASM技术。

2023-08-29 13:22:27 48

原创 3.1 Spring底层核心原理解析

但都只是大致流程,。对于这三行代码应该,大部分同学应该都是比较熟悉,这是学习Spring的hello world。光看这三行代码,其实,也不能理解为什么需要ClassPathXmlApplicationContext和getBean()方法,随着课程的深入将会改变你此时的观念,而对于上面的这些疑问,也会随着课程深入逐步得到解决。对于这三行代码,你现在可以认为:如果你要用Spring,你就得这么写。就像你要用Mybatis,你就得写各种Mapper接口。

2023-08-14 10:36:58 35

原创 2.6 Fabric生产网络--docker部署

3 个 orderer 节点;组织 org1 , org1 下有两个 peer 节点, peer0 和 peer1;组织 org2 , org2 下有两个 peer 节点, peer0 和 peer1;

2023-08-09 16:15:10 140

原创 2.5 Fabric生产网络--二进制部署

编辑crypto-config.yaml中信息,搭建一个 3order+2org网络。根据config目录下的configtx.yaml生成。创建org1.peer0目录,拷贝相关文件进来。创建org1.peer1目录,拷贝相关文件进来。启动org1.peer1节点。启动orderer1节点。启动orderer2节点。编辑core.yaml。

2023-08-03 14:22:07 4007 1

原创 2.4 Fabric部署测试网络

wget https://dl.google.com/go/go1.19.4.linux-amd64.tar.gzwget https://github.com/hyperledger/fabric/releases/download/v2.2.0/hyperledger-fabric-linux-amd64-2.2.0.tar.gzwget https://github.com/hyperledger/fabric-ca/releases/download/v1.5.5/hyperledger-fabr

2023-07-26 17:10:40 206

原创 2.4 垃圾收集器

垃圾收集算法分代收集理论当前虚拟机的垃圾收集都采用分代收集算法,这种算法没有什么新的思想,只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。 比如在新生代中,每次收集都会有大量对象(近99%)死去,所以可以选择复制算法,只需要付出少量对象的复制成本就可以完成每次垃圾收集。而老年代的对象存活几率是比较高的,而且没有额外的空间对它进行分配担保,所以我们必须选 择“标记-清除”或“标记-整理”算法进行垃圾收集。注意,“标

2023-07-18 15:18:26 34

原创 2.3 JVM对象创建与内存分配机制

HotSpot虚拟机的对象头包括两部分信息,第一部分用于存储对象自身的运行时数据, 如哈希码(HashCode)、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等。对象头的另外一部分是类型指针,即对象指向它的类元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例。初始化零值之后,虚拟机要对对象进行必要的设置,例如这个对象是哪个类的实例、如何才能找到类的元数据信息、对象的哈希码、对象的GC分代年龄等信息。new指令对应到语言层面上讲是,new关键词、对象克隆、对象序列化等。

2023-07-17 18:33:57 37

原创 2.2 JVM内存模型刨析

12212。

2023-07-17 16:42:07 31

原创 2.1 类加载机制

自定义类加载器只需要继承 java.lang.ClassLoader 类,该类有两个核心方法,一个是 loadClass(String, boolean),实现了。

2023-07-15 18:06:12 31

原创 1.5 Innodb底层原理与Mysql日志机制

我们知道由于MySQL是开源的,他有非常多种类的客户端:navicat,mysql front,jdbc,SQLyog等非常丰富的客 户端,包括各种编程语言实现的客户端连接程序,这些客户端要向mysql发起通信都必须先跟Server端建立通信连 接,而建立连接的工作就是有连接器完成的。执行完成后,执行结果会被存入查询缓存中。开始执行的时候,要先判断一下你对这个表T有没有执行查询的权限,如果没有,就会返回没有权限的错误,如 下所示 (在工程实现上,如果命中查询缓存,会在查询缓存返回结果的时候,做权限验证)。

2023-07-15 15:58:55 29

原创 1.4 锁机制

MyISAM在执行查询语句SELECT前,会自动给涉及的所有表加读锁,在执行update、insert、delete操作会自动给涉及的表加写锁。InnoDB在执行查询语句SELECT时(非串行隔离级别),不会加锁。但是update、insert、delete操作会加行锁。另外,读锁会阻塞写,但是不会阻塞读。而写锁则会把读和写都阻塞。Innodb存储引擎由于实现了行级锁定,虽然在锁定机制的实现方面所带来的性能损耗可能比表级锁定会要更高一下,但是在整体并发处理能力方面要远远优于MYISAM的表级锁定的。

2023-07-12 18:17:21 75

原创 1.3 Mysql事务原理与优化

我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增 删改查操作,可能就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了事务隔离机制、锁机制、MVCC多版本并发控制隔离机制、日志机制,用一整套机制来解决多事务并发问题。接下来的,我们会深入讲解这些机制,让大家彻底理解数据库内部的执行原理。事务及其ACID属性事务是一组操作要么全部成功,要么全部失败,目的是为了保证数据最终的一致性。

2023-07-07 13:46:37 34

原创 1.2 Mysql索引优化实战

对于辅助的联合索引(name,age,position),正常情况按照最左前缀原则,SELECT * FROM employees WHERE name like 'LiLei%' AND age = 22 AND position ='manager' 这种情况只会走name字段索引,因为根据name字段过滤完,得到的索引行里的age和 position是无序的,无法很好的利用索引。

2023-07-03 16:59:51 34

原创 1.1 Explain工具介绍

使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈在select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL注意:如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中Explain分析示例参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/explain-output.html示例表:DROP TABLE IF

2023-07-03 11:45:55 31

原创 字符串常量池

s0还是常量池 中"zhuge”的引用,s1因为无法在编译期确定,所以是运行时创建的新对象”zhuge”的引用,s2因为有 后半部分 new String(”ge”)所以也无法在编译期确定,所以也是一个新创建对象”zhuge”的引用;所以此时的"a" + bb和"a" + "b"效果是一样的。分析:JVM对于字符串引用,由于在字符串的"+"连接中,有字符串引用存在,而引用的值在程序编译期是无法确定的, 即"a" + bb无法被编译器优化,只有在程序运行期来动态分配并将连接后的新地址赋给b。

2023-07-03 10:58:00 133

原创 2.5 JVM调优工具详解

类名称,[C is a char[],[S is a short[],[I is a int[],[B is a byte[],[[I is a int[][]事先启动一个web应用程序,用jps查看其进程id,接着用各种jdk自带命令优化应用。此命令可以用来查看内存信息,实例个数以及占用内存大小。

2023-06-30 10:01:43 77

原创 Fabric创建联盟+channel+组织结构

在fabric中联盟不能为空,必须包含一个组织机构,所有在创建联盟的时候必须有一个组织机构,能够添加进去,fabric中的联盟和通道是一对一的关系,联盟必须和通道channel并存,而所有的配置都是记录在区块中的,包括有哪些联盟,有哪些org,所以要添加联盟就必须修改区块中的数据,更新配置。向`configtx.yaml`的`Section: Profile`中创建Orderer创世区块的配置profile中添加新联盟(以TestConsortium联盟为例)

2023-06-27 15:47:47 797

原创 centos7安装fabric v1.4.0

1.1 修改机器 IP,变成静态 IP。

2023-06-27 13:29:15 235

ssh免安装工具,巨好用

ssh免安装工具,巨好用

2023-07-10

ssh工具,无需安装,方便快捷

ssh工具,无需安装,方便快捷

2023-07-07

基础信息智能合约自定义

基础信息智能合约自定义

2023-07-05

空空如也

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

TA关注的人

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