当前位置: 首页 > news >正文

【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 的未来:从微服务到云原生的演进

 <前文回顾>

点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshare=blogcolumn&sharetype=blogcolumn&sharerId=12907601&sharerefer=PC&sharesource=FoyoDesigner&sharefrom=from_link

<今日更新>

一、引子:Spring Boot 的“前世今生”

Spring Boot 这玩意儿,从诞生到现在,已经成了 Java 开发界的“扛把子”。你说它是个框架吧,它又像个“工具箱”,里头啥都有,随用随取。你说它是个“工具箱”吧,它又像个“保姆”,帮你把那些繁琐的配置都搞定了。反正就是,用了 Spring Boot,你就跟“开了挂”似的,开发效率蹭蹭往上涨。

不过,这玩意儿也不是一成不变的。从最早的“单体应用”到现在的“微服务”,Spring Boot 一直在“进化”。今儿个咱就唠唠,Spring Boot 的未来是啥样的,咋从微服务走向云原生。

二、微服务:Spring Boot 的“第一春”

微服务这玩意儿,说白了就是把一个大的应用拆成一堆小的服务。每个服务都独立运行,互相之间通过 API 通信。这样一来,应用就变得“灵活”了,哪儿出问题修哪儿,不用“一刀切”。

1. Spring Boot 咋支持微服务?

Spring Boot 天生就适合搞微服务。为啥这么说呢?因为它把那些繁琐的配置都搞定了,你只需要关注业务逻辑就行。比如,你想搞个 RESTful API,只需要这么写:

Java Code

@RestController

public class MyController {

    @GetMapping("/hello")

    public String hello() {

        return "Hello, World!";

    }

}

就这么几行代码,一个简单的 RESTful API 就搞定了。你要是用别的框架,光配置就得写半天。

2. Spring Cloud:微服务的“全家桶”

Spring Boot 虽然适合搞微服务,但光靠它还不够。你还得解决服务发现、负载均衡、配置管理等问题。这时候,Spring Cloud 就派上用场了。

Spring Cloud 是 Spring 家族里的一个“全家桶”,里头啥都有。比如,你想搞服务发现,可以用 Eureka[1];想搞负载均衡,可以用 Ribbon[2];想搞配置管理,可以用 Config[3]。

举个例子,你想用 Eureka 搞服务发现,只需要这么配置:

Yml Code

spring:

  application:

    name: my-service

eureka:

  client:

    service-url:

      defaultZone: http://localhost:8761/eureka/

然后启动应用,服务就自动注册到 Eureka 上了。

3. 微服务的坑

微服务虽然好,但也有坑。最大的坑就是“分布式系统的复杂性”。你说你拆了一堆服务,结果服务之间互相调用,出了问题都不知道是哪儿出的。这不就跟“拆东墙补西墙”似的,越拆越乱。

另外,微服务的部署也是个问题。你说你拆了一堆服务,结果每个服务都得单独部署,运维成本蹭蹭往上涨。这不就跟“搬起石头砸自己的脚”似的,越搞越累。

三、云原生:Spring Boot 的“第二春”

云原生这玩意儿,说白了就是把应用搬到云上,利用云计算的特性,提高应用的弹性和可扩展性。Spring Boot 作为 Java 开发界的“扛把子”,自然也得跟上这个潮流。

1. 容器化:Docker 和 Kubernetes

云原生的第一步就是容器化。容器化说白了就是把应用打包成一个“集装箱”,里头啥都有,随用随取。Docker[4] 是容器化的“扛把子”,Kubernetes[5] 是容器编排的“扛把子”。

Spring Boot 天生就适合搞容器化。为啥这么说呢?因为它把那些繁琐的配置都搞定了,你只需要关注业务逻辑就行。比如,你想把 Spring Boot 应用打包成 Docker 镜像,只需要这么写:

dockerfile Code

FROM openjdk:11-jre-slim

COPY target/my-app.jar /app/my-app.jar

ENTRYPOINT ["java", "-jar", "/app/my-app.jar"]

然后运行 docker build 命令,镜像就搞定了。

2. 服务网格:Istio

云原生的第二步就是服务网格。服务网格说白了就是在服务之间加一层“代理”,负责处理服务之间的通信。Istio[6] 是服务网格的“扛把子”。

