《java核心技术卷i》第一章主要内容包括三点:

1:Java白皮书的关键术语:描述Java的十一个关键字:
2:Java applet
3 :关于Java的常见误解
 
1:第一章:Java白皮书的关键术语:描述Java的十一个关键字:
简单性,面向对象,分布式,健壮性,安全性,体系结构中立,可移植性,解释型,多线程,高性能,动态性
部分介绍如下:
简单性:Java语法相当于C++,为一个“纯净版本”,
Java去掉了C++中的头文件,指针运算(指针语法),结构,联合,操作符重载,虚基类等。
总体来说,去掉这些相对复杂的语法是利大于弊的。
 
面向对象:Java是一门纯面向对象的语言,面向对象的重点在数据(对象)及对象接口上。
在Java中,“万物皆对象”,即所有的数据都是一个对象,包括数字,字母等,所有类的基类都直接或间接继承与Object,Java 没有C++中的多继承,但可通过接口来实现多继承的需求(Java中一个类只能继承一个class,但可以实现多个接口)
 
健壮性:Java对代码进行早期安全问题检测,后期动态(运行时)检测,采用的指针模型可以消除重写内存和损坏数据的可能性
Java通过指针模型 避免了C++出现野指针等一系列指针问题.
 
安全性:Java实用于网络/分布式环境,能够构建防病毒,防篡改的系统,包括:
运行时堆栈溢出,破坏自己的进程空间之外的内存,未经授权读写文件。不可信代码在沙箱环境执行,不影响主系统
 
体系结构中立:编译器生成体系结构中立的目标文件格式,为一段编译过的代码,只要有Java运行时系统,这些代码就可以在处理器执行。
 
可移植性:Java的数据类型具有固定大小,如int类型在C++中根据32位系统位16位,64位系统中位32位,在Java中永远位32位
其原因是Java代码需要虚拟机解释成机器码,再交给操作系统执行的,
关于虚拟机的知识:立个flag,博客写出来。https://blog.csdn.net/ningjia2013/article/details/22686433
 
多线程:Java是第一个支持并发程序设计的主流语言
 
2:Java applet
在网页中运行的Java程序成为 applet 。要使用applet,需要启用Java的web浏览器执行字节码。
 
3 :关于Java的常见误解
1 Java 是html的扩展。
Java是一种程序设计语言,HTML是一种描述网页结构的方式。
2 使用xml,不需要Java。
xml是一种描述数据的方式。
3 Java 将成为适用所有平台的通用型编程语言。
理论上是可行的,实际上不同的平台有更适用的语言,如做IOS开发会用OC,Swift,浏览器的处理用JavaScript,
Windows程序通常用C++,C#,Java在服务器端编程和跨平台客户端应用较有优势
4 Java是解释型的,因此对于关键的应用程序速度太慢了。
早起的Java是解释型的,现在Java虚拟机适用即时编译器,目前Java代码的运行速度与C++相差无几
5 JavaScript是Java的简易版。
Java是一种程序设计语言,JavaScript是在网页中适用的脚本语言。

