自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

姜虹影的博客

不积跬步,无以至千里;不积小流,无以成江海

  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 java项目构建和依赖管理工具

java项目构建工具

2024-02-20 14:05:09 467

原创 云原生-service mesh / istio

在当今云原生应用的世界中,微服务架构已经成为构建可伸缩和灵活系统的主流方式。然而,随着微服务数量的增加,服务间的通信变得更加复杂。这时,Service Mesh应运而生。Service Mesh是一种基础架构层,用于处理服务间通信,提供了对微服务架构的可观察性、控制性和安全性的全面支持。微服务架构是一种通过将应用程序划分为小的、相对独立的服务来构建系统的方法。每个服务都有自己的数据存储和通信机制,并且可以通过API与其他服务通信。微服务的好处包括更容易扩展、独立部署和维护。

2023-12-29 19:37:56 1071

原创 OceanBase知识集

解析sql生成执行计划。

2023-12-13 17:08:20 469

原创 UML统一建模语言

用例图:系统与外部参与的的。定时图:强调实际时间。

2023-07-04 10:23:19 241

原创 工作流引擎

开发低代码平台、OA系统、BPM软件均需要流程可视化功能,而流程可视化核心是流程引擎和流程设计器。有些业务需要人工多级或者多人协同审批等。常见的流程引擎有:osworkflow、jbpm、activiti、flowable、camunda推荐使用camunda(流程引擎)+bpmn-js(流程设计器)组合,camunda在功能方面比flowable、activiti流程引擎强大,性能和稳定性更突出。

2023-03-31 18:05:33 951

原创 生成式AI科普文

是一种利用算法自动生成、操纵或合成数据的技术。

2023-03-23 14:44:12 598

原创 VUE知识集

vue基础知识

2023-03-05 10:51:12 125

原创 云原生-kubernetes

kubernetes

2022-07-11 19:00:54 786

原创 云原生-docker

云原生 docker

2022-07-05 11:31:48 409

原创 动态规划算法-从01背包问题谈起

动态规划算法

2022-06-05 18:18:43 181

原创 递归穷举&进制转换

穷举递归进制转换

2022-06-05 09:53:10 348

原创 前端知识集

ECMAScriptECMAScript是ECMA标准化组织标准化的一种脚本设计语言,是规范javaScript是ECMAScript最主流的实现,javaScript以ECMAScript为核心,另外还有BOM(浏览器对象模型)/DOM(文档对象模型)ECMAScript第六版在2015年发布,即ES6。JavaScript的官方名称为ECMAScript 2015es6新特性:参考文章const/let变量声明字符串格式化(字符串支持变量${})箭头函数(=>)函

2022-05-11 17:06:25 226

原创 消息队列MQ

消息队列理论作用流量削峰:削峰填谷异步处理:将同步请求转换为异步,并且请求放入队列后,可以有多个消费者消费,提升整体的响应时间服务解耦:服务方只需要把消息放入消息队列,下游谁需要就由谁订阅,下游系统的增减,不影响服务方。(openStack整个服务间的交互全都采用mq,默认rabbitMq)基本概念两种模型队列模型(Quene):一个队列可以有多个生产者和消费者。但消费者之间是竞争关系,每条消息只能被一个消费者所消费。RabbitMq采用队列的方式解决一条消息被多个消费者接收,是通过Ex

2022-04-17 23:03:42 2704

原创 spring cloud知识集

注册中心Eureka原理说明参考文章Eureka是Netflix开源的用于微服务间注册发现的注册中心,用于实现服务的自动注册与发现,去中心化服务调用。ap模型包含Eureka-server/client两部分,c/s架构。微服务通过eureka-client,与server保持心跳,client可以获取到server端的服务列表,server端可以监控client的是否正常服务注册、服务续约、获取注册列表、服务下线、服务剔除过程:client启动时,会向server进行注册,ser

2022-04-11 16:50:59 556

原创 架构知识集