Spring Boot 虽然适合搞微服务,但光靠它还不够。你还得解决服务之间的通信问题。这时候,Istio 就派上用场了。

举个例子,你想用 Istio 搞服务之间的通信,只需要这么配置:

Yml Code

apiVersion: networking.istio.io/v1alpha3

kind: VirtualService

metadata:

  name: my-service

spec:

  hosts:

  - my-service

  http:

  - route:

    - destination:

        host: my-service

        subset: v1

然后启动应用,服务之间的通信就自动交给 Istio 处理了。

3. 云原生的坑

云原生虽然好,但也有坑。最大的坑就是“复杂性”。你说你搞了一堆容器,结果容器之间互相调用,出了问题都不知道是哪儿出的。这不就跟“拆东墙补西墙”似的,越拆越乱。

另外,云原生的运维也是个问题。你说你搞了一堆容器,结果每个容器都得单独管理,运维成本蹭蹭往上涨。这不就跟“搬起石头砸自己的脚”似的,越搞越累。

四、Spring Boot 的未来:从微服务到云原生

Spring Boot 的未来是啥样的?说白了就是从微服务走向云原生。为啥这么说呢?因为云原生是未来的趋势,Spring Boot 作为 Java 开发界的“扛把子”,自然也得跟上这个潮流。

1. Spring Native:云原生的“新武器”

Spring Native 是 Spring 家族里的一个“新武器”,专门用来搞云原生。它能把 Spring Boot 应用编译成原生镜像,提高应用的启动速度和内存使用效率。

举个例子,你想用 Spring Native 搞原生镜像,只需要这么写:

bash

复制

mvn spring-boot:build-image

然后运行 docker run 命令,原生镜像就搞定了。

2. Spring Cloud Kubernetes:云原生的“全家桶”

Spring Cloud Kubernetes 是 Spring 家族里的一个“全家桶”,专门用来搞云原生。它能把 Spring Boot 应用和 Kubernetes 集成起来,提高应用的可扩展性和弹性。

举个例子,你想用 Spring Cloud Kubernetes 搞服务发现,只需要这么配置:

Yml Code

spring:

  cloud:

    kubernetes:

      discovery:

        all-namespaces: true

然后启动应用,服务就自动注册到 Kubernetes 上了。

3. 未来的坑

Spring Boot 的未来虽然光明,但也有坑。最大的坑就是“复杂性”。你说你搞了一堆云原生的东西,结果出了问题都不知道是哪儿出的。这不就跟“拆东墙补西墙”似的,越拆越乱。

另外,云原生的运维也是个问题。你说你搞了一堆云原生的东西,结果每个东西都得单独管理,运维成本蹭蹭往上涨。这不就跟“搬起石头砸自己的脚”似的,越搞越累。

专有名词解释

  1. Eureka:Spring Cloud 提供的一个服务发现组件,用于微服务架构中的服务注册与发现。
  2. Ribbon:Spring Cloud 提供的一个客户端负载均衡组件,用于微服务架构中的负载均衡。
  3. Config:Spring Cloud 提供的一个配置管理组件,用于微服务架构中的集中配置管理。
  4. Docker:一个开源的容器化平台,用于将应用打包成容器镜像。
  5. Kubernetes:一个开源的容器编排平台,用于管理容器化应用的部署、扩展和运维。
  6. Istio:一个开源的服务网格平台,用于管理微服务架构中的服务通信。
  7. Spring Native:Spring 家族中的一个项目,用于将 Spring Boot 应用编译成原生镜像,提高启动速度和内存使用效率。
  8. Spring Cloud Kubernetes:Spring 家族中的一个项目,用于将 Spring Boot 应用与 Kubernetes 集成,提高应用的可扩展性和弹性。

写在最后

身为一个中古程序猿,我有很多自己想做的事情,比如埋头苦干手搓一个低代码数据库设计平台(目前只针对写java的朋友),已经在找朋友内测了,比如很喜欢帮身边的朋友看看简历,讲讲面试技巧,毕竟工作这么多年,也做到过高管,有很多面人经历,意见还算有用,大家基本都能拿到想要的offer...

