因特网
因特网 1.1 基本概念 网络(Network)由若干节点(Node)和连接这些节点的链路(Link)组成 多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网)。因此,互联网是“网络的网络(Network of Networks)” 因特网(Internet)是世界上最大的互连网络(用户数以亿计,互连的网络数以…
类加载
类加载 1. 类文件结构 根据 JVM 规范,类文件结构如下: ClassFile { u4 magic; u2 minor_version; u2 major_version; u2 constant_pool_count; cp_info constant_pool[constant_pool_count-1]; u2 access_flags…
垃圾回收
垃圾回收 1. 如何判断对象可以回收 1.1 引用计数法 1.1.1 定义 在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不可能再被使用的 1.1.2 弊端 循环引用,A对象引用B对象,B对象引用计数+1,B对象引用A,A对象引用计数+1。当没有谁再引用他们,他们不能被…
内存结构
内存结构 1. 程序计数器 1.1 定义 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的 字节码的行号指示器。 1.2 作用 记住下一条JVM指令执行的地址 1.3 特点 线程私有 不会存在内存溢出(唯一不会出现内存溢出的区)OutOfMemoryError 1.4 演示 (1)记住…
JVM介绍
JVM介绍 1. 定义 JVM(Java Virtual Machine):Java程序的运行环境(Java二进制字节码运行的环境) 2. 好处 一次编写,到处运行(write once,run anywhere) 自动内存管理,垃圾回收机制 数组下标越界检查 多态 3. JVM、JRE、JDK 4. 学习路线
行为型模式
行为型模式 1. 模版方法模式 1.1 介绍 模版方法模式是一种行为设计模式,它在一个方法中定义了一个算法的骨架,但将一些步骤延迟到子类中。模版方法允许子类在不改变算法结构的情况下重新定义算法的某些步骤 1.2 结构 模板方法(Template Method)模式包含以下主要角色: 抽象类(Abstract Class):负责给出一个算法的轮廓和骨…
结构型模式
结构型模式 结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象 由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性 结构型模式分为以下 7 种: 代理模式 适配器模式 装饰者模式 桥接模式…
创建者模式
创建者模式 创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是“将对象的创建与使用分离” 这样可以降低系统的耦合度,使用者不需要关注对象的创建细节 创建型模式分为: 单例模式 工厂方法模式 抽象工厂模式 原型模式 建造者模式 1. 单例模式 1.1 介绍 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这…
软件设计原则
软件设计原则 在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据6条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本 1. 单一职责原则 一个类应该只负责一项职责 只有当逻辑足够简单时,才可以在代码级别违反单一职责原则:这意味着在开发中,当你的代码非常简单、清晰明了时,有时可以允许一个类…
UML图
UML图 统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息 UML 从目标系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等 9 种图 1. 类图概述 类图(Class diagram…