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图片处理关键代码
最近滑动验证码在很多网站逐步流行起来,一方面对用户体验来说,比较新颖,操作简单,另一方面相对图形验证码来说,安全性并没有很大的降低.当然到目前为止,没有绝对的安全验证,只是不断增加攻击者的绕过成本. ...
随机推荐
- android基本控件学习-----ScrollView
ScrollView(滚动条)的讲解: 一.对于ScrollView滚动条还是很好理解的,共有两种水平和垂直,ScrollView和HorizontalScrollview,这个里面不知道该总结写什么 ...
- 交叉编译x264和ffmpeg
1.x264 ./configure --host=arm-hisiv300-linux CC=arm-hisiv300-linux-gcc --enable-pic --prefix=/usr/lo ...
- 昨天晚上写了个 Python 程序,下载了一个图片网站 5000 来张图片
以前写的,目前已经失效了.. ------------------------------------------------------------------------------------- ...
- Alfred添加百度搜索
Alfred默认的搜索只有 google; amazon和wikipakia, 我想加个百度搜索,怎么添加呢? 1.首先添加百度搜索,添加http://www.baidu.com/s?wd={quer ...
- LeetCode OJ-- Populating Next Right Pointers in Each Node
https://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node/ 二叉树遍历的变种:树的节点多了个next指针 ...
- ansible 2.7.1 快速开始
refer to 官方手册 https://docs.ansible.com/ansible/latest/modules/modules_by_category.html refer to 中文手册 ...
- 莫队浅谈&题目讲解
莫队浅谈&题目讲解 一.莫队的思想以及莫队的前置知识 莫队是一种离线的算法,他的实现借用了分块的思想.在学习莫队之前,本人建议学习一下分块,并对其有一定的理解. 二.莫队 现给出一道例题:bz ...
- Java死锁及解决
Java线程死锁如何避免这一悲剧 Java线程死锁需要如何解决,这个问题一直在我们不断的使用中需要只有不断的关键.不幸的是,使用上锁会带来其他问题.让我们来看一些常见问题以及相应的解决方法: Jav ...
- redis--服务器与客户端
初始化服务器 从启动 Redis 服务器,到服务器可以接受外来客户端的网络连接这段时间,Redis 需要执行一系列初始化操作. 整个初始化过程可以分为以下六个步骤: 初始化服务器全局状态. 载入配置文 ...
- Cannot create JDBC driver of class '' for connect URL 'null'问题解决方法2
1)启动Tomcat服务器,打开浏览器,输入http://localhost:8080/admin(其中localhost是名称服务器或称为主机),进入管理界面的登陆页面,这时候请输入原来安装时要求输 ...