Season Peng

我在这里记录着美好


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

IO模型

发表于 2019-12-25 | 分类于 IO模型
字数统计: 177

在Unix下有5中IO模型

  • 同步阻塞IO
  • 同步非阻塞IO
  • IO多路复用
  • 异步IO
  • 信号驱动IO
阅读全文 »

Java中的字符串

发表于 2019-12-20 | 分类于 Java知识
字数统计: 619

引言

在Java中与字符串有关的类有String、StringBuilder、StringBuffer。

阅读全文 »

Thread

发表于 2019-12-20 | 分类于 Java知识
字数统计: 614

通用的线程生命周期

通用的线程生命周期可以用五态模型来描述。这五态分别是:初始状态、可运行状态、运行状态、休眠状态和终止状态。

1
2
3
4
5
6
7
8
9
//五态模型
//
// 初始状态
// ↓
// 可运行状态←---
// ↑↓ ↑
// 运行状态 → 休眠状态
// ↓
// 终止状态
  1. 初始状态。线程已经被创建,但是还不允许分配CPU执行。这个状态属于编程语言特有的,在操作系统层面,真正的线程还没有创建。
  2. 可运行状态。真正的操作系统线程已经成功创建,线程可以分配 CPU 执行。
  3. 运行状态。当有空闲的CPU时,操作系统会将其分配给一个处于可运行状态的线程,被分配到CPU的线程为、运行状态。
  4. 休眠状态。运行状态的线程如果调用一个阻塞API,那么线程的状态就会转换到休眠状态。
  5. 终止状态。线程执行完或者出现异常就会进入终止状态,终止状态的线程不会切换到其他任何状态,进入终止状态也就意味着线程的生命周期结束了。

在不同的编程语言中,线程状态也不同。在Java中,线程共有6种状态,合并了可运行和运行状态,细化了休眠状态。在Thread类中有枚举来详细定义和说明:

阅读全文 »

Collection_List_Set

发表于 2019-12-19 | 分类于 Java知识
字数统计: 157

Collection、List与Set接口

Collection代表一群元素的集合,至于这群元素怎么排列、是否可重复、是否有序等特性,Collection接口没有作定义。

List和Set继承了Collection接口,他们都具体描述了这群集合元素的特性。

List描述了这群元素是有序且允许重复元素的,用户可通过序号精准地访问到元素。所以List比Collection多的方法,大多跟index有关,比如void add(int index, E e)。

Set描述了这群元素是无序且没有重复元素的,Set没有扩展Collection的方法,方法与Collection一样。

String_intern

发表于 2019-12-19 | 分类于 Java知识
字数统计: 611

String intern

String类中有个intern()的native,该方法会查询常量池中是否存在该字符串,若存在,则返回;若不存在则加入常量池并返回。在实现细节方面,JDK6又是与JDK7是不一样的。

阅读全文 »

并发编程之协作

发表于 2019-12-10 | 分类于 并发编程
字数统计: 2.5k

并发编程领域可以抽象为3个核心问题:分工、协作、互斥。

本文介绍协作。

在多线程环境中,多个线程之间会有依赖关系,例如该任务完成后如何通知后续任务开始。Java JDK中提供了Semaphore、CountDownLatch、CyclicBarrier等工具来完成线程之间的协作。这些工具是针对特定场景抽象出的解决方案,若遇到某些特殊场景无法使用工具的,则需要自己完成线程之间的协作。这时可以使用管程(Monitor)来完成,管程是Java并发领域解决协作问题的核心方法,JDK中线程协作工具的底层实现都是管程。

阅读全文 »

Reference

发表于 2019-12-06 | 分类于 Java知识
字数统计: 198

Reference

Reference类有个静态的代码块,在这里面会运行一个后台线程,用于将被回收的对象放入引用队列。将对象放入引用队列便于后续进一步的清理操作。

阅读全文 »

GC

发表于 2019-12-05 | 分类于 JVM
字数统计: 258

GC

阅读全文 »

高并发

发表于 2019-12-04 | 分类于 微服务
字数统计: 2k

高并发设计

阅读全文 »

HTTP

发表于 2019-12-01 | 分类于 网络协议 , HTTP
字数统计: 115

Http1.1虽然有着pipeline,但响应和请求还是按顺序出现的。如果前面的响应阻塞了,后面的响应也会跟着阻塞。

阅读全文 »
123…5

Season Peng

45 日志
21 分类
61 标签
© 2014 — 2020 Season Peng
由 Hexo 强力驱动
|
主题 — NexT.Mist