shihunyewu

云青青兮欲雨,水澹澹兮生烟

JVM-learn

深入理解 JVM 虚拟机

参考书籍为《深入理解 Java 虚拟机》 第 2 章 Java内存区域与内存分配策略 2.2 运行时的数据区域 方法区 虚拟机栈 本地方法栈 Java 堆 程序计数器 2.2.1 程序计数器 当前线程所执行的字节码的行号指示器。 JVM 的多线程中每个线程都有一个独立的程序计数器,它们互不影响,独立存储。这类内存区域被称为”线程私有”的内存。 2.2.2...

DesignPatterns-Note

"常用设计模式"

设计模式离我们并不遥远,JDK 实现以及日常使用的框架中都有它的身影 单例模式 参考 主要特点 系统中只需要一个实例即可,不需要创建很多的实例。 主要注意问题 懒汉模式 饿汉模式 多线程下的加锁,创建单例的时候需要加锁,防止在没有创建实例时,防止两个线程同时调用获取单例方法,这时候可能会创建两个单例。 具体应用场景 spring spring IoC 容器默认是采...

Java-Collections

"Java 集合类的基本使用和内部实现"

每次看都应该有不同的体会 概览 总体上来看集合应该分为两种 Collection 和 Map Collection 列表 ArrayList,可变长数组 LinkedList,基于双向链表实现 Vector,类似于 ArrayList,源码中使用了 synchronize,线程安全 队列 ...

Paper-Deadline

"论文"

打开GitHub 和 LeetCode,恍然发现自己已经差不多一个月没有登录过 GitHub 和 LeetCode了。 写在前面 为了赶 7 月 31 号的论文的 deadline,整整忙了一个多月。 每天晚上连睡觉都在想如何做实验,如何将论文写得通俗易懂。除了自己很用心之外,每周导师都会和我 meeting 两次,每次 meeting 都要有阶段性的成果,每次都要讨论出下一步计...

Annotation-Example

"注解"

java 注解 ActionListenerFor 注解接口 注解相当于定义了一种规范的操作,大部分注解所修饰的方法或者是类在编译代码的时候,通过反射和代理机制,将对注解其修饰的方法或者类做进行相应的操作。 下面举一个 Java核心技术 2 中在讲注解的时候提供的一个例子。这个例子主要实现了为 JFrame 上的按钮绑定监听函数的功能。 一共分为四部分,注解接口,JFrame ...

Loneliness-Identity

"孤独感, 认同感"

缺乏认同感的生活有可能会让人感到孤独 孤独, 很容易被人认为是一种物理上状态,其实孤独是一种心理状态。无论是当你独处于斗室,无人问津时,还是处于熙熙攘攘的人群中,众人和你推杯至盏时,人都可能会感到孤独。观其内在原因, 很大程度上是由于缺乏认同感。 很多解除孤独建议都是沟通。但是在沟通时,也要明确沟通的主要目的是为了促进不同观念之间的交流,促进观念的统一。因此沟通的...

N-SUM

"N, Sum"

数组中 n 个数的和为 0 问题 1. Two Sum 给定一组数,找出其中和为 0 的两个数,很简单的想法,使用 HashMap,键为数组元素,值为数组索引。遍历数组,赋值,同时检测数据元素的相反数是否包含在 map 中,如果包含,得到其索引,然后返回 class Solution { public int[] twoSum(int[] nums, int targe...

Two-Pointers

"双指针"

双指针问题 141. Linked List Cycle 给定一个链表,判断链表中是否有圈,解决思路很简单,但是很难想到,使用快慢指针,假定快指针每次移动两个结点的距离,慢指针每次只移动一个结点的距离,保持这样的速度移动下去,将来的某个时间,快指针和慢指针会发生套圈现象,快指针和慢指针会相遇。 /** * Definition for singly-linked list. ...

Java-Learn

"Java 学习中 —— 异常、断言、日志和调试"

第 11 章 异常、断言、日志和调试 如果由于程序出现了错误而使得某些操作没有完成,程序应该: 返回到一种安全状态,并能够让用户执行一些其他的命令 允许用户保存所有操作的结果,并以适当的方式终止程序 11.1 异常 11.1.1 异常分类 Throwable 接口 Error,表示 java 在运行时的内部错误或者是程序错误,coder 对此基本无...

Java-Learn

"Java 学习中 —— 多线程"

每次读都应该有新的体会。 14 章 线程 14.2 中断线程 默认终止条件: run 方法执行到最后一条语句 强制中断线程: interrupt 方法 当对一个线程调用了 interrupt 方法时,线程的中断状态将被置位,每个线程都应该不断地检查这个标志,使用静态的 Thread.currentThread ...