19年序

今天打开自己的博客一看,最近一篇文章已经是一年前了,感叹时间过的真快,这一年经历了很多,成长了很多。还有五天就是在新公司一年了,在这一年没有时间一直在快速的奔跑,没有时间去想别的事情,没有时间总结,但是俗话说“学而不思则罔,思而不学则怠”,从今天开始通过博客去总结我过去的一年、现在和未来。 过去的...

2019-05-12 23:13:19

阅读数 5

评论数 0

JDK源码分析——SecurityManager安全管理器实例分析

样例github 安全管理器简介 样例分析 样例相关文件 调试分析 1、直接运行(无参数) 2、配置默认安全管理器 3、配置默认管理+自定义策略文件(=) 4、配置默认管理+自定义策略文件(==) 样例github https://github.com/mh478387...

2018-05-15 14:20:42

阅读数 407

评论数 0

JDK源码分析——类加载器的分析和实战

本篇文章中的实例代码已经放入github的JavaExample中: github地址:https://github.com/mh47838704/JavaExample 该文章中的实例代码: https://github.com/mh47838704/JavaExample/tree/ma...

2018-05-02 23:42:40

阅读数 166

评论数 0

JDK源码分析——Java的SPI机制分析与实战

重点提示:在我博客中的所有的源码分析的实例,我都将会放到github上,感兴趣的朋友可以下载下来调试运行,我相信还是可以有所收获的。我的目的是让所有读到我博客的朋友都可以了解到有价值的东西,学习到java核心的原理,使用起来更加得心应手。 所有实例的GitHub地址:https://github...

2018-05-01 23:21:52

阅读数 117

评论数 0

JDK源码分析——ThreadPoolExecutor参数详解

参考文章:JDK源码分析——ThreadPoolExecutor参数详解 本篇文章主要对jdk中线程池ThreadPoolExecutor的参数进行详细分析 ThreadPoolExecutor已经对上面的各种情况进行了封装处理,并且提供了相应的参数对上述各种情况进行控制,首先我们看一下该类的...

2018-04-28 15:47:40

阅读数 108

评论数 0

nginx——安装和配置详解

参考文章:nginx安装和配置详解 第一章Nginx介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发的。 如果需要更加详细的了解nginx...

2018-04-26 23:07:16

阅读数 4424

评论数 0

Java流式处理——实例分析

参考文章:java流式处理实例分析 由于在项目中使用了很多流式的处理,但是却对什么是流式处理没有概念,所以闲暇之余看了一下ArrayList的stream的实现,并按照该实现并结合Splitterator的样例实现了一个简单的可以并发的List,该List也支持流式处理的方式。 由于本来是为了...

2018-04-24 23:00:35

阅读数 996

评论数 0

tomcat源码解读——启动过程分析

参考文章:tomcat源码解读——启动过程分析 在上一篇文章中介绍了idea中tomcat源码调试环境的搭建,调试环境搭建完成之后首先配置tomcat的启动信息,配置信息如下(具体配置步骤参考源码中的README文件) 配置好了tomcat的启动信息之后,就可以开始从源码启动并调试tomcat了...

2018-04-23 00:07:35

阅读数 343

评论数 0

tomcat源码解读——Idea调试环境搭建

转载:tomcat源码解读——Idea调试环境搭建 由于tomcat源码本身是基于ant构建的,所以如果想要在idea中运行,那么需要重新进行配置。 通过在网络上查询相关的资料,找到了相关的配置,通过该配置可以在idea中正常的编译调试。 已经添加好了配置文件的tomcat的源码可以在我的g...

2018-04-21 15:44:48

阅读数 331

评论数 0

深入分析ReentrantLock公平锁和非公平锁的区别

在ReentrantLock中包含了公平锁和非公平锁两种锁,通过查看源码可以看到这两种锁都是继承自Sync,而Sync又继承自AbstractQueuedSynchronizer,而AbstractQueuedSynchronizer又继承自AbstractOwnableSynchronizer,...

2018-04-20 00:24:41

阅读数 4775

评论数 0

tomcat源码分析——不同的应用隔离机制