java的优点和误解 《java核心技术卷i》第一章的更多相关文章

  1. TCP/IP详解 卷1 第一章概述

    第一章概述 1.2 分层 网络编程通常分不同层次进行开发,每一层负责不同的通信功能. 一个协议族比如TCP/IP,通常是一组不同层次上多个协议的组合.一般可以认为是是四层协议系统: 链路层:有时也称作 ...

  2. 虚拟机上的Linux Java开发环境部署记录(VirtualBox+Ubuntu)第一章-基础环境搭建

    创建虚拟机时需注意三点: 在BIOS中开启Intel VT,以支持64位虚拟机系统: 对于Ubuntu 16以上版本,至少分配10G以上初始控件. 增加一块网卡,选择Host-Only网络,用于主机和 ...

  3. 【java并发编程艺术学习】(二)第一章 java并发编程的挑战

    章节介绍 主要介绍并发编程时间中可能遇到的问题,以及如何解决. 主要问题 1.上下文切换问题 时间片是cpu分配给每个线程的时间,时间片非常短. cpu通过时间片分配算法来循环执行任务,当前任务执行一 ...

  4. 徒手用Java来写个Web服务器和框架吧<第一章:NIO篇>

    因为有个不会存在大量连接的小的Web服务器需求,不至于用上重量级服务器,于是自己动手写一个服务器. 同时也提供了一个简单的Web框架.能够简单的使用了. 大体的需求包括 能够处理HTTP协议. 能够提 ...

  5. 从零开始学 Java - 搭建 Spring MVC 记录云创的日子 第一章

    2017年11月29日 来到新项目,需要用到Spring MVC ,那么我就开始记录我这次的学习. Spring MVC 框架是围绕一个 DispatcherServlet 来设计的,这个 Servl ...

  6. UNIX网络编程卷1 第一章 简介 读书笔记。

    基本没讲什么,一点点计算机网络发展史,一点点socket()简单介绍,最重要的是1.3节协议无关性. 协议无关性: 贯穿整本书的一个重要特性,他主要强调的是 socket是网络协议无关的编程接口. s ...

  7. Android深度探索-卷1第一章心得体会

     本章介绍了安卓系统移植与驱动开发的概述,安卓的系统架构有四层:1 Linux内核,2 c/c++代码库, 3 Android SDK API, 4 应用程序 在读的过程中看到了专业名词,查了查,长点 ...

  8. 徒手用Java来写个Web服务器和框架吧<第二章:Request和Response>

    徒手用Java来写个Web服务器和框架吧<第一章:NIO篇> 接上一篇,说到接受了请求,接下来就是解析请求构建Request对象,以及创建Response对象返回. 多有纰漏还请指出.省略 ...

  9. Java核心技术卷阅读随笔--第4章【对象与类】

    对 象 与 类 4.1 面向对象程序设计概述 面向对象程序设计(简称 OOP) 是当今主流的程序设计范型, 它已经取代了 20 世纪 70 年代的" 结构化" 过程化程序设计开发技 ...

随机推荐

  1. tensorflow 1.0 学习:卷积层

    在tf1.0中,对卷积层重新进行了封装,比原来版本的卷积层有了很大的简化. 一.旧版本(1.0以下)的卷积函数:tf.nn.conv2d conv2d( input, filter, strides, ...

  2. mysql 开发进阶篇系列 2 SQL优化(explain分析)

    接着上一篇sql优化来说 1. 定位执行效率较低的sql 语句 通过两种方式可以定位出效率较低的sql 语句. (1) 通过上篇讲的慢日志定位,在mysqld里写一个包含所有执行时间超过 long_q ...

  3. 【python】re库 正则的一些过滤和把str拆分成list案例 以及json dict类型

    0x01: 部分参考:https://www.cnblogs.com/edwardsun/p/4421773.html match(string[, pos[, endpos]]) | re.matc ...

  4. Android UI(二)DridView的菜单

    Jeff Lee blog:   http://www.cnblogs.com/Alandre/  (泥沙砖瓦浆木匠),retain the url when reproduced ! Thanks ...

  5. 使用IntelliJ IDEA新建Java Web后端resfulAPI模板

    初始化项目 打开IntelliJ IDEA,我的版本是Version 2018.1.4.点击Create New Project.在左侧的列表中选择Maven.然后在右侧勾选Create from a ...

  6. Vc数据库编程基础1

    Vc数据库编程基础1 一丶数据库 什么是数据库 数据库简单连接就是存储数据的容器. 而库则是一组容器合成的东西. 也就是存储数据的.我们编程中常常会用到数据库. 什么是数据管理系统 数据库管理系统就是 ...

  7. Python机器学习笔记:XgBoost算法

    前言 1,Xgboost简介 Xgboost是Boosting算法的其中一种,Boosting算法的思想是将许多弱分类器集成在一起,形成一个强分类器.因为Xgboost是一种提升树模型,所以它是将许多 ...

  8. Perl处理数据(二):tr和y///

    tr和y///是等价的.用来实现一一映射,但也有额外的功能,就像Linux下的tr命令一样. 用法: tr/SEARCH/REPLACEMENT/cdsr y/SEARCH/REPLACEMENT/c ...

  9. 前端(二)之 CSS

    前端之 CSS 前言 昨天学习了标记式语言,也就是无逻辑语言.了解了网页的骨架是什么构成的,了解了常用标签,两个指令以及转义字符:其中标签可以分为两大类: 一类是根据标签内容可以分类单双标签,单标签指 ...

  10. shell编程练习(一): 笔试1-10

    笔试练习(一): 1.求2个数之和 [root@VM_0_5_centos test]# vi 1.sh [root@VM_0_5_centos test]# cat 1.sh #! /bin/sh ...