All

设计模式-装饰器模式
2019 年 10 月 14 日
设计模式-状态模式
2019 年 10 月 14 日
设计模式-组合模式
2019 年 10 月 14 日
JAVA线程
2019 年 09 月 22 日

基础概念

线程的所有状态:

这些状态都在 Thread中的State枚举中定义:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
public enum State {
    //表示刚刚创建的线程,这种线程还没开始执行
    NEW,
 	//在 start() 方法调用后,线程开始执行,此时状态处于 RUNABLE
    RUNNABLE,
	//如果线程在执行过程中遇到 synchronized 同步块,就会进入 BLOCKED 阻塞状态,直到获取请求的锁
    BLOCKED,
	//等待状态,WAITING 会无时间限制的等待,TIMED_WAITING 会有时间限制
    WAITING,
    TIMED_WAITING,
	//线程执行完毕,表示结束
    TERMINATED;
}

初始线程

  1. Thread

  2. Runable接口

    Thread类中调用start()方法之后会让线程执行run()方法,而run()方法中又是对Runable实例的调用

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
     /* What will be run. */
    private Runnable target;
    
    @Override
    public void run() {
        if (target != null) {
            target.run();
        }
    }
    
MySQL知识整理
2019 年 09 月 19 日

推荐看一下极客时间上面的一篇教程,《MySQL实战 45 讲》。

基本架构

MySQL基本架构

引擎层采用插件式。

JAVA知识整理
2019 年 09 月 10 日

JAVA基础

类的初始化顺序

静态变量和静态语句块会优先于实例变量和普通语句块

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
public static String s = "静态变量";

static {
    System.out.println("静态语句块");
}

public String z = "实例变量";

{
    System.out.println("普通语句块");
}

public InitClass(){
    System.out.println("构造函数");
}
  • 父类(静态变量,静态语句块)
  • 子类(静态变量,静态语句块)
  • 父类(实例变量,普通语句块)
  • 父类(构造函数)
  • 子类(实例变量,普通语句块)
  • 子类(构造函数)
实现strStr()—LeetCode28
2019 年 09 月 06 日

题目描述

实现 strStr() 函数。

给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。

示例 1:

输入: haystack = “hello”, needle = “ll” 输出: 2 示例 2:

输入: haystack = “aaaaa”, needle = “bba” 输出: -1 说明:

当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。

对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与C语言的 strstr() 以及 Java的 indexOf() 定义相符。

Spring笔记
2019 年 09 月 04 日
JAVA容器
2019 年 08 月 31 日
Kubetnetes的一些概念和术语
2019 年 08 月 30 日