[Java · 初窥门径] Java 语言初识
🌟 想系统化学习 Java 编程?看看这个:[编程基础] Java · 学习手册
0x01:Java · 编程语言简介
Java 是一种高级计算机编程语言,它是由 Sun Microsystems 公司(已被 Oracle 公司收购)于 1995 年 5 月推出的一种可以编写跨平台应用软件、完全面向对象的程序设计语言。
0x0101:Java · 诞生史 — 从机顶盒到改变世界的编程语言
Java 的诞生史要追溯到 1991 年,由 Patrick Naughton 及其伙伴 James Gosling(被誉为 “Java之父” )带领的 Sun 公司的工程师小组想要设计一种小型的计算机语言,主要是面向有线电视转换盒这类的消费设备。
由于这些消费设备的处理能力和内存都很有限,所以要求语言必须非常短小且能够生成非常紧凑的代码。另外,由于不同的厂商会选择不同的中央处理器(CPU),因此这种语言的关键是不能与任何特定的体系结构捆绑在一起。这个项目起初被命名为 “Green”。
为满足消费电子设备的严苛要求,这种新语言必须具备 代码精简、运行高效 的特性,同时实现 跨平台兼容 —— 即同一套代码无需修改即可在不同硬件架构上运行。尽管 Sun 团队拥有深厚的 UNIX系统开发背景,但鉴于 C++ 在 跨平台能力 与 内存管理 上的局限性,他们决定以 C++ 语法为基础进行改良重构。
在 James Gosling 的主导下,新语言初步定名为 Oak(灵感源自其办公室窗外的一棵橡树),意在体现其如同橡树般稳健可靠的特性。然而,当准备对外发布时,团队发现 "Oak" 已被其他编程语言占用,最终更名为 Java —— 这个名字既暗合开发团队对咖啡文化的热爱(Java是印尼著名咖啡产地),又隐喻着新语言能为开发者带来如咖啡般提神的高效编码体验。
0x0102:Java · 发展史 — Java 版本迭代史
Java 语言发展到今天经历了一系列的过程 (同时扫盲一波 Java 8 & Java 1.8):
-
1991 年:SUN 公司的 Green 项目,Oak 诞生
-
1995 年:推出 Java 测试版
-
1996 年:JDK 1.0 — JDK(Java 开发工具包)
-
1997 年:JDK 1.1
-
1998 年:JDK 1.2,大大改进了早期版本缺陷,是一个革命性的版本,更名为 Java2
-
2004 年:J2SE 5.0(1.5.0)Tiger 老虎称为 Java 语言发展史上的又一里程碑,为了表示该版本的重要性,J2SE 1.5 更名为 Java SE 5.0
-
2005 年:Java 的各种版本进行更名,以取消其中的数字 “2”,J2ME 更名为 Java ME,J2SE 更名为 Java SE,J2EE 更名为 Java EE。
-
2006 年:Java SE 6.0(1.6.0)
-
2009 年:甲骨文(Oracle)收购 SUN,交易额高达 74 亿
-
2011 年:JavaSE 7.0(1.7.0)
-
2014 年:JavaSE 8.0(1.8.0) - 长期支持
-
2017 年:Java 9.0
-
2018 年 3 月:Java 10
-
2018 年 9 月:Java 11 - 长期支持
-
2019 年 3 月:Java 12
-
2019 年 9 月:Java 13
-
2020 年 3 月:Java 14
-
2020 年 9 月:Java 15
-
2021 年 3 月:Java 16
-
2021 年 9 月:Java 17 - 长期支持
-
2022 年 3 月:Java 18
-
2022 年 9 月:Java 19
-
2023 年 3 月:Java 20
-
2023 年 9 月:Java 21,9 月 19 日,以六个月为更新频次的 Java 正式发布了最新的长期支持版本 — Java 21,这一版本将获得官方 5 年的重要支持,这意味着对于开发者、企业而言,如果想要用上稳定而前沿的 Java,JDK 21 无疑是最好的选择。
-
2024 年 3 月:Java 22
Java · 知识扫盲:
Java 1.8 & Java 8 Java 1.8.0 & Java 8 其实是一样的 😂。得益于 Java 神奇的版本迭代机制,搞乱了一堆初学者。
Java · 学习建议:关于 Java 学习版本的选择
从 Java 的版本迭代史可以看出来,Java 的版本更新非常的快。对于我们初学者而言,笔者建议学习那些长期支持的版本,比如 8、11、17、21 版本。另外,对于语言的学习我们一开始并不推荐追求最新版,有以下几点考量:
编程语言的基础语法很难改动 => 学了低版本的基础语法你到高版本仅仅是换个版本的事情。
新版本生态环境尚未搭建 => 新版本刚推出,参考资料比较少,除了 Bug 很难排查。
0x0103:Java · 体系结构 — SE & EE & ME
针对不同开发市场,Sun 公司将 Java 划分为 3 个技术平台(体系结构):
-
Java SE(Java Standard Edition):标准版,定位在个人计算机上使用
-
Java EE(Java Enterprise Edition):企业版,定位在服务器端的应用
-
Java ME(Java Micro Edition):微型版,定位在消费性电子产品的应用上
1. Java SE — 标准版 Java 技术平台
适用场景: 开发普通桌面和商务应用程序
这个版本是 Java 平台的核心,它提供了非常丰富的 API 来开发一般个人计算机上的应用程序,包括用户界面接口 AWT 及 Swing,网络功能和国际化、图像处理高能力以及输入输出支持等。
在上个实际 90 年代末互联网上大放异彩的 Applet 也属于这个版本。Applet 后来被 Flash 取代,而 Flash 现在也被 HTML5 取代了。
2. Java EE — 企业版 Java 技术平台
适用场景: 开发企业级应用程序
JavaEE 是 JavaSE 的扩展,增加了用于服务器开发的类库。如:JDBC 让程序员能直接在 Java 内使用SQL 的 语法来访问数据库内的数据;Servlet 能够延伸服务器的功能,通过 请求-响应 的模式来处理客户端的请求;JSP 是一种可以将 Java 程序代码内嵌在网页内的技术。
3. Java ME — 微型版 Java 技术平台
适用场景: 开发电子消费产品和嵌入式设备
JavaME 是 JavaSE 的内伸,包含 J2SE 的一部分核心类,也有自己的扩展类,增加了适合微小装置的类库:javax.microedition.io.*
等。该版本针对资源有限的电子消费产品的需求精简核心类库,并提供了模块化的架构让不同类型产品能够随时增加支持的能力。
0x0104:Java · 语言特性
笔者备注:没有最牛逼的语言,只有最适合的语言 !!
下面是 Java 的特性与优势,简而言之,Java 牛逼!!!
-
跨平台/可移植性: Java 通过 JVM(Java Virtual Machine,Java 虚拟机)以及字节码实现跨平台性。Java 程序由 Javac 编译器编译为字节码文件(
.class
文件),JVM 中的 Java 解释器会将字节码文件翻译成所在平台上的机器码文件,执行对应的机器码文件就可以了。Java 程序只要一次编写,就可到处运行。 -
安全性:
-
Java 的存储分配模型可以防御恶意代码攻击。
-
Java 没有指针,外界不能通过伪造指针操作存储器。
-
Java 编译器在编译程序时不显示存储安排策略,程序员不能通过查看声明猜测出类的实际存储安排。
-
Java 程序的存储是在程序运行时由 Java 解释程序决定的。
-
-
面向对象: 面向对象是一种程序设计技术,非常适合大型软件的设计与开发。由于 C++ 为了照顾大量 C 语言使用者而兼容了 C,使得自身仅仅成为了带类的 C 语言,多少影响了其面向对象的彻底性!而 Java 是完全的面向对象的语言。
-
简单性: Java 使用引用代替指针,并提供了自动垃圾回收机制,使程序员不必担心内存管理。
-
高性能: Java 最初发展阶段,总是被人诟病 ”性能低“;客观上,高级语言运行效率总是低于级语言的,这个无法避免。Java 语言本身发展中通过虚拟机的优化提升了几十倍的运行效率。比如,通过 JIT(JUST IN TIME)即时编译技术提高运行效率。将一些 ”热点“ 字节码编译成本地机器码,并将结果缓存起来,在需要的时候重新调用。这样的话,使 Java 程序的执行效率大大提高,某些代码甚至接近 C++ 的效率。
-
分布性: Java是为 Internet 的分布式环境设计的,因为它能够处理 TCP/IP 协议。事实上,通过URL 访问一个网络资源和访问本地文件是一样简单的。Java 还支持远程方法调用(RMI,Remote Method Invocation),使程序能够通过网络调用方法。
-
多线程: 多线程的使用可以带来更好的交互响应和实时行为。 Java 多线程的简单性是 Java 成为主流服务器端开发语言的主要原因之一。
上面虽然罗列了 Java 这么多的好,但是并不是说它就是万能的,每种语言都有自己适合的赛道,没有最好,只有最适合。一个简单的例子,C 的性能很好,但是语法复杂。Python 性能比 C 慢多了,但它学起来 Easy,所以 Python 对小白来说肯定优于 C。
0x02:Java · 学习它的意义?
我们学习一门语言,不应为是为了学而学,而应该知道,我为啥要学它?学了它之后我能干什么?目前市场上主流的开发有以下几类,Java 都可以做,但是咱们讲究一个合适:
-
桌面应用开发: Java 是能写桌面程序的,但目前桌面 C# 比较流行。
-
企业级应用开发: 微服务、大型互联网应用。(主流)
-
移动应用开发: 目前安卓、鸿蒙这些比较火,但 Java 也可以做。
-
服务器系统: 各种应用的后台。(主流)
-
大数据开发: hadoop。(主流)
-
游戏开发: 能做,但不是主流。
0x03:Java · 核心机制 — 垃圾回收(了解)
这部分是提升阶段,如果你之前学过其它的编程语言,那么对 Java 的这个机制会了解的比较深刻。对于小白而言,了解即可(应对应对面试)。
”垃圾回收“ 机制是 Java 的一个核心机制,这里的 ”垃圾回收“ 是指 清除不再使用的对象。Java 中有一个系统级的垃圾收集器,我们管它叫 Garbage Collection - GC。
每当一个对象被创建,GC 就会盯着这个对象,看它啥时候不用,一旦它后续没人用了,GC 就自动给它干掉了。不像 C++,扫垃圾还得自己动手写程序。
自动是挺好的,但是因为自动,所以程序员是无法对其进行精确控制和干预的。
0x04:Java · 核心机制 — 跨平台原理(掌握)
跨平台 泛指程序语言、软件或硬件设备可以在多种作业系统或不同硬件架构的电脑上运作。
Java 通过 JVM(Java Virtual Machine,Java 虚拟机)以及字节码实现跨平台性。
Java 程序由 Javac 编译器编译为字节码文件(.class
文件),JVM 中的 Java 解释器会将字节码文件翻译成所在平台上的机器码文件,并执行对应的机器码文件。所以 Java 程序只要一次编写,就可到处运行(要运行的机器上安装对应平台的 JVM 即可):
上面提到的那么多工具(javac
、java.exe
、JVM
),你只需要安装一个 JDK,就全部都有了。
JDK(Java Development Kit,Java 开发工具包)是 Oracle 官方提供的 Java 核心开发套件,包含开发、编译、调试和运行 Java 程序所需的所有工具和库,它是 Java 开发者必须安装的基础环境(从下一章开始我们就要配置 JDK 了)。
相关文章:
[Java · 初窥门径] Java 语言初识
🌟 想系统化学习 Java 编程?看看这个:[编程基础] Java 学习手册 0x01:Java 编程语言简介 Java 是一种高级计算机编程语言,它是由 Sun Microsystems 公司(已被 Oracle 公司收购)于 1995 年 5 …...
大语言模型智能体:安全挑战与应对之道
在当今科技飞速发展的时代,大语言模型驱动的智能体正逐渐融入我们生活和工作的方方面面,给我们带来了诸多便利。但与此同时,它们的安全问题也引起了广泛的关注。今天,咱们就一起来深入了解一下可信大语言模型智能体所面临的安全挑…...
IHC肿瘤标志物 | 常见乳腺癌诊断——助力守护生命之花
乳腺癌作为一种常见的恶性肿瘤,严重威胁着女性健康。然而,随着医学技术的不断发展,我们有了更为精准和有效的检测方法,为及早发现和治疗乳腺癌提供了强有力的支持。 在这篇文章中,我们将深入了解乳腺癌的IHC检测技术&a…...
利用deepseek+Mermaid画流程图
你是一个产品经理,请绘制一个流程图,要求生成符合Mermaid语法的代码,要求如下: 用户下载文件、上传文件、删除文件的流程过程符合安全规范细节具体到每一步要做什么 graph LRclassDef startend fill:#F5EBFF,stroke:#BE8FED,str…...
Vue3 实战:打造多功能旅游攻略选项卡页面
在旅游类应用开发中,为用户提供全面、直观的信息展示界面至关重要。本文将分享如何基于 Vue3 Axios 技术栈,实现一个包含攻略、游记、问答三大板块的旅游攻略选项卡页面,从样式设计到交互逻辑,带你深入了解整个开发过程。 项目背…...
如何提高单元测试的覆盖率
一、定位未覆盖的代码 利用 IDEA 的覆盖率工具: 右键测试类 → Run with Coverage,或使用 AltShiftF10(Windows)打开运行菜单选择覆盖率。查看高亮标记: 绿色:已覆盖代码行。红色&#x…...
水位传感器详解(STM32)
目录 一、介绍 二、传感器原理 1.原理图 2.引脚描述 三、程序设计 main.c文件 water.h文件 water.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 Water Sensor水位传感器是一款简单易用、性价比较高的水位/水滴识别检测传感器,其是通过具有一系列…...
linux服务器命令行获取nvidia显卡SN的方法
机房需要变更机器的GPU显卡配置,入库、出库几块显卡,库管让我去获取显卡序列号。 去现场拆机器的事情毕竟很麻烦,而且也没干过拆装服务器,即使拆下来显卡也不一定找到SN。 于是乎搜索:命令行怎么获取linux服务器上的…...
大模型微服务架构模块实现方案,基于LLaMA Factory和Nebius Cloud实现模型精调的标准流程及代码
以下是基于LLaMA Factory和Nebius Cloud实现模型精调的标准流程及代码示例,结合最新技术动态和行业实践整理: 一、LLaMA Factory本地部署方案 1. 环境配置 # 创建Python环境并安装依赖 conda create -n llama_factory python3.10 conda activate llam…...
每天学一个 Linux 命令(20):find
可访问网站查看,视觉品味拉满: http://www.616vip.cn/20/index.html find 是 Linux 系统中最强大的文件搜索工具之一,支持按名称、类型、时间、大小、权限等多种条件查找文件,并支持对搜索结果执行操作(如删除、复制、执行命令等)。掌握 find 可大幅提升文件管理效率…...
Kubernetes Pod 调度策略:从基础到进阶
文章目录 环境Kubernetes 部署Kubernetes Pod 调度策略Kubernetes Pod 调度策略对照表调度流程经历阶段案例展示生成yaml文件默认调度节点选择器为节点添加标签编写 Deployment 配置文件应用资源并查看调度结果 Node Affinity(节点亲和性)为节点添加标签…...
4.18学习总结
完成一道算法题 学习了序列化 敲代码卡bug了...
用于数学定理和逻辑推理的符号系统
当前用于数学定理和逻辑推理的前沿符号系统主要基于依赖类型论(Dependent Type Theory),其中Lean 4和**Metamath Zero (MM0)**是最具代表性的新兴系统。以下从技术特性、使用方法和应用实例三个维度展开说明: 一、前沿符号系统解…...
HTTP:九.WEB机器人
概念 Web机器人是能够在无需人类干预的情况下自动进行一系列Web事务处理的软件程序。人们根据这些机器人探查web站点的方式,形象的给它们取了一个饱含特色的名字,比如“爬虫”、“蜘蛛”、“蠕虫”以及“机器人”等!爬虫概述 网络爬虫(英语:web crawler),也叫网络蜘蛛(…...
代码学习总结(五)
代码学习总结(五) 这个系列的博客是记录下自己学习代码的历程,有来自平台上的,有来自笔试题回忆的,主要基于 C++ 语言,包括题目内容,代码实现,思路,并会注明题目难度,保证代码运行结果 1 小红的好数 简单 非退化三角形 快速匹配 小红定义一个数对 { x , y } \{x…...
在 Vue 3 项目中引入 js-cookie 库
1. 安装 js-cookie 你可以通过 npm 或者 yarn 来安装 js-cookie: npm install js-cookie # 或者 yarn add js-cookie2. 在组件里引入并使用 js-cookie 以下给出两种使用方式: 全局引入 在 main.js 中全局引入 js-cookie,这样在所有组件里…...
HarmonyOs学习 环境配置后 实验1:创建项目Hello World
HarmonyOS开发入门:环境配置与Hello World实验 实验目标 掌握HarmonyOS开发环境配置,创建首个HarmonyOS应用并实现"Hello World"界面展示 实验准备 已安装DevEco Studio开发环境已配置HarmonyOS开发依赖项熟悉基本TypeScript/ArkTS语法&am…...
Spark on K8s 在 vivo 大数据平台的混部实战与优化
一、Spark on K8s 简介 (一)定义与架构 Spark on K8s 是一种将 Spark 运行在 Kubernetes(K8s)集群上的架构,由 K8s 直接创建 Driver 和 Executor 的 Pod 来运行 Spark 作业。其架构如下。 Driver Pod:相当于 Spark 集群中的 Driver,负责作业的调度和管理,它会根据作业…...
《软件设计师》复习笔记(13)——结构化开发方法
目录 1. 结构化开发方法 1.1 系统分析过程 1.2 系统设计基本原理 (1)内聚性(模块内部关联程度) (2)耦合性(模块间依赖程度) 真题示例: 1.3 系统总体结构设计&…...
Android创建测试配置和生产配置
Android测试与生产环境配置指南 在Android开发中,创建不同的构建配置来适应测试和生产环境是至关重要的。这样的配置能让我们在不同的开发阶段有效管理代码、资源和环境变量。本文将详细介绍如何在Android中创建和管理测试配置以及生产配置的整个过程。 环境准备 …...
DBeaver连接hive
DBeaver是一个非常好用的数据库管理工具,支持多种不同的数据库类型。 dbeaver 要连接hive时,数据库驱动是无法下载,但在hive 的安装配置包中,有一个目录:jdbc里面有一个专门提供外部程序连接hive的jar。将这个jar下载…...
数据结构初阶:二叉树(二)
本篇博客主要讲解二叉树---堆的相关知识。 1.实现顺序结构二叉树 一般堆使用顺序结构的数组来存储数据,堆是一种特殊的二叉树,具有二叉树的特性的同时,还具备其他的特性。 1.1 堆的概念和结构 堆具有以下性质: 堆中某个结点的值…...
React 列表渲染基础示例
React 中最常见的一个需求就是「把一组数据渲染成一组 DOM 元素」,比如一个列表。下面是我写的一个最小示例,目的是搞清楚它到底是怎么工作的。 示例代码 // 定义一个静态数组,模拟后续要渲染的数据源 // 每个对象代表一个前端框架…...
android PackageName ClassName
目录 系统应用: 设置 蓝牙 时钟 计算机 录音机 图库 视频 文件管理 FM 日历 谷歌浏览器 谷歌商店 热门商店 国外应用: amazon spotify deezer pandora audible applemusic omnia mxtech youtubemusic facebook familylink tidal tiktok kindle 系统应用: 设置 …...
万物对接大模型:【爆火】MCP原理与使用指南
###原文链接 OpenAI、谷歌、微软、阿里云、腾讯云、百度等国内外各大厂商都陆续宣布支持MCP服务。MCP是什么,为什么能获得高度的关注? MCP(Model Context Protocol,模型上下文协议)是由Anthropic公司(核心产品是Claude大模型)推出的一种开源协议…...
SAP系统中MD01与MD02区别
知识点普及-MD01与MD02区别 1、从日常业务中,我们都容易知道MD01是运行全部物料,MD02是运行单个物料 2、在做配置测试中,也出现过MD02可以跑出物料,但是MD01跑不出的情况。 3、MD01与MD02的差异: 3.1、只要在物料主数…...
python——字符串使用
目录 1、字符串表示 2、转义字符 (1)将一些具有特殊含义的字符,标识成普通的字符(\) (2)特殊的控制符 (3)(\)还可以表示python中续行符 3、…...
嵌入式ARM RISCV toolchain工具 梳理arm-none-eabi-gcc
嵌入式TOOLchain工具 梳理 简介 本文总结和梳理一下一些toolchain的规则和原理,方便后续跨平台的时候,给大家使用toolchain做一个参考。 解释如何理解arm-none-eabi-gcc等含义,以及如何一看就知道该用什么编译器。 当然如果有哪里写的不是…...
团体程序设计天梯赛PTA-SHU冲刺赛4. L22-L32
这是4.18 SHU备赛天梯赛的最后一场冲刺赛 10.病毒溯源 1.本题PTA中拓栈后会MTL,不拓栈会报非零返回 所以本题最好用栈模拟递归过程 2.源头得是入度为0的,也就是没有节点指向它 所以得设置inn是否有指向该节点 3.这题用dfs(用bfs的话不同…...
【数据结构与算法】——插入排序
概要 本文将介绍插入排序方法——直接插入、希尔排序 想了解数据结构其他内容,本人主页 恋风诗 获取源码,gitte仓库:mozhengy 正文 1.排序的分类 目前将主要介绍下面几种排序: 后续学习更多内容后会及时更新 2、插入排序 2…...
手撕STL——vector
目录 引言 1,了解 STL 中的 vector 2,先来一个简易版跑起来 2_1,构造函数 2_2,扩容reserve() 2_3,push_back() 2_4,pop_back() …...
新书速览|DeepSeek移动端AI应用开发:基于Android与iOS
《DeepSeek移动端AI应用开发:基于Android与iOS》 1 本书内容 《DeepSeek移动端AI应用开发:基于Android与iOS》深入剖析了DeepSeek平台的架构原理、API调用及开发实践等核心内容,助力读者在Android与iOS移动端高效集成DeepSeek API,打造出契…...
详解STM32时基单元中参数 TIM_ClockDivision 的含义
在 STM32 定时器时基单元配置中,TIM_TimeBaseInitStruct->TIM_ClockDivision 用于设置 定时器时钟的分频系数,主要影响 输入捕获滤波器 和 输出比较同步信号 的时钟分割。以下是其核心作用、参数含义及应用场景的详细解析: 一、核心作用&…...
黑马V11版 最新Java高级软件工程师课程-JavaEE精英进阶课
课程大小:60.2G 课程下载:https://download.csdn.net/download/m0_66047725/90615581 更多资源下载:关注我 阶段一 中台战略与组件化开发专题课程 阶段二 【物流行业】品达物流TMS 阶段三 智牛股 阶段四 千亿级电商秒杀解决方案专题 …...
【Win】 cmd 执行curl命令时,输出 ‘命令管道位置 1 的 cmdlet Invoke-WebRequest 请为以下参数提供值: Uri: ’ ?
1.原因: 有一个名为 Invoke-WebRequest 的 CmdLet,其别名为 curl。因此,当您执行此命令时,它会尝试使用 Invoke-WebRequest,而不是使用 curl。 2.解决办法 在cmd中输入如下命令删除这个curl别名: Remov…...
【k8s系列4】工具介绍
1、虚拟机软件 vmware workstation 2、shell 软件 MobaXterm 3、centos7.9 下载地址 (https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/?spma2c6h.25603864.0.0.374bf5adOaiFPW) 4、上网软件...
设计模式 --- 装饰器模式
装饰模式是一种结构型设计模式,它允许向一个现有的对象添加新的功能,同时又不改变其结构。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 优点: 1.灵…...
docker.desktop下安装普罗米修斯prometheus、grafana并看服务器信息
目标 在docker.desktop下先安装这三种组件,然后显示当前服务的CPU等指标。各种坑已踩,用的是当前时间最新的镜像 核心关系概述 组件角色依赖关系Prometheus开源监控系统,负责 数据采集、存储、查询及告警。依赖 Node-Exporter 提供的指标数据。Node-Exporter专用的 数据采集…...
学习设计模式《二》——外观模式
一、基础概念 1.1、外观模式的简介 外观模式的本质是【封装交互、简化调用】; 外观模式的说明:就是通过引入一个外观类,在这个类里面定义客户端想要的简单方法,然后在这些方法里面实现;由外观类再去分别调用内部的多个…...
python中,处理多分类时,模型之间的参数设置
在Python的机器学习库中,处理多分类问题时,不同的模型可能会有不同的参数设置来适应多分类场景。这里列举几个常见模型及相关的多分类参数: 1. Logistic Regression (逻辑回归) 在Scikit-Learn库中,逻辑回归模型可以通过设置mul…...
2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(四级)真题
青少年软件编程(Python)等级考试试卷(四级) 分数:100 题数:38 答案解析:https://blog.csdn.net/qq_33897084/article/details/147341407 一、单选题(共25题,共50分) 1. 下列程序段…...
蓝桥杯12. 日期问题
日期问题 原题目链接 题目描述 小明正在整理一批历史文献。这些历史文献中出现了很多日期。 小明知道这些日期都在 1960 年 1 月 1 日 至 2059 年 12 月 31 日 之间。 令小明头疼的是,这些日期采用的格式非常不统一: 有的采用 年/月/日有的采用 月…...
【MATLAB代码例程】AOA与TOA结合的高精度平面地位,适用于四个基站的情况,附完整的代码
本代码实现了一种基于到达角(AOA) 和到达时间(TOA) 的混合定位算法,适用于二维平面内移动或静止目标的定位。通过4个基站的协同测量,结合最小二乘法和几何解算,能够有效估计目标位置,并支持噪声模拟、误差分析和可视化输出。适用于室内定位、无人机导航、工业监测等场景…...
ARINC818协议(五)
1.R_CTL,设置固定的0x44即可 2.Dest_ID:目的地D_ID,如果不需要目的地址,就设置为0;ADVB协议支持 多个视频目的地址,广播通信; 3.cs_ctl在FC-AV上不用 4.source_ID:S_ID [23:0]包含源实体的端口的地址标识;不用就设置为0. ADVB允许…...
国产品牌芯洲科技100V降压芯片系列
SCT2A25采用带集成环路补偿的恒导通时间(COT)模式控制,大大简化了转换器的片外配置。SCT2A25具有典型的140uA低静态电流,采用脉冲频率调制(PFM)模式,它使转换器在轻载或空载条件下实现高转换效率。 芯洲科技100V降压芯片系列提供丰富的48V系…...
遨游科普:三防平板除了三防特性?还能实现什么功能?
在工业4.0浪潮席卷全球的今天,电子设备的功能边界正经历着革命性突破。三防平板电脑作为"危、急、特"场景的智能终端代表,其价值早已超越防水、防尘、防摔的基础防护属性。遨游通讯通过系统级技术创新,将三防平板打造为集通信中枢、…...
边缘计算网关组态功能的定义
边缘计算网关组态功能的定义 边缘计算网关组态是指根据特定的应用场景和需求,对边缘计算网关进行配置和定制的过程。它涵盖了硬件接口的选择、软件功能的设定、通信协议的配置以及数据处理流程的设计等多个方面,旨在使网关设备更加贴合实际应用场景&…...
数据可视化笔记:柱状图
数据可视化笔记:柱状图与饼图 1.1 一、基础配置 在进行数据可视化之前,需要对Matplotlib进行一些基础配置,以确保图表能够正确显示中文以及设置合适的分辨率和大小。 from matplotlib import pyplot as plt import numpy as np# 设置中文字…...
珈和科技:无人机技术赋能智慧农业,精准施肥与病虫害监控全面升级
无人机技术在农业领域的兴起,是现代技术发展为传统农业带来的重要变革。目前, 无人机已成为农业生产中不可或缺的关键工具,在提高粮食产量、改善土壤健康和保护生态环境等方面提供了新的解决方案。珈和科技从无人机的类型、特点和监测系统入手…...
UR5e机器人动力学
机器人动力学研究力与运动之间的关系,核心目标是建立关节力矩与关节位置、速度、加速度的数学关系。动力学模型通常分为: 正向动力学:已知关节力矩,计算末端执行器的运动(加速度)。 逆向动力学:已知期望的运动(位置、速度、加速度),计算所需的关节力矩。 https://www…...