我深刻意识到,能自由做自己喜欢的事情是有多么不容易,又是多么有成就感。所以我拉了两三个志同道合的好友,开了一间公司,继续朝着“自由”的目标前进。

当下呢,我们希望有更多的朋友能够参与到产品的测试中来,体验并且给出更好的建议。未来可能会在博客po更多关于我们产品的内容,包括使用场景、说明、课程等,希望能对大家有所帮助。

另外,想整个花活儿,每天花个1-2小时,来帮助我素未谋面的老朋友们看看简历,提提意见啥的,纯属为爱发电。我在线时间不固定,但是不要米,咱就别要自行车儿了呗~如果您有兴趣,可以点击文章底部卡片一起交流(人工回复,比较慢,请担待)。

最后,请大家持续关注我们的博客,未来还有很多栏目,一起发掘~!

(来呀~↓↓↓~老铁)

相关文章:

【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 的未来:从微服务到云原生的演进

<前文回顾> 点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、引子&…...

保留格式地一键翻译英文ppt

我手头上有一个贝叶斯推断的英文ppt&#xff0c;假如我想翻译成中文&#xff0c;整合起来进行pre&#xff0c;你会怎么做&#xff1f; 1&#xff0c;复制粘贴型&#xff1a; 在翻译软件与源文件ppt之间不断流转&#xff0c;效率太低 2&#xff0c;office ppt自带翻译插入整合…...

晶晨S905L3S/S905L3SB_安卓9.0_10秒开机_通刷-线刷固件包

晶晨S905L3S&#xff0f;S905L3SB_安卓9.0_10秒开机_通刷-线刷固件包 线刷方法&#xff1a;&#xff08;新手参考借鉴一下&#xff09; 使用晶晨刷机工具USB_Burning_Tool进行刷机&#xff1b;请使用Amlogic USB Burning Tool v2.2.5或v2.2.7&#xff08;晶晨线刷烧录工具v2.2…...

Android Transition转场动效使用全解析

Transition的使用和原理 项目效果 1. 简述 Android 4.4.2 中引入了 Transition 过渡动画&#xff0c;不过功能比较简单。在 Android 5.0 的 Material Design 中引入更完整和强大的 Transition 框架。通过Transition可以实现&#xff1a; 同一个页面中的场景过渡动画Activit…...

第九章Python语言高阶加强-面向对象篇

目录 一.初始对象 二.成员方法 1.成员变量和成员方法 三.类和对象 四.构造方法 五.其他内置方法&#xff08;魔术方法&#xff09; 1.__str__字符串方法 2.__lt__小于符号比较方法 3.__le__小于等于比较符号方法 4.__eq__比较运算符实现方法 六.封装 七.继承 1.继承…...

AI重构SEO关键词智能布局

内容概要 随着人工智能技术在搜索引擎优化领域的深入发展&#xff0c;AI驱动的关键词智能布局正在重塑传统SEO策略的核心逻辑。通过整合自然语言处理、深度学习与语义分析技术&#xff0c;现代SEO系统已形成包含智能分词、意图解码、动态优化的三维技术框架&#xff0c;使关键…...

言同数字:法新社AFP海外新闻媒体发稿成功案例——出海品牌背书必备

作者&#xff1a;言同数字全球传播团队 一、品牌困境&#xff1a;当中国技术遇上海外认知壁垒 案例背景&#xff1a; 某中国光伏储能企业&#xff08;应保密要求匿名&#xff0c;代号"GreenTech"&#xff09;&#xff0c;其家用储能系统在欧洲市场遭遇&#xff1…...

第三章 react redux的学习之redux和react-redux,@reduxjs/toolkit依赖结合使用

redux系列文章目录 第一章 简单学习redux,单个reducer 第二章 简单学习redux,多个reducer 第四章 react-redux&#xff0c;reduxjs/toolkit依赖&#xff0c;学习 第五章 两张图告诉你redux常使用的api有哪些 前言 前面两章&#xff0c;我们是只使用的redux的依赖。 本章…...

【HTML】纯前端网页小游戏-戳破彩泡

分享一个简单有趣的网页小游戏 - 彩色泡泡爆破。玩家需要点击屏幕上随机出现的彩色泡泡来得分。 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wi…...

