0-JAVA入门

一、Java三大版本

  • JavaSE:标准版(桌面程序、控制台开发…)
  • JavaME :嵌入式开发(手机,小家电…)
  • JavaEE:E企业级开发(web端,服务器开发…)

二、Java的特点

关键特点

  1. 面向对象
    两个基本概念:类、对象
    三大特性:封装、继承、多态
  2. 健壮性(鲁棒性)
    吸收C/C++语言的特点,但去掉了指针、内存申请与释放等影响程序健壮性的部分,提供了一个相对安全的内存管理和访问机制
  3. 跨平台性
    Write once,Run Anywhere
    原理: 运行java程序的操作系统上,需要先安装一个Java虚拟机即JVM,由JVM负责Java程序在当前操作系统中运行

11个具体特点

  • 简单性:Java语法是C++语法的一个“纯净”版本,没有头文件、指针运算(指针语法)、结构、联合、操作符重载、虚基类等;支持开发能够在小型机器上独立运行的软件
  • 面向对象:取代C++中的多重继承为更简单的接口;提供更丰富的运行时自省功能
  • 分布式:Java有一个丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样
  • 健壮性:Java编译器能够检测许多在其他语言中仅在运行时才能检测出来的问题,如进行早期的问题检测、后期动态的(运行时)检测等;与C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性
  • 安全性:Java适用于网络/分布式环境,为了保证该环境达的安全性,从一开始,Java就设计成能够防范各种攻击,使用Java可以构建防病毒、防篡改的系统
  • 体系结构中立:Java编译器能够生成与特定的计算机体系结构无关的字节码(体系结构中立的目标文件格式,.class),生成的字节码不仅可以很容易地在任何机器上解释执行,而且还可以动态地翻译成本地机器代码
  • 可移植性:与C和C++不同,Java规范中没有“依赖具体实现”的地方。基本数据类型的大小以及有关运算都做了明确的说明。具体来说,在Java中,数据类型具有固定的大小(C/C++中,int位数不固定的,而Java中固定为32位),这消除了代码移植时令人头痛的主要问题;二进制数据以固定的格式进行存储和传输,消除了字节顺序的困扰;字符串是用标准的Unicode格式存储的。Java定义了可移植的接口
  • 解释型:Java解释器可以在任何移植了解释器的机器上执行Java字节码
  • 高性能:解释后的字节码性能已经比较满意,但在有些场合下还需要更加高效的性能->即时编译器?
  • 多线程:多线程可以带来更好的交互响应和实时行为
  • 动态性:Java够适应不断发展的环境,库中可以自由地添加新方法和实例变量,而对客户端却没有任何影响;在Java中找出运行时类型信息十分简单

三、Java运行机制

两个核心机制:

  • Java虚拟机(Java Virtual Machine)
  1. JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域,负责执行指令,管理数据、内存、寄存器
  2. 针对不同的操作系统有不同的JVM
  • 垃圾回收机制(Garbage Collection)
  1. C/C++语言中,程序员需要负责回收无用的内存
  2. Java语言提供了一种系统级线程跟踪存储空间的分配情况,能够在JVM空闲时,检查并释放那些可以被释放的存储空间
  3. 该机制在Java程序运行过程中自动进行,程序员无法精确控制和干预

问题: Java程序还会存在内存泄漏内存溢出问题吗?
回答:

语言类型:

  1. 编译型语言:使用平台相关的编译器(编程语言提供)对源代码进行编译,并包装生成可以直接在平台上运行的可执行程序(可执行程序通过平台提供的解释器解释运行)->先编译成可执行程序再解释运行可执行程序
  • 优点:一次编译,多次运行,执行效率高
  • 缺点:可移植性差,跨平台需要修改源代码。
  1. 解释型语言:使用平台相关的编译器(编程语言提供)和解释器(编程语言提供)对源代码进行逐行编译和解释(注:执行哪行代码,就编译和解释哪行代码,不执行的代码不编译和解释)->边编译边解释(这样可以按平台特性得到想要的程序)
  • 优点:可移植性好,跨平台无需修改源代码
  • 缺点:每次运行都要重新编译,执行效率低。

Java既是编译型也是解释性语言(采取折中方案)

四、JDK、JRE

  • JDK(Java Development Kit):Java开发工具包,如编辑工具(javac.exe)、打包工具(jar.exe)等;供开发人员人员使用;包括JRE
  • JRE(Java Runtime Environment):Java运行环境,如java程序所需的核心类库等,安装后即可运行开发好的Java程序;包括JVM
    JDK/JRE/JVM
    JDK=JRE+开发工具集
    JRE=JVM+Java SE标准类库

五、Java开发环境搭建

卸载JDK

  1. 删除JAVA安装目录
  2. 删除系统设置里的环境变量【JAVA_HOME和Path】
  3. 删除环境变量指示路径下关于Java的目录
  4. 测试: java -version

安装JDK

  1. 官网下载系统对应版本的JDK8并安装【企业最多使用的】
  2. 配置系统环境变量JAVA_HOME:指定JDK的安装路径
  3. 在系统变量的Path下添加JDK的bin和JRE的bin
    • %JAVA_HOME%\bin
    • %JAVA_HOME%\jre\bin
  4. 测试:java -version

六、Hello,World!

public class hello{
	public static void main(String [] args){
		System.out.print("Hello,world!");
	}
}
  1. javac 命令编译成class文件(字节码文件)
  2. java 命令运行编译后的文件

注:

  • java大小写敏感
  • 文件名和类名【public class 类名】要相同,并且首字母大写【一般】
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明前大奏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值