阅读记录追踪:前言部分

阅读前先看:简介、目录和勘误!

Java编程语言是一种多用途、并发的、基于类的、面向对象的编程语言;编译时通常包括将持续转化成机器无关的字节码表示。运行时活动包括加载和链接执行持续所需的类,生成可选的机器代码,动态优化持续和执行实际的程序。

Java提供代码的可移植性、内存垃圾回收器,以及大型的API库(庞大的库——优质的资源),提供奇特的绘图功能、网络连接功能和数据库存取功能。可以从以下11个关键字对Java进行描述:简单性、面向对象、网络技术、健壮性、安全性、体系结构中立、可移植性、解释型、高性能、多线程和动态性。

针对简单性而言,Java的目标之一是支持开发能够在小型机器上独立运行的软件;基本的解释器以及类支持大约仅为40KB;再加上基础的标准类库和对线程的支持(基本上是一个自包含的微内核)大约需要增加175KB。

Java的网络技能在于:一个扩展的例程库,用于处理像HTTP和FTP这类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。

Java语言的健壮性体现在两方面:出错倾向的检查和指针模型(并没有采用指针,而是对C++指针的封装)。但没有指针的语言,许多数据结构很难实现。Java是如何实现这些数据结构的?

Java的安全性机制:Java设计能够防范各种袭击,包括:运行时堆栈溢出,在自己的处理空间之外破坏内存,未经授权读写文件等等。(这一点怎么和Linux的权限系统如此相似!)

体系结构中立,指的是:使用了虚拟机。(这一部分需要重点把握)生成的中间代码,可以应用于所有已经正确安装解释器的机器上。

可移植性体现在:基本数据类型的大小以及有关算法都做了明确说明;Java中的数据类型具有固定大小,消除了代码移植时可能遇到的问题。二进制数据以固定的格式进行存储和传输,消除了字节顺序的困扰。

Java的解释型体现在哪里?导致的结果在于:对关键应用程序运行速度较慢。现今JVM采用即时编译器,其代码运行速度和C++相差无几。

在一些特定的场合需要更加高效的性能,Java编译后的字节码可以(在运行时)快速地翻译成运行这个应用程序的特定CPU机器码,以进一步提高执行速度。

Java的多线程执行,带来更好的交互响应和实时行为。只要操作系统支持,Java中的线程就可以利用多个处理器。在底层,主流平台的线程实现机制各不相同,Java并没有话费太大的力气对此实现平台无关性。在不同的机器上,只是调用多线程的代码完全相同;Java把多线程的实现交给了底层的操作系统或线程库来完成。

Java和applet,当今如果需要在浏览器上显示动态效果时,大多数网页都会直接使用JavaScript或Flash,而不是applet。

Java语言的发展状况如下:

可见:在2004年加入新特性后,API有爆炸性的增长。

Java的常见术语

容易混淆的是:JRE指Java运行环境,包含有虚拟机但不包含编译器。这并不是开发者所想要的环境,而是专门为不需要编译器的用户而设计的。JDK,很形象得被称为是:开发工具箱(tool-kit)。

注意:在安装JDK时,Windows环境下强烈建议不要接受带有空格的默认路径名,而使用如下形式:jdk/bin或jdk1.6.0\bin...此外,还需要将jdk/bin目录添加到执行路径中;所谓执行路径指的是操作系统搜索本地可执行文件的目录列表。

在jdk\bin的同一级目录包含有src.zip文件,该文件就是所有公共类的源代码

获得更多的源代码(编译器、虚拟机、本地方法以及私有辅助类等等)可以访问:oracle.net。

如下是JDK部分的剖析图:

可以明显看出:JDK和JRE的不同之处。

Java的引用类型包括三种:类类型、接口类型和数组类型。引用类型是由动态创建的对象(类或数组的实例)实现的,可以有多个引用指向一个对象。有用于把基本值包装在对象内部的类,这个类我们称为包装类。

