返回顶部
首页 > 资讯 > 精选 >Node.js对Java开发者而言是什么东西
  • 244
分享到

Node.js对Java开发者而言是什么东西

2023-06-17 03:06:42 244人浏览 独家记忆
摘要

这篇文章主要介绍node.js对Java开发者而言是什么东西,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!我们都知道node.js现在得到了所有的关注。每个人都对学习Node.js感兴趣,并希望可以工作于Node.j

这篇文章主要介绍node.js对Java开发者而言是什么东西,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

我们都知道node.js现在得到了所有的关注。每个人都对学习Node.js感兴趣,并希望可以工作于Node.js。在开始工作之前了解技术背后的概念总是不会错的。但对初学者来说,可能会因为不同的人使用的不同定义而晕头转向。Node.js究竟是什么?它是新的语言还是新的框架,是新的工具抑或只是一个简单的javascript文件?即使对于有经验的Java开发人员来说,也很难快速了解Node.js。因此,在本文中,我将尝试为Java开发人员诠释Node.js。

运行时环境

我们知道Java需要一个称为JRE的运行时环境来运行Java程序。JRE有一个称为Java Virtual  Machine(JVM)的虚拟机。JVM有许多组件,如垃圾回收器(GC),即时(JIT)编译器,解释器,类装载器,线程管理器,异常处理器,用于在不同时间执行不同的任务。

除了JVM之外,JRE还有一系列的库(例如,rt.jar)来帮助运行时的Java程序。我们有单独的JRE用于不同的平台,如windows,Macintosh和linux,以及还有JVM。

好吧,就试着记住如何编译和执行一个Java程序。我们有源代码(.java),它由Java编译器编译成一个名为Bytecode(.class)的中间代码。此Bytecode被提供给JVM以便在给定的目标平台上执行。JVM在执行之前将Bytecode转换为特定于目标平台的机器码。

Java程序的执行可以通过下面的图片解释:

Node.js对Java开发者而言是什么东西

Web应用程序架构

典型的Java  WEB应用程序架构有四个层:客户层(Client),展示层(Presentation),服务/业务层(Service/Business)和数据层(Data)。

Node.js对Java开发者而言是什么东西

客户层(Client layer)可以使用像Jquery这样的库来支持ajax功能并且具有一些客户端验证和DOM操作。

展示层(Presentation layer)通常是与客户层交互的一个层。该层通常已经实现了用于请求和响应处理的mvc模式。在这一层可以使用如spring  MVC这样的框架。此外,还有一个模板引擎,如Velocity,可以根据预定义的布局动态地渲染视图。

服务或业务层(Service/Business  layer)负责具备业务逻辑并与其他层通信。在AJAX请求的情况下,该层直接向客户层提供数据。此层执行业务逻辑并回应到展示层以更新模型。服务层是与数据层通信以获取或更新所需数据的一个层。服务层可以具有使用任何框架,例如Spring的SOAP或REST服务实现。

数据层(Data layer)通常使用一些ORM框架,如Hiberate,或任何基于JDBC的库/模板(Spring  JDBC模板)来与任意RDBMS(如oracle)进行通信。

架构部署

JAVA WEB应用程序架构部署包括Apache  Http服务器,它充当代理服务器以及提供静态内容。动态内容由Web容器提供,Web容器实际上是处理Java文件的引擎。

下图说明了Java Web应用程序的架构部署:

Node.js对Java开发者而言是什么东西

我如何理解Node.js?

运行时环境

我们上面讨论JRE的原因是为了直接与Node.js进行比较。对,你看明白了吧!  Node.js不是一种语言;不是框架;也不是工具。它是用于运行基于JavaScript应用程序的运行时环境。

与JRE类似,Node.js有一个称为JavaScript Virtual  Machine(JsVM?)的虚拟机。它为基于JavaScript的应用程序生成机器代码,以便在不同的平台上启用它。

Node.js还有一系列库,它们可能被称为Node api或Node  Modules,用于帮助在运行时运行JavaScript应用程序,类似于JRE中的Java库。我们对不同的平台,如Windows,Macintosh和Linux,以及JsVM有不同的Node.js要求。

JavaScript Virtual Machine就是V8,来自Google的开源JavaScript引擎。与Java Virtual  Machine一样,JsVM(V8引擎)也有主要组件,如JIT和GC,分别用于执行任务,运行时编译,和内存管理。

