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

【JavaScript-Day 1】从零开始:全面了解 JavaScript 是什么、为什么学以及它与 Java 的区别

Langchain系列文章目录

01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南
02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖
03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南
04-玩转 LangChain:从文档加载到高效问答系统构建的全程实战
05-玩转 LangChain:深度评估问答系统的三种高效方法(示例生成、手动评估与LLM辅助评估)
06-从 0 到 1 掌握 LangChain Agents:自定义工具 + LLM 打造智能工作流!
07-【深度解析】从GPT-1到GPT-4:ChatGPT背后的核心原理全揭秘
08-【万字长文】MCP深度解析:打通AI与世界的“USB-C”,模型上下文协议原理、实践与未来

Python系列文章目录

PyTorch系列文章目录

机器学习系列文章目录

深度学习系列文章目录

Java系列文章目录

JavaScript系列文章目录

01-【JavaScript-Day 1】从零开始:全面了解 JavaScript 是什么、为什么学以及它与 Java 的区别


文章目录

  • Langchain系列文章目录
  • Python系列文章目录
  • PyTorch系列文章目录
  • 机器学习系列文章目录
  • 深度学习系列文章目录
  • Java系列文章目录
  • JavaScript系列文章目录
  • 前言
  • 一、JavaScript 是什么?
    • 1.1 诞生背景与历史
      • 1.1.1 网景公司的初心
      • 1.1.2 标准化之路:ECMAScript
    • 1.2 JavaScript 的核心能力
      • 1.2.1 网页交互的魔法师
      • 1.2.2 不仅仅是浏览器:后端与移动端
        • (1) Node.js:让 JavaScript 驰骋后端
        • (2) 跨平台移动应用开发
      • 1.2.3 更多应用领域
  • 二、为什么选择学习 JavaScript?
    • 2.1 无处不在的应用
    • 2.2 巨大的生态系统
    • 2.3 相对较低的入门门槛
    • 2.4 职业发展的助推器
  • 三、JavaScript 与 Java:名字相似,实则不同
    • 3.1 澄清误解
    • 3.2 关键区别对比
  • 四、开启你的 JavaScript 学习之旅
    • 4.1 本系列学习路径概览
    • 4.2 学习建议
  • 五、总结


前言

欢迎来到《JavaScript 从入门到精通》系列博客的第一篇!无论您是编程新手,希望踏入精彩的 Web 开发世界,还是有一定经验的开发者,想要系统地巩固 JavaScript 知识,本系列都将为您提供一条清晰、实用、逐步深入的学习路径。JavaScript 作为现代 Web 的核心技术之一,其重要性不言而喻。今天,就让我们一起揭开 JavaScript 的神秘面纱,正式开启这段激动人心的学习之旅,说一声:“你好,JavaScript!”

一、JavaScript 是什么?

简单来说,JavaScript (简称 JS) 是一种高级、解释型、基于原型、动态类型的脚本语言。它最初被设计用于在浏览器中运行,为静态的 HTML 网页添加动态交互效果。但随着技术的发展,JavaScript 的应用领域早已超越了浏览器。

1.1 诞生背景与历史

1.1.1 网景公司的初心

JavaScript 诞生于 1995 年,由网景公司 (Netscape) 的工程师布兰登·艾克 (Brendan Eich) 在短短 10 天内设计完成。最初命名为 Mocha,后改为 LiveScript,最终为了蹭当时正如日中天的 Java 的热度,更名为 JavaScript。其最初的目标很简单:在浏览器端验证表单、处理用户输入、实现简单的动画效果等,减轻服务器的负担,提升用户体验。

1.1.2 标准化之路:ECMAScript

为了确保不同浏览器对 JavaScript 的实现能够保持一致性,1997 年,JavaScript 的核心语言规范被提交给欧洲计算机制造商协会 (ECMA) 进行标准化,称为 ECMAScript (ECMA-262)。我们现在通常说的 JavaScript,实际上指的是 ECMAScript 标准的各种实现(如 V8 引擎中的实现)。ECMAScript 标准不断演进,重要的版本包括 ES3、ES5、ES6(也称 ES2015),以及之后每年发布的新版本 (ES2016, ES2017…),不断为这门语言带来新的特性和改进。

