摘要:2019年 JUC线程池服务ExecutorService接口实现源码分析 Github Page:http://www.throwable.club/2019/07/27/java concurrency executor service Coding Page:http://throwable. 阅读全文
posted @ 2019-07-29 23:39 throwable 阅读 (319) 评论 (0) 编辑
摘要:前提 前段时间在做一个对外的网关项目,涉及到加密和解密模块,这里详细分析解决方案和适用的场景。为了模拟真实的交互场景,先定制一下整个交互流程。第三方传输(包括请求和响应)数据报文包括三个部分: 1、timestamp,long类型,时间戳。 2、data,String类型,实际的业务请求数据转化成的 阅读全文
posted @ 2018-08-14 00:41 throwable 阅读 (10290) 评论 (7) 编辑
摘要:前提 最近接触到的一个项目要兼容新老系统,最终采用了 (实际上用的是 )用于在子线程获取父线程中共享的变量。问题是解决了,但是后来发现对 的理解不够深入,于是顺便把它的源码阅读理解了一遍。在谈到 之前先卖个关子,先谈谈黄金分割数。本文在阅读 源码的时候是使用JDK8(1.8.0_181)。 黄金分割 阅读全文
posted @ 2020-02-14 12:45 throwable 阅读 (113) 评论 (0) 编辑
摘要:背景 最近在做一个新项目的时候引入了一个架构方面的需求,就是需要检查项目的编码规范、模块分类规范、类依赖规范等,刚好接触到,正好做个调研。 很多时候,我们会制定项目的规范,例如: 硬性规定项目包结构中service层不能引用controller层的类(这个例子有点极端)。 硬性规定定义在contro 阅读全文
posted @ 2020-02-12 09:46 throwable 阅读 (218) 评论 (0) 编辑
摘要:前提 回想一下, 是2014年发布正式版的,到现在为( )止已经过去了5年多。 引入的两个比较强大的新特性是 表达式(下文的 特指 提供的 )和 ,这两个强大的特性让函数式编程在 开发中发扬光大。这篇文章会从基本概念、使用方式、实现原理和实战场景等角度介绍 的全貌,其中还会涉及一些函数式编程概念、 阅读全文
posted @ 2020-02-09 18:18 throwable 阅读 (132) 评论 (0) 编辑
摘要:前提 之前有个打算在学习RabbitMQ之前,把AMQP详细阅读一次,挑出里面的重点内容。后来找了下RabbitMQ的官方文档,发现了有一篇文档专门介绍了RabbitMQ中实现的AMQP模型部分,于是直接基于此文档和个人理解写下这篇文章。 AMQP协议 "AMQP" 全称是Advanced Mess 阅读全文
posted @ 2020-02-08 10:34 throwable 阅读 (134) 评论 (0) 编辑
摘要:Java反射的API在JavaSE1.7的时候已经基本完善, 但是本文编写的时候使用的是Oracle JDK11 ,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行Debug。 前一篇文章已经介绍了反射调用的底层原理,其实在实际中对大多数Java使用者来说更关系的是 阅读全文
posted @ 2020-02-07 11:04 throwable 阅读 (13) 评论 (0) 编辑
摘要:前提 Java反射的API在JavaSE1.7的时候已经基本完善, 但是本文编写的时候使用的是Oracle JDK11 ,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行Debug。 本文主要介绍反射调用的底层实现,当然还没有能力分析JVM的实现,这里只分析到最终N 阅读全文
posted @ 2020-02-07 11:02 throwable 阅读 (12) 评论 (0) 编辑
摘要:前提 Java反射的API在JavaSE1.7的时候已经基本完善, 但是本文编写的时候使用的是Oracle JDK11 ,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行Debug。 本文主要介绍一个使用反射一定会遇到的问题 反射调用异常处理。 反射调用异常处理 反 阅读全文
posted @ 2020-02-07 11:01 throwable 阅读 (12) 评论 (0) 编辑
摘要:前提 其实在前面写过的《深入分析Java反射(一) 核心类库和方法》已经介绍过通过类名或者 实例去实例化一个对象,在《浅析Java中的资源加载》中也比较详细地介绍过类加载过程中的双亲委派模型,这篇文章主要是加深一些对类实例化和类加载的认识。 类实例化 在反射类库中,用于实例化对象只有两个方法: :这 阅读全文
posted @ 2020-02-07 11:00 throwable 阅读 (20) 评论 (0) 编辑
摘要:动态代理的简介 Java动态代理机制的出现,使得Java开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过程中,开发人员还可以按需调整委托类对象及其功能,这是一套非常灵活有弹性的代理框架。Java 阅读全文
posted @ 2020-02-07 10:58 throwable 阅读 (8) 评论 (0) 编辑
摘要:前提 Java反射的API在JavaSE1.7的时候已经基本完善, 但是本文编写的时候使用的是Oracle JDK11 ,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行Debug。 本文主要介绍反射中一个比较难的问题 泛型。 泛型的简介 泛型是在2004年Java 阅读全文
posted @ 2020-02-07 10:55 throwable 阅读 (12) 评论 (0) 编辑