Java学习记录第一章
学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点.
计算机语言的发展大概过程:机器语言--->汇编语言--->高级语言(面向过程的语言和面向对象的语言)总而言之就是从人类比较难识别的字符串向人类自然语言靠近使代码的可读性越来越高。
Java的发展过程:1991年Sun公司为了抢占市场先机,成立了一个称为Green的项目小组,帕特里克、詹姆斯·高斯林、麦克·舍林丹和其他几个工程师一起组成的工作小组在加利福尼亚州门洛帕克市沙丘路的一个小工作室里面研究开发新技术,开发了一种称为Oak的面向对象语言,中间经过种种的波折于1995年将Oak更名为Java.
1996年1月,Sun公司发布了Java的第一个开发工具包(JDK 1.0),这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。9月,约8.3万个网页应用了Java技术来制作。10月,Sun公司发布了Java平台的第一个即时(JIT)编译器。
1997年2月,JDK 1.1面世.
1998年12月8日,第二代Java平台的企业版J2EE发布。1999年6月,Sun公司发布了第二代Java平台(简称为Java2)的3个版本:J2ME(Java2 Micro Edition,Java2平台的微型版),应用于移动、无线及有限资源的环境;J2SE(Java 2 Standard Edition,Java 2平台的标准版),应用于桌面环境;J2EE(Java 2Enterprise Edition,Java 2平台的企业版),应用于基于Java的应用服务器。Java 2平台的发布,是Java发展过程中最重要的一个里程碑,标志着Java的应用开始普及。
1999年4月27日,HotSpot虚拟机发布。HotSpot虚拟机发布时是作为JDK 1.2的附加程序提供的,后来它成为了JDK 1.3及之后所有版本的Sun JDK的默认虚拟机
2001年9月24日,J2EE1.3发布。
2002年2月26日,J2SE1.4发布。自此Java的计算能力有了大幅提升,与J2SE1.3相比,其多了近62%的类和接口。在这些新特性当中,还提供了广泛的XML支持、安全套接字(Socket)支持(通过SSL与TLS协议)、全新的I/OAPI、正则表达式、日志与断言。
2004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE 1.5更名为Java SE 5.0(内部版本号1.5.0),代号为“Tiger”,Tiger包含了从1996年发布1.0版本以来的最重大的更新,其中包括泛型支持、基本类型的自动装箱、改进的循环、枚举类型、格式化I/O及可变参数。
2005年6月,在Java One大会上,Sun公司发布了Java SE 6。此时,Java的各种版本已经更名,已取消其中的数字2,如J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME但也还是有很大一部分人因为习惯原因依旧称呼其为J2EE,J2SE,J2ME,不同的叫法同样的事物。
2006年11月13日,Java技术的发明者Sun公司宣布,将Java技术作为免费软件对外发布。Sun公司正式发布的有关Java平台标准版的第一批源代码,以及Java迷你版的可执行源代码。从2007年3月起,全世界所有的开发人员均可对Java源代码进行修改.
2009年,甲骨文公司宣布收购Sun公司。2010年,Java编程语言的共同创始人之一詹姆斯·高斯林从Oracle公司辞职。2011年,甲骨文公司举行了全球性的活动,以庆祝Java7的推出,随后Java7正式发布。
2014年,甲骨文公司发布了Java8正式版
以上Java的发展史主要摘自百度百科,偷个懒粘贴比打字省劲还快,嘿嘿
让我们继续了解Java.
ava语言的特点:跨平台(可移植性强)、简单性、安全、健壮、完全面向对象
JVM(Java VIRTUAL MACHINE):Java虚拟机
JVM是一种规范。就是一个虚拟的用于执行bytecodes字节码的计算机。
Java虚拟机是Java最核心技术,也是跨平台的基础。
那么Java是如何实现跨平台的呢?
第一步 通过“编译器”将Java源程序编译成Java 字节码文件(.class)(字节码文件采用结构中立的中间文件格式)
第二部通过“解释器”将Java字节码文件解释为对应机器语言并运行.
下图是一个简单的Java运行步骤的示意图

C语言与Java的跨平台原理比较:
Java是一次编译到处执行(都是在Java虚拟机上运行的)
C语言多次编译才能到处执行(针对不同的操作系统需要编译器进行编译)

如何开始使用Java进行开发呢
1.搭建Java开发环境(安装JDK,配置环境变量),方法参照我的上一篇博客.
2.编写Java源程序(Test.java)Java源程序的文件必须与public修饰的类名一致,一个Java源文件可以包含多个类,但是只能有一个public修饰的类.
示例:
public class Test {//Test是类名,public修饰的类名必须与文件名相同,Java严格区分大小写.
public static void main(String[] args ) {
System.out.println ("Hello\tWorld!");//打印输出括号内的内容并换行
System.out.print ("Hello World Again\t \n!");//\t是一种转义符,效果和输出一定个数的空格相同,\n的作用是换行,print不加ln是不会换行的
System.out.print("Hello World Again!");
}
}
3. 编译Java源程序--à生成一个字节码文件(.class)具体方法是:打开Dos窗口(win+R-à输入cmd)---à将所在目录更改到源文件所在的目录--à输入javac Test.java进行编译
更改目录的Dos命令:1.输入所在磁盘的盘符如(F:)2.如果就在根目录放着的话直接编译就行,否则就切换完根目录后输入cd加空格加上文件名然后回车就行如(cd javacode)具体的方法可以百度或者谷歌..
4.编译完以后如果没报错的话运行字节码文件(Test.class)java Test(运行时java命令后跟的类名)
注意:编译时是输入javac空格加上完整的文件名Test.java,而运行时输入的是java空格加上类名Test,别再加.java了
学习之前一定要记得Java中的编码规范:代码的缩进一定要整齐有序,命名时要做到见名知意,命名时尽量使用驼峰命名法(即多个单词时首字母大写).
Java中的注释和C语言的大致相同就不详细描述了, //单行注释 /*多行注释*/ /**文档注释*/
最后说一下Java中JDK和JRE的区别,JDK是 Java 语言的软件开发工具包,JDK是整个java开发的核心,它包含了JAVA的运行环境(JRE),JAVA工具和JAVA基础的类库。没有JDK的话,无法编译Java程序,如果想只运行Java程序,要确保已安装相应的JRE。
JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。如果只是运行Java程序的话只安装JRE就行.
下面一张图应该能很清楚的描述它们之间的关系