1.2 JavaScript 的核心能力

经过二十多年的发展,JavaScript 已经从一个简单的脚本语言,成长为一门功能强大、应用广泛的全能型语言。

1.2.1 网页交互的魔法师

这是 JavaScript 最核心、最传统的应用领域。通过 JavaScript,开发者可以:

  • 操作 DOM (文档对象模型): 动态地修改网页的内容、结构和样式。比如,根据用户操作改变文字、隐藏/显示元素、添加/删除 HTML 标签。
  • 响应用户事件: 监听用户的点击、鼠标移动、键盘输入等行为,并执行相应的代码逻辑,实现丰富的交互效果(如轮播图、表单验证、下拉菜单等)。
  • 与服务器进行异步通信 (AJAX): 在不刷新整个页面的情况下,向服务器发送请求并更新部分页面内容,提升用户体验(如动态加载数据、实时搜索提示)。

1.2.2 不仅仅是浏览器:后端与移动端

(1) Node.js:让 JavaScript 驰骋后端

2009 年 Node.js 的诞生是 JavaScript 发展史上的一个重要里程碑。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它使得 JavaScript 能够脱离浏览器,直接在服务器端运行。开发者可以使用 JavaScript 来编写后端服务、API 接口、操作数据库等,实现了全栈开发的可能性。流行的后端框架如 Express、Koa 等都是基于 Node.js 构建的。

(2) 跨平台移动应用开发

借助 React Native、NativeScript、Uni-app 等框架,开发者可以使用 JavaScript (或其超集 TypeScript) 来开发同时运行在 iOS 和 Android 两大平台上的原生移动应用,大大提高了开发效率和代码复用率。

1.2.3 更多应用领域

JavaScript 的触角还延伸到了:

  • 桌面应用开发: 使用 Electron (如 VS Code、Slack)、NW.js 等框架,可以用 Web 技术构建跨平台的桌面应用程序。
  • 游戏开发: 结合 HTML5 Canvas 或 WebGL,以及 Phaser.js、Three.js 等游戏引擎/库,可以开发出精美的网页游戏甚至 3D 游戏。
  • 物联网 (IoT): 在一些资源受限的设备上,也可以运行特定版本的 JavaScript 引擎(如 Espruino, JerryScript)。
  • 脚本工具: 编写各种自动化脚本,处理文件、执行系统任务等。

二、为什么选择学习 JavaScript?

学习一门编程语言需要时间和精力投入,那么 JavaScript 是否值得我们学习呢?答案是肯定的。

2.1 无处不在的应用

正如前面所展示的,JavaScript 几乎无处不在。无论你想成为前端工程师、后端工程师、全栈工程师,还是移动开发者、桌面应用开发者,掌握 JavaScript 都将是你的核心竞争力之一。特别是对于 Web 开发而言,HTML、CSS 和 JavaScript 被誉为“三驾马车”,缺一不可。

2.2 巨大的生态系统

经过多年的发展,JavaScript 拥有一个极其庞大和活跃的生态系统:

  • 海量的库和框架: React, Vue, Angular (前端三大框架), jQuery, Lodash, Moment.js (常用工具库), Express, Koa (后端框架), Three.js (3D 图形库) 等等,极大地提高了开发效率。
  • 强大的包管理工具: npm (Node Package Manager) 是世界上最大的软件注册表,拥有数百万个可供使用的代码包。
  • 活跃的开发者社区: 无论是 Stack Overflow、GitHub 还是各种技术论坛和博客,你都能轻松找到大量的学习资源、解决方案和志同道合的开发者。

2.3 相对较低的入门门槛

相比于一些需要复杂编译环境和配置的语言(如 C++、Java),JavaScript 的入门相对简单:

  • 无需额外安装: 几乎所有的现代浏览器都内置了 JavaScript 引擎,你只需要一个文本编辑器和一个浏览器就可以开始编写和运行 JavaScript 代码。
  • 语法灵活: 动态类型使得初学者不必过分纠结于类型声明,可以更快地看到成果,建立学习兴趣。

2.4 职业发展的助推器

