- 博客(34)
- 资源 (9)
- 收藏
- 关注
原创 带你轻松玩转DevOps
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具。大多数互联网公司都采用Jenkins配合GitLab、Docker、Kubernetes 作为实现 devops的核心工具。Jenkins最强大的就在于插件,Jenkins官方提供了大量的插件库,来自动化CI/CD过程中的各种琐碎功能。Jenkins最主要的工作就是将GitLab上可的工程代码拉取、构建、发布到测试环境或是生产环境。一般是GitLab上的代码经过大量的测试后,确定发行版本,再发布到生产环境。
2024-07-17 17:43:13
841
3
原创 Java网络编程
RPC(Remote Procedure Call ——远程过程调用),它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络的技术。服务消费方(client)以本地调用方式调用客户端存根;什么叫客户端存根?就是远程方法在本地的模拟对象,一样的也有方法名,也有方法参数,client stub接收到调用后负责将方法名、方法的参数等包装,并将包装后的信息通过网络发送到服务端;服务端收到消息后,交给代理存根在服务器的部分后进行解码为实际的方法名和参数;
2024-07-16 22:39:03
1050
原创 Spring WebFlux高阶实战
根据前面的代码,第一个发出的事件必须是与订阅相关的事件,紧跟其后的事件必须是 foo 和bar 字符串。最后, StepVerifier#expectCompletion 定义终止信号的存在。在此例中,必须是 Subscriber#onComplete 的调用,或者成功完成给定的 Flux。要执行验证,或者说对创建流进行订阅,就必须调用 .verify() 方法。verify() 是一个阻塞调用,它阻塞执行,直到流发出所有预期的事件。
2024-07-14 22:56:02
957
原创 Spring webflux基础核心技术
一、 用操作符转换响应式流1 、 映射响应式流元素转换序列的最自然方式是将每个元素映射到一个新值。Flux 和 Mono 给出了 map 操作符,具有 map(Function<T,R>) 签名的方法可用于逐个处理元素。当操作符将元素的类型从 T 转变为 R 时,整个序列的类型将改变。Flux.map() 的弹珠图index 操作符可用于枚举序列中的元素。该方法具有以下签名: Flux<Tuple2<Long,T >> index() 。time
2024-07-14 22:23:14
1690
1
原创 Argo CD入门、实战指南
Argo CD 被实现为 Kubernetes 控制器,它持续监控正在运行的应用程序并将当前的实时状态与所需的目标状态(如 Git 存储库中指定)进行比较。已部署的应用程序的实时状态与目标状态有偏差,则被视为已部署应用程序OutOfSync。Argo CD 报告并可视化差异,同时提供将实时状态自动或手动同步回所需目标状态的功能。对 Git 存储库中所需目标状态所做的任何修改都可以自动应用并反映在指定的目标环境中。
2024-07-09 16:21:06
4155
原创 Spring6.0新特性详解
JIT(Just-in-time) 动态编译,即时编译,也就是边运行边编译,也就是在程序运行时,动态生成代码,启动比较慢,编译时需要占用运行时的资源。
2024-07-06 19:53:32
1721
原创 Spring源码之事务实现分析
然后我们在上面的中看到了这个对象,通过字面含义是事务定义。我们来看看结构。也就是中定义了事务的传播属性和隔离级别,然后来看看具体的体系结构DefaultTransactionDefinition:是事务定义的默认实现DefaultTransactionAttribute:扩展了TransactionAttribute中的属性的实现@Transactional:该组件就会被解析加载为对应的对象。
2024-06-29 16:14:41
706
1
原创 Spring源码之AOP分析
本文我们开始讲解Spring中的AOP原理和源码,我们前面手写了AOP的实现,了解和自己实现AOP应该要具备的内容,我们先回顾下,这对我们理解Spring的AOP是非常有帮助的。
2024-06-29 16:06:19
970
原创 Spring源码之Bean实例化
首先我们来看看BeanDefinition的存放位置。因为Bean对象的实例化肯定是BeanFactory基于对应的BeanDefinition的定义来实现的,所以在这个过程中BeanDefinition是非常重要的,前面的课程讲解已经完成了BeanDefinition的定义。同时根据前面refresh方法的讲解我们知道了BeanFactory的具体实现是.所以BeanDefinition的相关信息是存储在的相关属性中的。
2024-06-29 15:45:51
478
原创 Spring源码之ApplicationContext
AbstractBeanDefinition我们可以称之为BeanDefinition的模板类。结构我们上面其实有梳理通过上面我们可以看到AbstractBeanDefinition 具备了 Bean元数据的获取和属性相关的操作。同时AbstractBeanDefinition的继承结构它主要用在spring内部的bean定义、把不同类型的bean定义合并成RootBeanDefinition(getMergedLocalBeanDefinition方法)。
2024-06-26 23:41:15
723
原创 Spring源码之Bean定义配置化
xml方式的流程如下:我们可以自己写一个解析器,专门来解析对应的xml文件需要定义的注解类要不要配置为Bean @ComponentBeanName Scope和Primary @Scope @Primary工厂方法 工厂Bean @Bean初始化方法、销毁方法 @PostConstruct @PreDestory构造参数依赖 @Autowired @Value属性依赖 @Qualifier。
2024-06-26 23:38:48
651
原创 Spring源码之手写DI
DI(Dependency injection)依赖注入。对象之间的依赖由容器在运行期决定,即容器动态的将某个依赖注入到对象之中。说直白点就是给Bean对象的成员变量赋值。在这里我们就需要明白几个问题。
2024-06-23 21:42:39
655
原创 JDK18特性
Java 18 在 2022 年 3 月 22 日正式发布,Java 18 不是一个长期支持版本,这次更新共带来 9 个新功能。
2024-06-21 22:53:46
1380
原创 JDK15特性
就是不能直接被其他class的二进制代码使用的class. 主要被一些框架用来生成运行时类,但是这些类不能被用来直接使用的,是通过反射来调用的比如JDK8中引入的lambda表达式,编译时不会将lambda表达式转换为专门的类,而是在运行时将相应的字节码动态生成相应的类对象另外使用动态代理也可以为某些类生成新的动态类。
2024-06-17 23:08:27
1098
原创 JDK14特性
Java Flight Recorder(JFR)是JVM的诊断和性能分析工具。JAVA14之前只能做离线的分析,现在可以做实时的持续监视它可以收集有关JVM以及在其上运行的Java应用程序的数据。JFR是集成到JVM中的,所以JFR对JVM的性能影响非常小,我们可以放心的使用它。一般来说,在使用默认配置的时候,性能影响要小于1%。JFR的历史很久远了。早在Oracle2008年收购BEA的时候就有了。JFR一般和JMC(Java Mission Control)协同工作。
2024-06-17 22:51:05
1144
原创 JDK13特性
2019年9月17日,国际知名的OpenJDK开源社区发布了Java编程语言环境的最新版本OpenJDK13。Features:总共有5个新的JEP(JDK Enhancement Proposals):Features:350:Dynamic CDS Archives:动态CDS档案351:ZGC: Uncommit Unused Memory:ZGC:取消使用未使用的内存353:Reimplement the Legacy Socket API:重新实现旧版套接字API。
2024-06-16 23:01:44
1147
原创 JDK12特性
上面介绍了 Java 12 中增强了 G1 垃圾收集器关于混合收集集合的处理策略,这节主要介绍在 Java 12 中同时也对 G1垃圾回收器进行了改进,使其能够在空闲时自动将 Java 堆内存返还给操作系统,这也是 Java 12 中的另外一项重大改进。目前 Java 11 版本中包含的 G1 垃圾收集器暂时无法及时将已提交的 Java 堆内存返回给操作系统。为什么呢?G1目前只有在full GC或者concurrent cycle(并发处理周期)的时候才会归还内存,由于这两个场景都是G1极力避免的,
2024-06-16 22:44:25
950
原创 JDK11特性
2018年9月26日,Oracle官方发布JAVA11.这是JAVA大版本周期变化后的第一个长期支持版本,非常值得关注.最新发布的JAVA11将带来ZGC HttpClient等重要特性,一共17个需要我们关注的JEP,参考文档具体的特性介绍。
2024-06-16 22:34:01
1075
原创 JDK10特性
2018年3月21日, Oracle官方宣布JAVA10正式发布JAVA9和java10 都不是 LTS (Long-Term-Support)版本.和过去的JAVA大版本升级不同,这两个只有半年左右的开发和维护时间. 而JAVA11 也是就是18.9,才是JAVA之后的第一个长期支持版本JAVA10 一共定义了109个新特性,其中包含JEP,对程序员来说,真正的新特性也就一个,还有一些新的API和JVM规范以及JAVA语言规范上的改动.
2024-06-16 22:29:32
847
原创 JDK8新特性
JDK8新特性 Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台内容介绍了解Java发展史Lambda表达式接口的增强函数式接口方法引用Stream APIOptional新时间日期API其他新特性一、Java发展历史1. Java的发展历史 Sun公司在1991年成立了一个称为绿色计划( Gre
2024-06-16 22:17:39
1518
原创 Kubernetes集群UI及主机资源监控
Kubernetes集群UI及主机资源监控通过dashboard能够直观了解Kubernetes集群中运行的资源对象,可以直接管理(创建、删除、重启等操作)资源对象
2024-06-14 16:54:43
967
原创 Kubernetes高可用集群二进制部署(Runtime Docker)
Kubernetes高可用集群二进制部署(Runtime Docker)Kubernetes(简称为:k8s)是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了资源调度、部署管理、服务发现、扩容缩容、监控,维护等一整套功能,努力成为跨主机集群的自动部署、扩展以及运行应用程序容器的平台。 它支持一系列容器工具, 包括Docker、Containerd等。
2024-06-14 16:46:55
1594
原创 网络模型及TCP连接过程
三次握手中有一个第二次握手,服务端向客户端应答请求,应答请求是需要客户端IP的,攻击者就伪造这个IP,往服务器端疯狂的发送第一次握手的内容,由于第一次握手中的客户端IP地址是伪造的,在服务端忙于进行第二次握手时,便不可能得到客户端的响应,直到超时,最终导致服务器端资源耗尽而死机。这种方法不停监视所有的连接,包括三次握手的,还有握手一次的,反正是所有的,当达到一定(与)阈值时拆除这些连接,从而释放系统资源。这种方法对于所有的连接一视同仁,不管是正常的还是攻击的,所以这种方式不推荐。
2024-02-27 09:54:00
907
原创 揭秘MySQL Undo日志
FIL_PAGE_UNDO_LOG页面我们前边唠叨表空间的时候说过,表空间其实是由许许多多的页面构成的,页面默认大小为16KB。
2024-02-22 01:46:01
823
bootstrap_ace_admin_v1.4.0
2017-09-26
bootstrap-admin-ace-v1.4.0
2017-09-26
linux shell知识集锦
2015-06-06
ORACLE从入门到精通+实战版+秦靖+机械工业出版社.pdf
2014-10-17
Delete SVN Folders.reg
2014-08-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人