[笔记] 疯狂JAVA讲义(第3版) 第1章 Java语言概述与开发环境

简介: [笔记] 疯狂JAVA讲义(第3版) 第1章 Java语言概述与开发环境

概述

Java语言历史简介,Java开发环境的配置及第一个Hello,world程序。

第1章 java语言概述与开发环境

1.1 Java语言的发展简史

1990年sun公司在嵌入式开发中发现C++太复杂难用,团队领导Gosling决定创造一种新的语言:Oak。

1995,Sun公司发布Java语言;1996年,发布JDK1.0.

1998年,Sun公司发布JDK 1.2,并将Java分成三个版本(EE,SE,ME),将Java API分成三大类(核心,可选,特殊)

2002年,Sun公司发布JDK1.4;2004,JDK1.5

2009年,Oracle收购Sun,

2014年,Java SE 8,Java 8 新增大量新特性。

1.2 Java的竞争对手及各自优势

1.2.1 C#

“Microsoft对Java的反击”

1.2.2 Ruby

简洁的解释型语言,纯粹的面向对象编程

1.2.3 Python

Guido于1989年开发。面向对象的解释型语言。

1.3 Java程序运行机制

Java是一种特殊的高级语言,它既具有解释型语言的特征,也具有编译型语言的特征,因为Java程序要经过先编译,后解释两个步骤。

1.3.1 高级语言的运行机制

高级语言按程序的执行方式可以分为编译型和解释型两种。

