Ken的杂谈
  • Ken的杂谈 (current)
  • 关于
  • 杂谈
    Java Spring Spring Boot Spring Cloud MyBatis C# .NET Core .NET ASP.NET Core ASP.NET ClassLibrary Mono 数据库 MySQL SQL Server 网络 缓存 Web Linux CentOS Ubuntu macOS Windows openEuler Nginx ServiceStack JS/JQ 正则 工具 IDE Grafana Exceptions CI/CD Solution 微服务 Arch Docker 杂谈
  • 系列
    Java 快速入门系列教程 Spring Boot 入门教程 Spring Boot 2.x 入门教程 Spring Cloud 入门教程 .NET Core 快速入门教程 ASP.NET Core 2.1 入门教程 CentOS 7 快速上手教程 Ubuntu快速上手入门教程 Hyper-V基础教程 Docker入门教程
  • GitHub

Java快速入门教程 1、开篇:Java的优势和特点

Java @ 2017-07-19 12:19:02 · 阅读:(7297)

一、Java为什么如此火热?

成本

先说说开发者成本:Java的语法简单,没有很多的语法糖。 在语法入门上比较容易,
入门要使用的IDE,免费、小巧(虽然没有Visual Studio强大,但是对于新手入门来说,这个选项很重要),由于开源,社区的活跃度高,资料也多,这样的情况一方面不担心碰到问题无处求解,另一方面也有众多的交流平台

再说说经营者成本:Java可以部署在Linux Server上,Linux Server有免费的发行版。这个对比Windows Server节省一大笔费用。另外Java的黄金搭档MySQL企业版授权费比Oracle、SQL Server等也便宜很多,又生了一大笔费用,省下来的钱只要一小部分,就足以覆盖Linux运维工程师的雇佣成本,怎么算都是划算。

优秀框架的成长土壤

单从web应用开发来说,从最早的SSH(Struts+Spring+Hibernate)到现在的SSM(Spring+Spring MVC+MyBatis)Java平台生长了丰富多样的优秀框架,一方面Java在1.5以后的版本,性能上确实可圈可点。另外Java确实比较Open,虽然Sun公司的种种行为一次次宣告这是Sun的Java,但是Java平台各种标准的制定,可以让社区从各种方面参与完善Java生态。从Java虚拟机到编译器,再到工程构建工具,再到各种框架,以及各种类库等等,所以Java平台才有上好的优秀框架/项目的成长土壤。也诞生了这么多的项目Spring大家庭、Maven、Tomcat 等等,ken这才是Java平台最大的优势

热门效应

Java作为优秀语言&平台自然会受人追捧,Java也就成了受众最多的编程语言。
那么在技术选型的时候Java往往就排的最靠前,毕竟人多,好招聘。Java平台的优秀,加上大家的使用热情,确实会使Java平台越来越热。
就目前来看,Java平台优秀,且没有明显的短板,只要能不断生长出适应互联网技术发展的框架,Java生态还会持续不断的繁荣下去。

二 、Java的特点

简洁的语法

在面向对象的语言中Java的语法缺失比较简洁,没有明显的短板(比如像Python被大家吐槽的缩进机制),没有很多的语法糖。但这可能在一些工程师的眼中是短板,用惯了C#的工程师很可能会觉得Java缺少了很多好用的语法糖,开发效率上来说不够高效,算是有得有失吧。

良好的性能

面向对象的语言中Java的性能算是名列前茅了。比PHP、Python不知道高到哪里去。
这可能要归功于JIT,.NET之所以性能跟Java部分伯仲,相当大的原因就是.NET也有JIT.aspx)编译机制。

配置无处不在

Java的配置风格,深入到了几乎Java所有的框架。从JDK安装后JavaHome的配置。到Maven的配置、Tomcat的配置、IDE的配置,再到使用各种框架时各种xml的配置,可以说配置无处不在。这也是Java平台灵活之处。几乎一切皆可配置。由于一些框架的使用缺少一些缺省到配置,那么在上手的时候就必须了解清楚相关的配置,可能学习曲线会稍陡峭一些。
这也是Java平台最容易被初学者吐槽的地方。比如ken从.NET平台转战Java平台,一开始折腾了好久的配置文件。边吐槽边学习。

还好现在Spring大家族推出了Spring Boot,可以简化相当一部分配置,这是Java开发者的福音,最起码是ken的福音。

三、学习Java要做哪些准备?

  • 基础的编程经验(.NET、PHP、Python等)

    如果你是.NET工程师,建议先阅读下Java跟.NET的对比:https://ken.io/note/java-vs-dotnet

  • Windows / Mac 作为开发环境

    建议Windows,因为ken的开发环境是Windows,环境不同,操作会有差异

  • IDE:IntelliJ IDEA
  • Linux 基本使用(推荐 CentOS、Ubuntu)

    虚拟机安装教程:https://ken.io/serie/hyper-v-courses
    CentOS快速上手:https://ken.io/serie/centos7-quickstart
    Ubuntu快速上手:https://ken.io/serie/ubuntu-quickstart
    如果实在不具备搭建Linux环境的条件,Windows也可以,但是不推荐


  • 系列名称:Java 快速入门系列教程
  • 下一篇:Java快速入门教程 2、Windows下Java开发环境配置(IDEA+Maven+Tomcat)

Ken的杂谈

本文由 ken.io 创作,采用CC BY 3.0 CN协议 进行许可。 可自由转载、引用、甚至修改,但需署名作者且注明出处。

Java

随笔目录


    © Copyright 2012-2025 Ken的杂谈

    豫ICP备10025012号

    ASP.NET Core(6.0) on Linux