由于 JavaScript 的广泛应用,市场对 JavaScript 开发者的需求量巨大且持续增长。掌握 JavaScript,尤其是结合流行的框架和相关技术(如 Node.js, TypeScript, Webpack 等),将为你打开广阔的职业发展空间,提供丰富的就业机会和有竞争力的薪酬。

三、JavaScript 与 Java:名字相似,实则不同

这是一个非常经典的误解,很多初学者甚至一些非技术人员都会将 JavaScript 和 Java 混淆。虽然它们的名字只差一个 “Script”,但它们是两种完全不同的编程语言。可以理解为“雷锋”和“雷峰塔”的关系——仅仅是名字有些相似而已。

3.1 澄清误解

  • 设计者不同: JavaScript 由网景的 Brendan Eich 设计;Java 由 Sun Microsystems (现 Oracle) 的 James Gosling 团队设计。
  • 设计目标不同: JavaScript 最初是为了在浏览器中增加交互性;Java 最初是为交互式电视设计的,后来主要应用于企业级后端开发、Android 应用开发等。
  • 运行方式不同: JavaScript 通常在浏览器或 Node.js 环境中解释执行(现代引擎会进行 JIT 编译);Java 代码需要先编译成字节码 (.class 文件),然后在 Java 虚拟机 (JVM) 上运行。

3.2 关键区别对比

为了更清晰地展示它们的区别,我们可以通过一个表格来对比:

特性JavaScriptJava
类型系统动态类型 (运行时检查)静态类型 (编译时检查)
运行环境浏览器、Node.js 等Java 虚拟机 (JVM)
面向对象基于原型 (ES6 class 是语法糖)基于类
编译/解释解释型 / 即时编译 (JIT)编译型 (编译为字节码)
主要用途Web 前后端、移动端、桌面端等企业级后端、Android 应用、大数据等
与 HTML 集成直接嵌入 HTML 文件中运行通常作为后端服务,或通过 Applet (已过时)
并发模型基于事件循环的单线程模型 (主)基于线程的多线程模型

总结: 不要因为名字相似而混淆它们!JavaScript 和 Java 是两种拥有不同设计哲学、应用场景和技术特性的独立语言。

四、开启你的 JavaScript 学习之旅

了解了 JavaScript 是什么以及它的重要性后,是时候规划我们的学习路径了。

4.1 本系列学习路径概览

本《JavaScript 从入门到精通》系列博客将遵循一条循序渐进的路径,主要涵盖以下几个部分:

  1. JavaScript 入门与基础语法: 变量、数据类型、运算符、流程控制、注释等。
  2. 函数与作用域: 函数的声明与调用、参数、返回值、作用域(全局、函数、块级)、闭包、箭头函数等。
  3. 对象与数组: 对象创建与操作、原型与原型链、ES6 Class、数组常用方法、Map、Set 等。
  4. 浏览器中的 JavaScript (DOM & BOM): 操作网页元素、事件处理、定时器、浏览器对象等。
  5. 异步编程与现代特性: 同步与异步、回调函数、Promise、async/await、Fetch API、ES6 模块化、错误处理等。
  6. 进阶与展望: 调试技巧、编码规范、JavaScript 生态(框架、工具)、学习资源推荐等。

4.2 学习建议

  • 动手实践: 编程是实践性学科,一定要多写代码! 不要只停留在看,尝试修改示例代码,自己动手实现小功能。
  • 理解原理: 不仅要知其然,还要知其所以然。理解代码背后的工作原理,有助于你写出更健壮、更高效的代码。
  • 善用工具: 浏览器开发者工具 (F12) 是你最好的朋友,学会使用它进行调试、查看元素、分析网络请求。
  • 查阅文档: MDN Web Docs (Mozilla Developer Network) 是最权威、最全面的 JavaScript (以及 HTML, CSS) 文档,养成查阅官方文档的习惯。
  • 保持耐心: 学习过程中遇到困难是正常的,保持耐心,多思考,多尝试,也可以向社区寻求帮助。

五、总结

