Java环境安装与基础介绍
文章目录
文章目录
Java 简介
Java 是由 Sun Microsystems 公司(Stanford University Network)于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发,并在 1995 年正式推出。
主要特性
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点
- Java 语言是简单的:
Java 语言的语法与 C 语言和 C++ 语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java 丢弃了 C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,而是引用。并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧。
- Java 语言是面向对象的:
Java 语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。Java 语言全面支持动态绑定,而 C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
- Java语言是分布式的:
Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。
- Java 语言是健壮的:
Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。
- Java语言是安全的:
Java通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。除了Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。
- Java 语言是体系结构中立的:
Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
- Java 语言是可移植的:
这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。
- Java 是高性能的:
与那些解释型的高级脚本语言相比,Java 的确是高性能的。事实上,Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C++。
- Java 语言是多线程的:
在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为 Thread(Runnable) 的构造子类将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized)。
- Java 语言是动态的:
Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
关于语言学习的选择
你觉得世界上最好的语言是什么?(PHP风评被害bushi)
各种语言都有其特有的好处,我们选择语言不是道听途说,而是应该脚踏实地去实践。你喜欢你习惯用那种语言,那就去使用。所有的语言其实没有可比性,只有编程能力的可比性。同样的程序员,其实在不同情况下是会选择不同的语言进行工作处理的。语言的选择也是分场合的。
千万不要被语言束缚,不要因为你觉得某种语言好用就拘泥于这个语言环境中,而不愿意接触其他语言,这是编程中最致命的误区。
Python
其实劝退python的视频或者是文章还是很多的,问题总结下来主要是两点:
1.机器学习和算法岗位的门槛比较高,对模型如何实现的细节都要有十分的了解。但话又说回来,机器学习的应用现在对于我们这些普通开发者来说,入门难度已经是十分十分低了。(就算我一行代码也不会,我也有信心写一个人脸识别模型(经典Ctrl+c v)(bushi))。
2.python做后端开发的局限性比较强(纳闷,难道有哪门语言是无敌的?),纠结后端用哪门语言就和LOL上单是用猴子容易上王者还是诺手容易上王者是一个道理,实际上你用什么都上不了然而别人一个易大师都能上(简单来说就是菜的真实)。
学习python的原因以及python的优点:
1.python的语法十分简洁,好上手,你可以快速的掌握一些编程的基本概念
2.python十分容易就可以实现一些算法
3.用python做项目可以很快的给自己带来成就感,激发自身学习热情
Java
Java的一些基本优点:
1.Java使用的市场规模大
2.Java的市场前景广,在求职的时候也会有更多机会,因为国内很多大企业都喜欢用Java来写服务
3.适合计算机专业打基础,比如数据结构和垃圾回收
Java的缺点:
对没有任何编程基础的人来说,Java的上手十分麻烦,要装很多对象,还需要使用IDE,这个我们之后也会讲到
Go&Rust
近两年大热的服务器端语言
Go的优势首先在于大厂背书(Google),同时Go的语言特性以及语法也比较好学,但是Go的构建比较麻烦
Rust的语法比较花哨再加上对函数式的支持比较好,比较适合喜欢玩瑞文或者是帕克这样英雄的玩家,比较秀。
Java环境配置
JDK与JRE的区别
JDK(Java Development kit),Java开发工具包。JDK是整个Java的核心,他提供了Java的开发环境(提供编译器javac等工具,用于将java文件编译为class文件)和Java的运行环境(Java Runtime Environment)。JDK是java开发工具包,在其安装目录下面有五个文件夹、一些描述文件、一个src压缩文件。bin、lib、 jre这四个文件夹起作用。可以看出来JDK包含JRE,而JRE包含JVM。
最主流的JDK是Oracle公司发布的JDK,除了Oracle之外,还有很多公司和组织都开发了属于自己的JDK,例如国外IBM公司开发了属于自己的JDK,国内淘宝也开发了属于自己的JDK,各个组织开发自己的JDK都是为了在某些方面得到一些提高,以适应自己的需求,比如IBM的JDK据说运行效率就比Oracle的JDK高的多。
JRE(Java Runtime Environment)是Java的运行环境。面向Java程序的使用者,而不是开发者。如果你仅下载并安装了JRE,那么你的系统只能运行Java程序。JRE是运行Java程序所必须环境的集合,包含JVM标准实现及 Java核心类库。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。
JDK的安装
OpenJDK和JDK的区别
如果我们提前安装idea,我们会发现idea会自动为我们安装一个OpenJDK,那么什么是OpenJDK,与我们要安装的JDK有什么区别呢?
从前面的简介我们知道Java是由SUN公司发明,2006年SUN公司将Java开源,此时的JDK即为OpenJDK。
OpenJDK是Java SE的开源实现,他由SUN和Java社区提供支持,2009年Oracle收购了Sun公司,自此Java的维护方之一的SUN也变成了Oracle。
关于JDK和OpenJDK的区别,可以归纳为以下几点:
- 授权协议的不同
OpenJDK采用GPL V2协议放出,而JDK则采用JRL放出。两者协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用。
- OpenJDK不包含Deployment(部署)功能
部署的功能包括:Browser Plugin、Java Web Start、以及Java控制面板,这些功能在OpenJDK中是找不到的。
- OpenJDK源代码不完整
这个很容易想到,在采用GPL协议的OpenJDK中,sun jdk的一部分源代码因为产权的问题无法开放OpenJDK使用,其中最主要的部份就是JMX中的可选元件SNMP部份的代码。因此这些不能开放的源代码将它作成plug,以供OpenJDK编译时使用,你也可以选择不要使用plug。
- 部分源代码用开源代码替换
由于产权的问题,很多产权不是SUN的源代码被替换成一些功能相同的开源代码,比如说字体栅格化引擎,使用Free Type代替。
- OpenJDK只包含最精简的JDK
OpenJDK不包含其他的软件包,比如Rhino Java DB JAXP……,并且可以分离的软件包也都是尽量的分离,但是这大多数都是自由软件,你可以自己下载加入。
- 不能使用Java商标
这个很容易理解,在安装OpenJDK的机器上,输入“java -version”显示的是OpenJDK。
JDK的下载
目前OracleJDK已经更新到了JDK18,但是市面上主流的JDK还是JDK8和JDK11。
JDK8历史久且稳定,即使是在如今JDK跟新到了16的情况下,很多企业还在使用
JDK11也是非常的稳定,且引入了很多新特性,使用也是非常广泛。
-
输入Oracle官网下载地址:https://www.oracle.com/downloads/
-
往下拉,看到Developer Downloads ,点击 Java
在这里插入图片描述 -
点击 Java,我们选择JDK
- 选择自己对应的操作系统(以Windows11操作系统为例),我们这边选择的是installer
JDK的安装
-
双击安装包进行安装
-
点击下一步
-
点击下一步,当然也可以点击更改自己想要的安装目录(可以默认,因为所有的语言环境变量安装都在系统中的同一个文件中)
-
安装完成
Java的环境变量配置
-
按下win键,输入环境变量
-
点击打开编辑系统环境变量,点击环境变量
-
点击“新建”,新建系统变量JAVA_HOME,点击浏览目录,值为JDK安装根目录
-
然后新建CLASSPATH变量,值为 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意开头以 .; 开头) ,其中的%JAVA_HOME%就是引用刚才创建的JAVA_HOME变量的值:
然后找到Path变量并双击打开,添加JDK和JRE的bin目录:
点击新建,在里面分别输入:
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
JDK配置验证
-
win+r,输入cmd回车,进入命令提示符窗口(win11系统可以直接右键win点击windows终端)
-
输入Java -version
-
再输入 java 看看有没有java相关信息(如果出现中文乱码,可以先输入chcp 936再输入)
-
最后输入javac查看是否存在相关信息
Java编译器IntelliJ IDEA的安装
1.下载IDEA
如果是联想电脑并且觉得下载慢的同学,可以试试联想商店
在官网下载IDEA,官网下载地址为:下载地址
IDEA各版本的区别:
Community
社区版,免费,但是功能有限制,Android Studio就是基于这个版本定制的。
Ultimate
终极版,收费,功能无限制。
2.安装IDEA
双击安装包开始安装,可以更改自己喜欢的安装目录
对安装中选项说明如下:
Create Desktop Shortcut:创建桌面快捷方式图标,建议勾选 64-bit launcher;
Update context menu:是否将从文件夹打开项目添加至鼠标右键,根据需要勾选;
Create Associations:关联文件格式,可以不推荐勾选,使用如 Sublime Text、EditPlus 等轻量级文本编辑器打开;
Download and install 32-bit JetBrains Runtime:下载并安装 JetBrains 的 JRE。如果已经安装了JRE,则无需勾选此项;
3.启动IDEA
进入会先让你选择界面风格,选择自己喜欢的界面风格
此时需要激活,在校大学生可以申请教育邮箱直接进行激活,官网有详细步骤。或者也可以自行查找破解的方法。
登陆后
4.使用IDEA编写Java程序
-
点击New Project,点击create
-
初始界面
-
创建包
-
创建类
-
编写第一个Java程序
-
点击绿色箭头运行