Java基础学习总结一(Java语言发展历史、JDK下载安装以及配置环境变量)
最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会
直接总结一下,方便以后复习。
一:计算机语言的发展
1:机器语言,最原始的语言,主要有“01”构成,最早的计算机使用电子管,01主要有高低电平控制。
2:汇编语言,借助一些特殊符号,相比机器语言,更容易为人所理解,但是仍然不够人性化。
3:高级语言,分为面向过程语言,例如C语言(贝尔实验室发明),和面向对象语言,例如C++、java、C#等。
二:java语言的发展
1:java语言是有sun公司发明的,它是一种面向对象的语言,是对C++语言作为删减,java的核心优势是跨平台性,
可以一次编译,到处运行。主要是因为JVMjava虚拟机,java针对不同的操作系统(windows、linux或者max等)
都有各自的JVM,这样编译好的程序可以在任何平台运行。
2:java的版本
javase:java标准版,主要应用在个人计算机
javaee:java企业版,主要应用在服务器端的开发
javame:java小型版,主要用于个人消费类产品的开发
三:jdk、jre和jvm的概念以及区别
1:jdk、jre以及jvm之间的关系
jdk:java development kit:java开发工具包,包含jre以及java开发人员使用的工具。
jre:java runtime environment:java运行环境,包含jvm以及java运行所需要的一些类库文件。
jvm:java virtual machine:java虚拟机,对于不同的操作系统,sun公司开发了不同版本的虚拟机。
2:java代码编译运行流程
首先得开发人员编写.java源文件,然后编译成为.class字节码文件,这样字节码文件在任何操作系统上面都可以
运行,可以一次编译,到处运行。
四:jdk的下载、安装以及配置环境变量
下载jdk:可以到www.oracle.com官方网站下载
安装jdk:和安装其他的软件类似
配置环境变量:可以参考另一篇博客“下载安装JDK,并且配置java环境变量”。
这里简单说一下,需要配置
JAVA_HOME:jdk安装目录,也可以不配置。一是方便,如果jdk目录变更的话,只需要更改JAVA_HOME路径即可,
另外如果后面用到tomcat服务器的话,还是要配置环境变量的。
path:将jdk目录下的bin目录添加到path目录
classpath:这个目录的作用主要是jvm找字节码文件的目录,但是jdk5.0以后就不需要再配置了。
五:验证环境变量是否配置成功
通过cmd进入dos窗口,然后输入javac、java命令,如果出现相关命令的参数,说明配置成功。如果出现该命令
不是内部命令的提示,说明没有配置成功。
也可以输入 java -version 查看当前安装jdk的版本
提示:如果只安装了jre运行环境,那么javac编译命令是不起作用的,只能java运行。
六:通过javac、java命令编译运行程序
1:java大小写敏感
2:类名一般用大写,而且类名要与public对应的类名保持一致
3:一个源文件可以对应多个字节码文件,因为在一个源文件中可以有多个class,但是只能有一个public
4:编写代码要有缩进,增强代码可读性
5:类名,方法名或者变量名要做到见名知义
6:写代码,要多加注释
七:注释
编译阶段注释不会被编译,所以字节码中没有注释,只有源代码中有注释
单行注释: // 只可以注释单行代码
多行注释:可以注释多行代码,也可以注释一行代码中的片段
/*
*/
文档注释:
/**
*
**/
可以通过javadoc生成API
注意:注释不可以嵌套使用
Java基础学习总结一(Java语言发展历史、JDK下载安装以及配置环境变量)的更多相关文章
- java基础学习总结一(java语言发展历史、jdk的下载安装以及配置环境变量)
最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会直接总结一下,方便以后复习. 一:计算机语言的发展 1:机器语言,最原始的语言,主要有“01”构成,最早 ...
- Java基础学习笔记一 Java介绍
java语言概述 Java是sun公司开发的一门编程语言,目前被Oracle公司收购,编程语言就是用来编写软件的. Java的应用 开发QQ.迅雷程序(桌面应用软件) 淘宝.京东(互联网应用软件) 安 ...
- Java 学习(1) ---JDK安装和配置环境变量
一,Java 开发的第一步,就是安装JDK(Java Development ToolKit Java开发工具包) JDK 是Java开发的核心,因为它包括Java 运行环境,工具包和命令.当我们安 ...
- Linux CentOS7.0下JAVA安装和配置环境变量
一.前言: CentOS7.0虽然自带JDK1.7和1.8,运行“java -version”命令也可以看到版本信息,但是jdk的安装环境不全,比如缺少tool.jar和dt.jar等,这就导致“ja ...
- java基础学习03(java基础程序设计)
java基础程序设计 一.完成的目标 1. 掌握java中的数据类型划分 2. 8种基本数据类型的使用及数据类型转换 3. 位运算.运算符.表达式 4. 判断.循环语句的使用 5. break和con ...
- JAVA基础学习——1.0 Java概述
Java语言 SUN公司 1995年推出的高级编程语言 ■ 主要应用方向 Web开发和Android开发 ■ 主要特点 平台无关性:能运行于不同的平台上 安全性:去掉了指针操作,内存由操作 ...
- Java基础学习笔记三 Java基础语法
Scanner类 Scanner类属于引用数据类型,先了解下引用数据类型. 引用数据类型的使用 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式. 数据类型 变量名 ...
- Java基础学习笔记十 Java基础语法之final、static、匿名对象、内部类
final关键字 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后,就可以对 ...
- Java基础学习总结(50)——Java事务处理总结
一.什么是Java事务 通常的观念认为,事务仅与数据库相关. 事务必须服从ISO/IEC所制定的ACID原则.ACID是原子性(atomicity).一致性(consistency).隔离性(isol ...
随机推荐
- Codeforces Round #556 (Div. 2) - D. Three Religions(动态规划)
Problem Codeforces Round #556 (Div. 2) - D. Three Religions Time Limit: 3000 mSec Problem Descripti ...
- Qt for android运行时出错 Error: Target id 'android--1' is not valid
[提问]windows7下Qt for android运行时出错 Error: Target id 'android--1' is not valid[复制链接] 上一主题下一主题 离线yijun ...
- CDQZ Day4
NOIP 模拟题By liu_runda题目名称 数 论 题源程序文件名 number.cpp theory.cpp problem.cpp输入文件名 number.in theory.in prob ...
- SQLmap源码分析之框架初始化(一)
SQLmap是现在搞web人手一个的注入神器,不仅包含了主流数据库的SQL注入检测,而且包含提权以及后渗透模块.基于python2.x开发而成,使用方便.所以研究web安全少不了分析源码,学习代码的同 ...
- localStorage、sessionStorage用法总结
1.作用 1.1 共同点: 都是用来存储客户端临时信息的对象. 均只能存储字符串类型的对象(虽然规范中可以存储其他原生类型的对象,但是目前为止没有浏览器对其进行实现). 1.2 ...
- 在Vue项目中使用html2canvas生成页面截图并上传
使用方法 项目中引入 npm install html2canvas html代码 //html代码 <!-- 把需要生成截图的元素放在一个元素容器里,设置一个ref --> <di ...
- es第二篇:Document APIs
文档CRUD API分为单文档API和多文档API.这些API的索引名参数既可以是一个真正的索引的名称,也可以是某个索引的别名alias. 单文档API有:Index API.Get API.Dele ...
- 那些H5用到的技术(2)——音频和视频播放
前言audio标签Web Audio API自动播放的问题背景音乐的实现立即播放的问题SoundJSvideo标签播放样式的问题格式的问题总结 前言 正常情况,除了非常简陋的小功能H5,音乐播放是必不 ...
- MySQL多表更新
多表更新:参照另外的表来更新本表的内容 table_reference {[inner | cross] join | {left | right} [outer] join} 内连接.左外连接.右 ...
- Jenkins~powershell+cmd发布nuget包包
nuget包也要自动化部署了,想想确实挺好,在实施过程中我们要解决的问题有版本自动控制,nuget自动打包,nuget自动上传到服务端等. 一 参数化构建 二 环境变量的k/v参数,存储类库的初始版本 ...