编程之巅:第一站

编程之巅:第一站

前言

一名优秀的程序员要学会使用便捷的开发工具,古话说了:“工欲善其事,必先利其器”,今天就和大家一起从了解开发工具的历史,然后进入JAVA语言的历史,了解JDK的作用和组成,再到各种环境配置以及应用安装,最后再到入门第一句HelloWorld

🏠个人主页:小清华童鞋
🧑个人简介:大家好,我是东哥,一个想要与大家共同进步的男人😉😉
目前状况🎉:开学即将大三,目标就是练习半年内找到一份实习工作👏👏
💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,我亲爱的大佬😘

正文开始 ----------

开发工具的介绍

eclipse历史

使用别人的软件,总得认识一下开发工具的发展历史,不然别人问你,答不上来多尴尬,注:我觉得了解一下诞生日期,和最新版本号即可

Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。

2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。

2007年6月,稳定版3.3发布;

2008年6月发布代号为Ganymede的3.4版;

2009年6月发布代号为Galileo的3.5版;

2010年6月发布代号为Helios的3.6版;

2011年6月发布代号为Indigo的3.7版;

2012年6月发布代号为Juno的4.2版;

2013年6月发布代号为Kepler的4.3版;

2014年6月发布代号为Luna的4.4版;

2015年6月项目发布代号为Mars的4.5版。

uTools_1660370970495

IntelliJ IDEA历史

2001年1月发布IntelliJ IDEA 1.0版本,同年七月发布2.0,接下来基本每年发布一个版本(2003除外),当然每年对各个版本都是一些升级。3.0版本之后,IDEA屡获大奖,其中又以2003年的赢得的“Jolt Productivity Award”,“JavaWorld Editors’s Choice Award”为标志,从而奠定了IDEA在IDE中的地位。

版本为2018.2.2,2018年8月发布,更新版本为18.2.2。IDEA的宗旨:“Develop with pleasure”。

目前最新版本IntelliJ IDEA 2022.1.2 在调试器中添加了交互式提示和内联监视,改进了对 Java 17 的支持,并引入了对 Git 暂存的支持以及各种其他功能。 [2]

IntelliJ IDEA分为Ultimate Edition 旗舰版和Community Edition 社区版本,旗舰版可以免费试用30天,社区版本免费使用,但是功能上对比旗舰版有所缩减。

uTools_1660370999776

java语言发展历史

既然选择吃这碗饭,了解一下诞生日期不过分吧。

  • 1995年Sun公司推出Java语言

  • 1996年发布Java 1.0版本

  • 1997年发布Java 1.1版本

  • 1998年发布Java 1.2版本

    • 1998年12月8日,第二代Java平台的企业版J2EE发布;
    • 1999年6月,Sun公司发布了第二代Java平台(简称为Java2)的3个版本:
      • J2ME(Java2 Micro Edition,Java2平台的微型版),应用于移动、无线及有限资源的环境;
      • J2SE(Java 2 Standard Edition,Java 2平台的标准版),应用于桌面环境;
      • J2EE(Java 2Enterprise Edition,Java 2平台的企业版),应用于基于Java的应用服务器。
  • 2000年发布Java 1.3版本

  • 2002年发布Java 1.4版本

  • 2004年发布Java 5.0版本

    2004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE 1.5更名为Java SE 5.0(内部版本号1.5.0)。

  • 2005年发布Java 6.0版本

    2005年6月,在Java One大会上,Sun公司发布了Java SE 6。此时,Java的各种版本已经更名,已取消其中的数字2,如J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME

  • 2009年Oracle甲骨文公司收购Sun公司

  • 2011年发布Java 7.0版本

  • 2014年发布Java 8.0版本

  • 2017年9月发布Java 9.0版本

  • 2018年3月发布Java 10.0版本

  • 2018年9月发布Java 11.0版本

  • 2019年3月发布Java 12.0版本

  • 2019年9月发布Java 13.0版本

  • 2020年3月发布Java 14.0版本

  • 。。。

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平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

  • 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中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

    总结:java语言就是牛

java语言跨平台的原理

官方参考文档地址:https://docs.oracle.com/javase/8/

