奋斗的小蜗牛

一步一步慢慢走

JUnit3.8.1源码阅读

文章目录引言环境功能介绍Select a test classRunrunSuitegetTestTestSuite构造函数doRunTestTestCaserunBarerunrunTestTestResultrunstartTestrunProtectedendTestTestSuiterun...

2019-04-23 19:14:28

阅读数 41

评论数 0

JDK源码阅读(七):异常机制

文章目录异常的分类 异常的分类 Java标准库内建了一些通用的异常,这些类以Throwable为顶层父类。 Throwable又派生出Error类和Exception类。 错误:Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,Error很少出现。因此,程序员应...

2019-04-22 13:46:19

阅读数 35

评论数 0

JDK源码阅读(十三):注解

文章目录元注解自定义注解组合注解@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan 元注解 注解的注解叫做元注解 java.lang.annotation包中提供了基础的元注解 Documented 默认情况下,javado...

2019-04-22 13:44:28

阅读数 20

评论数 0

JDK源码阅读(十二):IO、NIO、AIO

文章目录IO的发展过程第一阶段 同步阻塞通信 BIO第二阶段 伪异步IO通信第三阶段 同步非阻塞通信 NIO第四阶段 异步通信 AIOIOJava IO类库的框架Java IO:管道媒介Java IO:网络媒介NIONIO基础bufferchannelSelectorAIO IO的发展过程 网络编...

2019-04-18 15:26:17

阅读数 27

评论数 0

JDK源码阅读(十一):java定时任务,Timer和ScheduleThreadPoolExecutor

文章目录Timer设计核心构造函数schedule优点与缺点ScheduledThreadPoolExecutorDelayWorkQueueScheduleExecutorServiceschedulescheduleAtFixedRatescheduleWithFixedDelay复杂任务调度...

2019-04-18 11:12:27

阅读数 59

评论数 0

JDK源码阅读(十):Executors和线程池

文章目录线程池框架结构Executor和ExecutorServiceAbstractExecutorServicesubmitnewTaskForThreadPoolExecutorExecutors中的默认实现newSingleThreadExecutornewFixedThreadPooln...

2019-04-17 15:21:44

阅读数 81

评论数 0

JDK源码阅读(九):JUC之AOS并发框架

文章目录Locks 锁Lock 和SynchronizedLockSupport 和java内置锁AbstractQueuedSynchronizerReentrantLocklockunlockConditionawaitsignal、signalAll总结Semaphore和Exchanger...

2019-04-17 15:08:20

阅读数 28

评论数 0

JDK源码阅读(九):JUC之原子类

文章目录Atomic原子数据标量类数组类更新器类复合变量类 Atomic原子数据 java.util.concurrent 包中atomic包中提供了一组原子变量类。其基本的特性就是在多线程环境下,当有多个线程同时执行这些类的实例包含的方法时,具有排他性,即当某个线程进入方法,执行其中的指令时,不...

2019-04-16 19:39:50

阅读数 23

评论数 0

JDK源码阅读(九):JUC之并发集合

文章目录非阻塞队列ConcurrentHashMap实现原理ConcurrentSkipListMapConcurrentSkipListSetConcurrentLinkedQueueConcurrentLinkedDequeCopyOnWriteArrayListCopyOnWriteArra...

2019-04-16 19:21:48

阅读数 43

评论数 0

JDK源码阅读(八):集合框架

文章目录集合框架Arrays类HashMapHashMap的数据结构HashMap的实现原理HashMap的存取实现存储resize读取Fail-Fast机制HashSetHashtable 集合框架 在Java2之前没有完整的集合框架,只有一些简单的可以自扩展的容器类,比如Vector、St...

2019-04-16 18:35:46

阅读数 27

评论数 0

JDK源码阅读(六):Class和ClassLoader

文章目录类的加载机制ClassClassLoader Java中每个类都会对应生成一个Class对象,用来保存类信息,ClassLoader是用来将类加载到JVM的 类的加载机制 类加载机制:虚拟机将.class文件从磁盘或其他地方加载到内存,并同时对文件中的数据进行校验、转换、解析和初始化,最...

