自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 k8s学习

每个Pod中都包含一个或者多个容器每个Pod都会有的一个根容器,作用:①评估整个Pod的健康状况②可以在根容器上设置IP地址,其它容器都共享此IP(Pod的IP),以实现Pod内部的网络通信Pod资源清单查询某种资源清单的一级属性:kubectl explain 资源类型查看某种资源可以配置的子属性:kubectl explain 资源类型.属性。

2024-03-28 20:30:00 1173

原创 docker进阶

FROM:基础镜像,当前镜像是基于哪个镜像的,指定一个已经存在的镜像作为模版,第一条必须是fromMAINTAINER:镜像维护者的姓名和邮箱地址RUN:容器构建需要运行的命令shell格式:RUN <命令行命令>:等同于终端操作的shell命令exec格式:RUN ["可执行文件",“参数1”,“参数2”]EXPOSE:当前容器对外暴露端口WORKDIR:指定在创建容器后,终端默认登录进来的工作目录,一个落脚点。

2024-03-12 09:33:55 701

原创 嵌入式系统

人工智能芯片的定义:从广义上讲只要能够运行人工智能算法的芯片都叫作AI芯片。但是通常意义上的AI芯片指的是针对人工智能算法做了特殊加速设计的芯片,现阶段,这些人工智能算法一般以深度学习算法为主,也可以包括其他机器学习算法。串行总线:数据是一位一位地进行传输的,在传输中每一位数据都占据一个固定的时间长度。人工智能芯片四大类(按技术架构分类):GPU,FPGA(现场可编程门阵列),ASIC(专用集成电路),类脑芯片。(总线通常是半双工的)嵌入式数据库的特点:嵌入式、实时性、移动性、伸缩性。

2024-03-10 19:23:32 585

原创 Linux学习

Action;

2024-03-07 19:24:28 658

原创 计算机系统基础

计算机系统:硬件软件,软件包括系统软件和应用软件特殊的操作系统。

2024-03-04 20:39:15 449

原创 安全架构设计理论与实践

被动攻击:收集信息为主,破坏保密性主动攻击:主动攻击的类别主要有:中断(破坏可用性)、篡改(破坏完整性),伪造(破坏真实性)

2024-02-19 19:47:30 1611

原创 信息安全技术基础知识

对社会秩序和公共利益造成特别严重损害,或对国家安全造成严重损害。信息摘要:单向散列函数(不可逆,抗弱碰撞性)、固定长度的散列值。对公民、法人和其他组织权益有严重损害,或损害社会秩序和公共利益。信息安全的范围包括设备安全、数据安全、内容安全和行为安全。对社会秩序和公共利益造成严重损害,或对国家安全造成损害。安全措施的目标:访问控制、认证、完整性、审计、保密。摘要用途:确保信息(完整性),防篡改。对公民、法人和其他组织权益有损害。计算机信息系统安全保护等级。常用算法:MD5,SHA。国家安全造成特别严重损害。

2024-02-16 19:45:10 509

原创 系统可靠性分析与设计

对于程序中存在的错误和不一致性,通过在程序中包含错误检查代码和错误恢复代码(try-catch),使得一旦错误发生,程序能撤销错误状态,恢复到一个已知的正确状态中去。N版本程序的同步、N版本程序之间的通信、表决算法(全等表决、非精确表决、Cosmetie表决)、一致比较问题、数据相异性。与通常软件开发过程不同的是,N版本程序设计增加了三个新的阶段:相异成分规范评审、相异性确认、背对背测试。可靠性:软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。双机模式是集群的前身。

2024-02-16 14:32:33 223

原创 架构设计特训

解释视图的输入,将其解释为系统能够理解的对象,同时识别用户运作,将其解释为对模型特定方法的调用。处理来自于模型的事件和模型逻辑执行的结果,调用适当的视图为用户提供反馈。云计算是集合了大量计算设备和资源,对用户屏蔽底层差异的分布式处理架构,其用户与提供实际服务的计算资源是相互分离。服务是一种为了满足某项业务需求的操作、规则等的逻辑组合,它包含一系列有序活动的交互,为实现用户目标提供支持。用户访问层:方便用户使用云计算服务所需的各种支撑服务,针对每个层次的云计算服务都需要提供相应的访问接口。