Java虚拟机

  • JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在JVM 之上。

  • 跨平台:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM运行在操作系统上。

    image-20200602094917738

如图所示,Java的虚拟机本身不具备跨平台功能的,每个操作系统下都有不同版本的虚拟机。

JRE 和 JDK

  • JRE (Java Runtime Environment) :是Java程序的运行时环境,包含JVM 和运行时所需要的核心类库
  • JDK (Java Development Kit):是Java程序开发工具包,包含JRE 和开发人员使用的工具。

我们想要运行一个已有的Java程序,那么只需安装JRE 即可。

我们想要开发一个全新的Java程序,那么必须安装JDK

整个JDK、JRE、JVM的关系可以参照官方图解:

image-20200602095802534

说明:

三者关系: JDK > JRE > JVM

image-20200602095836830

补充:

1561383524152

java程序流程示意声明

image-20200602100241202

image-20200602100326184

Java开发环境安装配置

JDK安装(必须)

再安装JDK之前,必须介绍一下为什么Java开发环境必须安装这个JDK,上面提到了Java开发离不开JDK、JRE和JVM,因此我们要正式开发、使用Java,就必须提前准备好这些工具。而上面介绍了,JDK中包括JRE和JVM以及一些依赖的核心类库,因此,我们只需要安装配置好JDK即可。注:如果认真看了上面一大串理论,请当作没看见这句话

这里学习使用的话,我比较推荐JDK1.8版本

JDK安装步骤说明

提供下载的JDK安装包通常是一个以.exe结尾的可执行指令安装包,我们需要双击文件进行安装。

image-20200602111140076

image-20200602111322936

image-20200602111333041

image-20200602111409557

友情提示:

安装路径中,不要包含中文、空格以及其他特殊字符。

JDK安装目录介绍

打开刚才安装JDK的目录。

image-20200602111549544

目录说明如下:

目录名称说明
bin该路径下存放了JDK的各种工具命令。javac和java就放在这个目录。
include该路径下存放了一些平台特定的头文件。
jreJDK包含的Jre运行环境文件。
lib该路径下存放了JDK工具的一些补充JAR包。
javafx-src.zipjava提供的一个图形化界面工具javafx源码包。
src.zipjdk相关的源码包。

配置JDK环境变量(必须)

1、右键【我的电脑】,选择【属性】

image-20200602113258743

2、选择【高级系统设置】

image-20200602113409018

3、选择【环境变量(N)】

image-20200602113546128

4、选择【系统变量(S)】下的新建

image-20200602113727823

5、新建系统环境变量

image-20200602114052307

6、配置系统Path路径

image-20200602114146688

image-20200602114242884

其中,%JAVA_HOME%读取的就是刚才配置的系统环境变量中JAVA_HOME的路径,后面紧跟着\bin,就是定位到了对应的JDK安装的bin目录下,因此,我们在任意位置都能找到bin目录下的相关java指令了。

6、效果验证

安装完JDK,并完JDK环境变量的配置后,我们可以在任意路径下进行测试,验证是否正确。

image-20200602114534828

Eclipse安装(可选)

🔔Eclipse安装使用

下载

下载地址: https://www.eclipse.org/downloads/

官方提供了.exe和.zip两种下载安装方式。.exe的安装包下载后,需要通过安装器进一步安装;.zip的压缩包下载后解压配置即可。

image-20200602152720610

压缩包选择:

image-20200602152752298

压缩包平台选择:

image-20200602152826330

image-20200602152840246

安装

这里,我们选择以压缩包方式进行eclipse的安装配置,这种方式安装比较简单,直接解压压缩包指定位置即可。

image-20200602154118321

进入到解压目录:

image-20200602154219685

其中的eclipse.exe就是eclipse工具启动指令,双击即可使用,当然为了方便后续使用,可以右键【发送到桌面快捷方式】。

基本使用

直接双击eclipse.exe指令,打开eclipse开发工具。

image-20200602154825559

image-20200602154909443

JDK配置

(1)找到上面菜单选项“Window”,选择下面的“Preferences”,然后鼠标左键点击进入设置界面。

image-20200602155740126

