zoukankan      html  css  js  c++  java
  • Java白皮书关键词理解【随记】

    1、简单性

      第一印象:

        a、语法简单(和C++比较接近,且去除了许多难以理解的,比如goto指针)

        b、封装了许多类库,基本上不需要涉及太多底层知识

      阅后理解:

        c、体积小,Java Micro Edition版本,运用于嵌入式设备

    2、面向对象

      第一印象:

        a、Java几乎是完全面向对象,除了几个基础类型,int、long、float、double、char、bit、short等,不过现在java8引入了lambda表达式等函数式编程的支持

      阅后理解:

        面向对象是一种程序设计技术,体现在关注点在于抽象,而不是具体实现本身,在Java中最直接体现的是Interface(接口),在旧的版本中Java的接口完全是抽象的,后续也引入了默认方法、静态方法【java9】等

    3、分布式

      第一印象:

        a、不是很理解这个,分布式应该很多都支持

      阅后理解:

        Java有原生支持rmi这种远程调用的方式,当然在目前微服务时代里,如果要支持异构,更多的是使用RESTFULE风格的HTTP对外接口;性能的话更多采用RPC协议

    4、健壮性

      第一印象:

        a、强类型语言

        b、编译时错误检验

      阅后理解:

        a、早期的问题检测:强大的编译时错误校验功能、后期动态的运行时检测

        b、消除了C++容易出错的指针

    5、安全性

      第一印象:

        a、强类型语言

      阅后理解:

        沙箱机制

        a、运行时堆栈溢出,防止蠕虫、病毒攻击

        b、进程空间之外的内存无法操控

        c、文件需要授权才能读写(这个感觉应该是大部分Linux系统都有的授权机制)

    6、体系结构中立

      第一印象:

        a、Java用的是编译器+虚拟机(解释器),一般程序员不太需要关注底层系统

      阅后理解:

        可以通过虚拟机解释运行,速度会比直接运行慢,但目前的虚拟机有及时编译技术,根据计算机的优化原理(或者说多级缓存机制),也是可以理解为:只要优化被频繁运行的代码即可

    7、可移植性

      第一印象:

        a、Java号称一次编译,到处运行。依赖的主要也是虚拟机JVM

      阅后理解:

        例如不同的操作系统中Int类型的位数是不同的,而虚拟机会使得我们不需要关注这个点

    8、解释型

      第一印象:

        a、还是和JVM相关

      阅后理解:

        jvm可以动态解释运行class的字节码,转化为机器码

    9、高性能

      第一印象:

        理论上Java应该比不了C++,极限性能,但由于实际上大部分的系统都不会是在极限场景下运行,所以Java通过优化,在某些场景下,性能更优

      阅后理解:

        及时编译器,机械码、本地方法内联优化等

    10、多线程

      第一印象:

        Java原生支持多线程

      阅后理解:

        Java是比较早支持多线程的语言

    11、动态性

      第一印象:不太理解

      阅后理解:反射机制,Java新增特性不会直接影响到客户端

  • 相关阅读:
    python float保留两位小数
    linux使用ftp服务
    selenium是如何启动浏览器的
    小白学PYTHON时最容易犯的6个错误,看看你遇到过几个
    为什么你需要测试某个字段为空的场景
    为什么要做接口测试
    从爱奇艺招聘信息看当前测试开发的技能要求
    测试同学难道要写一辈子的hello world?
    收藏清单: python测试框架最全资源汇总
    如何写出测不出bug的测试用例
  • 原文地址:https://www.cnblogs.com/gabin/p/13461766.html
Copyright © 2011-2022 走看看