2024-02-04 21:05:41 754

原创 SQL Server之DML触发器

(3)将inserted和deleted采用左连接,通过case when来判断,如果inserted字段的值不等于deleted中的值,说明指定指定有更新,然后更新标志为@upflag=1。触发器,他们的作用都是在更新或更新后对表中数据操作,那么更新的旧数据该保存到哪里呢,sqlserver提供了两张临时表inserted 和 deleted 表。(2)定义了一个局部变量,@upflag来标志更新的字段是否在指定的字段内。执行insert语句后,触发触发器,输出的条数是。

2024-02-04 16:46:28 1093

原创 软件架构设计

而且即使它知道事件注册了哪些构件的过程,它也不能保证这些过程调用的顺序;由于过程的语义必须依赖于被触发事件的上下文约束,关于正确性的推理就存在问题。ADL是一种形式化语言,它底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。很难找到一个合适的、正确的层次抽象方法;优点:良好的重用性,只要接口不变可用在其他处;特点:各个层次的组件形成不同功能级别的虚拟机;架构风格定义了用于描述系统的术语表和一组指导构建系统的规则。视角与视图:从不同的视角来检查,所以会有不同的视图。

2024-01-29 21:18:26 770

原创 案例分析技巧-软件工程

(1)用例图:描述一组用例、参与者以及它们之间的关系;状态图:是对类描述的补充。通信图是交互图,它强调对象之间存在的消息收发关系,而不专门突出这些消息发送的时间消息。顺序图是一个交互图,它强调了对象之间消息发送的顺序,同时显示对象之间的交互。、顺序图、通信图、状态图、活动图、定时图、交互概览图。、对象图、构件图、部署图、制品图、包图、组合结构图。类图:类图描述一组类、接口、协作和它们之间的关系。活动图里的节点表示是活动,状态图的节点表示的是状态。定时图(交互图):也是交互图,用于展示交互过程中的。

2024-01-28 19:36:39 463

原创 软考之项目管理

质量保证(QA)一般是每隔一定时间(例如,每个阶段末)进行的,主要通过系统的质量审计和过程分析来保证项目的质量。产品配置是指一个产品在其生命周期各个阶段所产生的各种形式(机器可读或人工可读)和各种版本的。a.计算ES、EF:从网络计划起点节点开始,沿箭线方向依次向前推算,数值取大。可变成本会随着销售数量的变化而变化,但是可变成本与销售额的比例是不变的。关键工作与关键线路的判定:总时差最小的工作是关键工作。已管理级(L2):项目可重复(建立了项目级的控制过程)当Tc=Tp时:a.TF=0的工作是关键工作;

2024-01-27 19:00:13 488

原创 springboot的服务定位模式

getObject返回的ParserFactory的代理对象,生成动态代理方式是采用JDK代理,主要关注invoke方法,ServiceLocatorFactoryBean的内部类,实现类接口InvocationHandler。在afterPropertiesSet主要给ServiceLocatorFactoryBean的成员变量proxy赋值,生成代理对象,其中接口就是我们前面的ParserFactory。Parser接口的实现类有JSONParser,CSVParser。在该工厂方法的参数是一个枚举。

2024-01-24 20:23:25 517

原创 软考之软件工程

一、瀑布模型 严格区分阶段,每个阶段因果关系紧密相连,只适合需求明确的项目缺点:软件需求完整性、正确性难确定;严格串行化,很长时间才能看到结果;瀑布模型要求每个阶段一次性完全解决该阶段工作,不现实。二、原型模型适合需求不明确的项目原型模型两个阶段:1、原型开发阶段 2、目标软件开发阶段抛弃型原型与演化型原型三、原型及相关模型四、V模型五、迭代与增量增量型:一块一块有增加迭代型:一轮一轮在变好六、螺旋模型七、构件

2024-01-22 21:17:37 618

原创 软考之系统工程与信息系统基础