恭喜你完成了 JavaScript 学习之旅的第一步!通过本文,我们主要了解了以下核心内容:

  • JavaScript 的定义与历史: 它是一种高级、解释型脚本语言,诞生于 1995 年,并由 ECMAScript 标准化。
  • JavaScript 的强大能力: 不仅能实现网页交互,还能用于后端开发 (Node.js)、移动应用开发、桌面应用开发、游戏开发等多个领域。
  • 学习 JavaScript 的理由: 应用广泛、生态系统庞大、入门相对容易,且能极大提升职业竞争力。
  • JavaScript 与 Java 的区别: 它们是两种完全不同的语言,在类型系统、运行环境、主要用途等方面都有显著差异。
  • 学习路径与建议: 本系列将系统地介绍 JS 知识,并鼓励大家多动手实践、理解原理、善用工具。

希望本文能帮助你建立对 JavaScript 的初步认识和学习兴趣。下一篇,我们将学习如何在你的电脑上真正运行第一行 JavaScript 代码,并输出经典的 “Hello, World!”。敬请期待!


相关文章:

【JavaScript-Day 1】从零开始:全面了解 JavaScript 是什么、为什么学以及它与 Java 的区别

Langchain系列文章目录 01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…...

C++ 复习

VS 修改 C 语言标准 右键项目-属性 输入输出 //引用头文件&#xff0c;用<>包裹起来的一般是系统提供的写好的代码 编译器会在专门的系统路径中去进行查找 #include <iostream> //自己写的代码文件一般都用""包裹起来 编译器会在当前文件所在的目录中査…...

数字智慧方案5877丨智慧交通项目方案(122页PPT)(文末有下载方式)

篇幅所限&#xff0c;本文只提供部分资料内容&#xff0c;完整资料请看下面链接 https://download.csdn.net/download/2301_78256053/89575494 资料解读&#xff1a;智慧交通项目方案 详细资料请看本解读文章的最后内容。 智慧交通项目方案是一个全面的设计框架&#xff0c;…...

如何封装一个线程安全、可复用的 HBase 查询模板

目录 一、前言&#xff1a;原生 HBase 查询的痛点 &#xff08;一&#xff09;连接管理混乱&#xff0c;容易造成资源泄露 &#xff08;二&#xff09;查询逻辑重复&#xff0c;缺乏统一的模板 &#xff08;三&#xff09;多线程/高并发下的线程安全性隐患 &#xff08;四…...

VLM Qwen2.5VL GRPO训练微调 EasyR1 多机多卡训练(2)

在之前博客进行了简单的训练尝试:https://www.dong-blog.fun/post/2060 在本博客,将会深入进行多机多卡训练,以及调整训练奖励函数。 之前构建了镜像: docker build . -t kevinchina/deeplearning:r1 FROM hiyouga/verl:ngc-th2.6.0-cu126-vllm0.8.4-flashinfer0.2.2-cx…...

基于建造者模式的信号量与理解建造者模式

信号量是什么&#xff1f; AI解释&#xff1a;信号量&#xff08;Semaphore&#xff09;是操作系统中用于 进程同步与互斥 的经典工具&#xff0c;由荷兰计算机科学家 Edsger Dijkstra 在 1965 年提出。它本质上是一个 非负整数变量&#xff0c;通过原子操作&#xff08;P 操作…...

笔试专题(十四)

文章目录 mari和shiny题解代码 体操队形题解代码 二叉树中的最大路径和题解代码 mari和shiny 题目链接 题解 1. 可以用多状态的线性dp 2. 细节处理&#xff1a;使用long long 存储个数 3. 空间优化&#xff1a;只需要考虑等于’s’&#xff0c;‘sh’&#xff0c;shy’的情况…...

2025年五一数学建模A题【支路车流量推测】原创论文讲解

大家好呀&#xff0c;从发布赛题一直到现在&#xff0c;总算完成了2025年五一数学建模A题【支路车流量推测】完整的成品论文。 给大家看一下目录吧&#xff1a; 摘 要&#xff1a; 一、问题重述 二&#xff0e;问题分析 2.1问题一 2.2问题二 2.3问题三 2.4问题四 2.5 …...

Linux系统:进程程序替换以及相关exec接口

本节重点 理解进程替换的相关概念与原理掌握相关程序替换接口程序替换与进程创建的区别程序替换的注意事项 一、概念与原理 进程程序替换是操作系统中实现多任务和资源复用的关键机制&#xff0c;允许进程在运行时动态加载并执行新程序。 1.1 定义 进程程序替换是指用新程…...

