自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Docker学习-05-Docker常用命令

使用命令docker pull命令即可从 Docker Registry上下载镜像,执行该命令后,Docker会从 Docker Hub中的 java仓库下载最。docker ps 类似于Linux系统的ps命令,查看正在运行的容器,如果想查看没有运行的容器,需要在此命令后使用–all。使用以下docker run命令即可新建并启动一个容器,该命令是最常用的命令,它有很多选项,下面将列举一些常用的选项。该命令只能删除已停止的容器,如需删除正在运行的容器,可使用-f参数强制删除所有容器。

2024-06-04 20:09:07 739

原创 Docker学习-04-容器管理工具 Docker架构及部署

用于存储已生成容器运行模板的仓库,用户使用时,可直接从容器镜像仓库中下载容器镜像,即容器运行模板,就可以运行容器镜像中包含的应用了。Docker Daemon客户端工具,用于同Docker Daemon进行通信,执行用户指令,可部署在Docker Host上,也可以部署在其它主机,能够连接到Docker Daemon即可操作。由容器镜像生成,用于应用程序运行的环境,包含容器镜像中所有文件及用户后添加的文件,属于基于容器镜像生成的可读写层,这也是应用程序活跃的空间。安装Docker-ce版本。

2024-05-30 14:18:55 1120

原创 Docker学习-03-容器技术所涉及Linux内核关键技术(了解)

很多编程语言都包含了命名空间的概念,我们可以认为命名空间是一种封装,封装本身实际上实现了代码的隔在操作系统中命名空间命名空间提供的是系统资源的隔离,其中系统资源包括了:进程、网络、文件系统…实际上linux系统实现命名空间主要目的之一就是为了实现轻量级虚拟化服务,也就是我们说的容器,在同一个命名空间下的进程可以感知彼此的变化,而对其他命名空间的进程一无所知,这样就可以让容器中的进程产生一个错觉,仿佛它自己置身于一个独立的系统环境当中,以此达到独立和隔离的目的。

2024-05-30 11:12:12 889

原创 Docker学习-02-应用部署容器化演进之路(了解)

虚拟机采用虚拟化技术手段实现物理服务器计算资源打包的方式,为应用程序提供类物理服务器运行环境能够实现应用程序与应用程序之间的隔离使用自动化技术部署应用程序及应用程序迁移较方便可横向扩展容器容器是轻量级物理服务器计算资源的打包方式,即轻量级虚拟机,为应用程序提供类虚拟机运行环境。可在物理服务器中实现高密度部署容器与虚拟机对比对比属性容器(Container)虚拟机(VM)隔离性基于进程隔离提供资源的完全隔离启动时间毫秒级或秒级秒级或分钟级内核共用宿主机内核。

2024-05-30 10:45:07 562

原创 容器与Docker学习-01-前言

DevOps是一种将开发和运维团队协同工作的文化和实践,旨在提高软件开发和交付的效率和质量。总的来说,DevOps是大的理念,CI/CD是实现这个理念的一种手段。公司项目目前都是部署在容器里,而且公司的DevOps已经十分成熟了,有专门的团队在做。我感觉不能只停留在使用,了解底层原理势在必行。作为开发来说,有些知识点可能不需要深入学习,适可而止,先把整体脉络弄清楚,对于不需要重点学习的部分在文中也会标记。目前对Docker了、K8s只是停留在概念上的了解,希望通过学习后,对容器有个更深入的认识。

2024-05-30 10:28:22 136

原创 Java泛型的继承

【代码】Java泛型的继承。

2024-05-27 17:39:58 59

原创 SpringBoot+AbstractRoutingDataSource实现多数据源以及事务处理

spring框架中,spring-jdbc模块提供了AbstractRoutingDataSource,其内部可以包含了多个DataSource,然后在运行时来动态的访问哪个数据库。这种方式访问数据库的架构图如下所示:应用直接操作的是AbstractRoutingDataSource的实现类,告诉AbstractRoutingDataSource访问哪个数据库,然后由AbstractRoutingDataSource从事先配置好的数据源(ds1、ds2)选择一个,来访问对应的数据库。

2024-04-27 12:11:12 833 1

