Java_核心基础概念
Posted 过往将来
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java_核心基础概念相关的知识,希望对你有一定的参考价值。
文章目录
- Java_语言的特点
- Java_简单特性
- Java_面向对象的特性
- Java_是分布式的语言
- Java_是强大的语言
- Java_是安全的语言
- Java_是体系结构中立的结构
- Java_是解释型的语言
- Java_是高性能的语言
- Java_是多线程的语言
- Java_是动态的语言
- Java_运行机制
- Java_在各领域之间的应用
- Java_JDK简介
- Java_JVM简介
- Java_JRE简介
- Java_第一个HlleoWorld
- Java_语言的特点
- Java_跨平台性特点
- Java_核心机制-JVM虚拟机
- Java_核心机制-垃圾回收
- Java_常见问题及解决方案
- Java_注释
- Java_printlin()和print()的区别
- Java_.java源文件简介
- Java_设置path的目的
- Java_GC(垃圾回收)简介
- Java_(GC)垃圾回收器的基本原理
- Java_源文件简介
- Java_类简介
- Java_公开类
- Java_包
机器语言
- 机器语言是一种指令集的体系,它是用二进制代码表示的语言,是计算机唯一可以直接识别和执行的语言.
- 机器语言具有计算机可以直接执行、简洁、运算速度快等优点,但是直观性差,非常容易出错,程序的检查和调试都比较困难
汇编语言
- 汇编语言是面向机器的程序设计语言,是为了解决机器语言难以理解和记忆的缺点
- 用易于理解和记忆的名称和符号表示机器指令中的操作码,这样用符号代替机器语言的二进制码
- 机器语言变成了汇编语言;于是汇编语言亦称为符号语言。
- 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序
- 汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。
高级语言
- 高级语言为用户提供了一种既接近与自然语言,又可以使用数学表达式,还相对独立于机器的工作方式。与汇编语言一样,机器也不能直接执行用高级语言编写的程序。
- 高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如目前流行的java,c,c++,C#
- 高级语言有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好的描述各种算法,而且容易学习掌握。
Java_简介
- Java是Java面向对象程序设计语言和Java平台的总称
- java 分为三个体系 JavaSE (java平台标准版),JavaEE(J2EE)(java平台企业版),JavaME(java平台微型版)。
Java_语言的特点
Java_简单特性
- Java语言的语法与C语言和C++语言很接近,使很容易学习和使用
- Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换
- Java语言不使用指针,而是引用,并提供了自动的废料收集,使得不必为内存管理而担忧。
Java_面向对象的特性
- Java语言提供类、接口和继承等原语,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制
- Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定
- Java语言是一个纯的面向对象程序设计语言。
Java_是分布式的语言
- Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),
- Java语言提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等
- Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
Java_是强大的语言
- Java的强类型机制、异常处理、垃圾的自动收集等是Java程序强大的重要保证
- Java的安全检查机制使得Java更具健壮性
Java_是安全的语言
- Java提供了一个安全机制以防恶意代码的攻击。
- Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全检查
Java_是体系结构中立的结构
- Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件)
- Java程序可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
Java_是解释型的语言
- Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行
- Java程序运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
Java_是高性能的语言
- Java与其他的解释型的高级脚本语言相比,Java是高性能的语言,它的运行速度很快.
Java_是多线程的语言
- 在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。
- 通常有两种方法来创建线程:
- 其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,
- 其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程
- Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
Java_是动态的语言
- Java语言的设计目标之一是适应于动态变化的环境。
- Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。
- Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查
Java_运行机制
- Java是编译型语言和解释型语言的集合体.
- Java程序在运行时,采用通用的java编译器将java源程序编译为与平台无关的字节码文件(.class文件),然后由java虚拟机(JVM)对字节码文件解释执行
- java字节码具有平台无关性,可以在各种不同系统平台中运行,但是需要有不同版本的java虚拟机,不同平台的java环境其Java虚拟机是不一样的。
Java_在各领域之间的应用
- 企业级应用:主要指复杂的大企业的软件系统、各种类型的网站。
- android平台应用:Android应用程序使用Java语言编写
- 大数据平台开发和移动领域应用
Java_JDK简介
- JDK是(Java Development Kit)的缩写,是Java的开发工具包,
- JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了
JRE。所以安装了JDK,就不用在单独安装JRE了。 - JDK中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)等
Java_JVM简介
- JVM(JAVA虚拟机)是运行Java字节码的虚拟机,通过编译.java文件为.class文件得到字节码文件 ,.class文件包含JVM可以理解的字节码。
- JVM是一种规范,它提供可以执行Java字节码的运行时环境,是可运行java字节码文件的虚拟计算机
- 所有平台的上的JVM向编译器提供相同的接口,而编译器只需要面向虚拟机,生成虚拟机能识别的代码,然后由虚拟机来解释执行。
Java_JRE简介
- JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。
- 通过JRE,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。
- JRE包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,
如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可
Java_第一个HlleoWorld
package hhhh;
public class helloworld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
Java_语言的特点
- 面向对象:两个基本概念:类和对象,三大特性:封装,继承,多态
- 健壮性:吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制
- 跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。
- 原理:只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java Virtual Machine) 即可。由JVM来负责Java程序在该系统中的运行。
Java_跨平台性特点
- 因为JVM的存在,同一个Java 程序在三个不同的操作系统中都可以执行。这
样就实现了Java 程序的跨平台性。
Java_核心机制-JVM虚拟机
- JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指
令,管理数据、内存、寄存器。 - 对于不同的平台,有不同的虚拟机。
- 只有某平台提供了对应的java虚拟机,java程序才可在此平台运行
- Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
Java_核心机制-垃圾回收
- Java不再使用的内存空间应回收—— 垃圾回收。
- 在C/C++等语言中,由程序员负责回收无用内存
- Java 语言消除了程序员回收无用内存空间的任务:
- Java提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
- 垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。
- 尽管Java提供了垃圾回收机制,但是Java程序还会出现内存泄漏和内存溢出问题
Java_常见问题及解决方案
错误原因:
- 源文件名不存在或者写错
- 当前路径错误,
- 后缀名隐藏问题
错误原因:
- 类文件名写错,尤其文件名与类名不一致
- 类文件不在当前路径下,或者不在classpath指定路径下
- 声明为public的类应与文件名一致,否知编译失败
- 编译失败,注意错误出现的行数,再到源代码中指定位置改错
Java要求必须按照语法规则编写代码。
如果程序违反了语法规则,例如:忘记了分号、大括号、引号,或者拼
错了单词,java编译器都会报语法错误。
Java_注释
- 用于注解说明解释程序的文字就是注释。
- Java注释分为单行注释
//注释文字
,多行注释/* 注释文字 *
,文档注释(Java特有) - Java_注释提高了代码的阅读性,调试程序的重要方法。
- 注释是将自己的思想通过注释先整理出来,再用代码去体现
- 对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。
- 多行注释里面不允许有多行注释嵌套。
8. 注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形
式体现的该程序的说明文档。
Java_printlin()和print()的区别
- System.out.println()和System.out.print()的区别
- System.out.println();打印完后,会换行。
- System.out.print();打印完后,不会换行。
Java_.java源文件简介
- 一个".java"源文件中可以包括多个类(不是内部类),但是最多只有一个类名声明为public,与文件名相同
- Java的class名字可以Java文件名不同。但public class的名字必须和文件名相同。
Java_设置path的目的
- 设置path时为了在控制台的任何文件路径下,都可以调用jdk指定目录下的所有指令
Java_GC(垃圾回收)简介
- GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,
- Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的
- Java语言没有提供释放已分配内存的显示操作方法。
Java_(GC)垃圾回收器的基本原理
- 对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。
- ,GC采用有向图的方式记录和管理堆(heap)中的所有对象,从而确定哪些对象是"可达的",哪些对象是"不可达的"。
- 当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。
- 程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。
Java_源文件简介
- Java源文件扩展名为
.java
的Java源码文件,即我们所用的一个编译单元,在这个源码文件中,有类的定义,即类在源码文件中 - 源文件中可以有多个类,但是只能有一个public类,并且类一旦被public修饰,那么源文件名和这个类名必须相同,否则编译报错。
- 编译一个.java文件时,其文件中的每一个类(或接口)都会单独生成一个.class字节码文件。(内部类也会生成单独的.class文件,其格式为:外部类名$内部类名.class)
- 如果源文件中没有public修饰的类,那么这个包也就没有什么意义了,因为源文件编译后每个类会单独生成class文件,然而这些class文件又不能被外界访问。其实源文件中没有被public修饰的类,主要是为了辅助public类。
- Java程序规范规定,一个编译单元中只提供public类,同时只有一个public类还是为了JVM方便查询,源码方便阅读
Java_类简介
- 类的实质是用户定义的一种引用数据类型,称为类类型,是Java程序的基本组成单位,类可以看成一个有共同属性和行为事物进行抽象的模板。方法是定义在类中的。
- 方法是语句的集合,它们在一起执行一个功能,解决一类问题的步骤的有序组合,可以认为方法是使用代码解决某一特定问题的代码集合
Java_公开类
- 公开类即被public修饰的类:
public class 类名{}
- 公开类的类名必须和源文件名一致
- 在一个源文件中最多只能由一个公开类
Java_包
- Java中的包类似于操作系统中的文件夹,将具有类似功能的类或者相同的类放在相同的包里面,便于组织与管理.
- 包是为了更好的组织类,Java提供了包机制,用来区别类名的命名空间
- 包语句语法格式:
package pkg1[. pkg2[. pkg3...]];
- 将域名作为包时,要倒写 :比如将百度域名作为包:
com.baidu.www
- 为了能够使用某一个包的成员,需要在Java程序中明确导入该包,使用 import语句
import pack1[. pkg2[. pkg3...].(classname | *)]
以上是关于Java_核心基础概念的主要内容,如果未能解决你的问题,请参考以下文章