JavaSE篇学习之路:(一)【JAVA语言概述】上

简介: 计算机语言是人与计算机交流的方式。如果人要与计算机交流,那么就要学习计算机语言。计算机语言有很多种,如:C,C++,Java等。这里,我们选择其中的一种:Java语言。

第一章:开发前言



计算机分为硬件和软件,硬件就是组成计算机的物理组件。我们的电脑、手机、电子设备都算一个小的计算机。


1.1 什么是软件开发


1.1.1 软件定义


软件就是按照特定的顺序把数据和指令组合在一起,能够完成相应功能的程序(计算机指令)。


软件分为两种:


系统软件:专门用于运行其他程序的平台。比如:Linux、Windows、MAC等

应用软件:完成相应功能的程序。比如:MS-Office,QQ,微信等,


1.1.2 什么是开发


开发其实就是制作软件的过程。开发既然是个过程,这个过程可以分为如下几个步骤:


①需求分析和调研、②需求设计、③编码、④测试、⑤后期维护。


1.1.3 什么是软件开发


从开始和客户谈需求,写需求文档、设计当文档,程序员编码,项目测试,整个过程即就是软件开发。在这个过程中分工合作,完成每一个阶段的任务。


1.2 人机交互方式


我们想和计算机说话,就要先了解下用什么方式和计算机沟通。


和计算机交互的方式有两种:


图形界面(Graphical User Interface GUI):这种方式简单直观,使用者易于接受,容易上手操作。


命令行方式(Command Line Interface CLI):需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。


若想和计算机沟通,常用的方式就是通过鼠标键盘操作图形化的界面即可完成。这种方式简单易学,大家都会。能干很多事,包括开发游戏。


1.3 常用dos命令


通过命令行可以和计算机进行相应的沟通,也就是说只要我们输入命令即可完成和计算机沟通的目的。那么命令都有那些呢?常用的dos命令:


dir : 列出当前目录下的文件以及文件夹


md : 创建目录


rd : 删除目录 remove directory


cd : 进入指定目录


cd… : 退回到上一级目录


cd: 退回到根目录


del : 删除文件


exit : 推出dos命令行


help: 帮助命令


cls: dos窗口中清屏可以使用


起初操作电脑常用dos命令,因为需要记住很多命令,不利于普及,后期发展成图形界面,通过鼠标点击界面的形式完成对电脑的操作,其实内部运行的还是这些命令。


1.4 计算机语言


既然图形界面是将dos命令封装在里面,可是这个图形界面是怎么来的呢?其实这些图形界面都是通过相应的计算机语言写出来的。那什么又是计算机语言呢?


1.4.1 什么是计算机语言


首先明确什么是语言,语言是人与人之间用于沟通的一种方式。例如:中国人与中国人用中文沟通。而中国人要和韩国人交流,就要学习韩语。


计算机语言:人与计算机交流的方式。如果人要与计算机交流,那么就要学习计算机语言。计算机语言有很多种,如:C,C++,Java等。这里,我们选择其中的一种:Java语言。


1.4.2 java语言发展历程


1995年5月23日,Java语言诞生

1996年1月,第一个JDK–JDK1.0诞生

1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术

1996年9月,约8.3万个网页应用了JAVA技术来制作

1997年2月18日,JDK1.1发布

1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录

1997年9月,JavaDeveloperConnection社区成员超过十万

1998年2月,JDK1.1被下载超过2,000,000次

1998年12月8日,JAVA2企业平台J2EE发布

1999年6月,SUN公司发布Java的三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)

2000年5月8日,JDK1.3发布

2000年5月29日,JDK1.4发布

2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机

2001年9月24日,J2EE1.3发布

2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升

2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0(因为新特新增加特别多,所以起了个高大上的名字!)

2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME

2006年12月,SUN公司发布JRE6.0

2009年12月,SUN公司发布Java EE 6

2010年11月,由于Oracle公司对于Java社区的不友善,因此Apache扬言将退出JCP

2011年7月28日,Oracle公司发布Java SE 7

2014年3月18日,Oracle公司发表Java SE 8(市场主流版本)

2017年9月21日,Oracle公司发表Java SE 9


Java之所以被开发,是要达到以下五个目的:


