Java学习第一章——Java语言概述

本系列笔记是根据尚硅谷宋红康老师的Java基础教程所录。行百里者半九十,与君共勉!
第一部分:编程语言核心结构
  主要知识点:变量、 基本语法、分支、循环、数组…
第二部分 :Java 面向对象的核心逻辑
  主要知识点: OOP 、封装、继承、多态、接口…
第三部分 :开发 Java SE Java SE 高级应用程序
  主要知识 点:异常、集合I/O、多线程、反射机制 、网络编程 、……
第四部分:实训项目
  项目一:家庭收支记账软件(第二章)
  项目二:客户信息管理软件(第四章)
  项目三:开发团队人员调度软件(第七章)
  附加项目一:银行业务管理软件
  附加项目二:单机考试管理软件

目录

第一章 Java语言概述

Java语言概述

Java程序运行机制及运行过程

Java环境的搭建

 开发体验 — HelloWorld

注 释(comment)

Java API 文档

良好的编程风格

知识回顾


第一章 Java语言概述

Java基础知识图解

在这里插入图片描述

 

Java语言概述

是SUN公司1995年推出的一门高级编程语言。
是一种面向Internet的语言。
随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
Java技术体系平台

Java SE标准版支持面向桌面级应用(如 Windows下的应用程序)的Java平台,提供了完整的 Java核心API ,此版本以前称为 J2SE
Java EE企业版是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含如:Servlet Jsp 等,主要针对于 Web 应用程序开发。版本以前称为 J2EE
Java ME小型版支持 Java程序运行在移动终端(手机、 PDA)上的平台,对 Java API有所精简,并加入了针对移动终端的支持,此版本以前称为 J2ME
Java Card支持一些 Java小程序( Applets)运行在小内存设备上的平台

Java程序运行机制及运行过程

Java语言的特点

特点一: 面向对象
       两个基本概念:类、对象
       三大特性:封装、继承、多态
特点二: 健壮性
       吸收了 C/C++ 语言的优点,但去掉了其影响程序健壮性部分(如指针、内存申请与 释放等),提供了一个相对安全的内存管理和访问机制
特点三: 跨平台性
       跨平台性:通过 Java语言编写的应用程序在不同系统平台上都可以运行。 “Write once , Run Anywhere ”
       原理:只要在需运行 java 应用程序的操作系统上,先安装一个 Java虚拟机 (JVM Java  Virtual  Machine)  即可。由 JVM来负责 Java程序在该系统中的运行。

因为有了JVM ,同一个Java 程序在三个不同的操作系统中都可以执行。

Java  两种核心机制
Java 虚拟机 (Java VirtalMachine )
垃圾收集机制 (Garbage Collection )

Java 虚拟机
JVM是一个虚拟的计算机,具有指令集并使用不同存储区域。负责执行指令,管理数据、内存、寄存器 。
对于不同的平台,有不同的虚拟机。
只有某平台提供了对应的 java虚拟机, java程序才可在此平台运行
Java虚拟机制屏蔽了底层运行平台的差别,实现“一次编译,到处运行 ”。

垃圾回收
不再使用的内存空间应回收 —— 垃圾回收。
   在C/C++ 等语言中,由程序员负责回收无用内存。
   Java语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空间的分配情况。并在 JVM空闲时,检查并释放哪些可被释放的存储空间。
垃圾回收在 Java 程序运行过程中自动进行,程序员无法精确控制和干预。
Java 程序还会出现内存泄漏和溢问题吗? Yes!和写的程序有关

Java环境的搭建

JDK、JRE

JDK(java development kit Java开发工具包)JDK 是提供给 Java开发人员使用的,其中包含了java 的开发工具,也包括了 JRE 。所以安装了 JDK ,就不用在单独安装 JRE 了。
 其中的开发工具 :编译(javac.exe)打包工具 (jar.exe) 等
JRE(java runtime environment)java运行环境包括 Java虚拟机 (JVM Java Virtual  Machine) 和Java 程序所需的核心类库等, 如果想要运行一个开发好的 Java 程序,计算机中只需要安装 JRE即可

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

 