微服务目的图描述系统复杂度与效率间的关系,复杂度不高的情况下,单体架构相比微服务架构有着更好的效率,随着复杂度的提升,单体架构的效率会急剧下降,微服务架构的下降不明显,两条线的交叉点为临界点,复杂度高于临界点系统,可以采用微服务架构的建设思路,否则则会增加复杂度。1. 设计开发角度、代码管理、团队自治2. 部署角度,资源、容错隔离、与计算3. 扩展性,扩展热点服务,按需扩展4. 方法对业务的深刻理解、行业交流、业务建模(ddd、五级模型)原则单一职责开闭原则粒度适中边界清晰,数

2022-04-10 19:00:02 763

原创 数据库连接池

基本知识享元模式 避免数据库连接频繁的创建、销毁带来的性能损耗常见的数据库连接池druid原理druid连接的创建、可用性检查、释放、获取等过程原理配置参考文章com.alibaba.druid.pool.DruidDataSource//url 用户名 密码 驱动//初始化连接数initialSize//最大连接数maxActive//最小连接数minIdle//获取连接最大的等待时间(若配置,则默认使用公平锁,可通过useUnfairLock=true使用非公平

2022-04-10 18:40:43 756

原创 网络协议介绍

TCP/IP协议参考文档server端收到client发送的syn请求,将连接放入请求队列,发送syn/ack请求,等待client 响应ack,此时处于半连接状态(SYN_RCVD状态),收到client ack后,状态变为establish,此时进入到socket的accept()方法。四次挥手断开连接保证server的数据能完整传输给clientclient time_wait状态会经过2MSL(最大报文段生存时间)才能返回到CLOSE状态,如果立即关闭,新建立的连接有可能会使用刚断开的

2022-02-08 22:37:52 996

原创 mysql知识集

mysql 索引

2022-01-18 14:14:42 651

原创 spring系列源码简要分析

springiocaopspring mvc

2022-01-11 09:24:28 275

原创 密码技术&国密

国密ssl过程揭秘 AnolisOS 国密生态,想要看懂这一篇就够了 · SOFAStack【国密算法那点事儿】解读DES和SM4、RSA和SM2及SM3-CA认证服务机构-数字证书|电子签名|电子签章|数据加密|时间戳|信息安全产品...

2021-09-30 17:29:18 208

原创 处理器架构

复杂指令集(CISC)和精简指令集(RISC) cpu从发明至今,有很多架构,但从最基本的逻辑角度来分类,被分为CISC和RISC两类复杂指令集(CISC):每个指令可执行若干个低阶操作,诸如内存读取、计算、写入等操作,全部全部集于单一指令中。指令集庞大、复杂。CISC的指令集中,大约有20%的指令被频繁使用,占整个程序代码的80%,而剩余80%的指令只占程序代码的20% 精简指令集(RISC):精简指令集设计思路对指令数目和寻址方式都做了精简,使其实现更容易,指令并行执行程度更好...

2021-09-30 11:19:06 111

原创 Java基础知识&工具用法

总体描述clone()方法是Java Object对象的protected方法,可供子类调用以实现子类的克隆逻辑,但不能直接调用;clone()方法是jdk的native实现,实现了对象的按位拷贝,Object对象只能实现对象的浅层复制,即克隆出的对象中若存在引用对象,则原对象和克隆对象中的引用对象指向同一块存储地址,若改变应用对象内的属性(注意不是改变应用对象的引用本身),则克隆对象和被克隆对象会被同时修改;若要实现对象的深层复制,则在调用Object的clone()完成浅层复制后,还需要依次处理克

2021-04-08 16:09:54 2277

原创 java多线程(线程池)

线程池​ 管理线程的资源池,可以复用线程,不用频繁的创建新线程,节省线程开销的资源损耗,节省资源,提高响应速度。主要概念:核心线程、阻塞队列、非核心线程、空闲时间、饱和策略。​线程池执行过程Created with Raphaël 2.2.0提交任务核心线程池是否已满?阻塞队列(:任务队列)是否已满?线程池是否已满(是否可以创建非核心线程)?饱和策略创建非核心线程执行任务任务添加到阻塞队列创建核心线程执行任务yesnoyesnoyesnoJUC线程管理ThreadPoolExecutor《阿