按功能分:水平原型(界面)、垂直模型(复杂算法);特点开发目标清晰化、工作阶段程式化、开发文档规范化、设计方法结构化、应变能力差。抽象级别:操作(低)->服务(中)->业务流程(高)探索性研究 -> 概念阶段 -> 开发阶段->生产阶段->使用阶段->保障阶段->退役阶段。自底向上,特点阶段界限不明,更好应变、更好复用,符合人们的思维习惯。七步骤:认识问题、根底定义、建立概念模型、比较及探寻、选择、设计与实施、评估与反馈。分为四个原则:整体论原则、相互联系原则、有序性原则、动态原则。工程、医药、建筑……

2024-01-19 21:01:45 430

原创 微服务技术要点

4.动态获取配置,@RefreshScope可以动态刷新配置,@Value获取配置,如果配置中心和当前应用都配置相同的数据,优先使用配置中心的。默认的配置是在public下的,想要使用特定环境下的配置,需要在bootstrap.properties指定该环境的命名ID。1.下载nacos,修改nacos启动模式为单机模式,另外需要在环境变量配置JAVA_HOME,否则启动不起来。(3)配置分组:默认所有的配置分组是DEFAULT_GROUP。(4)加载多个配置文件,配置如下,序号从0,1,2,....

2024-01-14 10:37:05 632

原创 win10安装虚拟机

然后使用vagrant reload重启虚拟机,使用vagrant ssh连接虚拟机 ,然后使用ip addr查看地址。使用vagrant init centos/7 安装centos7,然后使用vagrant up启动一个虚拟环境。修改Vagrantfile文件的配置,定制固定ip,这个IP地址是通过ipconfig命令查看的。下载完重启电脑,在命令窗口输入vagrant有提示则安装成功。安装成功使用vagrant ssh连接虚拟机。通过查询vagrant的官方镜像。,要开启cpu虚拟化,无脑安装。

2024-01-01 18:48:46 434

原创 java核心技术卷1——泛型

