如何学习java?

目录

[一. 初识Java](#一. 初识Java)

[1. Java语⾔概述](#1. Java语⾔概述)

[1.1 Java是什么](#1.1 Java是什么)

[1.2 什么是JavaSE?什么是JavaEE?](#1.2 什么是JavaSE?什么是JavaEE?)

JavaSE(JavaStandardEdition):

[JavaEE(JavaEnterprise Edition):](#JavaEE(JavaEnterprise Edition):)

主要区别:

[1.3 Java语⾔重要性](#1.3 Java语⾔重要性)

[1.4 Java语⾔发展简史](#1.4 Java语⾔发展简史)

[1.5 Java语⾔特性](#1.5 Java语⾔特性)

[1.6 Java开发环境安装](#1.6 Java开发环境安装)

[1. 简介](#1. 简介)

2.安装

3.配置

[4. 检验](#4. 检验)


一. 初识Java

【本节⽬标】

  1. Java语⾔简介、发展概述、语⾔优势

1. Java语⾔概述

1.1 Java是什么

Java是⼀种优秀的程序设计语⾔,它具有令⼈赏⼼悦⽬的语法和易于理解的语义。 不仅如此,Java还是⼀个有⼀系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的⽤ 于软件开发和跨平台部署的⽀持环境,并⼴泛应⽤于嵌⼊式系统、移动终端、企业服务器、⼤型机等 各种场合。

1.2 什么是JavaSE?什么是JavaEE?

JavaSE(JavaStandardEdition):
  1. 核⼼:Java的基础平台

  2. ⽤途:开发桌⾯应⽤和简单服务器程序

  3. 主要内容:核⼼语⾔特性、基本API(如I/O、⽹络、GUI)

  4. ⽬标⽤⼾:⼀般Java开发者

JavaEE(JavaEnterprise Edition):
  1. 核⼼:JavaSE的扩展版本

  2. ⽤途:开发⼤型、分布式企业应⽤和Web应⽤

  3. 主要内容:企业级API(如Servlet、JSP等)

  4. ⽬标⽤⼾:企业级应⽤开发者

主要区别:

1.范围:JavaEE⽐JavaSE更⼴泛,包含更多特性

2.复杂度:JavaEE更复杂,学习曲线更陡

3.应⽤规模:JavaEE适合⼤型应⽤,JavaSE适合⼩到中型应⽤

4.运⾏环境:JavaEE需要特定的应⽤服务器,JavaSE可在标准JVM上运⾏

注意:我们熟知的Spring Springboot等等实际上是JavaEE的补充和扩展!

1.3 Java语⾔重要性

  1. 语⾔⼴泛使⽤程度

  2. ⼯作领域

  3. Java语⾔⽬前在IT领域的应⽤是⾮常⼴泛的,掌握Java语⾔可以从事不少IT⾏业的相关开发岗位

具体包括:

◦ 企业级系统

⽐如⼤型复杂的企业级软件系统,Java的安全机制以及跨平台性的优势,其在分布式系统领域 开发中有⼴泛应⽤,涉及到⾦融、电信、交通、电⼦商务、ERP系统等。

◦ Web开发领域

Java语⾔在设计初期,赶上了互联⽹发展的⻛⼝,当时就瞄准了互联⽹开发,凭借稳定的性能 表现和较好的扩展性,Java语⾔⼀直是⼤型互联⽹平台的重要解决⽅案。

◦ android平台应⽤

Android是⼀种智能⼿机操作系统,Java是⼀⻔⾮常流⾏的编程语⾔。Android上的应⽤程序就 是⼤多是⽤Java编写的,Android的SDK⼤部分就是直接将JavaSDK翻译过来的,所以具有 Java基础,也可以快速上⼿Android开发。

◦ ⼤数据平台开发

⼤数据相关的各类框架,⽐如:Hadoop、spark、storm、flink等,以及各种中间件flume、 kafka、sqoop等,这些框架以及⼯具等⼤多数是⽤Java语⾔开发的,随着⼤数据技术的落地应 ⽤,Java在⼤数据领域的应⽤前景也是⽐较⼴阔的。

  1. 除上述开发领域外,Java在游戏领域、⼈⼯智能领域、科学计算领域、嵌⼊式领域也有⼀定的应 ⽤。因此学好Java,将来就业的选择也会⾮常⼴泛。

1.4 Java语⾔发展简史

Java 语⾔源于1991年4⽉,Sun公司JamesGosling博⼠领导的绿⾊计划(GreenProject)开始启 动,此计划最初的⽬标是开发⼀种能够在各种消费性电⼦产品(如机顶盒、冰箱、收⾳机等)上运⾏的程 序架构。这个就是Java的前⾝:Oak(得名于Java创始⼈JamesGosling办公室外的⼀棵橡树),但由 于这些智能化家电的市场需求没有预期的⾼,Sun公司放弃了该项计划。随着1995年代互联⽹的发 展,Sun公司看⻅Oak在互联⽹上应⽤的前景,于是改造了Oak,于1995年5⽉以Java的名称正式发 布,并提出"Writeonce,Runanywhere"的⼝号。

Java⽬前的最新版本可以查看官⽅的⽹站:

http:// https://www.oracle.com/java/technologies/downloads/

1.5 Java语⾔特性

以下Java语⾔特性来⾃于Java⽩⽪书:

1. 简单性

Java语法是C++语法的⼀个"纯净版本",相当于对C++做了⼀个减法。这⾥没有头⽂件、指针运算 (甚⾄指针语法)、结构、联合、操作符重载、虚基类等等。不仅如此,Java开发环境远远超出⼤多 数其他编程语⾔的开发环境。

2. ⾯向对象

在Java的世界⾥,⼀切皆对象。⽐如:⼈、狗、⼿机、电脑等都是对象。所谓⾯相对象,就是依靠对 象之间的交互来完成事情,⽐如:⼈⽤⼿机⽹上购物,狗吃⻣头... Java的⾯向对象特性与C++旗⿎相当,与C++的主要不同点在于多重继承。在Java中,取⽽代之的是更 简单的接⼝概念。⽽且与C++相⽐,Java提供了更丰富的运⾏时⾃省功能。

3. 分布式(微服务)

Java有丰富的例程库,⽤于处理像HTTP和FTP之类的TCP/IP协议。Java应⽤程序能够通过URL打开和 访问⽹络上的对象,其便捷程度就好像访问本地⽂件⼀样。

4. 健壮性

Java与C++最⼤的不同在于Java采⽤的指针模型可以消除重写内存和损坏数据的可能性(对于曾经花 费⼏个⼩时来检查由于指针bug⽽引起内存冲突的⼈来说,⼀定很喜欢Java的这⼀特性)。不仅如 此,Java编译器能够检测许多在其他语⾔中仅在运⾏时才能够检测出来的问题。

5. 安全性

Java适⽤于⽹络/分布式环境。为了达到这个⽬标,在安全性⽅⾯投⼊了⼤量的精⼒。使⽤Java可以构 建防病毒、防篡改的系统 从⼀开始,Java就设计成能够防范常⻅的各种攻击:

1.运⾏时堆栈溢出,蠕⾍和病毒常⽤的攻击⼿段。

2.破坏⾃⼰进程空间之外的内存。

3.未经授权读写⽂件

6. 体系结构中⽴

编译器⽣成⼀个体系结构中⽴的⽬标⽂件格式,按照该中规范⽣成的⽂件,只要有Java运⾏时系统, 这些编译后的代码就可以在许多处理器上运⾏。Java编译器通过⽣成与特定计算机体系结构⽆关的字 节码指令来实现这⼀特性。精⼼设计的字节码不仅可以很容易的在任何机器上解释执⾏,⽽且还可以 动态地翻译成本地机器代码。这就是为什么可以:"Wriceonce Runanywhere"。 ⽽且其他语⾔编写的程序,在编译后如果能够严格按照字节码⽂件的规范⽣成**.class⽂件**,也可以在 JVM上运⾏。

7. 可移植性

与C/C++不同,Java规范中没有"依赖具体实现的地⽅"。基本数据类型的⼤⼩以及有关运算都做了 明确的说明。例如,Java中的int永远是32位的整数,⽽在C/C++中,int可能是16位整数、32位整数, 也可能是编译器提供商指定的其他⼤⼩。在Java中,数据类型具有固定的⼤⼩,这消除了代码移植时 令⼈头疼的主要问题

8.解释性

Java为了实现与平台⽆关,⾃⼰维护了⼀套基于栈架构的指令集,Java源代码经过编译之后,字节码 ⽂件中的指令就是按照⾃⼰的指令集来组织的,但是在具体硬件环境中运⾏时,系统并不能识别,因 为Java程序在执⾏时,Java解释器会逐条的将字节码⽂件中的指令翻译成CPU的指令集。

9. ⾼性能

边解释边执⾏,垃圾会说等导致了Java代码运⾏效率偏低,近年来JVM也在不断的优化,⽐如:JIT(即 时编译器),热点代码探测,让Java程序的执⾏效率⼤幅提⾼,在有些场合不亚于C/C++。

10. 多线程

Java在当时很超前。它是第⼀个⽀持并发程序设计的主流语⾔。多线程可以带来更好的交互响应和实 时⾏为。并发程序设计绝⾮易事,但是Java在这⽅⾯表现出⾊,可以很好的管理这个⼯作。

11. 动态性

Java与C/C++相⽐更加具有动态性。它能够适应不断发展的环境。库中可以⾃由的添加新⽅法和实例 变量,⽽对客⼾端没有任何影响。在Java中找出运⾏时类型信息⼗分简单(反射的特性,后续会学 到) 因此:Java不仅仅是⼀⻔编程语⾔,也是⼀个由⼀系列计算机软件和规范组成的技术体系。

1.6 Java开发环境安装

1. 简介
  • JDK : Java SE Development Kit Java开发工具
  • JRE : Java Runtime Environment Java运行环境

如果要从事Java编程,则需要安装JDK,如果仅仅是运行一款Java程序则JRE就满足要求。

Java的安装包分为两类,一类是JRE其就是一个独立的Java运行环境; 一类是JDK其是Java的开发环境,不过在JDK的发布包中包含了一个独立的JRE,另外需要注意JDK本身就内置有JRE。

2.安装

第一步:执行安装包jdk-8u131-windows-x64.exe ,出现如下图界面,点击下一步。

第二步:安装开发工具和源代码即可;JDK安装包中包含了一个独立的JRE,作为开发机器可以不用安装,因此这里选择此功能将不用(下图二);不建议更改安装目录,采用默认即可;点击下一步。

第三步:稍等片刻,安装完成

3.配置

关于JDK的配置,网上流传的方法特别多,有的也特别复杂,完全不可取。配置之前,先弄清楚到底配置什么东西。

第一:JAVA_HOME环境变量,值为JDK的安装目录,为什么要这么配置能,主要是应为很多开源软件的依赖到这个变量,用于寻找机器上的Java环境,比如:Tomcat , Maven

第二:Path变量值中追加 Java命令的路径,道理很简单,就是希望能够在命令行中,直接使用JDK中提供的命令,比如:java, javac

在JDK1.6以及之后,安装Java的开发环境,只需要配置上面两个内容即可。

第一步:配置JAVA_HOME

第二步:配置Path

需要注意Path路径一般是存在的,只需要追加即可。这里使用%JAVA_HOME%的意思是直接引用上面配置的JAVA_HOME的值,这样的好处在于,如果Java安装目录发生变话,主需要修改JAVA_HOME的值,不用再修改Path变量的值。

重要!!部分Windows10的系统在重启之后%JAVA_HOME%\bin配置的失效,这里解决方法是配置全路径即可,比如:C:\Program Files\Java\jdk1.8.0_131\bin

注意:Windows 8 , 10的Path变量配置要友好一些,直接配置一条记录即可,如果是Windows7的话,需要在Path变量的值中使用;(英文分号)分割,然后追加Java的安装目录下的bin目录路径即可。

4. 检验

安装完成JDK以及相应的配置之后,需要验证是否安装成功,是否配置正常。

第一步:打开cmd命令行窗口

第二步:输出java -version命令,如果输出如下图,表示安装配置成功,否则需要检查安装和配置是否正确

这里推荐一个b站的安装视频,大家可以根据上面的一步一步的进行安装我们java所需要的工具

安装视频链接如下:
http:// https://www.bilibili.com/video/BV1DqdwBcECP/share_source=copy_web&vd_source=7d2f7e89b41dc3fc360dc19031bb1f18

相关推荐
范什么特西2 小时前
计算机杂记
java
吃好睡好便好2 小时前
汽车基本组成
学习·汽车
RyFit2 小时前
SpirngAI
java
庞轩px2 小时前
第六篇:Spring用了哪些设计模式?——从单例到代理,拆解框架中的经典设计
java·spring·设计模式·bean·代理模式·aop·单例
神仙别闹2 小时前
基于 C# OpenPGP 的文件管理系统
开发语言·c#
番石榴AI2 小时前
纯 CPU 推理!0.1B 超轻量级端到端OCR模型,使用 Java 进行文档解析
java·开发语言·ocr
likerhood2 小时前
ConcurrentHashMap详细讲解(java)
java·开发语言·性能优化
机器学习之心2 小时前
集成BWM法、熵权法、改进博弈论组合赋权与三角直觉模糊云模型的多属性评价模型,MATLAB代码
开发语言·matlab·熵权法·三角直觉模糊云模型·bwm法·改进博弈论组合赋权·多属性评价模型
拾忆丶夜3 小时前
unity 热力图学习
学习·unity·游戏引擎