Java学习记录第一章的更多相关文章
- Java学习笔记 第一章 入门<转>
第一章 JAVA入门 一.基础常识 1.软件开发 什么是软件? 软件:一系列按照特定顺序组织的计算机数据和指令的集合 系统软件:DOS,Windows,Linux 应用软件:扫雷.QQ.迅雷 什么是开 ...
- Java 学习笔记 第一章:Java语言开发环境搭建
第一章:Java语言开发环境搭建 第二章:常量.变量和数据类型 第三章:数据类型转换.运算符和方法入门 1.Java虚拟机——JVM JVM(Java Virtual Machine ):Java虚拟 ...
- Java 学习笔记 ------第一章 Java平台概论
本章学习目标: Java版本迁移简介 认识Java SE.Java EE.Java ME 认识JDK规范与操作 了解JVM.JRE与JDK 下载与安装JDK 一.Java版本迁移简介 书上已经表达得非 ...
- [NetCore学习记录]第一章.使用netcore撸个简单的增删改查
1.引言 2.解决方案各部分介绍图 3.添加数据模型 4.添加数据库上下文 5.修改配置文件 6.使用依赖关系注入容器注册数据库上下文 7.添加基架工具并执行初始迁移 1.引言 NetCore出来有一 ...
- 201671010140. 2016-2017-2 《Java程序设计》java学习第六章
java学习第六章 本周对与java中的接口,lambda表达式与内部类进行了学习,以下是我在学习中的一些体会: 1.接口: <1>.接口中的所有常量必须是public sta ...
- 《跟我学Shiro》学习笔记 第一章:Shiro简介
前言 现在在学习Shiro,参照着张开涛老师的博客进行学习,然后自己写博客记录一下学习中的知识点,一来可以加深理解,二来以后遗忘了可以查阅.没有学习过Shiro的小伙伴,也可以和我一起学习,大家共同进 ...
- Spirng学习指南-第一章(完)
Spring学习指南 内容提要 Spring框架是以简化J2EE应用程序开发为特定目标而创建的,是当前最流行的Java开发框架. 本书从介绍Spring框架入手,针对Spring4.3和Jav ...
- 数据结构(Java语言描述)-第一章:概述
第一章 概述 1.0 序言 自己为啥要学数据结构嘞,我觉得主要有以下三个原因: 前段时间在看并发编程时,发现aqs,corrunthashmap等底层都用到了数据结构,主要的有队列,还有链表,学习数据 ...
- 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介
前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...
随机推荐
- Apache无法启动原因
Apache不能启动解决办法 作者的话:遇到这个问题的时候,从网上找了很多资料,结果都是让我这个新手摸不着头绪 还好,在我长时间的查找下,还是找到了一篇文章,解决了我的烦恼,下面是我对这个文章的一些对 ...
- input的type属性引申的日历组件
HTML5规范里只规定date新型input输入类型,并没有规定日历弹出框的实现和样式.所以,各浏览器根据自己的设计实现日历.目前只有谷歌浏览器完全实现日历功能.相信这种局面很快就会结束,所有的浏览器 ...
- 时间相关库<ctime>解析
原创作品,转载请注明来源:http://www.cnblogs.com/shrimp-can/p/5649487.html 一.定义的类型 1.clock_t:时钟类型 2.size_t:unsign ...
- nmap安装过程
nmap是一个网络扫描和主机检测工具. 功能:1.扫描目标主机开放的端口 2.扫描目标主机特定端口是否关闭 3.路由跟踪(到目标主机所经过的网络节点及其通过时间) 4.扫描一个网段下的所有IP 5.探 ...
- pymysql使用心得记录
-----------更新日志 16.7.29------------- (该记录对应文章<豆瓣电影Top250基本信息抓取 >) 折腾了将近两天才把mysql数据库功能给实现了. 经过 ...
- 通过 dhcp-agent 访问 Metadata - 每天5分钟玩转 OpenStack(168)
OpenStack 默认通过 l3-agent 创建和管理 neutron-ns-metadata-proxy,进而与 nova-metadata-api 通信.但不是所有环境都有 l3-agent, ...
- 浅谈MVC缓存
缓存是将信息放在内存中以避免频繁访问数据库从数据库中提取数据,在系统优化过程中,缓存是比较普遍的优化做法和见效比较快的做法. 对于MVC有Control缓存和Action缓存. 一.Control缓存 ...
- java类的equals()函数和hashCode()函数用法
以前总觉得java类对象很简单,但是今天的一个同事的点播,让我对java的对象有了不一样的理解,下面我来介绍一下equals()和hashCode()的用法: 先粘一段代码: public class ...
- NTP时间服务器
1. NTP简介 NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议.它的用途是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可达0 ...
- CF766 E. Mahmoud and a xor trip [预处理][树形dp]
题解: 二营长!你他娘的意大利炮呢? dp[i][j][0]: 从i,跋涉到以i为根的子树的每一个节点,在第j个数位上一共产生了多少个0. dp[i][j][1]: 从i,跋涉到以i为根的子树的每一个 ...