【Python使用】嘿马云课堂web完整实战项目第3篇:增加数据,修改数据【附代码文档】

教程总体简介&#xff1a;项目概述 项目背景 项目的功能构架 项目的技术架构 CMS 什么是CMS CMS需求分析与工程搭建 静态门户工程搭建 SSI服务端包含技术 页面预览开发 4 添加“页面预览”链接 页面发布 需求分析 技术方案 测试 环境搭建 数据字典 服务端 前端 数据模型 页面原…...

数据结构【栈和队列附顺序表应用算法】

栈和队列和顺序表应用算法练习 1.栈1.1概念与结构1.2栈的实现 2.队列2.1概念与结构2.2队列的实现 3.附&#xff08;顺序表应用算法&#xff09;3.1移除元素3.2删除有序数组中的重复项3.3合并两个有序数组 1.栈 1.1概念与结构 栈&#xff1a;⼀种特殊的线性表&#xff0c;其只…...

Redis数据结构之String

目录 1.概述2.常见操作2.1 SET/GET2.2 MSET/MGET/MSETNX2.3 GETRANGE/SETRANGE2.4 INCR(BY)/DECR(BY)2.5 STRLEN2.6 APPEND2.7 GETSET 3.小结 1.概述 String是最常用的数据类型&#xff0c;一个key对应一个value。String是二进制安全的&#xff0c;可以包含任何数据&#xff0…...

Maven 远程仓库推送方法

步骤 1&#xff1a;配置 pom.xml 中的远程仓库地址 在项目的 pom.xml 文件中添加 distributionManagement 配置&#xff0c;指定远程仓库的 URL。 xml 复制 <project>...<distributionManagement><!-- 快照版本仓库 --><snapshotRepository><id…...

uname

在 C 语言中&#xff0c;uname 函数用于获取当前操作系统的相关信息。 它是 POSIX 标准的一部分&#xff0c;定义在 <sys/utsname.h> 头文件中。 通过调用 uname 函数&#xff0c;可以获取系统名称、节点名称&#xff08;主机名&#xff09;、操作系统版本、机器硬件架构…...

【无标题】object,wait,notifyAll

在 Java 中&#xff0c;Object类提供了wait()方法&#xff0c;用于线程间的协作和同步。wait()方法使得当前线程暂停执行&#xff0c;并释放当前对象的锁&#xff0c;直到其他线程调用该对象的notify()或notifyAll()方法将其唤醒。这是实现线程间通信和同步的重要机制之一。 w…...

【Vue】 核心特性实战解析:computed、watch、条件渲染与列表渲染

目录 一、计算属性&#xff08;computed&#xff09; ✅ 示例&#xff1a; 计算属性-methods实现&#xff1a;在插值模块里&#xff0c;实现函数的调用功能 计算属性-computed的实现&#xff1a; 计算属性-简写&#xff1a; ✅ 特点&#xff1a; ⚠️ 与 methods 的区别…...

精品可编辑PPT | 基于湖仓一体构建数据中台架构大数据湖数据仓库一体化中台解决方案

本文介绍了基于湖仓一体构建数据中台架构的技术创新与实践。它详细阐述了数据湖、数据仓库和数据中台的概念&#xff0c;分析了三者的区别与协作关系&#xff0c;指出数据湖可存储大规模结构化和非结构化数据&#xff0c;数据仓库用于高效存储和快速查询以支持决策&#xff0c;…...

基于Python网络爬虫的智能音乐可视化系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 时代在飞速进步&#xff0c;每个行业都在努力发展现在先进技术&#xff0c;通过这些先进的技术来提高自己的水平和优势&#xff0c;智能音乐可视化系统当然不能排除在外。我本次开发的基于网络爬虫的智能音乐可视化系统是在实际应用和软件工程的开发原理之上&#xff0c;…...

基于STM32与应变片的协作机械臂力反馈控制系统设计与实现----2.2 机械臂控制系统硬件架构设计

2.2 机械臂控制系统硬件架构设计 一、总体架构拓扑 1.1 典型三级硬件架构 #mermaid-svg-MWmxD3zX6bu4iFCv {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-MWmxD3zX6bu4iFCv .error-icon{fill:#552222;}#mermaid-s…...

