ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

走进 java 世界

2022-07-14 00:33:24  阅读:210  来源: 互联网

标签:Java 语言 走进 程序 世界 JVM java 运行


计算机语言介绍

什么是计算机语言?

  • 语言:是人与人之间用于沟通的一种方式,例如中国人与中国人用普通话沟通,而中国人要和英国人交流,就要学习英语
  • 计算机语言:人与计算机交流的方式
    如果人要与计算机交流,那么就要学习计算机语言
    计算机语言有很多种,如C,C++,java,PHP,Python等等...

第一代语言

机器语言,指令以二进制代码形式存在。使用0和1的二进制码,但是在做计算的时候,比如128,我们要写为10000000,其它的数以此类推,如果再做计算就会变的非常不尽人意,如果想要显示 HelloWord,可能要几百个01的组合,可读性差,难以查错

第二代语言

汇编语言的主题是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上,汇编指令时机器指令便于记忆的书写格式。

第三代语言:高级语言

C、Pascal面向过程语言;C++面向过程/面向对象;java跨平台的纯面向对象的语言;.NET跨语言的平台

java语言概述

Sun Microsystems于1995年推出的面向对象的程序设计语言,共同创始人的詹姆斯.高斯林(James Gosling)被誉为“java之父”

是一种面向Internet的程序语言。java一开始富有吸引力是因为java程序可以在web浏览器中运行。这些java程序被称为java小程序(applet)。applet使用现代的图形用户界面与web用户进行交互。applet内嵌在HTML代码中。

随着java技术在web方面的不断成熟,已经成为web应用程序的首选开发语言

java的历史

  • 1996年发布JDK1.0
  • 1998年发布JDK1.2
  • 平台名称:J2SE(Stadard Edition)、J2EE(Enterprise Edition)、J2ME(Micro Edition)
  • 2004年发布JDK1.5版本更名java 5.0
  • 平台名称:Java SE、Java EE、Java ME
  • 2006年发布java 6.0
  • 2009年被Oracle收购
  • 2011年由Oracle发布java 7.0
  • 2014年Oracle发布java 8.0
  • 2019年发布java 14.0

java语言的特点

  • 面向对象(贴近人类思维模式,模拟现实世界,解决现实问题)
  • 简单性(自动内存管理机制、不易造成内存溢出;简化流程处理、语义清晰)
  • 跨平台(操作系统、服务器等)

java 技术体系平台

  • Java SEE(Java Standard Edition)标准版
    支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本以前称为J2SE

  • Java EE(Java Enterprise Edition)企业版
    是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet 、Jsp等,主要针对于Web应用程序开发。版本以前称为J2EE

  • Java ME(Java Micro Edition)小型版
    支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,此版本以前称为J2ME

java环境的搭建

java虚拟机-JVM

JVM(Java Virtual Machine):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在 JVM 之上。
**跨平台 **:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM运行在操作系统上。

JRE 和 JDK

JRE Java Runtime Eviroment 是用来运行Java环境的
JDK Java Development Kit 是开发者工具包

三者的关系: JDK > JRE > JVM

JDK安装图解

  • 打开官网,下载JDK
    http://www.oracle.com

  • 环境变量的配置(以win10为例)
    1)文件资源管理器 --> 此电脑鼠标右键 --> 选择 属性

2)选择 高级系统设置 --> 选择 环境变量

3)点击下方系统变量的 新建 ,创建新的环境变量,变量名输入 JAVA_HOME ,变量值输入JDK的安装目录

4)选中 Path 环境变量, 双击 或者 点击编辑

5)点击 新建 ,键入 %JAVA_HOME%\bin ,必须是英文格式。选中该行,上移到最上方,点击确定。

  1. 环境变量配置完成,重新开启DOS命令行,在任意目录下输入 javac 命令。

第一个Java程序

Java程序开发三步骤:编写、编译、运行。

编写Java源程序

//class:是类的意思,关键字
//HelloWorld:是类名,是自己起的名字,都是标识符
public class HelloWorld{
	/*
	1,public : 访问修饰符 
	2,static: 静态的意思
	3,void :表示这个方法没有返回值
	4,main: 表示方法名,而且是特殊的,主方法,	
	5,String[] args:方法的参数列表,[]是数组的意思;()方法的标识
	*/
	public static void main(String[] args){//main方法是程序的入口
		//打印双引号里面的内容
		//System.out.println:打印,之后换行
		System.out.println("Hello,Java");
		//System.out.print:打印,之后不换行
		System.out.print("hello,");
		System.out.println("world!!");
	}
}

文件名必须是 HelloWorld ,保证文件名和类的名字是一致的,注意大小写。
每个字母和符号必须与示例代码一模一样。
第一个 HelloWord 源程序就编写完成了,但是这个文件是程序员编写的,JVM是看不懂的,也就不能运行,因此我们必须将编写好的 Java 源文件 编译成JVM可以看懂的字节码文件

编译Java源文件

在DOS命令行中,进入Java源文件的目录,使用 javac 命令进行编译。
javac: java compile
命令:

javac xxx.java

举例:

javac HelloWorld.java

如果程序无误,那么在该目录下,会产生同名的字节码文件:xxx.class

运行Java程序

在DOS命令行中,进入Java源文件的目录,使用 java 命令进行运行。
命令:

java 类名字

举例:

java HelloWorld

java HelloWord 不要写 不要写 不要写 .class

第一个程序注意点

  • **编译 **:是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中, javac 编译器会检查我们所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。

  • **运行 **:是指将 class 文件 交给JVM去运行,此时JVM就会去执行我们编写的程序了。

  • main 方法:称为主方法,固定书写格式:public static void main(String[] args){....},是程序的入口。

  • **注释 *:解释程序,给人看的
    Java 中有单行注释和多行注释
    单行注释以 // 开头 换行结束
    多行注释以 /
    开头 以*/结束

  • 关键字 :是指在程序中,Java已经定义好的单词,具有特殊含义

  • 标识符 :凡是自己起名字的,比如类的名字、方法的名字和变量的名字等等,都是标识符。

Java语言运行机制

核心机制—Java虚拟机

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

核心机制—垃圾回收

不再使用的内存空间应回收——垃圾回收

  • 在C/C++等语言中,由程序员负责回收无用内存。
  • Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空 间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。

垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。

标签:Java,语言,走进,程序,世界,JVM,java,运行
来源: https://www.cnblogs.com/xiaoyangabc/p/16476130.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有