13个最热开源微服务 Java 框架

西门子1200,与V90和步科MD60第三方伺服PN通讯 需要注意的是回零方式的选择,因为V90是绝对值编码器,这里回零模式选择模式7,系统自动根据编码器反馈以及组态的机械参数,计算出轴的位置,并且掉电保持。在线访问中,找到对应的网卡,以及下面扫描到的设备,可以在线修改ip地址和profinet名称,注意一定要和组态中的完全一致。以上硬件组态上完成,主要是gsd文件导入后,添加硬件,建立连接,修改ip和profinet名称,添加报文。1- 博图V18内,设备组态,网络视图中,拖入V90以及MD60伺服,并与PLC创建连接。向厂家索要GSD文件,PN的描述文件。 阅读详情

在这里插入图片描述
经过长期发展,Java 最终在服务器领域找到一席之地,不同芯片架构和操作系统对“一次编写,到处运行”的承诺很感兴趣。与此同时,JavaScript 一直在挑战 Java 的地位,前者因为高吞吐量和速度快接管了大批网络流量。Node.js 不仅提高了速度和资源效率,还简化了客户端和服务器运行代码的复杂度。

尽管竞争激烈,许多负责微服务架构开发的团队依旧在继续使用 Java,这可能有多方面原因,比如 Java 经过多年测试,Sun 创建了稳定的虚拟机,Oracle 大力培养和支持,用户使用习惯等。

本文列举了 Java 开发人员正在使用的 13 大开源项目,这些框架构成各地微服务架构基础。

Spring Boot

Java 一直在构建 Spring 应用程序,Spring Boot 是 Spring 的特定版本,通过对配置细节进行处理,Spring Boot 可以自动化微服务配置过程,其创建是为了自启动所有类型 Spring 项目,而不仅仅是微服务。一旦应用程序完成,Spring Boot 会混合在 Web 服务器中,并发出 JAR 文件,可以想象成原始 Docker 容器。

使用 Spring 开发微服务遵循与 Web 应用相同的 MVC 理念。该框架享有多年 Java 开发所构建的深层连接,包括所有主要和次要数据存储,LDAP 服务器以及 Apache Kafka 等消息传递工具集成,众多维护运行服务器集合的小功能,比如 Spring Vault,维护生产服务器所需密码等。

Eclipse MicroProfile

2016 年,Java Enterprise 社区决定清除 Java Enterprise Edition 中的部分内容,以便用户可使用经典部件构建简单微服务。在去掉大量库之后,社区保留了处理 REST 请求、解析 JSON 和管理依赖注入等功能,最终版本被称为 Eclipse MicroProfile,其特点是快速且简单。

从那时起,MicroProfile 社区就制定了一个协议,“每季度发布一次新版本,同时添加新代码以保持微服务平稳安全运行”。对于使用 Java EE 的人来说,开发过程和代码结构将非常熟悉,但无休止的配置麻烦已被去除。

Dropwizard

2011 年,Dropwizard 问世并开启 Java Enterprise 开发人员的视野,其提供非常简单的开发模型,用户可添加业务逻辑,并根据惯例配置其他内容。整个 JAR 文件非常苗条,并且可以快速启动。

Dropwizard 的最大限制可能是缺乏依赖注入,如果想使用依赖注入保持代码干净和松散耦合,用户需要自己添加库。与 Spring 不同,没有 Dropwizard 方法可以做到这一点。但是,Dropwizard 支持大多数功能,比如日志记录、健康检查和提供弹性代码。

WildFly Thorntail

Red Hat 用户使用灵活的配置工具构建 MicroProfile 版本,该框架最初被称为 WildFly Swarm,随后被重命名为 Thorntail。只需在 Thorntail 上指定需要功能,用户即可创建 Maven 构建文件,然后由 Maven 负责组装一切。

Thorntail 通过扫描代码检测主要组件,也可使用 BOM 文件覆盖。全部运行时,Thorntail 将删除不被使用的 Java 企业版并创建小型 JAR 文件,可以使用命令部署。这是另一种遵循 Java 企业版传统方法,而不保留沉重包袱的框架。