在线记事本——支持Markdown

项目地址 https://github.com/Anyuersuper/CloudNotebook 百度网盘 通过网盘分享的文件&#xff1a;CloudNotebook-master.zip 链接: https://pan.baidu.com/s/1kd2qNvm0eXc6_7oYDR769A?pwdyuer 提取码: yuer &#x1f4dd; 云笔记 (Cloud Notebook) 云笔记是一个简洁、安全…...

DDPM 做了什么

本博客主要侧重点在于HOW也就是DDPM怎么做的而不是WHY为什么要这样做 那么第一个问题DDPM做了一件什么事&#xff1a;这个算法通过逐渐向原图像添加噪声来破坏图像&#xff0c;然后再学习如何从噪声成恢复图像。 第二件事如何做到的&#xff1a;通过训练一个网络&#xff0c;…...

Redis数据结构之List

目录 1.概述2.常见操作2.1 LPUSH/RPUSH/LRANGE2.2 LPOP/RPOP2.3 LINDEX2.4 LLEN2.5 LREM2.6 LTRIM2.7 RPOPLPUSH2.8 LSET2.9 LINSERT 1.概述 List是简单的字符串列表&#xff0c;单key多个value&#xff0c;按照插入顺序排序。 支持添加一个元素到列表的头部(左边)或者尾部(右…...

L2-023 图着色问题 #DFS C++邻接矩阵存图

文章目录 题目解读输入格式输出格式 思路Ac CODE 参考 题目解读 给定一个无向图V&#xff0c;询问是否可以用K种颜色为V中每一个顶点分配一种颜色&#xff0c;使得不会有两个相邻顶点具有同一种颜色 输入格式 第一行给出V,E,K&#xff0c; 分别代表无向图的顶点&#xff0c;…...

架构下的按钮效果设置

以下是一个完整的跨QML/Qt Widgets的主题方案实现&#xff0c;包含对按钮阴影的统一管理&#xff1a; 一、项目结构 Project/ ├── core/ │ ├── thememanager.h │ └── thememanager.cpp ├── widgets/ │ ├── mainwindow.h │ ├── mainwindow.cpp …...

Unhandled exception: org.apache.poi.openxml4j.exceptions.InvalidFormatException

代码在main方法里面没有报错&#xff0c;在Controller里面就报错了。 原来Controller类里面少了行代码 import org.apache.poi.openxml4j.exceptions.InvalidFormatException; 加上去就解决了。...

Vue2_Vue.js教程

目录 一、Vue.js安装 1、独立版本 2、CDN 方法 3、npm 方法 二、Vue Al编程助手 三、Vue.js目录结构 目录解析 四、Vue.js 起步 1.如何定义数据对象和方法并渲染进页面 五、Vue.js 模板语法 插值 文本_{{}} Html_v-html 指令 属性_v-bind (数据传输工具)指令 表…...

2025/4/2 心得

第一题 题目描述 给定1001个范围在[1,1000]的数字&#xff0c;保证只有1个数字重复出现2次&#xff0c;其余数字只出现1次。试用O(n)时间复杂度来求出出现2次的这个数字。 不允许用数组 输入格式 第一行&#xff1a;一个整数1001&#xff1b; 第二行&#xff1a;1001个用…...

Deep Reinforcement Learning for Robotics翻译解读

a. 机器人能力 1 单机器人能力&#xff08;Single-robot competencies&#xff09; 运动能力&#xff08;Mobility&#xff09; 行走&#xff08;Locomotion&#xff09;导航&#xff08;Navigation&#xff09; 操作能力&#xff08;Manipulation&#xff09; 静态操作&…...

【Linux】日志模块实现详解

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;博客仓库&#xff1a;https://gitee.com/JohnKingW/linux_test/tree/master/lesson &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &…...

AT_abc212_d [ABC212D] Querying Multiset

链接&#xff1a;AT_abc212_d [ABC212D] Querying Multiset - 洛谷 题目描述 高橋君は何も書かれていないたくさんのボールと 1 つの袋を持っています。 最初、袋は空で、高橋君は Q 回の操作を行います。 それぞれの操作は以下の 3 種類のうちのいずれかです。 操作 1 : ま…...