STM32复盘总结——芯片简介

1、stm32介绍 STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器 STM32常应用在嵌入式领域&#xff0c;如智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品等 STM32功能强大、性能优异、片上资源丰富、功耗低&#xff0c;是一款经典的嵌入式微控制器 目…...

安装深度环境anaconda+cuda+cudnn+pycharm+qt+MVS

下载anaconda,链接:link 默认电脑有显卡驱动,没有的话直接进NVIDIA官网:https://www.nvidia.cn/geforce/drivers/ 下载。 下载cuda 链接:https://developer.nvidia.com/cuda-toolkit-archive 下载cudnn安装包,链接:https://developer.nvidia.com/rdp/cudnn-archive 备注:…...

泰迪杯特等奖案例学习资料:基于多模态特征融合的图像文本检索系统设计

(第十二届泰迪杯数据挖掘挑战赛B题特等奖案例解析) 一、案例背景与核心挑战 1.1 应用场景与行业痛点 随着智能终端与社交媒体的普及,图像与文本数据呈现爆炸式增长,跨模态检索需求日益迫切。传统方法面临以下问题: 语义鸿沟:图像与文本的异构特征分布差异显著,导致跨模…...

进程与线程:05 内核级线程实现

内核级线程代码实现概述 这节课我们要讲内核级线程到底是怎么做出来的&#xff0c;实际上就是要深入探讨内核级线程的代码实现。 在前两节课中&#xff0c;我们学习了用户级线程和内核级线程是如何进行切换的&#xff0c;以及实现切换的核心要点。那两节课讲述的内容&#xf…...

Laravel 12 实现 API 登录令牌认证

Laravel 12 实现 API 登录令牌认证 在 Laravel 12 中实现基于令牌(Token)的 API 认证&#xff0c;可以使用 Laravel Sanctum 或 Laravel Passport。以下是两种方式的实现方法&#xff1a; 方法一&#xff1a;使用 Laravel Sanctum (轻量级 API 认证) 1. 安装 Sanctum compo…...

【Git】万字详解 Git 的原理与使用(上)

&#x1f970;&#x1f970;&#x1f970;来都来了&#xff0c;不妨点个关注叭&#xff01; &#x1f449;博客主页&#xff1a;欢迎各位大佬!&#x1f448; 文章目录 1. 初识 Git1.1 Git 是什么&#xff1f;1.2 为什么要有 Git 2. 安装 Git2.1 Linux-Ubuntu 安装 Git2.2 Windo…...

Python高级爬虫之JS逆向+安卓逆向1.7节: 面向对象

目录 引言: 1.7.1 先理解面向过程 1.7.2 再理解面向对象 1.7.3 面向对象的三大特征 1.7.4 类属性,类方法,静态方法 1.7.5 构造函数,对象属性,对象方法 1.7.6 爬虫接单实现了雪糕自由 引言: 大神薯条老师的高级爬虫+安卓逆向教程: 这套爬虫教程会系统讲解爬虫的初…...

SpringBoot基础(原理、项目搭建、yaml)

SpringBoot&#xff1a;javaweb的一个框架&#xff0c;基于Spring开发&#xff0c;SpringBoot本身并不提供Spring框架的核心特性以及扩展功能&#xff0c;只是用于快速、敏捷的开发新一代基于Spring框架的应用程序&#xff0c;它与Spring框架紧密结合用于提升Spring开发者体验的…...

MTV-SCA:基于多试向量的正弦余弦算法

3 正弦余弦算法 (SCA) 正弦余弦算法&#xff08;SCA&#xff09;是为全局优化而开发的&#xff0c;并受到两个函数&#xff0c;正弦和余弦的启发。与其他基于启发式种群的算法一样&#xff0c;SCA在问题的预设最小值和最大值边界内随机生成候选解。然后&#xff0c;通过应用方…...

STL之vector容器

vector的介绍 1.vector是可变大小数组的容器 2.像数组一样&#xff0c;采用连续的空间存储&#xff0c;也就意味着可以通过下标去访问&#xff0c;但它的大小可以动态改变 3.每次的插入都要开空间吗&#xff1f;开空间就要意味着先开临时空间&#xff0c;然后在拷贝旧的到新…...