(2)进入设置界面之后,找到“Java”选项,然后展开,选择“Installed JRES”,可以看到右侧已有的JDK配置。

image-20200602160017568

(3)需要配置大家本地的JDK版本,然后在右侧点击“Add”进行添加,然后点击“Next”下一步。

image-20200602160101161

image-20200602160417272

(4)勾选刚配置的本地版本,然后再点击“Apply”按钮进行配置应用

image-20200602160541613

(5)点击应用之后,需要大家选择编译版本,找到“Java”下面的“Compiler”选项,进行编辑版本配置。然后点击“Apply and Close”按钮,配置完成。

image-20200602160647807

编码设置

(1)修改工作空间默认编码

image-20200603154546519

(2)修改文件编码

image-20200603154710077

接着,我们就可以在当前页面创建项目、创类、方法、编写代码,进行开发测试了。

IDEA安装(可选)

🔔IDEA的下载和安装

下载

下载地址为:https://www.jetbrains.com/idea

安装
  • 到下载的资料文件夹中,双击安装包。
  • 点击next,准备安装

在这里插入图片描述

  • 点击Browse修改安装路径。

    修改完毕点击next

在这里插入图片描述

  • 勾选64-bit launcher。表示在桌面新建一个64位的快捷方式。

    其他的不要勾选。

    点击next。

计算机发展

  • 点击Install,准备安装。

在这里插入图片描述

  • 等进度条读取完毕之后,会有最终界面提示。

    点击finish即可。

计算机发展

  • 第一次启动会询问,是否导入一些设置。

    选择第二个不导入,保持默认设置,再点击OK。

在这里插入图片描述

  • 选择背景主题

    左边是黑色背景。右边是白色背景。

    这个可以根据自己的喜好来选择。

    选择完毕点击右下角的next

在这里插入图片描述

  • 在本界面让我们购买idea。

    因为我们是学习阶段,所以可以使用免费使用30天。

    点击第一排第二个。Evaluate for free

计算机发展

  • 点击蓝色的Evaluate,就可以开始免费试用30天了。

计算机发展

  • 当看到这个界面,就表示idea已经成功安装完毕

    可以点击右上角关闭。

在这里插入图片描述

我目前学习使用的版本

目前我使用的开发工具版本为,JDK1.8,DEA2019.3.3 x64,eclipse2020 neo,我推荐开发工具还是选择IDEA较好,口说无凭,拿事实说话

这几个常用集成开发工具市场占比大概如下:

image-20200602152014650

针对于Java语言开发来说,国内目前使用较多的集成开发工具就是Eclipse和IntelliJ IDEA。其中,在一些早期项目和中小型公司还保留使用Eclipse较多;对于大型公司,新项目来说,使用IntelliJ IDEA的越来越多。

注:当然小孩子才做选择,成年人都要。

从入门到入土

1.3.1 HelloWorld案例

程序开发步骤说明

JDK安装完毕,可以开发我们第一个Java程序了。

Java程序开发三步骤:编写编译运行

开发步骤

编写Java源程序
  1. D:\atguigu\day01_code 目录下新建文本文件,完整的文件名修改为HelloWorld.java,其中文件名为HelloWorld,后缀名必须为.java

  2. 用记事本或notepad++等文本编辑器打开

  3. 在文件中键入文本并保存,代码如下:

public class HelloWorld {
  	public static void main(String[] args) {
    	System.out.println("HelloWorld");
  	}
}

友情提示:

每个字母和符号必须与示例代码一模一样。

第一个HelloWord 源程序就编写完成了,但是这个文件是程序员编写的,JVM是看不懂的,也就不能运行,因此我们必须将编写好的Java源文件 编译成JVM可以看懂的字节码文件 ,也就是.class文件。

编译Java源文件

在DOS命令行中,进入D:\atguigu\javaee\JavaSE20190624\code\day01_code目录,使用javac 命令进行编译。

命令:

javac Java源文件名.后缀名

举例:

javac HelloWorld.java

HelloWorld运行结果

编译成功后,命令行没有任何提示。打开D:\atguigu\javaee\JavaSE20190624\code\day01_code目录,发现产生了一个新的文件 HelloWorld.class,该文件就是编译后的文件,是Java的可运行文件,称为字节码文件,有了字节码文件,就可以运行程序了。