2020-10-28 20:44:29 1726

原创 JVM知识集

jvm内存结构参考文章:link对象实例化过程参考文章:link

2020-10-15 17:36:00 355

原创 优秀博客搜集保存

微服务阐述:https://www.jianshu.com/p/0a3e959ecb81可供中小团队参考的微服务架构技术栈https://www.infoq.cn/article/china-microservice-technique/saga分布式事务解决方案https://servicecomb.apache.org/cn/docs/distributed-transactions...

2020-04-26 18:45:53 235 1

原创 mybatis总结

mybatismybatis拦截器参考文档[mybatis拦截器介绍](https://www.cnblogs.com/fangjian0423/p/mybatis-interceptor.html)功能介绍:允许拦截的方法及说明:Executor (update, query, flushStatements, commit, rollback, getTransaction,...

2020-04-16 18:46:55 141 1

原创 Spring Boot注解

注解使用注解主要是可以带有一些元数据信息,注解本身没有任何的处理。他的处理逻辑是需要其他的一些代码作为配合。有四个元注解是用来定义注解的。A注解上的其他注解B,若C上注入A,则B的功能也会激活。(待确认)Spring boot注解importimport注解会把类或者配置类的对象交由spring io容器接管。spring 功能激活模式通过注解+切面自动激活:切面指定...

2020-03-23 17:10:09 142 1

原创 数据库锁问题排查

Oracle:awr->alert->trance日志1、查看哪些会话锁了哪些表select l.session_id,o.owner,o.object_namefrom v$locked_object l,dba_objects owhere l.object_id=o.object_id;2、查询锁表的会话信息select s.username,s.sid,s....

2020-02-13 21:49:55 711

原创 函数式编程、函数式接口、兰姆达表达式、方法引用、stream

package com.example.demo;import org.assertj.core.util.Lists;import javax.sound.midi.SysexMessage;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.func...

2019-08-12 19:52:09 422 1

原创 java 23种开发模式

https://www.cnblogs.com/wangzhongqiu/p/6245820.html

2018-08-27 16:57:02 703

原创 java代理模式

代理模式:指客户端并不直接调用实际的对象,而是通过调用代理,来间接的调用实际的对象。应用代理对象的原因:客户端不想直接访问实际的对象,或者访问实际的对象存在困难,或者想为被代理对象透明的添加一些功能,如事务、日志等。实现方式:       1.静态代理:一个委托类对应一个代理类,代理类在编译期间就已经确定:       2.动态代理:代理类并不是在Java代码中实现,而是在运行时期...

2018-07-30 15:41:14 122

原创 Spring xml xmlns xsi:schemalocation

xml的定义有两种约束方式:dtd、xsdspring采用xsd约束xml的格式,在xml的头部(beans 的属性)中引入命名空间和xsd文件;Spring提供了可扩展Schema的支持,如Dubbo就有自己的schema 文件。 xmlns用于定义命名空间,xmlns=""为默认命名空间;xmlns:xx可以自定义命名空间,xx叫命名空间的前缀,xml文件中的元素,以xx开头表...

2018-07-25 10:57:15 339

原创 SPRING缓存的应用

我们编写的spring中的组件一般是无状态的,这样扩展性更好。这样会引起相同的功能可能被一遍遍执行(如数据库中同一个参数的查询,相同的计算逻辑多次使用(可能还是远程调用)),但每次执行的结果是相同的。因此我们需要将结果记录,下次请求时直接返回,这就需要用到spring缓存。 spring本身并没有提供缓存解决方案,但对缓存功能提供了声明式的支持(javaconfig、注解、xml配置...

2018-07-09 18:30:19 561 1

TestLamda.java

函数式编程、函数式接口、兰姆达表达式、方法引用、stream

2019-08-12

空空如也

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

TA关注的人

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