JAVA知识点总结

Java语言具有的特点有:

简单性、跨平台性、面向对象、安全性、多线程性、分布性、可移植性、解释型、高性能和动态性。

(1)简单性

Java语言类似C++,因此熟悉C++的程序员很容易掌握java,另外它摒弃了C++中易发生错误的地方,

尤其是Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。

(2)跨平台性


所谓的跨平台性就是指软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行。

而在Java中它自带的虚拟机可以很好的实现跨平台性,它提供了一个字节码到底层硬件平台及操作系统的屏障,

使得Java语言具备跨平台性。


(3)面向对象


Java是一种面向对象语言,它可以使得程序的开发更加简单易用。比如具有代码扩展,代码复用等功能。


(4)安全


Java的安全性可从两个方面得到保证。一方面,在Java语言里,指针和释放内存等C++功能被删除,

避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,

使它更安全。Java语言在机器上执行前,要经过很多次的测试。它经过代码校验,检查代码段的格式,

检测指针操作,对象操作是否过分以及试图改变一个对象的类型。


(5)多线程


多线程是指允许一个应用程序同时存在两个或两个以上的线程,用于支持事务并发和多任务处理。

Java除了内置的多线程技术之外,还定义了一些类、方法等来建立和管理用户定义的多线程。


(6)分布性


Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口,

它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。

Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。


(7)可移植的


Java系统本身具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的,

另外Java还严格规定了各个基本数据类型的长度


(8)解释的


Java解释器能直接运行目标代码指令,链接程序通常比编译程序所需资源少,

所以程序员可以在创建源程序上花上更多的时间。


(9)高性能


如果解释器速度不慢,Java可以在运行时直接将目标代码翻译成机器指令,

翻译目标代码的速度与C/C++的性能没什么区别。


(10)动态性


Java语言的设计目标之一是适应于动态变化的环境,Java程序需要的类能够动态地被载入到运行环境

,也可以通过网络来载入所需要的类。这也有利于软件的升级。


1.2

什么是Java虚拟机:Java虚拟机(Java Virtual Machine 简称JVM)是运行所有Java程序的抽象计算机,

是Java语言的运行环境,它是Java 最具吸引力的特性之一。

特点:Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。

一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,

Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息

,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。

1.3

什么是字节码: Java 中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。

这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,

生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。

在 Java 中,这种供虚拟机理解的代码叫做字节码(即扩展名为 .class 的文件),它不面向任何特定的处理器,

只面向虚拟机。每一种平台的解释器是不同的,但是实现的虚拟机是相同的。

Java 源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,

解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。这也就是解释了 Java 的编译与解释并存的特点。
































 

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容

  • 在一个方法内部定义的变量都存储在栈中,当这个函数运行结束后,其对应的栈就会被回收,此时,在其方法体中定义的变量将不...
    Y了个J阅读 4,416评论 1 14
  • equals和==的区别 1.基本数据类型(byte short char int long float doub...
    Rush的博客阅读 679评论 0 2
  • Java继承关系初始化顺序 父类的静态变量-->父类的静态代码块-->子类的静态变量-->子类的静态代码快-->父...
    第六象限阅读 2,152评论 0 9
  • 面向对象Java中的数据类型分为:原始数据类型和引用数据类型在数据类型转换中,由低类型转至高类型,将会自动(隐式)...
    pure_joy阅读 227评论 0 0
  • JAVA知识点概括 BIO 阻塞式IO(BIO):数据在写入OutputStream或者InputStream都有...
    andpy阅读 398评论 0 1