你所说的 “客户端访问页面也不需要装jvm啊”

证明了你连服务端和客户端都分不清

你可能是正版培训班的受害者

花点功夫解释下给你哈。

纵向比较:客户端编程 vs 服务器编程

客户使用的软件叫做客户端。比如 手机APP,所有的网站, 游戏客户端,由于这些软件是直接面向客户的,所以经常叫做前端。他们的数据来源是远程的服务器端的应用软件。他们对软件客户是不可见的,就像一个“幕后黑手”,因此服务器端应用也经常叫后端。换句话讲:很多软件产品,是分前后端的。前端是给客户用的,后端是为前端提供服务的。因此整个拓扑是星形结构(先不说分布式)。N多个前端对应一个后端。

在用户使用客户端的时候,前端和服务器应用建立连接,互相传递数据。服务器这端究竟是什么程序,如何实现的,跟你毫无关系,作为客户端,我只是要从服务器来的数据就可以了。

作为前端选手,实际上就是负责客户端编程。你编写设计的页面与软件客户直接交互。而软件的业务逻辑并不在客户端实现(一般而言)。

作为后端选手,实际上你是为客户端提供各种各样的数据和数据结构。客户端会向服务端发出各种各样的数据请求,然后针对请求完成逻辑业务,取得数据,返回给客户端。

在前后端交互过程中,前端不知道后端的结构,后端也不清楚前端是用啥编写的。二者仅仅通过数据结构(XML,JSON等)和通信协议(HTTP,SOAP,SOCKET等)来交互(如果不清楚前面的缩写,慢慢你会知道的)。

举一个例子: 用户登录

用户填写好用户名密码等登录信息后,客户端把这些数据发送给服务端。服务端接到数据后再去数据库或者缓存查询校验用户信息(看看你密码对不对),除此之外还有其他行为,比如身份校验,常用登录地点是否符合等等。

2.横向比较: 为什么后端普遍使用Java

第一,跨平台。

实际上在真正的工作环境中,大多数服务器使用的都是Unix系统。跨平台的意义不大。但是Java这个语言被发明的初衷之一就是跨平台。在现在服务器端趋于统一的情况下,本来这个很有意义的价值变得不那么有闪光点了,再加上现在大热的虚拟化技术,Java的跨平台的优点已经不够突出。但是在开发的时候,跨平台仍然会带来好处。因为在多人开发的条件下,由于JVM的存在,开发和部署服务器的系统可以随意挑选,只要有对应版本的JDK。

第二,开源健壮轮子多。

Java简化了C++很多难以学习的地方,因此会Java的人多,开源社区活跃,轮子也就多,形成良性循环。降低了开发成本。尤其是现在形成了Spring Boot逐渐一统江湖的局势,让Java开发更简单。说白了就是,招个刚学会的也能写出让人能看懂可维护的代码。

java服务端开发的好处_用java开发web的优势到底在哪里?相关推荐

  1. java服务端集成极光消息推送--详细开发步骤

    1.极光推送账号准备 要使用极光消息推送必须先在官方网站上注册账号,并添加应用. 产品介绍:https://docs.jiguang.cn/jpush/guideline/intro/ 注册开发者账号 ...

  2. java 服务端使用个推,个推JAVA服务端接入说明

    个推简介 官方文档 个推是商用级的移动应用消息推送云服务解决方案,客户端SDK支持Android和iOS两大平台. 服务端接入步骤 登录个推开发者中心,注册应用,获取AppID.AppKey.Mast ...

  3. 人人都能掌握的Java服务端性能优化方案

    转载自 人人都能掌握的Java服务端性能优化方案 作为一个Java后端开发,我们写出的大部分代码都决定着用户的使用体验.如果我们的代码性能不好,那么用户在访问我们的网站时就要浪费一些时间等待服务器的响 ...

  4. springboot中service中注入dao失败测试类中注入成功_聊一聊 Java 服务端中的乱象

    查尔斯·狄更斯在<双城记>中写道:"这是一个最好的时代,也是一个最坏的时代." 移动互联网的快速发展,出现了许多新机遇,很多创业者伺机而动:随着行业竞争加剧,互联网红利 ...

  5. 那些年,我们见过的 Java 服务端乱象

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 Photo by The Book Tutor @Youtube 文 | 陈昌毅 导读 查尔斯 ...

  6. 谷歌支付(Java服务端)

    Google Pay主要支付流程 1.手机端向Java服务端发起支付,生成预订单,给手机端返回生成的订单号 2.手机端向Google发起支付(传入本地服务器生成的订单号) 3.Google服务器将支付 ...

  7. Flex通信-Java服务端通信实例

    Flex与Java通信的方式有很多种,比较常用的有以下方式: WebService:一种跨语言的在线服务,只要用特定语言写好并部署到服务器,其它语言就可以调用 HttpService:通过http请求 ...

  8. 聊一聊 Java 服务端中的乱象

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:阿里巴巴中间件 查尔斯·狄更斯在<双城记>中写道 ...

  9. 那些年,我们见过的 Java 服务端“问题”

    导读 明代著名的心学集大成者王阳明先生在<传习录>中有云: 道无精粗,人之所见有精粗.如这一间房,人初进来,只见一个大规模如此.处久,便柱壁之类,一一看得明白.再久,如柱上有些文藻,细细都 ...

最新文章

  1. ASP.NET MVC4简单使用ELMAH记录系统日志
  2. app专项测试(稳定性测试、安全性测试)
  3. Android 异步消息处理机制(Handler 、 Looper 、MessageQueue)源码解析
  4. 用python做加法_Python不用加减乘除做加法
  5. C# API强制关机、重启以及注销计算机
  6. 系统测试:单元测试相关知识笔记
  7. freeRTOS V10.0.1移植到STM32F407标准库 - 环境Keil5
  8. [教程]centos下设置网卡
  9. html中注释有几种_历史尝试:小白HTML学习笔记(2)
  10. JAVA学习day06
  11. JAVA操作文件大全(一)
  12. 485通讯的校验和_案例丨MCGS与变频器、温度控制器进行通讯演示
  13. 计算机配置内存容量怎么调,如何设置电脑虚拟内存,电脑虚拟内存设置多少最合理?...
  14. Excel 2010 VBA 入门 043 按自定义序列进行排序
  15. [bzoj2144]: 跳跳棋
  16. 总结一下自己的linux历程
  17. 游戏设计艺术学习笔记之——你好
  18. strchr和strstr的用法
  19. 希尔伯特变换(Hilbert Transform)
  20. 淘宝电商api接口获取商品评论

热门文章

  1. 计算机键盘开锁,如何解锁电脑键盘上的某些按键
  2. 奇偶校验 累加和校验 CRC校验
  3. HTML使用表格简单的制作个人简历
  4. STM32_超声波测距
  5. 空指针在java中的环境配置,轻松搞定项目中的空指针异常Caused by: java.lang.NullPointerException: null...
  6. Qt Model/View教程
  7. 记一次不唯成果论的AI大赛——“MoPaaS杯”首届清华iCenter人工智能挑战赛
  8. 分析某款网络收音机的数据解析部分
  9. 转:MacBook pro盒盖休眠掉电问题
  10. iOS App 使用TestFlight 进行灰度测试