01-概述
时间:2020-03-21 18:39:57
收藏:0
阅读:62
1. Java基础知识图解
2. 常用DOS命令
- dir : 列出当前目录下的文件以及文件夹
- md : 创建目录
- rd : 删除目录
- cd : 进入指定目录
- cd.. : 退回到上一级目录
- cd: 退回到根目录
- del : 删除文件 // 若后面跟着文件目录,则会删除该目录下的文件
- exit : 退出 dos 命令行
- echo javase~>1.doc:将javase~写出到1.doc
3. 计算机编程语言介绍
4. Java的3个版本
- JavaSE (Java Standad Edition):标准版,定位在个人计算机上的应用
- JavaEE (Java Enterprise Edition):企业版,定位在服务器端的应用
- JavaME (Java Micro Edition):微型版,定位在消费性电子产品的应用
5. Java特性和优势
- 跨平台/可移植性
- 这是Java的核心优势。Java在设计时就很注重移植和跨平台性;其源代码被编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。Java源程序被编译成一种与机器无关的字节码格式,在Java虚拟机上运行
- 比如:Java的int永远都是32位。不像C++可能是16,32,可能是根据编译器厂商规定的变化。这样的话程序的移植就会非常麻烦
- 安全性
- 强类型语言,其类型检查比C/C++要严格 // int i = 6.1; [c: √] [java: ×]
- 提供了垃圾回收机制,有效避免了内存泄漏问题
- 禁止非法内存访问,在没有授权的情况下是不能访问内存的。所有这些措施,使得开发人员不再担心内存的崩溃
- 面向对象
- 支持继承、重载、多态等面向对象的特性
- C是纯面向过程的语言;C++语言是面向过程和面向对象混合的语言
- 简单性
- Java就是C++语法的简化版,指的就是将C++的一些内容去掉;比如:头文件,指针运算,结构,联合,操作符重载,虚基类等等
- 高性能
- Java语言本身发展中通过虚拟机的优化不断提升运行效率
- 比如,通过JIT(JUST IN TIME)即时编译技术提高运行效率。 将一些“热点”字节码编译成本地机器码,并将结果缓存起来,在需要的时候重新调用
- 分布式
- Java是为Internet的分布式环境设计的,因为它能够处理TCP/IP协议
- 多线程
- Java多线程的简单性是Java成为主流服务器端开发语言的主要原因之一
- 健壮性
- 吸收了C/C++ 语言的优点,但去掉了其影响程序健壮性的部分(如:指针、内存的申请与释放等)
- 如果出现某种出乎意料之事,程序也不会崩溃,而是把该异常抛出,再通过异常处理机制加以处理
6. Java应用程序的运行机制
- 计算机高级语言的类型主要有 [编译型] 和 [解释型] 两种
- Java 语言是两种类型的结合
- Java首先利用文本编辑器编写 Java源程序,源文件的后缀名为 .java
- 再利用编译器(javac) 将源程序编译成 {字节码文件},字节码文件的后缀名为 .class
- 最后利用虚拟机JVM(解释器,java) 解释执行
- Java的源代码和字节码是与机器无关的,但JVM是与机器有关的
- 装有不同OS的机器上,需要有专门为该OS开发的JVM,JVM是与机器有关的
7. Java 核心机制 —— 垃圾回收
- 不再使用的内存空间应回收(垃圾回收)
- 在C/C++等语言中,由程序员负责回收无用内存
- Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空间的分配情况,并在JVM空闲时,检查并释放那些可被释放的存储空间
- 垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预
- Java程序还会出现内存泄漏和内存溢出问题吗?Yes
8. JVM、JRE和JDK
a. JVM (Java Virtual Machine)
- JVM 就是一个虚拟的,用于执行字节码的"虚拟计算机"
- 他也定义了 指令集、寄存器集、结构栈、垃圾收集堆、内存区域
- JVM负责将Java字节码解释运行,边解释边运行 // 速度就会受到一定的影响
- Java虚拟机 是实现 跨平台 的核心机制
- 不同的操作系统有不同的虚拟机
- Java 虚拟机机制屏蔽了底层运行平台的差别,实现了"一次编译,随处运行"
b. JRE (Java Runtime Environment)
包含 JVM、库函数、运行Java应用程序所必须的文件
c. JDK (Java Development Kit)
包含 JRE,以及 编译器(javac.exe) 和 调试器等用于程序开发的文件
d. 三者关系
- 如果只是要运行Java程序,只需要JRE就可以。JRE通常非常小,其中包含了JVM
- 如果要开发Java程序,就需要安装JDK
9. 环境变量Path的配置
a. 引入 Path
- 背景
- 在DOS的任何目录下我们都可以运行OS自带的命令
- 而想要在DOS下运行用户自己的程序,则必须进入到该程序所在目录下才能运行
- Path
- Path环境变量是在OS中一个具有特定名字的对象;如果我们想要在DOS的任何目录下都可以运行自己创建的程序,则需要设置OS自带的环境变量Path
- 它告诉OS,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下寻找此程序外,还应到哪些目录下寻找,以最先找到的为准
Java & Path
- 编译一个 [Java源文件],需要使用javac.exe程序;而运行一个[字节码文件],则需要使用java.exe程序
- 应将"bin文件夹"设置为Path环境变量的属性值
b. 设置Path的步骤
右键计算机 → 属性 → 高级系统设置
新建 JAVA_HOME 变量(用于说明JDK的安装目录)
修改系统环境变量Path,在最前面追加 %JAVA_HOME%\bin
c. classpath配置问题
- ".class"文件的加载路径(不必)
- JRE会自动搜索当前路径下的类文件及相关jar文件
10. 第1个Java程序
a. 常见错误
- 常见问题-1:提示"javac不是内部或外部命令……"
- 出错原因:Path变量配置错误导致没有找到javac命令
- 解决方案:参考<环境变量Path的配置>
- 常见问题-2:文件夹中可以看到Hello.java文件,在编译时出现"javac 找不到文件……"
- 出错原因:可能是操作系统显示设置的问题,隐藏了文件的扩展名
- 解决方案:去掉"隐藏已知文件夹类型的扩展名"复选框中的对勾,看到文件的实际名称为Hello.java.txt,将后缀后.txt去掉
- 常见问题-3:NoSuchMethodError:main
- 出错原因:找不到main方法,应该是main方法书写有误
- 解决方案:检查 public static void main(String [] args){} 是否有误
b. 总结
- Java对大小写敏感,如果出现了大小写拼写错误,程序无法运行
- 如果你在 Window 环境下,”javac hello.java”是会编译成功的,但”java hello”一定会报错
- 编译时找源文件属于Window层面的,而 Window 不区分大小写
- 解释运行字节码文件(通过找类名),是属于Java层面的,而 Java 严格区分大小写
不包含main方法的类,无法直接运行
- public class Hello {...}
- 关键字
public
被称作访问修饰符(access modifier),用于控制程序的其它部分对这段代码的访问级别 - 关键字
class
的意思是类;Java是面向对象的语言,所有代码必须位于类里面 一个源文件可以包含多个类class,但源文件名 必须 和 其中定义的 {public的类名} 相同
- 一个源文件中至多只能声明一个public的类(源文件名只能有一个),其它类的个数不限
- 正确编译后的源文件,会得到相应的字节码文件,编译器为每个类生成独立的字节码文件,将字节码文件自动命名为类的名字且以“.class”为扩展名
- 仔细看图
- 关键字
- 在Java中,用花括号划分程序的各个部分,任何方法的代码都必须以“{”开始,以“}”结束, 由于编译器忽略空格,所以花括号风格不受限制 // 在写括号、引号时,一定是成对编写,然后再往里插入内容
- main方法是Java应用程序的入口方法,它有固定的书写格式:public static void main(String[] args) {…}
Java中每个语句必须以分号结束,回车不是语句的结束标志,所以一个语句可以跨多行
11. API
- API 全称:Application Programming Interface,是程序语言提供的类库
- API文档:针对于提供的类库如何使用,给的一个说明书 // 文档注释
原文:https://www.cnblogs.com/liujiaqi1101/p/12540623.html
评论(0)