Helidon

Helidon 架构剔除了 Java Enterprise Edition,保留基于 servlet 的轻量级核心。在 Helidon 中,开发人员可使用 Netty 并添加代码进行路由和错误处理。它采用两种基本代码模型,即 SE 和 MP 版本。

Node.js 程序员会对 Helidon SE 非常熟悉,因为其具有由句点连接的长链函数调用。对于使用 JAX-RS 的 Java 程序员而言,Helidon MP 看起来会很熟悉,Helidon 集成了一些备受好评的工具,用于检查服务器运行状况或通过微服务跟踪数据流。

Cricket

Cricket 是一个快速 API 开发框架,虽然小,但包含相对丰富的功能,比如键值数据存储,以节省连接数据库和调度程序,控制重复的后台处理。没有其他依赖项增加复杂性或锁定,因此将代码添加到 Cricket 并启动独立微服务非常容易。

Jersey

开发 Web 服务的标准之一是用于 RESTful Web 服务的 Java API(又名 JAX-RS),这是一个已在 Jersey 框架中实现的通用规范。该方法在很大程度上取决于使用注释来指定路径映射和返回详细信息。解析参数和打包 JSON 其他内容,Jersey 均可处理。

Jersey 的主要优点是实现 JAX-RS 标准,部分开发人员也会将 Jersey 和 Spring Boot 结合在一起使用。

Play

体验 JVM 跨语言功能的最佳方式之一是用 Play 框架,这是与 Java 或其他 JVM 语言链接的 Scala 代码。该代码非常现代,具有异步、无状态模型等,不会使服务器过载,没有无休止的线程试图跟踪用户及会话数据。Play 有一些额外功能可用于充实网站,比如 OpenID、验证和文件上传支持。

Swagger

构建 API 可能看起来像编写侦听端口并提供答案的代码一样简单,但 Swagger 开发人员不会同意此说法。他们创建了名为 OpenAPI 的完整 API 规范语言,Swagger 团队提供将此规范转换为自动化测试和文档等的代码。

Swagger 配置文件对 API 非常简单,可用于实现并记录接口行为,提供工具测试在其下构建的代码,此外,提供 API 治理机制。Swagger 是 API 的生态系统,并且不局限于 Java。如果团队转移到 Node.js 或其他语言,则会有 Swagger Codegen 模块等待将 OpenAPI 规范转换为该语言的实现。

Restlet

框架之间的较大差异之一是与其他服务和库之间的连接数。Restlet 是可提供最大功能和连接集合的项目之一。为防微服务对邮件服务器接收 POP,IMAP 或者 SMTP, Restlet 集成了 JavaMail 库;为防构建大量文本索引和元数据,Restlet 集成了 Lucene 和 Solr。

Restlet 不需要使用 JSON,因为代码可以处理 XML、CSV、YAML 等多种文件格式,还可获得用于构建响应模板的多个不同选项。此外,Restlet 客户端允许在 Chrome 浏览器测试 API。

Squash

因为部件松散耦合且很难跟踪通过系统所有层的数据流,因此调试微服务一直是个难题。Squash 允许在 Kubernetes 集群运行代码中设置断点,在 IDE 接收所有数据,就好像本地运行代码一样。Squash 还集成了 Node.js 和 Python 运行时,以防微服务集合没有使用 Java 代码。

Telepresence

Telepresence 是另一个调试选择,可为远程 Kubernetes 集群微服务创建本地代理,对此服务的调用将转移到本地,可以在其中设置断点或执行本地计算机上可进行的任何操作。

Zipkin

Zipkin 用于在微服务上记录并关联事件,以便在问题通过机器集合时进行隔离和研究。Zipkin 有 Java 等至少六种语言实现版本,因此可处理多语言系统。不少框架已经通过某种形式集成 Zipkin,比如 Spring。