java 基础知识巩固_Java基础巩固——《Java核心技术基础·卷一:基础知识》相关推荐

  1. java 后端开发技能_Java 后端开发,应该重点学习哪些知识/技能?

    19 2018-11-19 11:22:01 +08:00   8 如果是长远的后端开发,那就要全面深入的发展,首先是语言,没有哪种语言,是和后端或者 web 开发划等号的,Java 要想深入,不要过 ...

  2. java后台好学吗_java好学吗?java是不是最难学的语言?

    java好学吗?java是不是最难学的语言?对于一些刚接触java的朋友来说,可能会有这样的疑问,下面就来一起了解下吧. 1. java好学吗? 从某些方面来说,java比较容易学,如果是大学毕业,大 ...

  3. java ee是什么_java ee与java的区别是什么

    JavaEE是指java enterprise edition,java企业版,多用于企业级开发,包括web开发等等很多组件. Java和JavaEE区别: 1. Java是一种可以撰写跨平台应用软件 ...

  4. java自动生成合同_Java 7和Java 8之间的细微自动关闭合同更改

    java自动生成合同 Java 7的try-with-resources语句和与该语句一起使用的AutoCloseable类型的一个不错的功能是,静态代码分析工具可以检测到资源泄漏. 例如,Eclip ...

  5. java se运行环境_Java运行环境Java SE Runtime Environment (JRE) 下载

    Java SE Runtime Environment又称JRE,是Java的核心运行环境,如果需要运行JAVA程序,JRE是必不可少的环境的集合.Java平台使您可以在台式机和服务器以及当今苛刻的嵌 ...

  6. java推送技术_java网络编程 - java服务器推送技术系列方案实战

    前言 服务器推送技术(又名Comet)是建立在ARP基础之上的一种非常实用的技术,它广泛应用于Web端,手机APP应用端等.具体很多场景都需要此技术的支撑,包括扫码登录.扫码支付.网页支付.端到端消息 ...

  7. java的继承实例_java教程之java继承示例详解

    这篇文章主要介绍了java继承示例详解,需要的朋友可以参考下 什么是继承(extends)? 继承是:新定义的类是从已有的类中获取属性和方法的现象. 这个已有的类叫做父类, 从这个父类获取属性和方法的 ...

  8. java final 变量 回收_java入门教程-Java中final,finally,finalize三个关键字的区别

    final 当这个关键字修饰一个类时,意味着他不能派生出新的子类,也就是说不能被继承,因此一个类不能被同时声明为abstract和final.当final修饰变量或者方法时,可以保证他们在使用中不会被 ...

  9. java 日历选择天_Java程序使用Java日历将天添加到当前日期

    为Java中的Calendar类导入以下包import java.util.Calendar; 首先,创建一个Calendar对象并显示当前日期Calendar calendar = Calendar ...

  10. java 前端工作内容_java前端、java后端、java全栈工作主要内容是什么?哪个薪资高?...

    摘要 最近,听了一场关于java全栈工程师职位的简介说明,里面很清楚的说明了一下前端,后端,全栈都是做什么工作的.其实,想做这个行业,就应该了解职能以及技能需求,这样学习才能更高效.我知道一些刚刚入行 ...

最新文章

  1. java file源码_java File源码理解,探索File路径
  2. Java中String、StringBuffer、StringBuilder的区别
  3. 中国25个最“吓人”地名,看完都被吓笑了!
  4. LeetCode:砖墙【554】
  5. 自己动手为Spark 2.x添加ALTER TABLE ADD COLUMNS语法支持
  6. Xposed 插件开发(三)—— 我的 hooker 是哪里导致出错了?
  7. apt-get install的默认安装路径是什么
  8. dnf登录不了服务器未响应,win7dnf辅助登陆没反应的三种解决方法
  9. 电子书 杜春雷 ARM体系结构与编程
  10. sql 恢复刚删除的表
  11. 计算机怎样辅助英语听力教学,浅议多媒体计算机辅助大学英语教学的原则 大学英语听力怎么提高...
  12. [问题已处理]-centos7 history命令没有任何记录
  13. SQL语句 日期查询
  14. android 输入法判断,Android如何检测输入法键盘是否显示
  15. java计算机毕业设计共享充电宝管理系统演示录像2021源码+mysql数据库+系统+lw文档+部署
  16. 翻斗式雨量传感器的材质分类和工作原理
  17. ppt如何查看加载宏
  18. 助你深刻理解——最长公共子串、最长公共子序列(应该是全网数一数二的比较全面的总结了)
  19. 省时省力,高速收费站无线组网解决方案
  20. 联想微型计算机怎么调暗屏幕,演示一下联想一体机调节屏幕亮度的详细步骤!...

热门文章

  1. python应用于期货_Python期货量化交易基础教程(17)
  2. python数据生成正态分布图_Python 与金融数据生成机器学习的特征数据
  3. angularjs与PHP,我应该混合AngularJS与PHP框架吗?
  4. java 生成 xml dtd_使用DTD文件中的JAXB生成Java类 – 如何修改DTD?
  5. pip download的使用记录
  6. elasticsearch 根据条件更新数据
  7. GUI可视化利器,让实时数据可视化so easy
  8. 肝!用 Python 加密文件
  9. post php数据,php post数据
  10. 前端面试技巧和注意事项_我的前端面试总结(套路篇)