zoukankan      html  css  js  c++  java
  • 8张图带你深入理解Java

    1、字符串的不变性


    下图展示了如下的代码运行过程:


    String s = "abcd";s = s.concat("ef");


     

    备注:String reference variable :字符串引用变量  String object:字符串对象


    2、equals() 和hashCode()的关系


    哈希码是设计用于提高性能的。equals()和hashCode()的关系是:


    2.1如果两个对象相等,那么它们一定有着相同的哈希码。

    2.2即使两个对象有着相同的哈希码,但它们不一定相等。


     

    备注:Hash Function:哈希函数        buckets:散列桶

     

    3、Java异常类的层次结构


    红颜色标注的方块属于检查异常,这类异常必须通过在try—catch代码块里捕获异常或者在方法中用thorws申明抛出异常。


     


    4、集合类的层次结构


    注意Collections和Collection的区别:



     备注:Collection:是集合类层次结构的最顶层接口。

    Collecitons:这个类由操作集合对象的静态方法和集合对象组成。




    5、Java同步机制


    Java同步机制可以用一栋大楼来比喻阐述:


     

    备注:special room:专用房间   wait room:等待室     hallway:走廊


    6、引用别名机制


    引用别名机制是指多个引用可以定位到同一个能被更新的内存地址,而这些引用变量可以是不同的类型。


     


    7、栈和堆


    下图展示了方法和对象在运行时在内存的存储位置


    Java-array-in-memory

     

    备注:Stack:栈  Heap:堆


    8、Java虚拟机运行时数据区域


    下图展示了java虚拟机运行时总体的数据区域


     


    备注:Thread:线程  PC Register:程序计数器   JVM Stack:Java虚拟机栈

    Native Method Stack:本地方法栈 Heap:堆   Method Area:方法区Runtime Constant Pool:运行时常量池






  • 相关阅读:
    Devexpress之LayoutControl的使用及其控件布局设计
    C#入门笔记3 表达式及运算符2
    C#入门笔记3 表达式及运算符
    C#入门笔记2 变量
    C#入门笔记1
    Devexpress之GridControl显示序列号
    C++学习之重载运算符1
    解决"找不到该项目”无法删除该文件
    删除鼠标右键时“保存至360云盘”
    CSS基础知识——选择器
  • 原文地址:https://www.cnblogs.com/jeffen/p/5974321.html
Copyright © 2011-2022 走看看