2019-04-16 15:38:13

阅读数 45

评论数 0

JDK源码阅读(五):Enum类

文章目录枚举类型定义一个枚举类型编译反编译总结 枚举类型 定义一个枚举类型 public enum Calculator { ADD,SUBSTRACT,MUTIPLE,DIVIDE; } enum很像特殊的class,实际上enum声明定义的类型就是一个类。 而这些类都是类...

2019-04-16 14:09:24

阅读数 37

评论数 0

JDK源码阅读(四):Future模式和Callable接口

文章目录Future模式核心思想Future模式的基本原理案例一:Java实现Future模式案例二:JDK的内置Future实现Callable、Future原理解析 Java多线程编程中,常用的多线程设计模式包括:Future模式、Master-Worker模式、Guarded Suspeio...

2019-04-16 11:01:47

阅读数 30

评论数 0

JDK源码阅读(三):Thread类

文章目录线程和进程的区别Thread创建线程ThreadGroupThreadLocalset(T)T get()remove()ThreadLocalMapInheritableThreadLocal线程的生命周期startyieldsleepjoininterrupt如何中断线程Runnabl...

2019-04-16 10:39:14

阅读数 19

评论数 0

JDK源码阅读(二):包装类和String、StringBuilder、StringBuffer

文章目录基础类型包装类拆箱和装箱Integer例一例二String、StringBuilder、StringBuffer 基础类型 Java中有8中基础数据类型 基础数据类型 bit byte 8 short 16 int 32 long 64 float 32 ...

2019-04-15 17:30:23

阅读数 17

评论数 0

JDK源码阅读(一):Object类

文章目录引言类图toString()源码clone()源码重点getClass()源码重点finalize()源码hashCode()和equals()源码重点notify()、notifyAll()和wait()源码重点Java中的monitor机制monitor机制的三个部分ObjectMon...

2019-04-03 22:41:47

阅读数 21

评论数 0

记一次Nginx使用过程中遇到的问题和解决方案

https代理到http 场景 解决方案 转发特殊的请求头 场景 解决方案 特殊的文件上传请求 场景 解决方案 最近项目中使用到了Nginx作为反向代理的一些简单功能,但是还是遇到了很多的问题,特在此记录下来,方便后期复看。 https代理到http 场景 ...

2018-09-03 15:46:02

阅读数 336

评论数 1

Nginx 学习笔记

安装步骤 第一步 安装依赖软件 第二步 编译安装 第三步 启动和关闭 基本配置 用于调试进程和定位问题的配置项 正常运行的配置项 优化性能的配置项 事件类配置项 用HTTPh核心模块配置一个静态Web服务器 虚拟主机与请求的转发 文件路径的定义 网络连接的设置 用HTTP prox...

2018-06-29 17:24:20

阅读数 715

评论数 2

RabbitMQ 学习笔记(一):RabbitMQ的安装

写在前面 RabbitMQ安装 第一步 安装erlang语言环境 第二步 安装RabbitMQ 第三步 配置RabbitMQ 启动和关闭节点 写在前面 对于这种组件、工具的使用,后期尝试采用如下结构来记录 1. 安装和配置 2. 通过Java程序直接调用提供的API ...

2018-06-12 16:51:54

阅读数 109

评论数 0

Maven 学习笔记(三) :使用Maven的Archetype插件生成自定义的项目结构

Archetype 任务 步骤 第一步 根据需要生成的项目框架搭建一个完整的项目 第二步 生成Archetype项目 方法一 第一步 新建一个Archetype项目,具体结构如下 第二步 拷贝项目结构 第三步 编写archetype-metadata.xml文件 第四步 将需要自定义的变量参数...

2018-06-07 10:05:46

阅读数 776

评论数 2

提示
确定要删除当前文章?
取消 删除
关闭
关闭