编译型:使用编译器,针对特定平台,将源码[一次性"翻译]{.underline}"成该平台硬件可执行的机器码。

解释型:使用专门的解释器对源程序[逐行解释]{.underline}成特定平台的机器码并立即执行。

1.3.2 Java程序的运行机制和JVM

Java程序的执行要经过两步:编译;解释执行

Java语言中负责解释执行字节码文件的是Java虚拟机(Java Virtual Machine,JVM)。

JVM是可运行Java字节码文件的虚拟计算机,所有平台上的JVM向编译器提供相同的编程接口,编译器只需要面向虚拟机。

1.4 开发Java的准备

1.4.1 下载和安装Java 8 的JDK

JKD的全称是Java SE Development Kit,即Java标准版开发包,是sun提供的一套用于开发Java应用程序的开发包,提供了编译、运行Java程序所需的各种工具和资源。

JRE:Java运行环境(Java Runtime Environment),Java运行的基本条件。

如果要开发Java程序,应该下载安装JDK(包含JRE),如果只运行Java程序。安装JRE即可。

具体的下载 去Java官网上下载Java8的对应平台的较新版本。

Windows下安装:打开安装包,根据提示安装,尽量选择没有中文、空格的目录下安装。

1.4.2 设置PATH环境变量

下载JDK之后,将JAVA\jdk xxxx\bin加入PATH环境变量。

使用命令编译,执行。

javac -d . HelloWorld.java

java Java类名

1.5 第一个Java程序 HelloWorld

1.5.1 编辑Java源代码

使用记事本创建一个文本文件后缀名改为.java,输入如下代码

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

1.5.2 编译

javac -d destdir srcFile

编译成功后出现HelloWorld.class文件

1.5.3 运行

java Java类名

输出 Hello,World!

1.5.4 根据CLASSPATH环境变量定位类

JDK1.5以上无须设置。CLASSPATH的作用是搜索Java类, 默认在当前路径下搜索。

1.6 java程序的基本规则

1.6.1 Java程序的组织形式

Java是一种纯面向对象的程序设计语言,Java程序必须以类(class)的形式存在,类是Java程序的最小程序单位。

1.6.2 Java源文件的命名规则

1、源文件后缀是.java

2、源文件的文件名和public类(如果有)相同。

1.6.3 初学者容易犯的错误

1.CLASSPATH环境变量的问题

jdk1.5以后可以不设置。

2.大小写问题

Java严格区分大小写

3.路径空格问题

不要使用带空格的路径

4.main()方法问题

直接运行java类,这个Java类必须包含main方法,且格式固定:

public static void main(String[] args)

如果不是这个格式,运行时会提示找不到main方法。

1.7 垃圾回收机制

Java语言不需要不需要程序员直接控制内存回收,Java程序的内存分配和回收都是由JRE在后台自动进行的。

JRE回收那些不再使用的内存,称为垃圾回收(GarbageCollocation,GC)

通常,垃圾回收具有以下特点:

  1. 垃圾回收机制的目标是回收无用对象的内存空间,对于其他物理资源,如数据库连接,磁盘I/O等无能为力。
  2. 为了更快使用垃圾回收机制回收无用对象,可以将对象的引用变量设置为null,暗示垃圾回收机制可以回收该对象。
  3. 垃圾回收机制发生的不可预知性。

1.8 何时开始使用IDE工具

对于Java语言的初学者而言,这里给出一个忠告:不要使用任何IDE工具来学习Java编程。

建议直接使用记事本写程序。

当你熟悉后,才开始使用IDE。

附录 本章练习

1.搭建自己的Java开发环境

2.编写Java语言的HelloWorld

public class HelloWorld

public class HelloWorld
{
  public static void main(String[] args)
  {
  System.out.println("Hello,World!");
  }
}
相关文章
|
4月前
|
JSON Java API
【干货满满】分享京东API接口到手价,用Java语言实现
本示例使用 Java 调用京东开放平台商品价格及优惠信息 API,通过商品详情和促销接口获取到手价(含优惠券、满减等),包含签名生成、HTTP 请求及响应解析逻辑,适用于比价工具、电商系统集成等场景。
|
2月前
|
Java
Java语言实现字母大小写转换的方法
Java提供了多种灵活的方法来处理字符串中的字母大小写转换。根据具体需求,可以选择适合的方法来实现。在大多数情况下,使用 String类或 Character类的方法已经足够。但是,在需要更复杂的逻辑或处理非常规字符集时,可以通过字符流或手动遍历字符串来实现更精细的控制。
282 18
|
2月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
125 4
|
3月前
|
存储 Java Apache
Java语言操作INI配置文件策略
以上步骤展示了基本策略,在实际项目中可能需要根据具体需求进行调整优化。例如,在多线程环境中操作同一份配置时需要考虑线程安全问题;大型项目可能还需考虑性能问题等等。
198 15
|
5月前
|
Java 应用服务中间件 Docker
java-web部署模式概述
本文总结了现代 Web 开发中 Spring Boot HTTP 接口服务的常见部署模式,包括 Servlet 与 Reactive 模型、内置与外置容器、物理机 / 容器 / 云环境部署及单体与微服务架构,帮助开发者根据实际场景选择合适的方案。
226 25
|
4月前
|
算法 Java
Java语言实现链表反转的方法
这种反转方法不需要使用额外的存储空间,因此空间复杂度为,它只需要遍历一次链表,所以时间复杂度为,其中为链表的长度。这使得这种反转链表的方法既高效又实用。
453 0
|
4月前
|
JSON Java API
【干货满满】分享拼多多API接口到手价,用Java语言实现
本方案基于 Java 实现调用拼多多开放平台商品详情 API,通过联盟接口获取商品到手价(含拼团折扣与优惠券),包含签名生成、HTTP 请求及响应解析逻辑,适用于电商比价、导购系统集成。
|
4月前
|
JSON Java API
【干货满满】分享淘宝API接口到手价,用Java语言实现
本文介绍了如何使用 Java 调用淘宝开放平台 API 获取商品到手价,涵盖依赖配置、签名生成、HTTP 请求与响应解析等核心实现步骤。
|
5月前
|
Oracle Java 关系型数据库
新手必看:Java 开发环境搭建之 JDK 与 Maven
本文分享了 Java 学习中 JDK 安装配置与 Maven 使用的入门知识,涵盖 JDK 下载安装、环境变量设置、Maven 安装配置及本地仓库与镜像设置,帮助新手快速搭建 Java 开发环境。
660 0
|
5月前
|
JavaScript Java Go
Go、Node.js、Python、PHP、Java五种语言的直播推流RTMP协议技术实施方案和思路-优雅草卓伊凡
Go、Node.js、Python、PHP、Java五种语言的直播推流RTMP协议技术实施方案和思路-优雅草卓伊凡
413 0