现在,让我们试试理解JavaScript程序是如何编译和执行的。源代码是用JavaScript(.js)编写的。在将其提供给JsVM(V8引擎)之前,没有生成中间代码。JsVM直接获取此源代码并将其编译为特定于给定目标平台的机器代码以便执行。

下面的图片可以简明地说明上述解释:

Node.js对Java开发者而言是什么东西

Web应用程序架构

基于Node.js的Web应用程序主要遵循Java  Web应用程序架构。主要区别在于客户端请求处理。客户端请求将由单个线程处理,但在Node.js应用程序的情况下将异步处理。使用Java,每个客户端请求将由单独的线程同步处理,因此它是多线程的。

有许多框架/库可用于基于Node.js的Web应用程序开发。这里有趣的地方在于,所有的框架/库都是基于JavaScript的。

你可以从下面的图片中快速理解不同的层和在那些Node.js应用程序层中使用的框架/库。

Node.js对Java开发者而言是什么东西

客户层使用angular.js,客户端MVC框架。展示层,以及服务层,可以通过使用Express.js,一个基于JavaScript的Web应用程序框架来开发。这也自带一个用于运行Node.js应用程序的独立服务器。数据层使用对象数据建模模块(例如Mongoose.js)来与NoSQL数据库(如MongoDB)通信。

这个特殊的栈称为MEAN,它由mongoDB,Express.js,Angular.js,客户端MVC框架和Node.js(运行时环境)组成。

架构部署

基于Node.js的Web应用程序的架构部署遵循Java的Web应用程序部署架构。它有一个Nginx服务器,它的作用就如同HTTP代理服务器,并提供静态内容。动态内容由Node.js服务器提供,该服务器包含处理JavaScript文件的引擎。

下面的图解释了基于Node.js的Web应用程序的架构部署:

Node.js对Java开发者而言是什么东西

以上是“Node.js对Java开发者而言是什么东西”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Node.js对Java开发者而言是什么东西