Android使用OpenGL和MediaCodec录制

目录 一,什么是opengl 二,什么是Android OpenGL ES 三, OpenGL 绘制流程 四, OpenGL坐标系 五, OpenGL 着色器 六, GLSL编程语言 七,使用MediaCodec录制在Opengl中渲染架构 八,代码实现 8.1 自定义渲染view继承GLSurfaceView 8.2 自定义渲染器TigerRender 8.3 创建编…...

Java 实现插入排序:[通俗易懂的排序算法系列之三]

引言 大家好&#xff01;欢迎继续关注我的排序算法系列。今天&#xff0c;我们要学习的是另一种非常基础且重要的排序算法——插入排序 (Insertion Sort)。 插入排序的思路非常贴近我们日常整理扑克牌的方式&#xff0c;理解起来相对自然。虽然它在最坏情况下的效率不高&…...

HarmonyOS:WebView 控制及 H5 原生交互实现

一、效果展示 二、技术栈 技术栈&#xff1a; 编程语言&#xff1a;使用 TypeScript 进行开发&#xff0c;借助其类型系统提升代码的可读性与稳定性。 框架与库&#xff1a;基于鸿蒙系统相关框架&#xff08;如kit.ArkWeb、hadss/hmrouter&#xff09…...

250405-VSCode编辑launch.json实现Debug调试Open-WebUI

A. 最终效果 根据__init__.py配置launch.json 根据中utils/chat.py中form_data的messages [{role: user, content: 唐老鸭}],可以找到用户输入&#xff0c;进而通过关键词或模型调用的方式&#xff0c;对敏感问题进行特殊处理。 B. 文件配置 launch.json // { // /…...

SQL Server 数据库实验报告

​​​​​​​ 1.1 实验题目&#xff1a;索引和数据完整性的使用 1.2 实验目的&#xff1a; &#xff08;1&#xff09;掌握SQL Server的资源管理器界面应用&#xff1b; &#xff08;2&#xff09;掌握索引的使用&#xff1b; &#xff08;3&#xff09;掌握数据完整性的…...

【寻找Linux的奥秘】第三章:基础开发工具(上)

请君浏览 前言1. 软件包管理器1.1 linux中安装软件1.2 yum的具体操作1.2.1 查找软件包1.2.2 安装软件1.2.3 卸载软件 1.3 小结 2. 编辑器vim2.1 vim的基本概念和操作2.2 命令模式的命令集光标定位其他命令模式切换&#xff08;常用的&#xff09; 2.3 末⾏模式的命令集2.4 小结…...

Photoshop 2025 Mac中文Ps图像编辑

Photoshop 2025 Mac中文Ps图像编辑 文章目录 Photoshop 2025 Mac中文Ps图像编辑一、介绍二、效果三、下载 一、介绍 Adobe Photoshop 2025 Mac版集成了多种强大的图像编辑、处理和创作功能。①强化了Adobe Sensei AI的应用&#xff0c;通过智能抠图、自动修复、图像生成等功能…...

#SVA语法滴水穿石# (004)关于 ended 和 triggered 用法

在 SystemVerilog 断言(SVA, SystemVerilog Assertions)中,ended 是一个用于 序列(sequence) 的关键字,它表示某个序列(sequence)在特定时间点已经成功匹配(即“结束”)。 ended 主要用于 同步不同序列的时间关系,尤其是在多序列组合或属性(property)中需要对齐时…...

16.1Linux自带的LED灯驱动实验(知识)_csdn

前面我们都是自己编写 LED 灯驱动&#xff0c;其实像 LED 灯这样非常基础的设备驱动&#xff0c; Linux 内核已经集成了。 Linux 内核的 LED 灯驱动采用 platform 框架&#xff0c;因此我们只需要按照要求在设备树文件中添加相应的 LED 节点即可&#xff0c;本章我们就来学习如…...

普通类、抽象类和接口的区别

1. 普通类 (Concrete Class) 定义&#xff1a;完整的类&#xff0c;可以直接实例化 特点&#xff1a; 可以包含属性、普通方法&#xff08;有具体实现&#xff09;和构造方法 可以被直接实例化创建对象 可以被继承&#xff08;除非用final修饰&#xff09; 示例&#xff1…...