Android学习总结之jetpack组件间的联系

在传统安卓开发中&#xff0c;UI 组件&#xff08;Activity/Fragment&#xff09;常面临三个核心问题&#xff1a; 生命周期混乱&#xff1a;手动管理 UI 与数据的绑定 / 解绑&#xff0c;易导致内存泄漏&#xff08;如 Activity 销毁后回调仍在触发&#xff09;。数据断层&am…...

linux的信号量初识

Linux下的信号量(Semaphore)深度解析 在多线程或多进程并发编程的领域中&#xff0c;确保对共享资源的安全访问和协调不同执行单元的同步至关重要。信号量&#xff08;Semaphore&#xff09;作为经典的同步原语之一&#xff0c;在 Linux 系统中扮演着核心角色。本文将深入探讨…...

【安装指南】Centos7 在 Docker 上安装 RabbitMQ4.0.x

目录 前置知识:RabbitMQ 的介绍 一、单机安装 RabbitMQ 4.0.7版本 1.1 在线拉取镜像 二、延迟插件的安装 2.1 安装延迟插件 步骤一:下载延迟插件 步骤二:将延迟插件放到插件目录 步骤三:启动延迟插件 步骤四:重启 RabbitMQ 服务 步骤五:验收成果 步骤六:手动…...

Android和iOS测试的区别有哪些?