应当使用面向对象程序设计方法学

应当允许同一程序在不同的计算机平台执行

应当包括内建的对计算机网络的支持

应当被设计成安全地执行远端代码

应当易于使用,并借鉴以前那些面向对象语言(如C++)的长处。

Java技术主要分成几个部分:Java语言、Java运行环境、类库。一般情况下说Java时并不区分指的是哪个部分。


Java在1.5版本时,做了重大改变,Sun公司并1.5版本重命名为Java 5.0。


1.5 java语言三种架构


J2EE(Java 2 Platform Enterprise Edition)企业版


可帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在Java SE 的基础上构建的,它提供Web 服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和Web 2.0 应用程序。


J2SE(Java 2 Platform Standard Edition)标准版


它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java 应用程序,能为Java EE提供开发基础。比如Java版的扫雷。


J2ME(Java 2 Platform Micro Edition)小型版


用来开发移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)。现在使用的越少用了,Android会逐渐的取代J2ME的市场份额。


Java5.0版本后,更名为 JAVAEE JAVASE JAVAME


第二章:JAVA语言环境搭建



2.1 跨平台原理


2.1.1 什么是跨平台性?


跨平台就是说同一个软件可以在不同的操作系统上执行,而不需要对软件做任务处理。即通过Java语言编写的应用程序在不同的系统平台上都可以运行。


2.1.2 跨平台的原理是什么?


Java应用程序为什么可以跨平台呢?其实只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。


2.1.3 跨平台


因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性。也称为Java具有良好的可移植性。


Java程序之所以能够实现跨平台运行,是因为它根本就不直接运行在任何底层平台上,而是需要在哪里运行,就在哪里(如Windows平台)事先准备好自己的Java平台,而这只是仅仅是安装和配置一个软件而已!


2.1.4 JVM介绍


Java Virtual Machine ,简称JVM;它是运行所有Java程序的抽象计算机,是Java语言的运行环境,它是Java 最具吸引力的特性之一,JVM读取并处理编译过的与平台无关的字节码(class)文件。


注意:Java语言是跨平台的,是因为Java应用程序需要Java虚拟机JVM负责运行。


而Java虚拟机JVM是不跨平台的,不同的操作系统需要安装与此对应的Java虚拟机JVM。


2.2 环境搭建


2.2.1 JAR、JDK区别


Jdk(java development toolkit ,java开发工具包)


是java的核心,包括了java运行环境,一堆java工具(javac、java、jdb)和java基础的类库(即javaAPI包括rt.jar)


可以认为Jre的bin目录里的就是jvm,lib中则是jvm工作所需要的类库 。


Jre(java runtime environmental,java运行时环境)


所有的java程序都要在jre下才能运行。包括jvm和java核心类库和支持文件。与jdk相比不包含开发工具(编译器、调试器、和其它工具)。


JVM(java virtual mechinal,java虚拟机)


jvm是jre的一部分,它是一个虚拟出来的计算机。Jvm的主要工作是解释自己的指令集(即字节码)并映射到本地的CPU的指令集或OS的系统调用。


简单而言:使用JDK开发完成的java程序,交给JRE去运行。


为什么JDK中包含一个JRE呢?


开发完的程序,总需要运行一下看看效果。


也是最重要的,JDK中的开发工具其实都是java语言编写的应用程序,为了方便使用才打包成exe文件。


如果没有JRE,那么这些工具是运行不了的。


2.2.2 下载


官网下载:jdk ,点击安装,分别安装JDK和JRE。


测试安装:进入安装目录下 ,win+R进入dos命令,然后:输入Java和Javac看是否能打印出相关信息,若打印出来说明JDK安装成功。


1.png



2.2.3.1 配置环境变量


1.(右键)此电脑–>高级系统设置–>环境变量


2.png


3.png


2.编辑path环境变量,在变量值开始处加上java工具所在目录,后面用 “ ; ”和其他值分隔开即可。然后一路确定就可以了!


4.png


5.png



3.打开DOS命令行,任意目录下敲入javac。


4.如果出现javac 的参数信息,配置成功。


为什么要配置?一劳永逸。任何环境下都可以直接运行


2.2.3.2 配置技巧


