shihunyewu

我走过,路过

DesignPatterns-Note

"常用设计模式"

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

Java-Collections

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

参考 ArrayList,可变长列表 非同步实现,线程不安全 使用数组实现 每次数组扩容都需要将老数组复制到新数组,每次数组扩容后,新数组约为老数组的1.5倍 使用 Fail-Fast 机制,面对并发的...

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 Exception Debug

layout: post title: “Java-Learn” subtitle: “ "Java 学习中 —— 异常、断言、日志和调试"” date: 2018-05-29 11:11:11 author: “shihunyewu” header-img: “img/post-bg-unix-linux.jpg” catalog: false ...

Java-Learn

"Java 学习中 —— 多线程"

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

Java-Learn

"Java 学习中 —— 泛型"

12 章 泛型程序设计 12.4 类型变量的限定 public static <T extends Comparable> T min(T[] a){...} // 此处将 T 限制为实现了 Comparable 接口的类 ``` * extends 绑定接口或者是类,这里统一使用 extends 来表示 * 可以 T 做多个类型的限定 ```java ...