Java基础整理--Java简介

本文从基础的知识出发,整理与Java开发相关的知识点。文中记录的主要是本人认为比较重要的但又陌生的知识,每个人情况都不尽相同,权且当做Java复习过程中的查漏补缺,也希望能对大家有所帮助。

Java简介概述

  1. 如何定义软件工程师Java软件工程师
    软件工程师是一种职位的名称,通常是通过计算机的“某种编程语言”完成软件的开发。
    因此,Java软件工程师是通过Java语言完成软件的开发。
  2. 计算机的组成
    计算机=硬件(CPU、内存、硬盘、鼠标、键盘、显示器等)+软件;
    软件=系统软件(直接和硬件交互的软件,如win7,winxp,win8,win10,linux等操作系统)+应用软件(运行在系统软件之上的软件,如QQ、微信、某某网站等)
  3. DOS命令
    DOS全称是“磁盘操作系统”,比较原始的操作计算机方式就是通过DOS命令操作计算机,而脱离图形化界面,如下形式:
命令 作用
cd 【目录路径】 进入某个目录
cls 清屏
dir 【文件名】 查看是否存在某个文件
del 【文件名】 删除某个文件
del *.class 删除以.class结尾的所有文件

目录路径为绝对路径和相对路径。
绝对路径:表示该路径从某个盘符下作为出发点的路径
相对路径:表示该路径从当前所在的路径下作为出发点的路径

注意:(1)若我们修改了环境变量如Path,需要重新打开DOS窗口才能验证环境变量是否生效;(2)可以向DOS窗口中拖拽文件,来显示该文件的绝对路径。

  1. 计算机语言发展史
    1)什么是计算机编程语言
    提前地人为地定制好的一套交流规则,只要遵守这套语法规则,那么人和计算机之间就可以很好地沟通。
    2)计算机语言发展史
    第一代语言:机器语言 主要编写二进制码,直接编写100101010101这样的二进制,以打孔机为代表
    第二代语言:低级语言 主要以汇编语言为代表,在低级语言中已经引入了一些英语单词,例如变量赋值mov
    第三代语言:高级语言 几乎和人类的语言完全相同,即使是没有学习过计算机编程,只要看到这段代码就知道该代码主要完成什么功能,例如C语言、C++、Java
    总之,编程语言的发展方向是:向着人类更加容易理解的方向发展。
  2. Java的三个版本
    J2SE【Java的标准版本】 该版本是基础,无论以后走EE还是ME,SE是必须要精通的。J2SE是SUN公司为java程序员准备的一套“基础类库”,这套基础类库学习之后,可以完成最基本的操作,例如,文件的读写、线程的控制…
    J2EE 【Java的企业版本】这是SUN公司为程序员专门准备的一套“类库”,这套类库可以协助程序员完成企业级软件的开发,如:OA办公系统、进销存系统、超市系统…
    J2ME 【Java的微型版本】 这套类库可以协助程序员完成微型设备的嵌入式开发,Java最初就是做微型设备嵌入式开发的。
    2005年,在Java诞生十周年的时候,以上三个模块改名为JavaSE、JavaEE和JavaME
  3. Java语言的发展史
  • Java语言诞生于1995年
  • 在1995年之前SUN公司(该公司目前被Oracle收购)为了占领智能电子消费市场,派James Gosling(Java之父)领导团队开发了一个Oak(橡树)语言
  • 1996年,JDK1.0诞生
  1. 什么是JDK
    JDK全称Java Development Kit,即Java开发工具包。做Java开发必须安装的一个工具包,由于SUN公司被Oracle公司收购,所以可从Oracle官网下载:http://www.oracle.com
    JDK和JRE的区别:JDK是Java开发工具包,是Java开发人员必须使用的工具包;JRE是Java运行时环境,如果想要运行Java程序,则必须要有Java运行时坏境;JDK安装完成后会自带一个JRE;如果在某台机器上,只需要运行Java程序,则不需要安装JDK,只需要安装JRE即可。
    什么是JVM:JVM是Java虚拟机,是虚构出来的计算机;JDK包括JRE,JRE又包括JVM;JVM是Java语言实现跨平台的法宝,而之所以能够实现跨平台,是因为不同操作系统的JVM不同

Java跨平台的实现:
Windows操作系统和Linux操作系统的内核肯定不同,这两个操作系统执行指令的方式也是不一样的,所以,显然 java程序不能直接和操作系统打交道。SUN的团队很聪明,他们想了一个办法,让java程序运行在一台虚拟的计算机当中,这个虚拟的计算机叫做Java虚拟机,简称JVM。Java虚拟机再和底层的操作系统打交道。

  1. Java语言的特性
    简单性:相对C++而言,Java中不再支持多继承,并且屏蔽了指针的概念;Java语言底层是C++实现的,不是C语言
    面向对象:Java是纯面向对象的,更符合人的思维逻辑,更容易理解
    可移植性:又称跨平台,Java程序可以做到一次编译,到处运行,Java程序可以在不做任何修改的情况下在Windows操作系统和Linux操作系统上运行
    多线程:Java支持多线程,允许一个应用程序同时存在两个或两个以上的线程,用于支持事务并发和多任务处理
    健壮性:和自动垃圾回收机制有关(简称GC机制),Java语言运行过程中产生的垃圾是自动回收的,不需要程序员关心。
    安全性:包括四个层次,语言级安全性、编译时安全性、运行时安全性、可执行代码安全性
  2. Java的加载与执行
    在Java的整个生命周期,包括两个重要的阶段,分别是:编译阶段运行阶段
    在这里插入图片描述
    运行Java程序的执行原理:
    编译阶段,通过运行javac软件,将java源文件编译成字节码文件,如执行javac A.java,执行完毕,生成 .class字节码文件。
    运行阶段,执行 java A命令会启动Java虚拟机JVM;JVM启动后会启动类加载器ClassLoader;ClassLoader会在硬盘上的某个位置搜索 A.class字节码文件;若找到给文件,则将其装载到JVM,JVM通过解释器将字节码文件解释成10010101这样的二进制文件,然后操作系统执行二进制文件和底层硬件平台进行交互。
  3. classpath的作用
  • 我们知道在windows操作系统上,Path是给操作系统指路的,同理,classpath是给类加载器ClassLoader指路的,它是属于Java语言的环境变量,不属于windows操作系统。
  • 默认情况下,ClassLoader从当前路径下加载xxx.class字节码文件,若我们配置了classpath环境变量,则类加载器只去指定的路径当中加载字节码文件。

猜你喜欢

转载自blog.csdn.net/shao_yc/article/details/106530854