一、类型变量的限定<T extends BoundingType>表示T应该是绑定类型的子类型(subtype)。T和绑定类型可以是类,也可以是接口。 一个类型变量或通配符可以有多个限定,例如T extends Comparable & Serializable,限定类型用“&”分隔,而逗号用来分隔类型变量。 可以根据需要拥有多个接口超类型,但限定中至多有一个类。如果用一个类作为限定,它必须是限定列表中的第一个。 为了提高效率,应该将标签(tagging)接口(即

2023-12-21 16:11:41 896

原创 Java性能权威指南

元空间保存了类元数据(不是类对象),并且表现得像一个单独的堆,元空间的初始大小可以基于所有类都加载之后的使用量来设置,这会稍微加快启动速度,定义并丢弃大量类的应用程序,在元空间被填满且旧的类被删除时,偶尔会发生Full GC。但同时,老年代相对会更小,它被填满的频率会更高,会执行更多的Full GC。-XX:+PrintGCDetails标志将创建包含更多信息的详细日志,在结合用-XX:+PrintGCTimeStamps或-XX:+PrintGCDateStamps,这样可以确定GC操作之间的时间。

2023-12-13 11:00:45 770

原创 Vue2基础阶段笔记

自定义指令第一种写法:new Vue({ directives:{指令名:回调函数} })这种方式调用时机:1.指令与元素成功绑定时 2.指令所在模板被重新解析时自定义指令第二种写法:new Vue({ directives: { 指令名:配置对象 } })指令与元素成功绑定时调用bind函数指令所在元素被插入页面时调用inserted函数指令所在模板被重新解析时update函数定义全局指令:Vue.directive(指令名,配置对象) 或 Vue.directive(指令名,回调函数)

2023-12-09 20:06:57 908

原创 《高性能MySQL》的重要知识点

一个事务必须被视为一个不可分割的工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚。对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性。一个事务可以看到其他事务在它开始之后提交的修改,但在该事务提交之前,其所做的任何修改对其他事务都是不可见的。在READ UNCOMMITTED级别,在事务中可以查看其他事务中还没有提交的修改。3. MySQL根据优化器生成的执行计划,调用存储引擎的API来执行查询。一个事务所做的修改在最终提交以前,对其他事务是不可见的。

2023-12-08 13:50:19 937

原创 Promise学习笔记

Promise的all接收一个数组参数,返回一个Promise对象,当所有的Promise对象都是成功的,最终的结果是成功的Promise。返回一个状态为resolve的Promise对象,受参数影响,该方法将一个普通的值转成Promise对象。then方法在请求成功会执行第一个回调方法,执行失败会回调第二个方法,返回仍然是一个Promise对象。async修饰的函数返回一个Promise对象,Promise对象的状态由返回值决定。如果返回一个非Promise对象,则会得到一个成功的Promise对象。

2023-11-12 18:46:42 48

原创 AJAX 学习笔记

使用AJAX发生post请求,我们准备一个html页面,然后声明一个div标签,完成的功能主要是鼠标划过div标签,采用AJAX发送请求,将响应内容呈现在div里。我们在页面里准备一个button标签,然后在准备一个div标签,完成的功能是点击button,使用AJAX向服务端请求数据,将服务端返回的数据呈现在div标签里。此时还是不能接收自定义请求头,前端还会发送一个options请求来校验这个请求头是否可用,此时可以将服务端的post请求改成all,可以接收任何请求。

2023-11-07 19:47:12 151

原创 windows后台运行java的jar包

注意%%a是个变量,在批处理脚本需要写两个%,在cmd命令窗口只需要写一个%具体dos语法可参考。

2023-09-27 18:05:48 638

原创 Spring的AOP源码解读

以上抒写内容来源于《spring源码深度分析》,其实分析源码,我本人更希望从宏观到细节,想先搞清楚为什么这样写,用了什么设计模式,自己哪里可以借鉴,可是本人能力有限,目前还做不到,只能写看书理一下代码思路,记录一下关键点。

2023-09-22 11:45:26 33

原创 Spring的循环依赖

循环依赖就是循环引用,就是两个或多个bean相互之间的持有对方,比如TestA引用TestB,TestB又引用TestA,则它们最终反映为一个环。如图。

2023-09-20 20:42:19 33

原创 Spring的bean生命周期

在创建AbstractAutowireCapableBeanFactory.createBean中,在调用doCreateBean之前,会调用InstantiationAwareBeanPostProcessor.postProcessBeforeInstantiation方法。BeanFactoryPostProcessor在AbstractApplicationContext.invokeBeanFactoryPostProcessors会调用所有的BeanFactoryPostProcessor。

2023-09-19 14:30:23 42

原创 Spring之IOC实现原理

1. 首先委托BeanDefinitionDelegate类的parseBeanDefinitionElement方法进行元素解析,返回BeanDefinitionHolder类型的实例bdHolder,经过这个方法后,bdHolder实例已经包含我们配置文件中配置的各种属性了,例如class、name、id、alias之类的属性。2. 当返回的bdHolder不为空的情况下若存在默认标签的子节点下再有自定义属性,还需要再次对自定义标签进行解析。,为此,要采用在系统属性里添加。这张方式是读取不到的,因为。

2023-09-18 11:07:09 32

原创 CSS笔记

(2)可以margin-x可以和x一起使用,x为left、right、top、bottom。(4)加固定定位的元素变成定位元素,特点是默认宽高被内容撑开,且能自由设置宽高。浮动后,后面的兄弟元素,会占据浮动之前的位置,不能撑起父元素高度,但子元素仍受宽影响。(5)脱离文档流,对后面的兄弟元素,父元素有影响。(1)固定定位的参考点是视口。(3)固定定位和浮动不能共存。(1)结构伪类first-child。(2) 结构伪类nth-child。(3)不常用的结构伪类。(2)16进制表示法。(1)文本颜色、间距。

2023-09-10 17:15:36 32

原创 Mybatis插件原理

(1)拦截器链,在InterceptorChain类中通过一个List对象维护所有的拦截器实例,在InterceptorChain的pluginAll()方法中,会调用所有拦截器实例的plugin()方法,该方法返回一个目标对象的代理对象。定义一个拦截器,需要实现Interceptor接口,重写intercept方法,执行拦截逻辑,该方法需要一个Invocation类的对象,Invocation封装了目标类、目标方法和方法参数,可以调用目标方法。(3)Invocation类。(2)编写分页拦截器。

2023-09-08 15:34:35 19

原创 Mybatis的缓存源码解读

二级缓存是namespace级别的,不依赖sqlSession,我们制定,配置文件会被解析成唯一的Configuration类的对象,而Configuration维护一个Map<String, MappedStatement> mappedStatements变量,每一个sql节点会被解析成唯一的MappedStatement对象,MappedStatement维护了一个缓存对象Cache,故而二级缓存是namespace级别的。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。

2023-09-07 17:03:15 40

原创 Mybatis之动态代理生成Mapper

为了创建SqlSession对象,首先需要创建SqlSessionFactory对象,而SqlSessionFactory对象的创建依赖于SqlSessionFactoryBuilder类,该类提供了一系列重载的build()方法,我们需要以主配置文件的输入流作为参数调用SqlSessionFactoryBuilder对象的bulid()方法,该方法返回一个SqlSessionFactory对象。MapperMethod中封装了Mapper接口中对应方法的信息,以及对应SQL语句的信息。

2023-08-17 16:53:01 429

原创 HTML笔记

DOCTYPE html> 表示h5的版本,在文件的第一行。lang=zh-CN代表简体中文。

2023-08-06 20:27:03 34

转载 反射的桥接方法isBridge()

3) 泛型是在1.5引入的,为了向前兼容,所以会在编译时去掉泛型(泛型擦除)。那么SuperClass接口中的method方法的参数在虚拟机中只能是Object。桥接顾名思义,就是为了兼容java的jdk之前的版本,对于泛型,是在jdk1.5引入的,那之前的版本该如何兼容呢?5) 根本就没有实现 void method(Object t) 方法。这怎么回事,其实虚拟机自动实现了一个方法。6)通过javap -p AClass.class 反编译class文件,如下,豁然开朗。2)定义该接口的实现类。

