网站首页 > java教程 正文
1) JAVA起源
Java是Sun公司于1995年推出的高级编辑语言
Java之父——詹姆斯·高斯林
1996年Sun公司推出了Java开发工具包,也就是JDK1.0,提供了强大的类库支持。
1998年推出了JDK1.2,它是Java里程碑式的版本。为了加以区别,Sun公司将Java改名为Java2,即第二代Java。截至发稿日,JAVA已经更新到JAVA18。解锁众多新姿势!
Java分类为Java SE、Java ME和Java EE3个版本,即Java标准版、Java微缩版和Java企业版。
Java十大特点:简单性,面向对象,分布性,编译和解释性,稳定性,安全性,可移植性,高性能,多线索性,动态性。
Java开发工具:Notepad ++,Eclipse,Myclipse,IDEA
2)Java语言特性
1.简单性
Java语法是C++语法的一个“纯净版本”,相当于对C++做了一个减法。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等等。
2.面向对象
在Java的世界里,一切皆对象。 Java的面向对象特性与C++旗鼓相当,与C++的主要不同点在于多重继承。在Java中,取而代之的是更简单的接口概念。而且与C++相比,Java提供了更丰富的运行时自省功能。
3.分布式(微服务)
Java有丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
4.健壮性
Java与C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性(对于曾经花费几个小时来检查由于指针bug而引起内存冲突的人来说,一定很喜欢Java的这一特性)。不仅如此,Java编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。
5.安全性
Java适用于网络/分布式环境。为了达到这个目标,在安全性方面投入了大量的精力。使用Java可以构建防病毒、防篡改的系统。
6.体系结构中立
字节码的存在可以实现 Wrice once,Run anywhere, 而且其他语言编写的程序,在编译后如果能够严格按照字节码文件的规范生成.class文件,也可以在JVM上运行。
7.可移植性
基本数据类型的大小以及有关运算都做了明确的说明。例如,Java中的int永远是32位的整数,而在C/C++中,int可能是16位整数、32位整数,也可能是编译器提供商指定的其他大小。
8.解释性
之所以Java的实现可以与平台无关,是因为其自身维护着一套基于栈架构的指令集,源代码经过编译后字节码文件中的指令就是按照字节的指令集来组织的。
9.高性能
边编译边执行。
10.多线程
Java在当时很超前。它是第一个支持并发程序设计的主流语言。多线程可以带来更好的交互响应和实时行为。
11.动态性
Java与C/C++相比更加具有动态性。它能够适应不断发展的环境。库中可以自由的添加新方法和实例变量,而对客户端没有任何影响。
3) 什么是JDK、JRE、JVM
这里我们介绍一下JDK、JRE、JVM的关系你就会理解,同时也就能明白为什么初学Java时需要安装好JDK了。
JDK(Java Development Kit):开发工具包。
JRE(Java Runtime Environment):Java运行时环境,其中包含了JVM、Java基础类库,支撑Java程序运行所需环境。
JVM(Java Virtual Machine):Java虚拟机,是一种虚构出来的计算机,仿真模拟计算机各种功能,引入JVM后,Java语言在不同的平台上运行时不需要重新编译,这就是所谓的 “Wrice once , Run anywhere”。
图解:
4) Java程序的运行
这里我们简单剖析一下Java程序运行的逻辑。
java是一门半编译型、半解释型语言。
先通过java编译器(javac.exe)将源文件(xxx.java)进行编译,然后生成xxx.class文件(字节码文件)(由二进制编码),最后由java虚拟机中的JVM将字节码转换成平台的编码形式(平台能理解的形式)来运行。
图解:
猜你喜欢
- 2024-11-21 java 核心技术-12版 卷Ⅰ- 5.1.6 理解方法调用
- 2024-11-21 计算机等级考试《二级java》考点精讲
- 2024-11-21 Java异常总结(一) Java异常简介及其架构
- 2024-11-21 Java 21正式发布,15大特性一览
- 2024-11-21 短信服务 platform-sms 0.6.1 发布
- 2024-11-21 Java学习需要多长时间?
- 2024-11-21 Java开发:Java 11 和 Java 17 引领 Java 使用情况
- 2024-11-21 Java System类详解
- 2024-11-21 JAVA基础
- 2024-11-21 JVM内存结构的历史 (从Jdk1.6、1.7、8)
你 发表评论:
欢迎- 最近发表
-
- 五,网络安全IDA Pro反汇编工具初识及逆向工程解密实战
- 「JAVA8」- Lambda 表达式(java lambda表达式原理)
- 深入探讨Java代码保护:虚拟机保护技术的新时代
- Nginx反向代理原理详解(图文全面总结)
- 逆向拆解日本IT,哪些Java技术栈薪资溢价高
- mybatis 逆向工程使用姿势不对,把表清空了,心里慌的一比
- Spring Boot集成ProGuard轻松实现Java 代码混淆, Java 应用固若金汤
- 从 Java 代码逆向工程生成 UML 类图和序列图
- 人与人相处:尊重是标配,靠谱是高配,厚道是顶配
- Windows系统安装日期如何修改(windows10怎么修改安装日期)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)