写在最后:
”我自己是一名从事了十余年的后端的老程序员,辞职后目前在做讲师,近期我花了一个月整理了一份最适合2018年学习的JAVA干货(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)从事后端的小伙伴们都可以来了解一下的,这里是程序员秘密聚集地,各位还在架构师的道路上挣扎的小伙伴们速来。“
加QQ群:585550789(名额有限哦!)

Android14 RK3576开发板有线网卡静态IP配置全攻略(附数据库修改详解) 本文详细介绍了在Android 14 RK3576开发板上实现有线网卡出厂默认静态IP配置的完整方案。通过深入修改系统源码和SettingsProvider数据库,扩展全局设置字段并注入默认值,确保设备首次启动即自动应用预设的IP地址、子网掩码、网关和DNS,适用于工业控制、数字标牌等批量部署场景,有效提升生产效率。 阅读详情

相关推荐

西红柿成熟度检测数据集总结

成熟度类别标注数量semiripe(半成熟)10275rotten(腐烂)13470fullyripe(完全成熟)35031unripe(未成熟)26212。

crz1336768325的博客 2128

十款优质企业级Java微服务开源项目(开源框架,用于学习、毕设、公司项目、私活等,减少开发工作,让您只关注业务!)

10款优质的 Java 开源项目框架,可以用于学习,毕业设计,公司项目等,项目教程详细,可直接部署做二次开发,减少开发工作,专注实际业务~

小新要变强的博客 2万+

AD21导出gerber文件

文件–>制造输出–>Gerber Files 文件–>制造输出–>Gerber Files 通用、光圈和高级跟第一步一样 3.文件–>制造输出–>NC Drill Files 这个默认就可以了 主要参考视频来自bilibili添加链接描述 此篇博客主要是写给自己好记的,无其他商业用途 ...

新手小杨 1万+

Java微服务实战项目推荐

以下是我推荐的几个Java微服务实战项目: Spring Cloud微服务电商项目:这是一个完整的电商应用程序,使用Spring Cloud实现微服务架构。它包括注册中心、配置中心、网关、商品服务、订单服务、用户服务等多个微服务模块,涵盖了大部分微服务技术点。 微服务在线教育项目:这是一个在线教育平台,使用Spring Cloud实现微服务化。它包括注册中心、配置中心、网关、用户服务、课程服务...

weixin_42576186的博客 1660

CANoe信号传输故障排查指南

本文提供了全面的CANoe信号传输故障排查指南,涵盖从硬件连接、通道配置到软件脚本与数据库加载的全链路诊断。针对常见的通道指示灯不亮、信号无法发送及ECU握手失败等问题,给出了基于CANoe工具和CAPL脚本的详细排查步骤与解决方案,帮助工程师系统化定位并解决实车测试中的通信故障。

ice55的博客 259

尚硅谷Redis 7学习笔记

尚硅谷Redis 7学习笔记

不更了,主打一个陪伴 2万+

GitHub上13个高赞Java项目推荐,会一个就能跟面试官谈笑风生

支持单选题、多选题、判断题支持学生(student)、教师(teacher)、管理员(admin)三种角色学生:参加考试和查看我的考试教师:学生的所有权限+创建/编辑题目+创建/编辑考试管理员:教师的所有权限+管理用户。

Park33的博客 8475

中小企业办公网络配置综合实验华为设备(NAT+策略路由+OSPF+VLAN)

组网需求: 1、PC1、2、3、4均可以访问internet的lo0:8.8.8.8 2、PC1、PC4通过电信ISP访问internet;PC2、PC3通过联通ISP访问internet; 需求分析: 1、internet路由器模拟公网,8.8.8.8模拟公网IP;电信ISP、联通ISP路由器模拟电信和联通运营商;出口路由为企业出口路由器;这四个路由器直连链路之间运行ospf,配置动态路由,实现互通; 2、出口路由与三层交换直连链路运行ospf,动态同步路由信息; 3、出口路由器内网端口配..

A soul tortured by desire 7125

6个顶级SpringCloud微服务开源项目,企业开发必备

