基于Java官方指导文档,开展学习

Java是什么

Java 是编程语言,也是一个平台

特性

简单 可移植 面向对象 分布式运算
高性能 健壮 安全 动态 体系结构中立

记忆宫殿:
恋爱是件简单的事,但放到社会体系中(中立体系结构),也就复杂起来
对象异地分布,
移情别恋(可移植)也不奇怪,
要留住恋人,性能力是一方面,
另外,健壮的身材,强大的安全感,也不可或缺

编译与运行

如此,通过 JVM,Java 程序能跨平台运行

附:部分虚拟机,检查性能瓶颈或将频繁使用的代码域转为本地代码,来提高性能,如 Java SE HotSpot at a Glance

Java 平台本质

平台,是程序在其中运行的硬/软件环境

多数平台 = 操作系统 + 底层硬件

Java 平台是纯软件平台,运行在其他基于硬件的平台上

Java 平台 = JVM + API

API 是现有软件元素的集合,能提供许多有用的特性

API被划分为多个相关类和接口的库

这些库,就是

Java 独立于平台

作为平台独立的环境, Java平台会比本地代码稍慢

但编译和虚拟机技术可以降低这种影响

Java可以做什么

  • 开发工具
    涉及编译(javac),运行(java),监视,调试和文档生成(javadoc)

  • 编程接口 API
    提供 Java 编程语言的核心功能

  • 部署
    JDK 按标准机制,将应用展现给终端用户
    如:ava Web Start 和 Java Plug-In

  • 用户接口工具集
    借助 JavaFX,Swing 和 Java 2D,Java 能够创建复杂的图形用户接口

  • 集成库
    通过Java RMI-IIOP Technology协议,集成库,如 Java IDL API, JDBC API, JNDI API, Java RMI, Java Remote Method Invocation,能够访问数据库,并操纵远程对象

Java 带来的益处

  • 快速上手
    面向对象,尤其适合已学过C和C++的程序员

  • 代码量更小
    少量代码即可实现其他语言大量代码的功能

  • 代码更优秀
    Java鼓励优良的编程实践,另外,Java垃圾回收机制能避免内存泄露
    同时,可复用其他代码,但仅带来少量bug

  • 加快开发

  • 避免对平台的依赖

  • 一次编写,处处运行

  • 更简单的软件分发

关于Java(介绍)的更多相关文章

  1. JAVA学习(一):Java介绍及其平台、开发环境的配置与搭建

    Java介绍及其平台.开发环境的配置与搭建 1.Java的介绍 Java是一种面向对象的编程语言,具有跨平台.可移植.分布式.简单.可扩展等诸多特性.Java能够进行桌面应用.Web应用.分布式系统及 ...

  2. RabbitMQ In JAVA 介绍及使用

    介绍: RabbitMQ是开源的消息中间件,它是轻量级的,支持多种消息传递协议,可以部署在分布式和联合配置中,以满足高级别.高可用性需求.并且可在许多操作系统和云环境上运行,并为大多数流行语言提供了广 ...

  3. Java 介绍比较全面的一遍文章

    Java简介 Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称.用Java实现的HotJava浏览器(支持Java ...

  4. Java介绍(重要特点)

    Java语言平台版本 JavaSE标准版本,是JavaME 和Java EE的基础,能够开放基本桌面程序. JavaME 一句话,安卓开发. JavaEE 一句话,网页开发. Java重要特性(跨平台 ...

  5. Java学习笔记(一) java介绍

    编程语言分为:编译型语言和解释型语言. 编译型语言需要经过特定编译器通过一次性编译,成为该特定平台硬件可执行的机器码,可脱离开发环境独立运行,运行效率较高,但是无法跨平台移植. 解释型语言需要经过特定 ...

  6. Java学习3——java介绍

    Java程序运行过程: Java两种核心机制: Java虚拟机(Java Virtual Machine),提供程序运行的解释环境,使Java成为一种与平台无关的语言. Java虚拟机可以理解成一个以 ...

  7. Java基础学习笔记一 Java介绍

    java语言概述 Java是sun公司开发的一门编程语言,目前被Oracle公司收购,编程语言就是用来编写软件的. Java的应用 开发QQ.迅雷程序(桌面应用软件) 淘宝.京东(互联网应用软件) 安 ...

  8. 第一节课:java介绍以及java开发环境的安装

    互联网时代 什么是软件 什么是硬件 什么是操作系统 java是什么? 计算机高级程序语言 java能做什么? 开发软件(网站.app.游戏.应用系统.嵌入式) java对应的职位链(需求->产品 ...

  9. Java学习笔记之——Java介绍

    1.Java体系: JavaSE:标准版,其他两个体系的基础 JavaEE:企业版 JavaME:微型版,适用于消费类型的微型设备 2.Java三大特性:封装.继承.多态 3.Java的特点:面向对象 ...

  10. Java介绍

    Java简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James Gosling和同事们共同研发,并在1995年正式推 ...

随机推荐

  1. Multipart Upload with HttpClient 4--reference

    by Eugen Paraschiv on May 23, 2014 in HttpClient http://www.baeldung.com/httpclient-multipart-upload ...

  2. JDK 动态代理分析

    Java的代理有两种:静态代理和动态代理,动态代理又分为 基于jdk的动态代理 和 基于cglib的动态代理 ,两者都是通过动态生成代理类的方法实现的,但是基于jdk的动态代理需要委托类实现接口,基于 ...

  3. 使用摘要流获取文件的MD5

    摘要流是过滤流的一种,使用它可以再读取和写入流时获取流的摘要信息(MD5/SHA). 使用摘要流包装流时,需要额外传递一个MessageDigest对象, MessageDigest md=Messa ...

  4. Python开发笔记之正则表达式的使用

    查找正则表达式 import re re_txt = re.compile(r'(\d)*.txt') m = re_txt.search(src) if not m == None: m.group ...

  5. [转]ORACLE 绑定变量用法总结

    转:http://blog.csdn.net/wanghai__/article/details/4778343 在oracle 中,对于一个提交的sql语句,存在两种可选的解析过程, 一种叫做硬解析 ...

  6. 关于安卓应用(APK文件)的二次打包

    http://blog.csdn.net/baiyuliang2013/article/details/40426681 很多开发者,不管是个人或是公司都不太注重自己开发的应用的安全性,即是 否会被不 ...

  7. iOS越狱系列(一):使用Reveal分析APP

    TOOLS 1.已越狱的设备,并且已安装了OpenSSH,MobileSubstrate等实用工具 Cydia源/Telesphoreo里有 里面有个包 可以基本集合所有开发工具提供库 2.mac o ...

  8. 动态加载js、css 代码

    一.原生js: /** * 加载js和css文件 * @param jsonData.path 前缀路径 * @param jsonData.url 需要加载的js路径或css路径 * @param ...

  9. Java中ArrayList类详解

    1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和ILis ...

  10. ZOJ 1091 (HDU 1372) Knight Moves(BFS)

    Knight Moves Time Limit: 2 Seconds      Memory Limit: 65536 KB A friend of you is doing research on ...