java 白皮书的关键术语
【0】README
0.1) 本文转自 core java volume 1,仅供了解,所谓爱屋及乌嘛;
0.2) java的设计者编写了颇有影响力的白皮书,用来解释设计的初衷以及完成的情况,并发布了一个摘要;
【1】该摘要归纳为11个关键术语
1.1)简单性;
1.2)面向对象: java 与 C++ 的主要不同点在于多继承;
1.3)网络技能(Network-Savvy): java有一个扩展的例程库,用于处理像HTTP 和 FTP 之类的TCP/IP 协议;
1.4)健壮性: java 和 C++ 最大的不同在于 java采用的指针模型可以消除重写内存和损坏数据的可能性;这个特性非常有用, 它使得 java 编译器能够检测许多在其他语言中仅在运行时刻才能够检测出来的问题;java是绝对安全的, 其原因是永远不会存取一个坏的指 针,造成内存分配错误,也不必防范内存泄露;
1.5)安全性: java 适用于网络/分布式环境,使用 java 可以构建防病毒、防篡改的系统;
一开始, java就设计成 能够防范各种攻击, 其中包括:
- 1.5.1)运行时堆栈溢出; 如,蠕虫等病毒常用的攻击手段;
- 1.5.2)在自己的处理空间之外破坏内存;
- 1.5.3)未经授权读写文件;
Attention): 自java1.1 以来,java就有了 数字签名类 的概念,通过数字签名类,可以确定类的作者;如果信任这个类的作者,这类就 可以在你的机器上拥有更多的权限;
1.6)体系结构中立: java编译器通过生成与特定的计算机体系结构无关的 字节码指令来实现这一特性;(编译器生成一个体系结构中立的 目标文件格式,这是一种编译过的代码,只要有 java 运行时系统, 就可以在许多处理器上运行)
即时编译: 虚拟机有一个选项,可以将使用最频繁的 字节码序列 翻译成 机器码,这个过程被称为 即时翻译;
1.7)可移植性: 在java 中, 数据类型具有固定的大小, 这消除了代码移植时令人头痛的问题, 二进制数据以固定的格式进行存储和传输,消除了字节顺序的困扰, 而字符串采用的是 标准的 Unicode 格式存储的(例如, java中的int 永远为32位整数, 而在C/C++中,int 可能是16位整数、32位整数,也可以是编译器提供商指定的其他大小);
1.8)解释性: java 解释器可以在任何移植了解释器的机器上执行 java 字节码;(现在,使用 即时编译器 将字节码 翻译成 机器码)
1.9)高性能: 在运行时, 字节码可以快速地翻译成运行这个应用程序的特定CPU 的机器码;
1.10)多线程:多线程可以带来更好的交互响应和实时行为;(多线程编译的简单性 是 java 成为颇具魅力的服务器段开发语言的主要原因之一)
1.11)动态性: java 能够适应不断发展的环境,库中可以自由地添加新方法和实例变量, 而对客户端没有影响;
java 白皮书的关键术语的更多相关文章
- 1.2 Java“白皮书”的关键术语
Java的设计者已经编写了颇有影响力的“白皮书”,来解释设计的初衷以及完成的情况,并且发布了一个简短的摘要.这个摘要用下面11个关键术语进行组织: 简单性 面向对象 分布式 健壮性 安全性 体 ...
- Java白皮书的关键术语
“白皮书”可以在http://www.oracle.com/technetwork/java/langenv-140151.html上找到. 1.简单性. 2.面向对象. 3.网络技能(Network ...
- Java核心技术(Java白皮书)卷Ⅰ 第一章 Java程序设计概述
第1章 Java程序设计概述1.1 Java程序设计平台 具有令人赏心悦目的语法和易于理解的语言,与其他许多优秀语言一样,Java满足这些要求. 可移植性 垃圾收集 提供大型的库 如果想要有奇特的绘 ...
- Expo大作战(四)--快速用expo构建一个app,expo中的关键术语
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Java 并发,相关术语
Java 并发,相关术语: 术语 作用 synchronize 可修饰方法.代码块.类:介绍:https://www.cnblogs.com/zyxiaohuihui/p/9096882.html L ...
- Core Java 学习笔记——1.术语/环境配置/Eclipse汉化字体快捷键/API文档
今天起开始学习Java,学习用书为Core Java.之前有过C的经验.准备把自己学习这一本书时的各种想法,不易理解的,重要的都记录下来.希望以后回顾起来能温故知新吧.也希望自己能够坚持把自己学习这本 ...
- Java白皮书学习笔记+Head First Java--用于自我复习 基础知识篇
本笔记是摘与Hava白皮书上面的内容,用来给自己做提醒的,因此大概并不适合Java的学习者作为笔记参考使用. 以我的水平现在还看不懂这个... 一.基础知识篇 1.常量 final关键字指示常量,只能 ...
- 有关java中static关键的重写问题
<Java编程思想>中这样提到“只有普通的方法调用可以是多态的”.说白了,就是静态方法不能实现重写这种多态. JAVA静态方法形式上可以重写(只要子类不加@Override关键字修饰的话, ...
- 一步步实现滑动验证码,Java图片处理关键代码
最近滑动验证码在很多网站逐步流行起来,一方面对用户体验来说,比较新颖,操作简单,另一方面相对图形验证码来说,安全性并没有很大的降低.当然到目前为止,没有绝对的安全验证,只是不断增加攻击者的绕过成本. ...
随机推荐
- Magenta源代码笔记(3) —— 内存管理【转】
转自:http://blog.csdn.net/boymax2/article/details/52550197 版权声明:本文为博主原创文章,未经博主允许不得转载. Magenta内核支持虚拟地址的 ...
- Linux 中/etc/profile、~/.bash_profile 环境变量配置及执行过程
环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell.对于Linux来说一般是bash,但也可以重新设定或切换到其它的 Shell.对于UNIX,可能是CShelll.环境变量是通过 ...
- Write a function that generates one of 3 numbers according to given probabilities
You are given a function rand(a, b) which generates equiprobable random numbers between [a, b] inclu ...
- noip2013/day1/1/转圈游戏
总时间限制: 10000ms 单个测试点时间限制: 1000ms 内存限制: 128000kB 描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从 ...
- mysql-实现远程连接(授权法)
远程连接阿里云主机的mysql,遇到以下问题: 1.连接被拒,无法连接 可能原因:1.3306(默认)端口未开放,在控制台设置防火墙规则: 2. host字段的值改为%就表示在任何客户端机器上能以ro ...
- Cygwin下vi和vim方向键和Backspace不好用的问题(转)
执行p4 client时vi打开文本,编辑起来恼火,于是找到了这个: 默认的vi(vim)没有配置文件,因此导致了方向键出现ABCD,以及Backspace只会移动光标,字符不消失的问题.cygwin ...
- iOS升级经验分享
作者认为,及时关注.快速反应.覆盖测试是面对iOS系统升级时最重要的三大原则,文中还详细分析了iCloud Storage和Automatic Reference Counting这两大iOS 5新特 ...
- How To Commit Just One Data Block Changes In Oracle Forms
You have an Oracle Form in which you have multiple data blocks and requirement is to commit just one ...
- SpringMVC Controller 介绍【转】
链接地址: http://haohaoxuexi.iteye.com/blog/1753271
- nodejs session 设计
会话管理 { //保存会话 _data : {}, /** 会话基本操作 ***/ //查找会话 getSession : function(id){}, //创建会话 createSession : ...