作为移动端测试工程师,Android 和 iOS 的测试差异直接影响测试策略设计。本文从测试环境、工具链、兼容性、发布流程等维度全面解析,并附实战建议。 1. 测试环境差异 维度AndroidiOS设备碎片化高(厂商/分辨率/系统版本多样)低(仅苹果设备,版本集中)系统开放性开放(可Ro…...

spring中的@PostConstruct注解详解

基本概念 PostConstruct 是 Java EE 规范的一部分&#xff0c;后来也被纳入到 Spring 框架中。它是一个标记注解&#xff0c;用于指示一个方法应该在依赖注入完成后被自动调用。 主要特点 生命周期回调&#xff1a;PostConstruct 标记的方法会在对象初始化完成、依赖注入完成…...

大模型开发学习笔记

文章目录 大模型基础大模型的使用大模型训练的阶段大模型的特点及分类大模型的工作流程分词化(tokenization)与词表映射 大模型的应用 进阶agent的组成和概念planning规划子任务分解ReAct框架 memory记忆Tools工具\工具集的使用langchain认知框架ReAct框架plan-and-Execute计划…...

【android Framework 探究】pixel 5 内核编译

相关文章&#xff1a; 【android Framework 探究】android 13 aosp编译全记录 【android Framework 探究】android 13 aosp 全记录 - 烧录 一&#xff0c;环境 主机 -> Ubuntu 18.04.6 LTS 内存 -> 16GB 手机 -> pixel 5 代号redfin。kernel代号redbull 二&#xf…...

PowerBI实现点击空白处隐藏弹窗(详细教程)

PowerBI点击空白处隐藏弹窗 第五届PowerBI可视化大赛中亚军作品:金融企业智慧经营分析看板 有个功能挺好玩的&#xff1a;点击空白处隐藏弹窗&#xff0c;gif动图如下&#xff1a; 我们以一个案例分享下实现步骤&#xff1a; 第一步&#xff0c; 先添加一个显示按钮&#xff…...

【git】获取特定分支和所有分支

1 特定分支 1.1 克隆指定分支&#xff08;默认只下载该分支&#xff09; git clone -b <分支名> --single-branch <仓库URL> 示例&#xff08;克隆 某一个 分支&#xff09;&#xff1a; git clone -b xxxxxx --single-branch xxxxxxx -b &#xff1a;指定分支…...

Windows配置grpc

Windows配置grpc 方法一1. 使用git下载grph下载速度慢可以使用国内镜像1.1 更新子模块 2. 使用Cmake进行编译2.1 GUI编译2.2 命令行直接编译 3. 使用Visual Studio 生成解决方法 方法二1. 安装 vcpkg3.配置vckg的环境变量2. 使用 vcpkg 安装 gRPC3. 安装 Protobuf4. 配置 CMake…...

【学习笔记】深入理解Java虚拟机学习笔记——第2章 Java内存区域与内存溢出异常

第2章 Java内存区域与内存溢出异常 2.1 概述 略 2.2 运行时数据区域 2.2.1 程序计数器 线程私有&#xff0c;记录执行的字节码位置 2.2.2 Java 虚拟机栈 线程私有&#xff0c;存储一个一个的栈帧&#xff0c;通过栈帧的出入栈来控制方法执行。 -栈帧&#xff1a;对应一个…...

数字智慧方案6189丨智慧应急综合解决方案(46页PPT)(文末有下载方式)

资料解读&#xff1a;智慧应急综合解决方案 详细资料请看本解读文章的最后内容。 在当前社会环境下&#xff0c;应急管理的重要性愈发凸显。国务院发布的《“十四五” 国家应急体系规划》以及 “十四五” 智慧应急专项规划&#xff0c;明确了应急管理体系建设的方向和重点&…...

解决 3D Gaussian Splatting 中 SIBR 可视化组件报错 uv_mesh.vert 缺失问题【2025最新版!】

一、&#x1f4cc; 引言 在使用 3D Gaussian Splatting&#xff08;3DGS&#xff09;进行三维重建和可视化的过程&#xff0c;SIBR_gaussianViewer_app 是一款官方推荐的本地可视化工具&#xff0c;允许我们在 GPU 上实时浏览重建结果。然而&#xff0c;许多用户在启动该工具时…...

见多识广4:Buffer与Cache,神经网络加速器的Buffer

目录 前言传统意义上的Buffer与Cache一言以蔽之定义与主要功能BufferCache 数据存储策略二者对比 神经网络加速器的bufferInput BufferWeight BufferOutput Buffer与传统buffer的核心区别总结 前言 知识主要由Qwen和Kimi提供&#xff0c;我主要做笔记。 参考文献&#xff1a; …...

微服务中组件扫描(ComponentScan)的工作原理

微服务中组件扫描(ComponentScan)的工作原理 你的问题涉及到Spring框架中ComponentScan的工作原理以及Maven依赖管理的影响。我来解释为什么能够扫描到common模块的bean而扫描不到其他模块的bean。 根本原因 关键在于**类路径(Classpath)**的包含情况&#xff1a; Maven依赖…...

C++之类和对象基础

⾯向对象三⼤特性&#xff1a;封装、继承、多态 类和对象 一.类的定义1. 类的定义格式2.类域 二.实例化1.对象2.对象的大小 三.this指针 在 C 的世界里&#xff0c;类和对象构成了面向对象编程&#xff08;Object-Oriented Programming&#xff0c;OOP&#xff09;的核心框架&…...

【DIY小记】新手小白超频遇到黑屏问题解决分享

最近玩FPS游戏的时候&#xff0c;发现以前一顿操作超频之后的电脑&#xff0c;有一定概率会出问题。具体表现比如一种是&#xff0c;电脑显示器直接黑屏&#xff0c;所有键盘交互没有响应&#xff0c;只能直接重启电脑&#xff0c;还有一种是偶现卡顿&#xff0c;直接死机或者卡…...

虚幻引擎 IK Retargeter 编辑器界面解析

我来为您详细解释这段关于虚幻引擎IK Retargeter编辑器界面的文本&#xff0c;它描述了动画重定向系统的核心组件和工作原理。 Retarget Phases (重定向阶段) 这部分介绍了动画重定向过程中的三个关键计算阶段&#xff0c;每个阶段都可以单独启用或禁用&#xff0c;这对于调试…...

uc系统中常用命令、标准C库函数和系统调用

目录 一、常用命令 env echo $name 键值 export name unset name gcc -c xxx.c ar 命令 ar -r libxxx.a xxx1.o xxx2.o gcc -c -fpic xxx.c gcc -shared -fpic xxx1.c xxx2.c -o libxxx.so kill [-信号] PID kill -l 软链接&#xff1a;ln -s xxx yyy 硬链接&…...

OpenHarmony - 驱动使用指南,HDF驱动开发流程

OpenHarmony - HDF驱动开发流程 概述 HDF&#xff08;Hardware Driver Foundation&#xff09;驱动框架&#xff0c;为驱动开发者提供驱动框架能力&#xff0c;包括驱动加载、驱动服务管理、驱动消息机制和配置管理。并以组件化驱动模型作为核心设计思路&#xff0c;让驱动开发…...

C++负载均衡远程调用学习之UDP SERVER功能

目录 1.LARSV0.9-配置功能 2.LARSV0.10-upd-server的实现 3.LARSV0.10-udp-client的实现 1.LARSV0.9-配置功能 2.LARSV0.10-upd-server的实现 3.LARSV0.10-udp-client的实现...

word交叉引用图片、表格——只引用编号的处理方法

交叉引用图片/表格 在“引用”选项卡上的“题注”组中&#xff0c;单击“插入题注”。勾选【从题注中排除标签】。在文中插入题注。 【注 意】 这时候插入的题注只有编号项了。然后手动打上标签【TABLE】&#xff0c;并在标签和编号项之间加上【样式分隔符&#xff0c;AltCt…...

平台介绍-开放API接口-鉴权

平台的理念是一个组织内部只建一套系统。但是现实情况是&#xff0c;组织内部已经建立了很多系统&#xff0c;是不能一次性替代的&#xff0c;只能先搭起平台&#xff0c;然后逐步开始替换。这样就不可避免的存在其他系统和平台进行交互的问题。 平台为此设计了开放API接口。其…...

【Bootstrap V4系列】 学习入门教程之 组件-警告框(Alert)

Bootstrap V4 学习入门教程之 组件-警告框&#xff08;Alert&#xff09; 警告框&#xff08;Alert&#xff09;一、示例二、链接的颜色三、添加其它内容四、关闭警告框 通过 JavaScript 触发行为触发器本组件所暴露的事件 警告框&#xff08;Alert&#xff09; 通过精炼且灵活…...

【服务器通信-socket】——int socket(int domain, int type, int protocol);

#include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol); domain: AF_INET 这是大多数用来产生socket的协议&#xff0c;使用TCP或UDP来传输&#xff0c;用IPv4的地址 AF_INET6 与上面类似&#xff0c;不过是来用IPv6的地…...

洛谷P1014(Cantor 表[NOIP 1999 普及组])题解

题目大意&#xff1a;求Cantor表&#xff08;按照Z字形排列&#xff08;如第一项是1/1&#xff0c;然后是1/2&#xff0c;2/1&#xff0c;3/1&#xff0c;2/2&#xff09;&#xff09;的第N项。 那么&#xff0c;我们需要找出Cantor表的排列规律。根据题目中的Z字形描述&#x…...

【愚公系列】《Manus极简入门》012-自我认知顾问:“内在探索向导”

&#x1f31f;【技术大咖愚公搬代码&#xff1a;全栈专家的成长之路&#xff0c;你关注的宝藏博主在这里&#xff01;】&#x1f31f; &#x1f4e3;开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主&#xff01; &#x1f…...

密码学_加密

目录 密码学 01 密码基础进制与计量 02 加解密基操 替换 移位 编码 编码 置换 移位 加解密强度 03 对称加密算法(私钥) 工作过程 缺陷 对称加密算法列举&#xff1f; DES DES算法架构 DES分组加密公式 DES中ECB-CBC两种加密方式 3DES 由于DES密钥太短&#xf…...

w317汽车维修预约服务系统设计与实现

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;原创团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339;赠送计算机毕业设计600个选题excel文…...

云盘系统设计

需求背景 网盘面向大量C端用户 1000w用户 DAU 20% 每天10次 QPS: 1000w * 0.2 * 10 / 100k 500 峰值估计&#xff1a;500 * 5 2500 功能需求 支持上传&#xff0c;下载&#xff0c;多端共同在线编辑&#xff0c;数据冲突处理 非功能需求 1.latency 20s左右 2.可用性与…...

西电雨课堂《知识产权法》课后作业答案

目录 第 1 章 1.1 课后作业 1.2 课后作业 第 2 章 2.1 课后作业 2.2 课后作业 2.3 课后作业 2.4 课后作业 2.5 课后作业 2.6 课后作业 2.7 课后作业 2.8 课后作业 2.9 课后作业 2.10 课后作业 第 3 章 3.1 课后作业 3.2 课后作业 3.3 课后作业 3…...