首页 文章 精选 留言 我的

精选列表

搜索[优化],共10000篇文章
优秀的个人博客,低调大师

优化 Docker 体验,Docker Registry-V2 加入 OCI 促进行业标准化

本文首发自“Docker公司”公众号(ID:docker-cn)编译丨小东每周一、三、五 与您不见不散! 我们很高兴地宣布,Docker Registry HTTP API V2 规范将在 Open Container Initiative (OCI) 中采用。OCI由 linux 基金会进行管理,致力于制定容器化产业标准。Docker 团队很自豪地看到应用栈的另一个方面成为行业标准。正如我们对镜像格式所做的那样,我们很乐意作为 OCI 社区的一部分,正式与容器生态系统共享和协作。我们的分发协议是市场上所有容器注册管理机构的基础,它非常的强大,容器内容遍布全球。 这个协议是什么? 通过这个协议我们可以看到,Docker 核心功能之一就是能够上传和下载镜像。这个概念从创建最初的“Hello, World”容器开始就已经介绍给了每个用户,而且它占了 Docker 体验的很大一部分。我们时常坐在电脑前感叹这个神奇的概念,这种简单的能力很容易被人忽视其中大量的设计与思考。 当 Docker 首次发布时,团队就制定了 Image Registry 的协议,并很快投入使用。Image Registry 提供了一种可以跨机器存储镜像的通用服务。它可以让用户在一台机器上构建镜像,然后在另一台机器下载这个镜像,并在这台机器上运行该镜像。现在有一种很方便、快捷的方法拉取并运行整个软件。这个实现为 Docker Hub 提供动力,并最终实现开源(https://github.com/docker/docker-registry)。这个协议和它背后的实现最终被称为 V1 协议。许多镜像都可以被上传和下载,深受开发人员喜爱。 演 化 上传和下载镜像持续不断,但是随着用户用其他的 Registry 来使用 Docker 时,V1 协议的问题就出现了。问题的核心围绕着 Registry 之间共享身份的概念,以及与 Docker 实现的耦合度过紧。问题在于,如果一个 Docker 引擎从两个不同的 Registry 获取镜像,那么 Docker 引擎可能会对镜像的身份标签产生分歧。我们需要修改一些东西确保用户使用多个 Registry 时不会出现问题。 到 2014 年底,Docker 通过引入具有初始 API 结构的提案来解决这些问题。问题的关键是设计出具有 Content—addressable 的镜像,它允许 Registry 为镜像提供通用的身份标签,并去除镜像格式内部细节与 Docker 引擎之间的耦合性,从而使其能够独立发展。社区聚集在一起,就该提案提出了140条意见,并纳入了规范和实施。这一努力的结果是,在2015年春季发布了 Docker Registry 2.0,并在 Docker 1.6 版本中支持 GA。自此之后,Docker 社区就发展起来了,并一直致力于满足用户不断增长的需求。 下一步 随着 Docker 的普及,该协议已在整个行业中得到了广泛应用,并在各种各样环境中进行了测试。该协议与诸如签名和验证等补充技术相结合,就如同 Docker EE 一样。通过将此规范捐献给 OCI,我们可以确保容器体验的这一重要部分成为 OCI 官方标准。随着对分发规范提案的认可,该协议将作为 OCI 的一部分推动容器行业蓬勃发展。

优秀的个人博客,低调大师

十个网络优化改造案例之二- 办公大楼局域网组网案例

主要内容及技术 H3C交换机上架 配置业务VLAN和Trunk接口 配置管理VLAN 关键字:VLAN、Trunk、VRRP、静态路由 前言 为一个分支机构的12层办公大楼组建局域网,看起来好像很复杂,实际上考验的多半是体力活,其主要的工作重点就是把5台H3C 5120交换机和2台H3C S5800全部上架,配置管理VLAN和管理地址。另外,所有的业务网关全部做在H3C 5800上,然后再在H3C 5800上配置静态路由。对于这种交换网络,最核心的技术问题在于VRRP的规划和STP的规划,稍有不慎就可能导致这个网络变得非常脆弱。 一、需求描述 分支机构新落成了一处办公大楼,一共有12层。现在光纤、网线已经全部部署完毕,但是网络设备还没有上架。需要做的就是使用2台H3C 5800,5台H3C 5120和若干傻瓜交换机将整个大楼的网关给调通。 该分支机构一共有7个部门共181个信息点,每个部门的主机数量不超过30台。总部给该分支机构分配了10.111.229.0/24和10.111.230.0/24两大段IP地址,要求不同部门使用不同的IP网段。另外,必须为视频会议终端留出12个固定的IP地址。 管理IP地址的路由不能发布到总部自建的综合数据网中,仅供本大楼管理人员使用。 图例:H3C 5800交换机 配置24个SPF光口(编号Gi1/0/1-1/0/24),16个电口(编号Gi 0/0/1-0/0/16) 图例:H3C 5120交换机(配置24个电口Gi 0/0/1-24和4个SPF光口Gi0/0/25-28) 二、规划和设计阶段 2.1、网络结构规划 整个网络环境中一共只有7台可管理的交换机,所以这个网络结构相对来说比较简单。在拓扑图上需要体现出设备连接的接口,网线类型(光纤或双绞线)也需要标注出来。另外,交换机与交换机之间的连接线应优先考虑光纤接口。 网络接口规划表如下: 本端设备名称 本端接口 对端设备名称 对端接口 备注 H3C-5800-1 Gi 1/0/47 Core-LocalNet Gi 1/0/23 网络业务出口 Gi 1/0/48 H3C-S5800-2 Gi 1/0/48 心跳线 Gi 1/0/1 H3C-S5120-1 Gi 1/0/25 Gi 1/0/2 H3C-S5120-2 Gi 1/0/25 Gi 1/0/3 H3C-S5120-3 Gi 1/0/25 Gi 1/0/4 H3C-S5120-4 Gi 1/0/25 Gi 1/0/5 H3C-S5120-5 Gi 1/0/25 H3C-5800-2 Gi 1/0/47 Core-LocalNet Gi 1/0/24 网络业务出口 Gi 1/0/48 H3C-S5800-1 Gi 1/0/48 心跳线 Gi 1/0/1 H3C-S5120-1 Gi 1/0/26 Gi 1/0/2 H3C-S5120-2 Gi 1/0/26 Gi 1/0/3 H3C-S5120-3 Gi 1/0/26 Gi 1/0/4 H3C-S5120-4 Gi 1/0/26 Gi 1/0/5 H3C-S5120-5 Gi 1/0/26 规划图逻辑图如下: 2.2、IP地址和VLAN规划 根据之前的需求描述和所给出的两段/24的IP地址,可以认为IP地址是足够的,所以将IP地址平均分配为8段地址: VLAN ID 网段 默认网关 备注 101 10.112.229.0/26 10.112.229.1 部门1 102 10.112.229.64/26 10.112.229.65 部门2 103 10.112.229.128/26 10.112.229.129 部门3 104 10.112.229.192/26 10.112.229.193 部门4 105 10.112.230.0/26 10.112.230.1 部门5 106 10.112.230.64/26 10.112.230.65 部门6 107 10.112.230.128/26 10.112.230.129 部门7 108 10.112.230.192/26 10.112.230.193 视频会议终端 2.3、管理IP地址规划 要求管理IP地址的路由不能发布到公司自建的综合数据网中,仅供本大楼管理人员使用,所以管理IP地址可以采用172.16.0.1—172.16.0.7这段地址。这段地址在公司自检的综合数据网中是没有路由条目的。 根据事先的规划,将VLAN 99设置为管理VLAN 2.4、光纤和模块 本案例一共有7台设备,每台H3C 5120需要两个光模块,加上H3C S5800每台设备3个光模块(连接H3C 5120和综合数据网设备),一共需要16个光模块。由于在布线施工的时候只布放了单模光纤,所以这16个光模块也必须是单模光模块。 这里简单介绍一下区分单模光模块和多模光模块的方式: 1、H3C、华为的光模块从“拉手”的颜色可以区分,单模光模块为蓝色,多模光模块为黑色; 2、也可以看光模块上的标志,单模光模块用“SM”表示,多模光模块用“MM”表示。 3、带有“SPM”或者1310nm的必然是单模光模块。 三、实施阶段 3.1、设备上架阶段 在本案例中,设备上架纯属体力活。一台H3C 5120大概10kg,一台H3C 5800大概20kg左右。由于之前的前期施工已经准备好了机房,所以必须将H3C 5800和H3C 5120安装在距离较近的位置。另外,尽量不要让H3C 5800离综合数据网的设备太远。 最终的上架位置: 1、综合数据网的H3C 7505E原本就位于A1柜顶端在10U的位置 2、H3C 5800在A2柜 3、H3C 5120全部在A3柜 3.2、接入层设备配置 先配置H3C 5120的主机名: sysXX-Office-5120-A sysXX-Office-5120-B sysXX-Office-5120-C sysXX-Office-5120-D sysXX-Office-5120-E 业务VLAN一共有8个,平均配置在H3C 5120的24个电口上,各划分3个电口在一个VLAN内,然后再用傻瓜交换机去扩展: interfaceGi1/0/1 portlink-typeaccess portaccessvlan101 interfaceGi1/0/2 portlink-typeaccess portaccessvlan101 interfaceGi1/0/3 portlink-typeaccess portaccessvlan101 interfaceGi1/0/4 portlink-typeaccess portaccessvlan102 interfaceGi1/0/5 portlink-typeaccess portaccessvlan102 interfaceGi1/0/6 portlink-typeaccess portaccessvlan102 interfaceGi1/0/7 portlink-typeaccess portaccessvlan103 interfaceGi1/0/8 portlink-typeaccess portaccessvlan103 interfaceGi1/0/9 portlink-typeaccess portaccessvlan103 interfaceGi1/0/10 portlink-typeaccess portaccessvlan104 interfaceGi1/0/11 portlink-typeaccess portaccessvlan104 interfaceGi1/0/12 portlink-typeaccess portaccessvlan104 interfaceGi1/0/13 portlink-typeaccess portaccessvlan105 interfaceGi1/0/14 portlink-typeaccess portaccessvlan105 interfaceGi1/0/15 portlink-typeaccess portaccessvlan105 interfaceGi1/0/16 portlink-typeaccess portaccessvlan106 interfaceGi1/0/17 portlink-typeaccess portaccessvlan106 interfaceGi1/0/18 portlink-typeaccess portaccessvlan106 interfaceGi1/0/19 portlink-typeaccess portaccessvlan107 interfaceGi1/0/20 portlink-typeaccess portaccessvlan107 interfaceGi1/0/21 portlink-typeaccess portaccessvlan107 interfaceGi1/0/22 portlink-typeaccess portaccessvlan108 interfaceGi1/0/23 portlink-typeaccess portaccessvlan108 interfaceGi1/0/24 portlink-typeaccess portaccessvlan108 5台H3C 5120连接H3C 5800的光口配置为Trunk接口,允许通行业务VLAN和管理VLAN。 interfaceGi1/0/25 portlink-typetrunk porttrunkpermitvlan10110210310410510610710899 interfaceGi1/0/26 portlink-typetrunk porttrunkpermitvlan10110210310410510610710899 3.3、配置H3C 5800的二层接口、VLANIF、VRRP H3C5800与H3C 5120连接的光口配置为Trunk接口,允许通行业务VLAN和管理VLAN: interfaceGi1/0/1 portlink-typetrunk porttrunkpermitvlan10110210310410510610710899 interfaceGi1/0/2 portlink-typetrunk porttrunkpermitvlan10110210310410510610710899 interfaceGi1/0/3 portlink-typetrunk porttrunkpermitvlan10110210310410510610710899 interfaceGi1/0/4 portlink-typetrunk porttrunkpermitvlan10110210310410510610710899 interfaceGi1/0/5 portlink-typetrunk porttrunkpermitvlan10110210310410510610710899 H3C 5800-A上配置VLANIF和VRRP,将所有业务VLAN的主用设备都设置在H3C 5800-A上。 interfacevlan101 ipaddress10.112.229.2255.255.255.192 vrrpvrid101virtual-ip10.112.229.1 vrrpvrid101pri105 interfacevlan102 ipaddress10.112.229.66255.255.255.192 vrrpvrid102virtual-ip10.112.229.65 vrrpvrid102pri105 interfacevlan103 ipaddress10.112.229.130255.255.255.192 vrrpvrid103virtual-ip10.112.229.129 vrrpvrid103pri105 inerfacevlan104 ipaddress10.112.229.194255.255.255.192 vrrpvrid104virtual-ip10.112.229.193 vrrpvrid104pri105 interfacevlan101 ipaddress10.112.229.2255.255.255.192 vrrpvrid101virtual-ip10.112.229.1 vrrpvrid101pri105 interfacevlan102 ipaddress10.112.229.66255.255.255.192 vrrpvrid102virtual-ip10.112.229.65 vrrpvrid102pri105 interfacevlan103 ipaddress10.112.229.130255.255.255.192 vrrpvrid103virtual-ip10.112.229.129 vrrpvrid103pri105 inerfacevlan104 ipaddress10.112.229.194255.255.255.192 vrrpvrid104virtual-ip10.112.229.193 vrrpvrid104pri105 interfacevlan105 ipaddress10.112.230.2255.255.255.192 vrrpvrid101virtual-ip10.112.230.1 vrrpvrid101pri105 interfacevlan106 ipaddress10.112.230.66255.255.255.192 vrrpvrid102virtual-ip10.112.230.65 vrrpvrid102pri105 interfacevlan107 ipaddress10.112.230.130255.255.255.192 vrrpvrid103virtual-ip10.112.230.129 vrrpvrid103pri105 inerfacevlan108 ipaddress10.112.230.194255.255.255.192 vrrpvrid104virtual-ip10.112.230.193 vrrpvrid104pri105 H3C 5800-B上配置VLANIF和VRRP interfacevlan 101 ipaddress 10.112.229.3 255.255.255.192 vrrpvrid 101 virtual-ip 10.112.229.1 vrrpvrid 101 pri 100 interfacevlan 102 ipaddress 10.112.229.67 255.255.255.192 vrrpvrid 102 virtual-ip 10.112.229.65 vrrpvrid 102 pri 100 interfacevlan 103 ipaddress 10.112.229.131 255.255.255.192 vrrpvrid 103 virtual-ip 10.112.229.129 vrrpvrid 103 pri 100 inerfacevlan 104 ipaddress 10.112.229.195 255.255.255.192 vrrpvrid 104 virtual-ip 10.112.229.193 vrrpvrid 104 pri 100 interfacevlan 105 ipaddress 10.112.230.3 255.255.255.192 vrrpvrid 101 virtual-ip 10.112.230.1 vrrpvrid 101 pri 100 interfacevlan 106 ipaddress 10.112.230.67 255.255.255.192 vrrpvrid 102 virtual-ip 10.112.230.65 vrrpvrid 102 pri 100 interfacevlan 107 ipaddress 10.112.230.131 255.255.255.192 vrrpvrid 103 virtual-ip 10.112.230.129 vrrpvrid 103 pri 100 inerfacevlan 108 ipaddress 10.112.230.195 255.255.255.192 vrrpvrid 104 virtual-ip 10.112.230.193 vrrpvrid 104 pri 100 3.4、配置H3C5800的生成树 由于H3C设备不支持思科的PVST,所以生成树的模式只能采用MSTP;之前让H3C 5800-A担任了所有业务VLAN的主用设备,所以H3C 5800-A还需要担任所有VLAN的根桥: H3C 5800-A的配置 stpregion-configuration region-name XX-Office instance 1 vlan 101 to 108 active region-configuration stpinstance 1 prio 0 H3C 5800-B的配置 stpregion-configuration region-name XX-Office instance 1 vlan 101 to 108 active region-configuration stpinstance 1 prio 4096 3.5、配置管理IP地址 管理IP地址规划请参见2.3小节 H3C 5800-A interfacevlan 99 ipaddress 172.16.0.1 255.255.255.0 H3C 5800-B interfacevlan 99 ipaddress 172.16.0.2 255.255.255.0 H3C 5120-A interfacevlan 99 ipaddress 172.16.0.3 255.255.255.0 H3C 5120-B interfacevlan 99 ipaddress 172.16.0.4 255.255.255.0 H3C 5120-C interfacevlan 99 ipaddress 172.16.0.5 255.255.255.0 H3C 5120-D interfacevlan 99 ipaddress 172.16.0.6 255.255.255.0 H3C 5120-E interfacevlan 99 ipaddress 172.16.0.7 255.255.255.0 在配置好管理IP地址以后,为所有的设备开启telnet远程访问,并设置远程登录的用户名和密码: local-userAdmin service-type telnet authen level 3 user-interfacevty 0 4 protocol inbound telnet authen scheme telnetserver enable 四、后记 本次局域网组网案例比较简单,整个组网过程中用到的技术有VLAN、Trunk、STP VRRP等,都是基本的网络技术。至于后期这个大楼需要如何规划路由,这个我并没有去实地参与,如果你有兴趣的话,可以自己尝试规划一下。

优秀的个人博客,低调大师

Android官方开发文档Training系列课程中文版:布局性能优化之布局复用

原文地址:http://android.xsoftlab.net/training/improving-layouts/reusing-layouts.html 尽管Android提供了种类繁多的常用控件,但是有时你可能希望重用一些比较复杂的布局。如果要重用这些布局,可以使用< include/>标签与< merge/>标签,它们可将一个布局嵌入进另一个布局中。 可重用布局这项功能特别强大,它可以使你创建那些复杂的可重用布局。比方说,可以用来创建一个含有yes和no按钮的容器或者一个含有progressBar及一个文本框的容器。它还意味着程序可以对这些布局进行单独控制。所以,虽然说你可以通过自定义View的方式来实现更为复杂的UI组件,但是重用布局的方法更简便一些。 创建一个可重用的布局 如果你已经知道哪一个布局需要重用,那么就创建一个新的xml文件用来定义这个布局。下面就定义了一个ActionBar的布局文件,众所周知,ActionBar是会在每个Activity中统一出现的: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=”match_parent” android:layout_height="wrap_content" android:background="@color/titlebar_bg"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/gafricalogo" /> </FrameLayout> 使用< include/>标签 在希望添加重用布局的布局内,添加< include/>标签。下面的例子就是将上面的布局加入到了当前的布局中: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width=”match_parent” android:layout_height=”match_parent” android:background="@color/app_bg" android:gravity="center_horizontal"> <include layout="@layout/titlebar"/> <TextView android:layout_width=”match_parent” android:layout_height="wrap_content" android:text="@string/hello" android:padding="10dp" /> ... </LinearLayout> 你也可以重写布局的参数,但只仅限于以android:layout_*开头的布局参数。就像下面这样: <include android:id=”@+id/news_title” android:layout_width=”match_parent” android:layout_height=”match_parent” layout=”@layout/title”/> 如果你要重写< include>标签指定布局的布局属性,那么必须重写android:layout_height及android:layout_width这两个属性,以便使其它属性的作用生效。 使用< merge>标签 在将一个布局内嵌进另一个布局时,< merge>标签可以帮助消除冗余的View容器。举个例子,如果你的主布局是一个垂直的LinearLayout,在它的内部含有两个View,并且这两个View需要在多个布局中重用,那么重用这两个View的布局需要有一个root View。然而,使用单独的LinearLayout作为这个root View会导致在一个垂直的LinearLayout中又嵌了一个垂直的LinearLayout。其实这个内嵌的LinearLayout并不是我们真正想要的,此外它还会降低UI性能。 为了避免出现这种冗杂的View容器,你可以使用< merge>标签作为这两个View的root View: <merge xmlns:android="http://schemas.android.com/apk/res/android"> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/add"/> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/delete"/> </merge> 那么现在再使用这个布局的时候,系统会自动忽略< merge>标签,并会将两个Button View直接加入到布局< include/>标签所指定的位置。

优秀的个人博客,低调大师

Redis 8.8 正式 GA:新数据结构 Array、窗口计数器 INCREX 与多项查询优化

Redis 8.8 已正式 GA,这是 Redis 开源版本在 8.8 分支的重要里程碑。相比 8.6,8.8 引入了多项实质性新特性和改进,覆盖数据结构、查询能力与运行时可观测性多个维度。 Array 新数据结构由 Redis 之父 Salvatore Sanfilippo(@antirez)贡献,首次为 Redis 核心引入了原生的数组类型。这一数据结构的加入填补了 Redis 在有序集合与列表之外对纯数组类型的空白场景需求,开发者可以在不使用序列化 JSON 的前提下直接存储和操作数组结构,降低了内存开销并提升了访问效率。 INCREX 是本次最受关注的命令之一——一个将 INCR、INCRBY、INCRBYFLOAT 与边界控制、过期时间融合在一起的窗口计数器速率限制命令。在 INCREX 出现之前,实现滑动窗口限流通常需要借助 Redis 的有序集合或 Lua 脚本手动编排,逻辑复杂且性能受限。INCREX 将这一常见需求封装为单一命令,开发者只需一条指令即可完成"时间段内计数 + 上限判断 + 自动过期"的完整限流逻辑。据 Redis 团队透露,INCREX 在高并发场景下的吞吐量相比基于 Lua 脚本的实现提升约 40%,同时降低了开发者的心智负担。该命令由 @raffertyyu 与 Redis 团队共同贡献。 流处理方面,XNACK 命令允许消费者显式释放 pending 消息,解决了此前 Streams 消费组模型中消息一旦被 PENDING 就难以转移给其他消费者的历史痛点。在微服务架构中跨实例迁移消费任务时,这一特性将显著简化运维复杂度。此外,ZUNION 和 ZINTER 系列命令新增了 COUNT 聚合器,支持在一次命令调用中完成并集/交集后的数量统计,而无需再额外执行 ZCARD,减少了网络往返次数。 在 JSON 模块方面,JSON.SET 新增 FPHA 参数,允许用户指定同构浮点数数组的精度类型,在处理时序数据或传感器数据时能够进一步压缩存储空间。TS.RANGE 及相关命令则支持在单条命令内指定多个聚合函数,一次查询即可获取多种粒度的统计结果。 性能层面,RediSearch 模块的 FT.HYBRID KNN 查询新增参数以控制每个分片的候选集数量,帮助开发者在精度与性能之间做更精细的权衡。FT.PROFILE 也新增了对 HYBRID 查询模式的支持,进一步完善了查询分析能力。 值得注意的还有二进制分发层面的变化。Redis 8.8 正式引入了 Alpine 和 Debian 官方 Docker 镜像,并在 Snap、Homebrew、RPM、Debian APT 等主流包管理渠道上线安装包,使得在不同操作系统上的部署流程更加标准化。 Bugfix 方面相对 8.8-RC1 共修复了 4 个关键问题:INCREX 语法修正、运行时内存追踪开启(非集群模式)、多 shard 命令执行时集群拓扑变更处理,以及 RDB 加载时的内存泄漏问题。 Redis 8.8 在测试支持层面覆盖了 Ubuntu 22.04 至 26.04、Rocky Linux 8.10 至 10.1、AlmaLinux 8.10 至 10.1、Debian 12.13 至 13.4、Alpine 3.23,以及 macOS 14.8.4 至 26.3(Intel 与 ARM 双架构),生态完整性进一步提升。 下载地址 & 发布说明:https://github.com/redis/redis/releases/tag/8.8.0

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册