原创 AspectJ @annotation和@within区别

within:这个表达式的含义是匹配所有在特定注解的类中的方法,不管这个方法本身有没有这个注解。例如,@within(com.foo.MyAnnotation)将匹配所有在带有@MyAnnotation注解的类中的方法。例如,@annotation(com.foo.MyAnnotation)将匹配所有带有@MyAnnotation注解的方法。而@within是针对类的,只要类上有这个注解,那么这个类中的所有方法都会匹配,不管这些方法本身有没有这个注解。这是AspectJ的切点表达式,用于定义一个切点。

2024-04-22 16:19:20 458 1

原创 SpringCloud Gateway获取并传递请求体body

在SpringMVC编程中要想在过滤器或者拦截器获取到请求体body,进行一些操作(比如进行验签),需要自定义RequestWrapper extends HttpServletRequestWrapper对Request进行包装,否则你在过滤器里面读取了请求body后,controller就获取不到body了,因为body是输入流,流只能读取一次。在SpringCloud Gateway中,有同样的需求。

2023-12-16 23:02:53 701

原创 Java int类型底层存储&原码&反码&补码

Java的原始类型里没有无符号类型,c语言int类型表示有符号整型,unsigned int无符号整型int占4个字节,每个字节8位,占32位,取值范围 -231-1,有32个0-1的二进制位。左起第一位是符号位, 0表示正数,1表示负数 其余后面31位是数值位。数字0的表示: 按照上面提到的符号,有两种0的表示方法,即“+0”和“-0”。实际上,在32位系统下int类型中,计算机已经强行规定数字0采用“+0”的表示方法,即00000000 00000000 00000000;

2023-12-16 20:14:30 392

原创 设计模式之【策略模式】(java实现)

策略模式(strategy pattern)的原始定义是:定义一系列算法,将每一个算法封装起来,并使它们可以相互替换。策略模式让算法可以独立于使用它的客户端而变化。在软件开发中,经常会遇到这种情况,开发一个功能可以通过多个算法去实现,我们可以将所有的算法集中在一个类中,在这个类中提供多个方法,每个方法对应一个算法,或者我们也可以将这些算法都封装在一个统一的方法中,使用if…else…等条件判断语句进行选择。但是这两种方式都存在硬编码的问题,后期需要增加算法就需要修改源代码,这会导致代码的维护变得困难。

2023-12-01 18:01:30 437

原创 声明式Http客户端

项目中使用声明式http客户端

2023-11-25 00:48:33 393

原创 用原生java给第三方提供SDK的简洁实现

java实现开放平台SDK,开放平台SDK实现思路

2023-11-25 00:35:58 505

原创 JDK自带Md5工具类

java自带,不用引入第三方包,生成MD5

2023-11-24 23:54:49 413

原创 Java int类型底层存储&原码&反码&补码

Java的原始类型里没有无符号类型,c语言int类型表示有符号整型,unsigned int无符号整型int占4个字节,每个字节8位,占32位,取值范围 -231-1,有32个0-1的二进制位。左起第一位是符号位, 0表示正数,1表示负数 其余后面31位是数值位。数字0的表示: 按照上面提到的符号,有两种0的表示方法,即“+0”和“-0”。实际上,在32位系统下int类型中,计算机已经强行规定数字0采用“+0”的表示方法,即00000000 00000000 00000000;

2023-11-20 21:41:18 100

原创 java打印int类型的二进制格式

思路:我们看到的十进制 int a = 2;与2(的二进制)进行与(&)32次,这一系列“探针”数字有个特点就是,第n个“探针”和2与之后,如果是1说明2的二进制当前位是1,如果是0说明2的当前位是0。for循环里每次num和1右移i位进行与操作,i从31开始,每次减减,一直到0,正好是32位,这就是上面说的32个探针,去探测num的当前位是0还是1。-2的二进制是:11111111111111111111111111111110 ,左起第一位是符号位是1表示负数,后面31位是2的二进制取反加一。

2023-11-20 21:37:51 73

原创 poi操作word学习

1,引入maven依赖。

2023-11-12 15:32:09 47

空空如也

空空如也

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

TA关注的人

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