2023-08-03 08:37:04 67

原创 Doris集群部署

启动FE节点 bin/start_fe.sh --daemon --helper leader-ip:port --daemon,这里只有第一次启动需要加--helper leader-ip:port,来指定leader节点的ip和端口号,后面就不需要了。添加FE(FOLLOWER )节点 ALTER SYSTEM ADD FOLLOWER "fe_host:edit_log_port"启动fe bin/start_fe.sh --daemon。) 连接到 FE,只有一台FE时,默认启动是leader。

2023-07-29 17:20:15 1386

原创 代理模式介绍

目录一、概念二、结构 三、静态代理 四、动态代理4.1 JDK动态代理4.1.1 代码演示4.1.2 原理4.1.3 源码解读 4.2 cglib动态代理 4.2.1 代码演示4.2.2 源码解读4.3 javassist动态代理4.3.1 代码演示4.3.2 原理分析五、总结 六、参考博文四、动态代理4.1 JDK动态代理4.1.1 代码演示4.1.2 原理根据Arthas获得生成的代理类4.1.3 源码解读 Proxy.newProxyInstance解读

2023-07-29 11:48:20 60

原创 虚拟机安装centos7跳过创建普通用户

首先ctrl+alt+f2进入命令行界面登陆root账号 yum remove gnome-initial-setup.x86_64 执行init 3 执行init 5 登陆root用户即可

2023-07-28 10:07:35 973

原创 RabbitMQ学习笔记

​​​​​​​。

2023-06-24 21:52:35 221

原创 Redis学习笔记

当有N个,长度为250~253字节之间的entry时,此时entry的previous_entry_length属性采用一个字节存储,当插入一个比较大(超过254)的数据时,导致一个字节无法记录前一个entry长度,会导致多次的连续空间扩展,效率极低,发生概率极低。查询时,数据key不是和节点绑定,而是和插槽绑定,redis会根据key的有序部分(key包含{}里的字符,没有{}当前key都是有效部分),利用CRC16算法得到一个hash值,然后对16384取余,得到结果为slot值。

2023-06-23 13:52:39 333

空空如也

空空如也

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

TA关注的人

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