基于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. cglib源码分析(一): 缓存和KEY

    cglib是一个java 字节码的生成工具,它是对asm的进一步封装,提供了一系列class generator.研究cglib主要是因为它也提供了动态代理功能,这点和jdk的动态代理类似. 一. C ...

  2. Android环境变量笔记

    Logcat打印日志 使用方法Log.i(tag, msg);参数tag: 标签.用于识别Logcat的分类(一般可以使用类名作为标签)数msg: 打印的内容 在eclipse中打开logcat标签W ...

  3. Java内存模型浅析

    JVM在执行java程序时会将它所管理的内存划分成若干个不同的数据区域.如图所示: 其中方法区和堆是所有线程共享的数据区,其他区域则是线程隔离的数据区. 这些区域的功能各有不同: 程序计数器:可以理解 ...

  4. Zepto源码解读

    /*******************************************************************************Zepto核心和dom操作******* ...

  5. java Spring集合

    在进行输入的时候一定要给属性配置set方法,因为不设置是注入不了的. 1.list UserService.java private ArrayList arr; public ArrayList g ...

  6. StyleCop 安装

    下载安装 官方网站:http://stylecop.codeplex.com/ 下载安装 如果自定义了安装路径请保证这个文件的AssemblyFile 属性正确的指向了StyleCop.dll所在的目 ...

  7. JS自动合并表格

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. C++数组(指针)作为函数参数

    本文的学习内容参考:http://blog.csdn.net/wwdlk/article/details/6322843 1.当用数组名作为函数参数时,函数的实参和形参都应为数组名(或者指针): Ex ...

  9. Google Test Frame 简单使用例子

    1 序言——为什么折腾Google Test 被逼无奈的. 最近研究google开源的基于列存储的数据库查询引擎supersonic源码.初略的浏览了一遍代码,竟然没有main函数,顿时惊讶的目瞪口呆 ...

  10. c++ primer复习(四)

    1 标准库容器 顺序容器:vector.list.deque 容器适配器:stack.queue.priority_queue 2 容器元素类型约束: 容器元素类型必须支持复制和赋值,因为容器存放的都 ...