java语言特性概述
一.前言
我们都知道java是面向对象的编程,其中四个基本特性:抽象、封装、继承、多态。这四个特性,概括起来可以这么理解,抽象、封装、继承是多态的基础,多态是抽象、封装、继承的表现。
二. JAVA 语言特点
a) 跨平台,一次编译,到处运行。
b) 速度慢,但很稳定, 没有内存泄漏 (memory leakage),不容易出现错误。
c) 不适合对速度要求高的图形界面操作, 适合服务端应用。
C/S (Client/Server) -> B/S (Browser/Server)
三. JAVA 编程一般执行流程
a) 编制 JAVA 源代码文件 (*.java)
该文件为文本文件.
b) 编译
*.java -> *.class ( bytecode, 字节码, 其不是真正的 X86 机器语言。)
window 平台下的 JAVA 编译器(compiler)是 javac.exe.
c) 在 JAVA 虚拟机(JVM)中执行
( window 平台下的 JAVA 虚拟机是 java.exe)
针对具体的硬件 CPU 而言,字节码不是机器语言。
针对 JVM 而言,字节码就是其机器语言。
四. 理解 JVM,理解跨平台
JVM: Java Virtual Machine
1) JVM 像一个翻译,其把 JAVA 字节码实时翻译成对应硬件 CPU 的机器语言,因为有这么一个翻译的开销,所以 JAVA 运行速度较慢。
2) 一个 JVM 只知晓一门硬件语言,所以不同的平台( CPU 不同)将需要安装不同的 JVM.
3) 因为 JVM 机制的存在, JAVA 可以跨平台, JAVA 的跨平台是建立在 JVM 不跨平台的基础上的。
4) 因为依靠 JVM 机制, JAVA 运行速度慢,但稳定安全。
五. 了解 JRE 和 JDK
JRE: JAVA 运行环境 (Java Runtime Environment)
由 JVM 加上一些运行类库(jar 包)构成。
Jar: java archive (java 类压缩包, 很多很多 java 类被压缩在一起而得到的.)
JDK: JAVA 开发者套件(Java Development Kit)由 JRE,JAVA 编译器,示例代码等构成。
如果你只是需要运行 JAVA 字节码文件,则只需要 JRE, 但如果你是 JAVA 程序员,你则需要安装JDK
六. 基本 JAVA 程序结构
a) JAVA 是纯面向对象编程的语言,处处都是 class.
b) JAVA 的类名必须大写,符合驼峰命名法;报名全部小写,按域名倒装排列
c) JAVA 的类名与其所在的文件名相同, 最好一个 java 文件一个类
d) 可执行的 JAVA 类有一 main()方法作为入口点。
e) JAVA 变量名和方法名首字母小写,其他部分继续按驼峰命名法处理.
七.图解
java语言特性概述的更多相关文章
- [原]Java修炼 之 基础篇(一)Java语言特性
学习软件开发,首先要选择的就是选择需要采用的编程语言,考虑语言本身的优缺点和实际需求,综合评价之后选择相关的语言进行系统开发.本篇博客开始就从近年来比较流行的Java开始为大家讲起. 背景 1995年 ...
- Java 语言特性
介绍以下几种语言特性: Java5的特性 1.静态引用 2.可变参数 3.自动装箱和拆箱 包装类的缓存设计 4.枚举 一.静态引用(语法糖,不推荐使用,了解一下即可) 先看看普通的引用,就是impo ...
- Java语言特性
Java的语言特性: 1.语法相对简单 2.面向对象 3.分布性 4.可移植性 5.安全性 6.健壮性 7.解释性 8.多线程 9.动态性与并发性 Java中的面向对象编程: 面向对象程序设计(Obj ...
- Java语言的概述?-什么是Java? (附一张Java工程师的学习路线图)
什么是Java? Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作为静态面向 ...
- Java语言特性、加载与执行
[开源.免费.纯面向对象.跨平台] 简单性: 相对而言,例如,Java是不支持多继承的,C++是支持多继承的,多继承比较复杂:C++ 有指针,Java屏蔽了指针的概念.所以相对来说Java是简单的. ...
- [java学习笔记]java语言基础概述之标识符&关键字&注释&常量和变量
一.标识符 在程序中自定义的一些名称 由26个英文字母的大小写,数字,_$组成 定义合法标识符的规则: 不能以数字开头 不能使用关键字 java严格区分大小写 注意:在起名字时,为了提高阅读性,必须得 ...
- 【Java语言特性学习之三】Java4种对象引用
为了更灵活的控制对象的生命周期,在JDK1.2之后,引用被划分为(引用的级别和强度由高到低)强引用.软引用.弱引用.虚引用四种类型,每种类型有不同的生命周期,它们不同的地方就在于垃圾回收器对待它们会使 ...
- 【Java语言特性学习之一】设计模式
设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于 ...
- Java 语言特性之 Annotation 注解
利用 Java 的反射机制,可以在运行时获取 Java 类的注解信息. 注解 注解的特性 注解是 Java 5 的一个新特性,是插入代码中的一种注释或者说是元数据.注解并不是程序代码,可以对程序作出解 ...
随机推荐
- NYOJ题目34韩信点兵
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAskAAAHiCAIAAACV1MbSAAAgAElEQVR4nO3dPXLjONeG4W8TyrUQx1 ...
- IOS之笑脸app
ios笑脸app实现 import UIKit @IBDesignable class FaceView: UIView { @IBInspectable var lineWidth:CGFloat= ...
- 20145206邹京儒《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)
20145206<Java程序设计>实验报告一:Java开发环境的熟悉(Windows+IDEA) 实验内容及步骤 1.使用JDK编译.运行简单的Java程序: 建立实验目录: 在IDEA ...
- poj 3461Oulipo
题目链接:http://poj.org/problem?id=3461 统计字符串出现的次数 #include<cstdio> #include<iostream> #incl ...
- nfs 是Network File System 网络文件系统
NFS的基本原刚是容许不同的客户端及服务通过一组PRC分享相同的文件系统,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享.NFS在文件传送过程中依赖于RPC协议.远程过程调用Rem ...
- C#值类型与引用类型
值类型(Value Type),值类型实例通常分配在线程的堆栈(stack)上,并且不包含任何指向实例数据的指针,因为变量本身就包含了其实例数据.其在MSDN的定义为值类型直接包含它们的数据,值类型的 ...
- POJ3321 Apple Tree(树状数组)
先做一次dfs求得每个节点为根的子树在树状数组中编号的起始值和结束值,再树状数组做区间查询 与单点更新. #include<cstdio> #include<iostream> ...
- lvs+keepalived 负载均衡
LVS是一个开源的软件,可以实现LINUX平台下的简单负载均衡.LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器.目前有三种IP负 载均衡技术(VS/NAT.VS/T ...
- hdu 4046 2011北京赛区网络赛G 线段树 ***
还带这么做的,卧槽,15分钟就被A了的题,居然没搞出来 若某位是1,则前两个为wb,这位就是w #include<cstdio> #include<cstring> #defi ...
- [Tools] 远程登录surface字体过大解决方法
[背景] 这两天一直远程登录surface,使用surface干活,每次分辨率超大,看着就感觉像显示驱动没装好似的,必须得找个办法来设置 [开工] 在surface上设置低一点的分辨率,成功,但是远程 ...