在配置环境变量过程中发现,path环境变量中还有很多其他与系统相关的配置,若JDK目录更改了,这时就要再次修改path中配置的值,很容易造成误操作。


为了不因为jdk的目录或者目录名称的改变,而不断更改path的值,而导致对path变量值的误操作,可以通过以下技巧完成。


新创建一个环境变量 JAVA_HOME 记录住jdk的目录。在path中通过%%动态的获取JAVA_HOME的值即可。


JAVA_HOME=C:\mysoft\Java\jdk1.7.0_21
path=%JAVA_HOME%\bin;%path%

%path%:动态获取path环境变量的值。


%JAVA_HOME%:动态获取名称为JAVA_HOME环境变量的值。


2.2.3.3 临时环境变量配置


临时配置方式:通过dos命令中set命令完成


set :用于查看本机的所有环境变量的信息。


set 变量名 :查看具体一个环境变量的值。


set 变量名=:清空一个环境变量的值。


set 变量名=具体值 :给指定变量定义具体值。


想要在原有环境变量值基础上添加新值呢?首先,通过%变量名%操作符获取到原有环境变量的值。然后加上新值后在定义给该变量名即可:


set path=新值;%path%


注意:这种配置方式只在当前dos窗口和在此dos窗口中使用start开启的dos窗口中有效。窗口关闭,配置消失。


相关文章
|
1天前
|
缓存 Java 数据库
Java并发编程学习11-任务执行演示
【5月更文挑战第4天】本篇将结合任务执行和 Executor 框架的基础知识,演示一些不同版本的任务执行Demo,并且每个版本都实现了不同程度的并发性。
20 4
Java并发编程学习11-任务执行演示
|
2天前
|
网络协议 算法 Java
【Java网络编程】网络编程概述、UDP通信(DatagramPacket 与 DatagramSocket)
【Java网络编程】网络编程概述、UDP通信(DatagramPacket 与 DatagramSocket)
14 3
|
3天前
|
数据库连接
java+ssm+vue代码视频学习讲解
java+ssm+vue代码视频学习讲解
6 0
|
4天前
|
传感器 人工智能 前端开发
JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式
智慧校园电子班牌,坐落于班级的门口,适合于各类型学校的场景应用,班级学校日常内容更新可由班级自行管理,也可由学校统一管理。让我们一起看看,电子班牌有哪些功能呢?
46 4
JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式
|
5天前
|
网络协议 Java 数据库连接
Java语言的特点
【5月更文挑战第7天】Java是一种面向对象的编程语言,强调数据和操作的封装,具备平台独立性,能“一次编写,到处运行”。它有自动垃圾收集机制,消除手动内存管理。Java是强类型语言,注重安全性,并支持多线程编程。其丰富的API库和对网络编程的良好支持增强了功能。此外,Java的可扩展性使其能轻松适应新需求和扩展。
17 4
|
5天前
|
分布式计算 Java 大数据
Java语言主要应用领域
【5月更文挑战第7天】Java在嵌入式系统中以低至130KB的占用展现可靠性,实现“一次编写,到处运行”。在大数据领域,Java通过Hadoop、Hbase、Accumulo和ElasticSearch等工具发挥关键作用。Java也是Eclipse、IntelliJ IDEA和NetBeans等开发工具的基础。广泛应用于电商网站和金融服务器系统,即便在J2ME式微后,仍能在部分低端手机中找到其踪影。
16 4
|
6天前
|
安全 Java 编译器
Java第一课——Java详细图文概述
Java第一课——Java详细图文概述
26 6
Java第一课——Java详细图文概述
|
11天前
|
安全 Java API
Java 8新特性概述及其对编程实践的影响
【4月更文挑战第30天】本文将详细讨论Java 8的新特性,包括Lambda表达式、Stream API以及Optional类等,并探讨这些新特性如何改变了Java编程的实践。我们将通过实例代码展示这些新特性的用法,并分析其对提高代码可读性和编写效率的影响。
|
12天前
|
算法 Java 大数据
Java从入门到精通学习报告
Java从入门到精通学习报告
20 1
|
2天前
|
Java 数据库
【Java多线程】对线程池的理解并模拟实现线程池
【Java多线程】对线程池的理解并模拟实现线程池
11 1