Java源文件的编译工具javac.exe

运行Java程序

在DOS命令行中,进入Java源文件的目录,使用java 命令进行运行。

命令:

java 类名字

举例:

java HelloWorld

友情提示:

java HelloWord 不要写 不要写 不要写 .class

HelloWorld运行结果

Java字节码文件的运行工具:java.exe

1.8.2 HelloWorld案例常见错误

  • 单词拼写问题
  • 正确:class 错误:Class
  • 正确:String 错误:string
  • 正确:System 错误:system
  • 正确:main 错误:mian
  • Java语言是一门严格区分大小写的语言
  • 标点符号使用问题
  • 不能用中文符号,英文半角的标点符号(正确)
  • 括号问题,成对出现

1.8.3 Java程序的结构与格式

结构:

{
    方法{
        语句;
    }
}

格式:

(1)每一级缩进一个Tab键

(2){}的左半部分在行尾,右半部分单独一行,与和它成对的"{"的行首对齐

1.8.4 Java程序的入口

Java程序的入口是main方法

public static void main(String[] args){
    
}

1.8.5 编写Java程序时应该注意的问题

1、字符编码问题

当cmd命令行窗口的字符编码与.java源文件的字符编码不一致,如何解决?

命令行编译乱码

解决方案一:

在Notepad++等编辑器中,修改源文件的字符编码

image-20200602115238195

解决方案二:

在使用javac命令式,可以指定源文件的字符编码
javac -encoding utf-8 Review01.java

2、大小写问题

(1)源文件名:

不区分大小写,我们建议大家还是区分

(2)字节码文件名与类名

区分大小写

(3)代码中

区分大小写

3、源文件名与类名一致问题?

(1)源文件名是否必须与类名一致?public呢?

如果这个类不是public,那么源文件名可以和类名不一致。

如果这个类是public,那么要求源文件名必须与类名一致。

我们建议大家,不管是否是public,都与源文件名保持一致,而且一个源文件尽量只写一个类,目的是为了好维护。

(2)一个源文件中是否可以有多个类?public呢?

一个源文件中可以有多个类,编译后会生成多个.class字节码文件。

但是一个源文件只能有一个public的类。

(3)main必须在public的类中吗?

不是。

但是后面写代码时,基本上main习惯上都在public类中。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
《UNIX网络编程:卷1 套接字联网API》是一本由W. Richard Stevens所著的经典图书。该书系统地介绍了UNIX操作系统上的套接字编程技术。 套接字是UNIX网络编程中的核心概念之一,它提供了一种通信机制,使得不同主机间的进程可以进行数据的传输和交换。本书的主要内容包括网络编程基础知识、套接字编程的基本操作、传输层协议(TCP、UDP)的使用以及网络编程的高级主题,如进程间通信、多线程编程等。 本书共分为24个章节,每个章节都深入浅出地解释了UNIX套接字编程的各个方面。作者通过丰富的示例代码、清晰的图解和详细的解释帮助读者理解并掌握套接字编程的技巧和实践。 《UNIX网络编程:卷1 套接字联网API》具有以下特点: 1. 详尽全面:书中对UNIX网络编程的各个方面进行了详细的介绍,从基础知识到高级主题,都有所涉及,对读者来说是一本全面系统的参考书。 2. 实用性强:书中的示例代码贴近实际应用场景,读者可以通过实践演练快速掌握套接字编程的技能,并了解如何解决实际网络编程中的常见问题。 3. 经典权威:作者W. Richard Stevens是UNIX网络编程领域的权威专家,他在书中融入了自己多年的经验和理论研究成果,使得本书成为了套接字编程领域的经典之作。 《UNIX网络编程:卷1 套接字联网API》是一本经典可贵的学习资料,它对UNIX套接字编程提供了系统而丰富的介绍,既适用于初学者入门学习,也适合有经验的开发人员作为参考手册使用。无论是从事网络编程开发的工程师,还是对UNIX网络编程感兴趣的技术爱好者,都会从该书中获得丰厚的知识收益。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值