安装配置JDK

JDK8安装及配置  提取码:0hg7 

环境变量说明

 开发体验 — HelloWorld

Java语言是编译型和解释型的结合

步骤:
1. 将 Java代码编写到扩展名为 .java的文件中。
2. 通过 javac命令对该 java文件进行编译
3. 通过 java命令对生成的 class文件进行运行

步骤一:编写
选择最简单的编辑器:记事本。
敲入代码 class Test{ },将文件保存成 Test.java这个文件是存放 java代码的文件,称为源文件。 

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

步骤二 :编译

有了 java源文件,通过编译器将其编译成 JVM 可以识别的字节码文件。
在该源文件目录下,通过 javac 编译工具对 Test.java文件进行编译。
如果程序没有错误,任何提示但在当前目录下会出现一个 Test.class文 件,该文称为字节码文件,也是可以执行的 java的 程序。

步骤三:运行
有了可执行的 java程序 (Test.class字节码文件 )
通过运行工具 java.exe对字节码文件进行执行。

注 释(comment)

用于注解说明解释程序的文字就是注释。
Java 中的注释类型:
 单行注释
 多行注释
 文档注释 (java特有 )
提高了代码的阅读性;调试程序的重要方法 
注释是一个程序员必须要具有的良好编习惯。
将自己的思想通过注释先整理出来,再用代码去体现 

单行注释
格式: // 注释文字
多行注释
格式: /* 注释文字 */
注:
    对于单行和多行注释,被注释的文字不会被JVM(java的虚拟机)解释执行,换句话说,编译生成的.class结尾的字节码文件中不包括注释掉的信息。
    多行注释里不允许多行注释嵌套

文档注释 (Java 特有)
格式:

/**
   @author author author 指定 java程序的作者
   @version version指定源文件的版本
*/
 注释内容可以被 JDK 提供的工具 javadoc所解析,生成一套以网页文件形式体现的该程序说明文档。

操作方式:

javadoc -d myHello(文件名) -ahthor -version HelloWorld.java
 

小结 第一个程序
Java 源文件以“ java ”为扩展名。源文件的基本组成部分是类( class),如本例中的HelloWorld类。
Java 应用程序的执行入口是 main() 方法。它有固定的书写格式 :public static void main(String[] args ) {...}
Java 语言严格区分大小写。
Java 方法由一条语句构成,每个以“ ;”结束。
大括号都是成对出现的,缺一不可。
一个源文件中最多只能有一个public类。其它类的个数不限,如果源文件包含一个public类,则文件名必须按该类命名。

Java API 文档

API(Application Programming Interface,应用程序编程接口)是 Java提供 的基本编程接口。
Java 语言提供了大量的基础类,因此Oracle也为这些基础类提供了相应的 API 文档,用于告诉开发者如何使用这些类以及这些类里包含的方法。
下载 API : http://www.oracle.com/technetwork/java/javase/downloads/index.html

提供文档1.8版本中英文资源:

链接:https://pan.baidu.com/s/1TF-y0DthABz_PiknJOd-dw 
提取码:0os5 

良好的编程风格

 正确的注释和风格 

  • 使用文档注释来整个类或方法。
  • 如果注释方法中的某一个步骤,使用单行或多。

正确的缩进和空白

  • 使用一次 tab操作,实现缩进
  • 运算符两边习惯性各加一个空格。比如:  2 + 4 * 5

 块的风格
Java API 源代码选择了行尾风格

知识回顾

JDK,JRE,JVM  的关系

    JDK = JRE + Java的开发工具(javac.exe,java.exe,javadoc.exe)
    JRE = JVM + Java核心类库

环境变量 path 配置及其作用

    JAVA_HOME = bin的上一层目录
    path = %JAVA_HOME%\bin
    目的是为了在控制台的任何文件路径下,都可以调用jdk指定目录下的所有指令。

一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?

    答:可以。但最多只有一个类名声明为public,与文件名相同。

GC是什么? 为什么要有GC

答:GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。

垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收

答:对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。。程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值