我的第一个Java程序和Java简介
public calss HelloWorld{
public static void main(String[] args){
System.out.println("Hello World!!");
}
}
创建文件HelloWorld.java(文件名需和类名一致,不然编译不通过,编译器报错)
javac Helloworld.java
java HelloWorld
Java是由Sun Microsystems公司于1995年推出的Java面向对象设计语言和Java平台的总称。由James Gosling和同事们共同研发,并1995年正式推出。
Java分为三个体系:
JavaSE Java平台标准版
JavaEE Java平台企业版
JavaME Java平台微型版
2005年6月,javaone大会召开,sun公司工卡Java se 6。此时,Java的各种版本已经更名以取消其中的数字2,j2ee更名为Java ee,j2se更名为java se,j2me更名为Java ee。
主要特性
Java语言是简单的;
Java语言的语法与C语言和C++语言很接近,是的大多数程序员很容易学习和使用。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载,多继承,自动的强制类型的转换。特别地,Java语言不使用指针,而是引用,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
Java语言是面向对象的。
Java语言提供类,接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯面向对象程序设计语言。
Java语言是分布式的
Java语言支持Internet应用的开发,在基本的Java应用变成接口中有一个网络应用变成接口,提供了用于网络应用变成的类库,包括URL,URLConnection,socket,Serversocket等,Java的RMI远程方法激活机制也是开发分布式应用的重要手段。
Java语言是健壮的
Java强类型机制,异常处理,垃圾的自动收集等是Java程序健壮性的重要保障,对之臣的丢弃是Java的明智选择,Java的安全检查机制使得Java更具健壮性。
Java语言是安全的;
Java通常被用在网络还ing中,为此,Java提供了一个安全机制以防止恶意代码的攻击,除了Java语言具有许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制,如分配不同的名字空间以防止代替本地的同名类,字节代码检查,并提供安全管理机制,让Java应用设置安全哨兵。
Java语言是体系结构中立的。
Java程序,后缀为Java的文件,在Java平台上被编译为体系结构中立的字节码格式,后缀为class的文件,然后可以在实现这个Java平台上的任何系统中运行,这种途径适合于异构网络环境和软件的分发。
Java语言是可移植的
这种可移植性源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用Ansi C实现的。
Java语言是解释性的
如前所述,Java程序在Java平台上呗编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行,在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要类在连接阶段呗载入到环境中。
Java是高性能的
与那些解释型的高级脚本语言相比,Java的确是高性能的,事实上,Java的运行速度随着jit编译器技术的发展越来越接近于c++.
Java语言是多线程的。
在Java语言中,线程是一个特殊的对象,它必须由Thread类或其子孙类来创建,通常有两种方法来创建线程,其一,使用结构为thread来构造子将一个实现了runnable接口的对象包装成一个线程,其二,从thread类派生出子类并重写润方法,使用该子类创建的对象即为贤臣个,值得注意的是thread类已经实现了runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码,线程的活动由一组方法来控制,Java语言支持多个线程同时执行,并提供多线程之间的同步机制。
Java语言是动态的
Java语言的设计目标之一是适应动态变化的环境,Java程序需要的类能够动态地呗载入到运行环境,也可以通过网络来载入所需要的类,这也有利于软件的升级,另外,Java中的类由一个运行时刻的表示,能进行运行时刻的类型检查。
发展历史
1995年5月23日,Java语言诞生
1996年1月,第一个jdk-jdk1.0诞生
1996年4月,约8.3万个网页应用了Java技术来制作
1997年2月18日,jdk1.1发布
1997年4月2,Javaone会议召开,参与者一万人,创当时全球会议规模之记录
- 1997年9月,JavaDeveloperConnection社区成员超过十万
- 1998年2月,JDK1.1被下载超过2,000,000次
- 1998年12月8日,JAVA2企业平台J2EE发布
- 1999年6月,SUN公司发布Java的三个版本:标准版(JavaSE,以前是J2SE)、企业版(JavaEE以前是J2EE)和微型版(JavaME,以前是J2ME)
- 2000年5月8日,JDK1.3发布
- 2000年5月29日,JDK1.4发布
- 2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机
- 2001年9月24日,J2EE1.3发布
- 2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升
- 2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0
- 2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字"2":J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME
- 2006年12月,SUN公司发布JRE6.0
- 2009年04月20日,甲骨文74亿美元收购Sun。取得java的版权。
- 2010年11月,由于甲骨文对于Java社区的不友善,因此Apache扬言将退出JCP[4]。
- 2011年7月28日,甲骨文发布java7.0的正式版。
- 2014年3月18日,Oracle公司发表Java SE 8。
我的第一个Java程序和Java简介的更多相关文章
- 第一个Mybatis程序示例 Mybatis简介(一)
在JDBC小结中(可以参阅本人JDBC系列文章),介绍到了ORM,其中Mybatis就是一个不错的ORM框架 MyBatis由iBatis演化而来 iBATIS一词来源于“internet”和“aba ...
- 第一个java程序以及java的运行机制
课堂要点: 编写第一个java程序以及理解java的运行机制. 1.基本命令介绍: javac命令: 编译java文件得到.class字节码文件 -encoding 参数:指定编译的编码 java命令 ...
- java 程序运行过程 简介
这里的Java程序运行过程,是指我们编译好代码之后,在命令行开始执行java xxx命令,到java程序开始执行起来的这一过程,我们称其为运行时. 第一步,操作系统解析我们输入的java xxx命令, ...
- 我的第7个java程序--把java web项目改为java project项目--mybatis
连接数据库需要 程序,连接字符串,查询语句 主程序->读取连接字符串->读取查询语句->把查询到的值赋值给映射对象->打印对象属性 java project的好处,不用做那么多 ...
- 02-第一个Java程序
学习java的第一个程序 记录自己的学习 记录自己的坚持 记录自己的梦想 public class Hello{ public static void main(String[] args) { Sy ...
- 跟着学!教你开发第一个Java程序
今天我们的目标是开发人生中的第一个Java程序,虽然可能会很简单,但是这小小的一步却是跨入IT行业的一大步!下面我们来一起来仔细的了解开发的流程. 准备工作 1,作为一名准程序猿自备一台电脑那是必不可 ...
- 【Java】使用记事本运行第一个Java程序
要编写java程序,java sdk必不可少,mac OS系统自带sdk,如果觉得版本太低,可以去官网下载最新的. 打开终端,新建一个HelloWorld.java文件: vim HelloWorld ...
- [刘阳Java]_第一个Java程序_第7讲
1. 其实第一个Java程序是很简单,但是当自己编写第一个Java程序时候需要注意如下几个内容: 理解Java程序的运行环境 校验你的Java环境变量是否能够运行你所写的第一个Java程序 理解Jav ...
- 一劳永逸Java环境配置,以及编写我的第一个Java程序
Java环境配置,以及编写我的第一个Java程序 配置步骤 1.下载jdk 2.安装步骤 3.配置环境 4.我的第一个Java程序 配置步骤 网上的教程有很多,方法也都不尽相同.今天我就分享一下我的配 ...
随机推荐
- C/C++ assert()函数用法总结
1. 简介 assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行. 原型定义: #include <assert.h>void ass ...
- CF1101G (Zero XOR Subset)-less
题目地址:CF1101G (Zero XOR Subset)-less 线性基基础题 预处理一个前缀异或和 \(s_i\) 这样题目就变成了:在 \(n\) 个 \(s_i\) 中尽量选择多的数使选择 ...
- WinRAR代码执行漏洞CVE-2018-20250
0x01 分析思路 利用https://github.com/googleprojectzero/winafl 漏洞分析框架模糊测试WinRAR. 几个存档格式的崩溃,例如RAR,LZH和ACE,这些 ...
- mac下安装memcache
需求包安装libmemcached brew install libmemcached 安装memcached brew install memcached 启动服务 brew services st ...
- SQL NOLOCK大杂烩
今天碰到NOLOCK 的问题,就查阅了一些资料,做了相关了解:总结了比较经典,朴实的两篇在此. 电梯直达: SQL Server 中WITH (NOLOCK)浅析 文章本想大篇幅摘抄,因为担心链接失效 ...
- Qt学习之路
Qt学习之路_14(简易音乐播放器) Qt学习之路_13(简易俄罗斯方块) Qt学习之路_12(简易数据管理系统) Qt学习之路_11(简易多文档编辑器) Qt学习之路_10(Qt ...
- linux系统网络相关问题
暂时将你的 eth0 这张网络卡的 IP 设定为 192.168.1.100 ,如何进行? ifconfig eth0 192.168.1.100 我要增加一个路由规则,以 eth0 连接 192.1 ...
- 题解-USACO18DEC Balance Beam详细证明
(翻了翻其他的题解,觉得它们没讲清楚这个策略的正确性) Problem 洛谷5155 题意概要:给定一个长为\(n\)的序列,可以选择以\(\frac 12\)的概率进行左右移动,也可以结束并得到当前 ...
- 题解-AtCoder-agc006C Rabbit Exercise
Problem AtCoder & bzoj 题意:数轴上有\(n\)个点(初始坐标均为整数),编号为\(1\)~\(n\).给出\(m\)个操作. 每个操作会选定点\(a\),然后随机在点\ ...
- 【算法】二分查找法&大O表示法
二分查找 基本概念 二分查找是一种算法,其输入是一个有序的元素列表.如果要查找的元素包含在列表中,二分查找返回其位置:否则返回null. 使用二分查找时,每次都排除一半的数字 对于包含n个元素的列表, ...