`

8 张图助你更好地理解 Java

    博客分类:
  • J2SE
 
阅读更多

转自:http://www.iteye.com/news/28319

 

所谓一图胜万言,本文中的这些图都是从ProgramCreek网站中的Java教程中通过票选选出来的。可以帮助你很好地回顾Java的一些知识,如果你是一个初学者,也可以很好地帮助你理解Java。你可以通过标题上的链接来阅读更详细的内容。

1.  字符串不变性

下图显示了下面的代码发生了什么事情。

Java代码
  1. String s = "abcd";  
  2. s = s.concat("ef");  

 



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

equals()和hashCode() 都是用来判断两个对象是否相等。两者之间的关系是:

  • 如果两个对象是相等(equal)的,那么它们一定具有相同的哈希码(hashcode)
  • 如果两个对象具有相同的哈希码,它们可能相等,也可能不相等(equal)。



3.  Java异常类的层次结构

下图中红色部分的异常必须在方法的throws子句中被捕获或声明。



4.  集合类的层次结构

注意Collections和Collection之间的不同。



5.  Java同步

Java同步机制可以通过一个建筑物比喻来说明。



6.  别名(Aliasing)

别名(Aliasing)意味着可以为一个位置应用不同的别名,这些别名可以有不同的类型。



7.  栈和堆

下图显示了方法和对象在运行时内存中的情况。



8.  JVM运行时数据区

下图显示了整个JVM运行时数据区。

分享到:
评论

相关推荐

    java知识资料大全

    这本书籍可能是关于如何在Java中应用设计模式的深入讨论,结合实际案例,帮助开发者更好地理解和运用设计模式。 通过这些资料,无论是初学者还是经验丰富的开发者,都可以找到提升自己Java技能的宝贵信息。深入...

    java概念技术地图

    本文档不仅帮助熟悉Java平台一部分的开发者理解其他部分,而且还关联了不熟悉的技术与开发者可能已经熟悉的领域,为新手开发者提供了一个概览,并为那些非编程人员提供了一个与开发者更好交流的介绍。 描述中提到,...

    Java类思维导图

    Java类思维导图是理解Java编程语言中类与类之间关系的重要工具,它通过图形化的方式,清晰地展示了Java各类的结构、继承关系以及方法的...通过深入学习这张图,开发者可以更好地理解和应用Java的类系统,提升编程技能。

    java实现坦克大战源码+图片+音乐

    【标题】"java实现坦克大战源码+图片+...总的来说,这个项目不仅涵盖了Java编程基础,还涉及到游戏开发的多个方面,对于学习者来说,是一个很好的实践案例,可以深入理解Java编程、游戏逻辑设计以及多媒体资源的使用。

    java 分页思想

    这些文件可能是课程学习的资料,包含了关于分页的理论讲解、资源文件以及实际的Java代码示例,可以帮助读者更好地理解和实践分页技术。 通过上述知识点,开发者可以了解到Java分页的全面信息,从数据库设计到代码...

    JAVA 程设计报告

    JAVA 拼图游戏课程设计报告 【摘 要】拼图小游戏设置很简单,功能很简单的拼图游戏,此游戏适合儿童玩的游戏,此拼图游戏界面很卡通,是以《火影隐者》的几张图片来制作的,所以很适合小朋友拼图,此游戏设置了...

    SSH框架集成,56张图详解

    SSH框架集成是Java开发中一个重要的技术组合,主要包括Spring、Struts和Hibernate这三个核心组件。...这篇教程通过56张图详细讲述了如何将这...这56张图的详解无疑是一个很好的学习资源,帮助初学者一步步走进SSH的世界。

    JBPM4.3整合Spring2.5.6的例子

    此外,为了更好地理解整合过程,附带的`appServer.png`可能是流程图,展示了`appServer.jpdl.xml`中的流程定义。这张图有助于直观地理解流程的结构和流转规则。 总结来说,这个例子展示了如何在Spring环境中集成和...

    JS实现选取一个图片作为页面背景.

    在探讨如何使用JavaScript(简称JS)来实现在网页上选择一张图片并将其设置为页面背景这一功能时,我们首先需要理解几个关键的概念和技术点。...掌握这些基础知识,将有助于开发者更好地应对各种网页开发需求。

    kernel-linux "一清二楚" 的内核代码构架图

    这张图将复杂的内核结构以直观的方式呈现,帮助理解各个部分如何协同工作,从而更有效地学习Linux内核。 总的来说,深入学习Linux内核需要耐心和实践,但有了这样的构架图,你可以快速定位到感兴趣的模块,进一步...

    ASimpleCache缓存框架demo

    理解这些组件如何协同工作,有助于我们更好地定制和优化缓存行为。 `ASimpleCache-master`很可能是一个项目源码仓库,其中包含了ASimpleCache框架的完整代码。通过阅读源码,我们可以深入理解其内部实现,例如它是...

    jadEclipse(3.1.0;;3.2.0;;3.2.4;;3.3.0三个版本)

    可能包括对Eclipse新版本的支持,更高效的反编译算法,以及更好的用户体验。此版本是开发者优先考虑安装的,因为它提供了最新的特性和错误修复。 此外,压缩包中还包含了一张名为"1.png"的图片,根据描述,这张图片...

    Android应用源码之Android滑动选择控件WheelView,双级联动,有图有真相.zip

    通过这张图,开发者可以直观地理解`WheelView`的视觉表现和交互特性。 总的来说,`Android应用源码之Android滑动选择控件WheelView,双级联动,有图有真相.zip`提供了一个学习和实践Android自定义控件的好例子。...

    struts详细流程图

    Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web开发框架,由Apache软件基金会维护。它提供了一种组织应用程序的方式,使得...通过深入理解Struts的详细流程,我们可以更好地优化我们的Web应用开发。

    我的第一个纯springmvc项目

    对于初学者而言,这些实践经验是非常宝贵的,可以帮助他们更好地理解和掌握SpringMVC的工作原理与开发流程。 #### 五、理论图 作者还提供了一张自己创作的理论图,这张图有助于读者更直观地理解SpringMVC的工作流程...

    史上最全最详细的flink 中文教程(一千多页pdf).pdf

    Apache Flink 是一款开源流处理框架,用于处理和分析数据流。它具有高度的伸缩性、高性能和事件...通过阅读这些文档,开发者可以更加深入地理解 Flink 的架构和原理,更好地掌握使用 Flink 进行数据处理和分析的技巧。

    struts2 原理 解析 图

    这张图是理解Struts2工作流程的重要辅助工具,通过它你可以直观地看到每个组件如何协同工作。 `struts原理.txt`文件可能包含了文字描述,进一步解释了Struts2的核心概念和机制,比如Action的配置、结果映射、拦截器...

    安卓Android源码——拍照与录像切换UI源码.zip

    通过分析这张图,开发者可以直观地看到UI是如何组织的,以及如何实现拍照和录像切换的视觉效果。 Android 拍照与录像切换UI源码文件是实际的Java或Kotlin代码,包含了实现拍照、录像功能的类和方法。这些代码可能...

    JFreeChart 1.0.14 例子所有源代码

    版本 1.0.14 是其稳定版本之一,包含了丰富的示例代码,帮助开发者更好地理解和使用该库。这些示例涵盖了 JFreeChart 的各种功能,旨在展示如何创建、定制和渲染图表。 1. **基础图表类型** - **折线图(Line ...

    Android_Activity生命周期详解(图文)

    Android官方提供了一张标准的`Activity`生命周期图,通过这张图可以帮助开发者更好地理解不同生命周期回调函数的作用和调用顺序。接下来,我们将深入探讨这些回调函数。 1. **onCreate()**:这是`Activity`的第一个...

Global site tag (gtag.js) - Google Analytics