摘要:
前言 在 ZooKeeper 中,客户端可以向服务端注册一个监听器,监听某个节点或者其子节点列表,当监听对象发生变化时,服务端就会向指定的客户端发送通知,这是 ZooKeeper 中的 Watcher 机制,Watcher 机制是 ZooKeeper 中一个重要的特性,这篇文章就带大家了解下,底下是 阅读全文
摘要:
刚刚学习完丁奇老师《MySql 实战 45 讲》专栏中的索引部分,图文并茂的风格解开了我之前的许多疑惑,并且学习到许多新的东西,在此做个笔记,方便后续复习。由于 MySql 中存在多种存储引擎,每种存储引擎的实现方式都不太一样,而 InnoDB 在现在是比较流行的存储引擎,因此以下内容都是基于 In 阅读全文
摘要:
1. 题目 这是《剑指offer》上的一道题,刚开始觉得这是一道挺简单的题目,后来发现自己太年轻了,考虑的因素太少了,思考了而是分钟还是无从下手,看了作者的思路深深被他折服了,题目如下: 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串 "+100"、"5e2"、" 123" 阅读全文
摘要:
1. 引言 本篇博文主要介绍 IOC 容器的启动过程,启动过程分为两个步骤,第一个阶段是容器的启动阶段,第二个阶段是 Bean 实例化阶段,这两个阶段各自需要执行的步骤如下图,接下来会一一介绍。 需要注意的是,在 Spring 中,最基础的容器接口方法是由 BeanFactory 定义的,而 Bea 阅读全文
摘要:
注 :文中所说的 Class 文件并不是特指存在于具体磁盘中的文件,而是一串二进制字节流,无论是以何种形式存在的都可以。 1. 引言 java 类被虚拟机编译之后成为一个 Class 的字节码文件,该字节码文件中包含各种描述信息,最终都需要加载到虚拟机中之后才能运行和使用。那么虚拟机是如何加载这些 阅读全文
摘要:
1. 引言 垃圾回收器主要需要完成 3 件事: 哪些内存需要回收 什么时候回收 如何回收 在 "上一篇" 博客已经介绍了 java 内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈 3 个区域随线程而生,随线程而灭。在这几个区域内就不用考虑回收的问题,因为方法结束或线程结束时,内存自然 阅读全文
摘要:
1. 概述 对于从事 C、C++ 程序开发的人员来说,在内存管理领域,他们既是拥有最高权力的「皇帝」又是从事基础工作的「劳动人民」 既拥有每个对象的「所有权」,又担负着每一个对象生命开始到终结的维护责任。 但是对于 java 程序员来说,在虚拟机自动内存管理机制的帮助下,不需要再为每一个 new 操 阅读全文
摘要:
以下内容摘自 "这个教程 " ,对于异步编程和文件锁部分暂时还未接触。 1. 为什么要使用 NIO NIO 的创建目的是为了让 java 程序员可以实现高速 I/O 而无需编写自定义的本机代码。NIO 将最耗时的 I/O 操作(即填充和提取缓冲区)转移回操作系统,因而可以极大地提高速度。 2. 核心 阅读全文
摘要:
以下内容摘自《java编程思想》第十三章。 1. 不可变 String String 对象是不可变对象,String 类中每一个看起来会修改 String 值的方法,实际上都是创建了一个全新的 String 对象,以包含修改后字符串的内容,而最初的 String 对象丝毫未动。看如下的代码: 2. 阅读全文
摘要:
1. 引言 在牛客网上看到这样一道题目,判断一下打印的结果 刚开始看到是,是这样来判断的:因为 Integer i1 = 128 这条语句,Integer 会启用自动装箱功能,调用 Integer.valueOf 方法返回一个 Integer 对象,因此这四个对象应该指向不同的地址,所以打印的结果是 阅读全文