Cloud-Platform是国内首个基于Spring Cloud微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。

z_ssyy的博客 4014

提示词驱动的多智能体协作系统

《提示词驱动的多智能体协作系统》 关键词:人工智能、多智能体系统、协作机制、提示词驱动、系统设计与应用 摘要:本文深入探讨提示词驱动的多智能体协作系统,首先介绍其背景和核心概念,然后详细分析多智能体系统的基本原理和提示词驱动的协作机制,最

AI天才研究院 853

从Safety Manual到系统安全概念

本文系统阐述了构建功能安全"证据链"的工程化方法论,核心要点包括:1)建立"风险→对策→验证→证据"闭环链条;2)SafetyManual和FMEDA作为关键证据支撑点,前者界定系统安全边界,后者量化诊断覆盖率;3)通过四步法继承芯片安全机制并扩展至系统级;4)形成"设计-分析-验证"三维闭环体系,包括安全目标、技术实现和验证矩阵;5)强调证据链闭环对安全认证和OEM认可的重要性。该方法论实现了从理论要求到工程实践的完整转化,确保安全设计可验证、可

VehSwHwDeveloper的博客 725

国内最火5款Java微服务开源项目

目录 1.pig 2.zheng 3.Cloud-Platform 4.SpringBlade 5.Guns 1.pig 开源地址:https://gitee.com/log4j/pig 基于Spring Cloud、OAuth2.0、Vue的前后端分...

weixin_30809173的博客 4979

Challenge 5 - OSCP B

jdwp可以执行命令,但是这个脚本需要python2来运行,靶机上没有,那么我们只能将8000端口代理出来了,我这里代理到我本地的7800端口上。访问8080端口显 hostname,我们通过nmap可以看到hostname为ms01.oscp.exam,修改/etc/hosts。试了下impacket-smbexec没有成功, 不过他开放了22端口,我们可以ssh登录web_svc用户。得到下面的结果,root用户运行了一个貌似是debug的进程。nmap扫描发现了一个可以的端口8021。

羽的博客 4947

TOP 13大最热开源微服务Java框架

本文列举了13大可在JVM上构建可靠轻量级微服务的Java框架经过长期发展,Java最终在服务器领域找到一席之地,不同芯片架构和操作系统对“一次编写,到处运行”的承诺很感兴趣。与此同时,JavaScript一直在挑战Java的地位,前者因为高吞吐量和速度快接管了大批网络流量。Node.js不仅提高了速度和资源效率,还简化了客户端和服务器运行代码的复杂度。尽管竞争激烈,许多负责微服务架构开发的团队依...

cpongo5 243

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

java微服务_13个最热开源微服务 Java 框架

经过长期发展,Java 最终在服务器领域找到一席之地,不同芯片架构和操作系统对“一次编写,到处运行”的承诺很感兴趣。与此同时,JavaScript 一直在挑战 Java 的地位,前者因为高吞吐量和速度快接管了大批网络流量。Node.js 不仅提高了速度和资源效率,还简化了客户端和服务器运行代码的复杂度。尽管竞争激烈,许多负责微服务架构开发的团队依旧在继续使用 Java,这可能有多方面原因,比如 J...

weixin_39876650的博客 331

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

java 开源框架_13个最热开源微服务 Java 框架(上)

本文列举了 13 大可在 JVM 上构建可靠轻量级微服务的 Java 框架经过长期发展,Java 最终在服务器领域找到一席之地,不同芯片架构和操作系统对“一次编写,到处运行”的承诺很感兴趣。与此同时,JavaScript 一直在挑战 Java 的地位,前者因为高吞吐量和速度快接管了大批网络流量。Node.js 不仅提高了速度和资源效率,还简化了客户端和服务器运行代码的复杂度。尽管竞争激烈,许多负责...

weixin_39852121的博客 431

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: 凭什么说这门编程语言是下一代 Java?
下一篇: 年底了,如何准备 Java 初级和高级的技术面试?
java1856905
博客等级 码龄8年 100粉丝 249原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值