通过为不同的应用创建一个webappclassloader即可实现不同的应用的隔离,避免不同应用之间的class的引用,从而引起的应用安全问题

2018-04-09 00:12:57

阅读数 316

评论数 0

mybatis源码分析之Mapper初始化过程(2)

在上一节记录了Mapper的初始化的整个过程,本节将记录一下Mapper的初始化过程中一个子过程:从xml解析Mapper配置。 Mapper的使用是首先定义一个mapper接口,在接口里面对mapper的入参和返回值进行定义,然后编写同名的mapper的xml配置文件,并在配置文件中对每一个接...

2018-04-08 23:59:14

阅读数 143

评论数 0

mybatis源码分析之Mapper初始化过程(1)

通过分析MapperRegistry类的addMapper方法,可以看出mapper的生成过程以及初始化的机制: public <T> void addMapper(Class<T> type) { ...

2018-04-08 00:10:46

阅读数 264

评论数 0

深度剖析spring+shiro认证机制

引言 项目中使用了shiro作为用户认证、角色管理、权限管理等,使用起来还是特别方便的,开发者只需要SecurityUtils.getSubject()获取subject就可以实现登录,以及权限验证。这样大大简化了开发者的功能,但是也有点让开发者感觉好奇,shiro是如何做到的呢。 本章将会对...

2018-04-02 00:28:05

阅读数 105

评论数 0

java类加载机制的深入分析

绪 jvm类加载机制在很多书籍里面都有讲解,主要介绍了基于委托的类的加载机制、类加载链接初始化的过程、以及类加载时机等,本篇文章通过编写自定义的classloader来对相关概念进行更加具体直观的分析。 源码样例分析 SelfClassLoader.java package cload...

2018-03-28 00:49:43

阅读数 87

评论数 0

LockSupport源码解析

绪 今天和朋友讨论Java中的锁机制的时候,谈论到了LockSupport类,在之前一直没有使用过该类,所以当提到该类的时候还是有点陌生,然后看了一下JDK的源码和该类相关的技术博客,整理了一下该类的原理和使用场景。 使用 package mthread; import org.j...

2018-03-26 00:21:53

阅读数 270

评论数 0

稳定高并发高性能程序设计原则简单总结

稳定性 稳定性是第一前提,如系统崩溃恢复容灾备份这些,主要是一些数据保护的机制,还有就是程序参数的校验、异常的处理、事务的回滚、程序边界的设计(合理的边界划分可以避免服务的连锁崩溃)、对账机制等,这些都是日常生活中常用的一些手段在计算机领域的体现,更详细的设计就不深入的分析了。 高并发 通过...

2018-03-23 00:32:26

阅读数 1555

评论数 0

ThreadPoolExecutor实现分析

该类是JDK中提供的线程池的实现,可以根据业务需求配置合适的参数,这样可以提高线程池的性能,该线程池的使用在前面的文章中已经讲解过了,本节主要分析其实现的机制是如何的。 如果让开发者自己设计线程池,肯定也会提出下面几个问题: 1、在初始化的时候,线程池的初始化大小。 2、当线程池中线程不够用...

2018-03-13 23:18:35

阅读数 87

评论数 0

Java引用分类和缓存实现

在JVM中将对象的引用分为了四类: 强引用:在GC阶段不会被垃圾回收 软引用:在GC阶段可能会被回收 弱引用:在GC阶段肯定会被回收 虚引用:不会影响对象的GC,当对象被GC的时候会得到一个通知 如果用JVM做缓存的,考虑到缓存的性质,缓存中的数据并不是需要一直存在在jvm的整个生命周期...

2018-03-13 22:40:58

阅读数 331

评论数 0

阿里云nginx的https配置

域名是在腾讯备的案:可以申请相应的证书,证书的安装步骤见https://cloud.tencent.com/document/product/400/4143#2.-nginx-.E8.AF.81.E4.B9.A6.E9.83.A8.E7.BD.B2 根据上面的配置配置好了nginx,以及tom...

2018-03-11 22:41:24

阅读数 742

评论数 0

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