本文链接: https://lsjlt.com/news/287081.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Node.js对Java开发者而言是什么东西
    这篇文章主要介绍Node.js对Java开发者而言是什么东西,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!我们都知道Node.js现在得到了所有的关注。每个人都对学习Node.js感兴趣,并希望可以工作于Node.j...
    99+
    2023-06-17
  • NodeJS对于Java开发者而言是什么
    NodeJS对于Java开发者而言是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们都知道Node.js现在得到了所有的关注。每个人都对学习Node.js...
    99+
    2023-06-17
  • Node.js对于Java开发者是什么
    这篇文章主要讲解了“Node.js对于Java开发者是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Node.js对于Java开发者是什么”吧!运行时环...
    99+
    2024-04-02
  • 为什么Java的开发者应该学习NumPy,而Laravel的开发者应该学习对象操作?
    在软件开发领域,每个开发者都有自己的专业领域和技能。然而,为了成为一名全面的开发者,我们需要学习不同的技能和工具,以便更好地应对各种挑战。在本文中,我们将探讨为什么Java的开发者应该学习NumPy,而Laravel的开发者应该学习对象操...
    99+
    2023-06-23
    laravel 对象 numy
  • 为开发者和用户而言,pip源替换的实际价值是什么?
    pip换源对于开发者和用户来说有什么实际价值? 随着Python语言的流行和应用范围的扩大,pip作为Python的包管理工具也变得越来越重要。然而,默认的pip源通常在国内访问速度较慢,甚至无法连接。这就导致了很多开发者和用户...
    99+
    2024-01-13
    软件源。 软件源选择。
  • 阿里云发件服务器是什么东西?
    阿里云发件服务器是一种用于处理电子邮件发送和接收的服务器。它通常由大型企业和组织使用,以确保其电子邮件通信的稳定性和安全性。在这篇文章中,我们将深入探讨什么是阿里云发件服务器,以及它如何工作。 什么是阿里云发件服务器?阿里云发件服务器是一种...
    99+
    2023-11-11
    阿里 是什么东西 服务器
  • 为什么 PHP 索引是许多开发者的首选,而不是 Django 或 JavaScript?
    随着互联网的迅速发展,越来越多的程序员开始涉足 Web 开发领域。在这个领域中,PHP、Django 和 JavaScript 都是非常流行的编程语言。然而,许多开发者认为 PHP 索引是他们的首选,而不是 Django 或 JavaSc...
    99+
    2023-08-04
    索引 django javascript
  • Java开发者必备的Laravel技能是什么?
    Laravel是一款基于PHP的开源Web应用框架,被广泛地应用于企业级Web应用开发中。对于Java开发者而言,掌握Laravel框架的技能,可以帮助他们更好地完成Web应用的开发任务。本文将介绍Java开发者必备的Laravel技能,...
    99+
    2023-06-03
    bash 开发技术 laravel
  • 为什么Laravel是Java开发者的首选框架?
    Laravel是一个流行的PHP框架,它提供了许多强大的功能和工具,使得开发人员能够更快速、更高效地开发Web应用程序。尽管Laravel是一个PHP框架,但事实证明,许多Java开发者也选择使用Laravel作为他们的主要框架。那么,为什...
    99+
    2023-06-18
    http laravel 开发技术
  • Java IDE和Linux:为什么这对开发者如此重要?
    在现代软件开发中,Java一直是最常用的编程语言之一。Java语言的高可移植性和跨平台性使得它成为了许多企业和开发人员的首选。然而,Java开发并不仅仅是编写代码,还需要使用一些工具来提高效率和质量。其中,Java IDE和Linux系统...
    99+
    2023-06-01
    linux ide 学习笔记
  • 亚马逊开发者id是什么
    亚马逊开发者ID是一个唯一的标识符,用于识别和验证开发者在亚马逊开发者平台上的身份。开发者ID是由亚马逊颁发的,用于访问和使用亚马逊的开发者工具和服务。它是开发者在创建和管理亚马逊开发者账户时生成的,并且通常以类似于"amzn1.appli...
    99+
    2023-10-27
    亚马逊 开发者 id
  • Java 开发者必须知道的 Git 技巧是什么?
    作为一名 Java 开发者,你一定知道 Git 的重要性。Git 是一款分布式版本控制工具,它可以帮助你更好地管理代码。但是,对于 Git 的使用,你是否了解得足够深入呢?在本文中,我们将介绍 Java 开发者必须知道的 Git 技巧,帮助...
    99+
    2023-09-04
    git apache windows
  • 为什么 Java 同步对于 IDE 开发者来说如此重要?
    Java是一种广泛使用的编程语言,无论是在企业级应用程序还是桌面应用程序中,都是非常受欢迎的语言。在Java编程中,同步对于IDE开发者来说是一个非常重要的概念。在本文中,我们将深入探讨Java同步的重要性以及为什么它对IDE开发者来说如此...
    99+
    2023-06-26
    同步 ide http
  • 亚马逊开发者账号是什么
    亚马逊开发者账号是一个允许开发者访问亚马逊 Web 服务(AWS)和亚马逊应用程序接口(API)的账户。开发者可以使用这个账户来创建和管理他们的应用程序、访问 AWS 的各种服务和工具、以及与其他开发者和 AWS 社区进行交流和合作。开发者...
    99+
    2023-10-27
    亚马逊 开发者 账号
  • 什么是java web开发
    Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,J...
    99+
    2014-07-04
    java web
  • Java新手开发者需要注意什么
    这篇文章主要介绍“Java新手开发者需要注意什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java新手开发者需要注意什么”文章能帮助大家解决问题。Java 是一个多功能的编程语言,在某种程度上,...
    99+
    2023-06-16
  • 为什么 Java 开发者应该学习 Django?
    Java 和 Django 都是非常流行的编程语言和框架,它们各自都有自己的优势和适用场景。然而,对于 Java 开发者来说,学习 Django 可能会是一个非常有价值的经验。在本文中,我们将探讨为什么 Java 开发者应该学习 Djang...
    99+
    2023-07-31
    git django ide
  • 为什么 Python 对象响应框架是 Python 开发者的最爱?
    Python 对象响应框架是 Python 开发者的最爱,这是因为它极大地简化了开发过程,并提供了强大的工具来处理应用程序中的数据。在本文中,我们将探讨为什么 Python 对象响应框架是如此受欢迎,以及如何使用它来构建应用程序。 什么是 ...
    99+
    2023-10-03
    对象 响应 框架
  • Java开发者必知的二维码技术教程是什么?
    随着移动支付、电子票务等场景的普及,二维码技术越来越受到人们的关注。在Java开发中,我们也会用到二维码技术。本文将介绍Java开发者必知的二维码技术教程,包括二维码的生成、解析和应用等方面。 一、二维码的生成 二维码的生成是指将一段文本...
    99+
    2023-10-20
    教程 二维码 面试
  • redis是什么语言开发的
    这篇文章给大家分享的是有关redis是什么语言开发的的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。redis是什么语言写的?Redis是一个使用ANSI C编写的开源、支持网络、...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作