使用 Elastic 实现端到端的大语言模型(LLM)可观测性:洞察生成式 AI 应用这个不透明的世界

作者&#xff1a;来自 Elastic Daniela Tzvetkova 及 Bahubali Shetti 在快速发展的人工智能领域&#xff0c;大语言模型&#xff08;Large Language Models - LLMs&#xff09;已成为创新的灯塔&#xff0c;为各行各业带来了前所未有的能力。从生成类人文本、翻译语言到提供个…...

15.2linux设备树下的platform驱动编写(程序)_csdn

我尽量讲的更详细&#xff0c;为了关注我的粉丝&#xff01;&#xff01;&#xff01; 修改设备树文件&#xff1a; 这个我们在上一章已经写过了&#xff0c;但是还是带着大家来重写一遍&#xff01; 1.打开pinctrl-stm32.c 这个文件&#xff1a; strict 成员变量默认为 true&…...

Java的Selenium的特殊元素操作与定位之window切换

当你要操作另外一个窗口页面的元素时&#xff0c;一定要注意先切换窗口 切换方式:传入要操作窗口的name或者句柄handle driver.switchTo.window(nameOrHandle); 如何获取到窗口的句柄 driver.getWindowHandle();//获取当前操作窗口的句柄driver.getWindowHandles();//获取测…...

【Rust学习】Rust环境搭建和Rust基础语法

本文专栏&#xff1a;Rust学习 目录 一&#xff0c;Rust环境搭建 1&#xff0c;C环境安装 2&#xff0c;Rust下载 3&#xff0c;Rust安装 4&#xff0c;Rust环境检测 二&#xff0c;创建Rust项目 1&#xff0c;rustc 2&#xff0c;cargo 三&#xff0c;输出到命令行 …...

在windows环境下通过docker-compose脚本自动创建mysql和redis

一、环境版本 在windows环境下通过docker容器运行各种服务&#xff0c;使用的软件版本如下&#xff1a; docker desktop &#xff1a;V4.39.0 【docker的安装环境设置略】 mysql&#xff1a;9.2 redis&#xff1a;7.4.2 二、各配置文件 1.已经解决了字符集和排序规则问题造成…...

【玩泰山派】2、制作buildroot镜像,并烧录

文章目录 前言制作buildroot镜像过程搭建环境&#xff08;docker版&#xff09;下载泰山派开发的sdk利用制作的镜像和下载的sdk去启动开发docker容器编译buildroot镜像 参考 前言 泰山派官方提供了不少现成的镜像 但是都买了泰山派了&#xff0c;肯定是想自己编译折腾下&…...

实验二 VLAN 的配置与应用

一、实验目的 1. 熟悉 VLAN 和 PORT VLAN 的原理&#xff1b; 2. 熟悉华为网络模拟器的使用&#xff1b; 3. 掌握网络拓扑图的绘制&#xff1b; 4. 掌握单交换机内 VLAN 的配置。 二、实验设备 PC、华为模拟器 ENSP。 三、实验步骤 知识准备&#xff1a;VLAN 和 PORT V…...

【C/C++算法】蓝桥杯之递归算法(如何编写想出递归写法)

绪论&#xff1a;冲击蓝桥杯一起加油&#xff01;&#xff01; 每日激励&#xff1a;“不设限和自我肯定的心态&#xff1a;I can do all things。 — Stephen Curry” 绪论​&#xff1a; ———————— 早关注不迷路&#xff0c;话不多说安全带系好&#xff0c;发车啦&am…...

coding ability 展开第九幕(位运算——进阶篇)超详细!!!!

文章目录 前言丢失的数字两整数之和只出现一次的数字II消失的两个数字总结 前言 上一篇博客&#xff0c;我们已经把位运算的基础知识&#xff0c;以及基本运算都掌握啦 上次的习题还是让人意犹未尽&#xff0c;今天我们来尝试一下难一点的题目 位运算熟练起来真的让人觉得做题是…...

Python实现NOA星雀优化算法优化随机森林回归模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后关注获取。 1.项目背景 在现代数据科学领域&#xff0c;回归分析是解决预测问题的核心工具之一。然而&#xff0c;在面对复…...