摘要: 本文从 源码包中截取出 包的所有类,对该包整体结构进行一个概述。 在 之前, 中要进行并发编程时,通常需要由程序员独立完成代码实现。当然也有一些开源的框架提供了这些功能,但是这些框架依然没有 自带的功能使用起来方便。 而当针对高质量 多线程并发程序设计时,比如使用 之前的 、`notify() sy 阅读全文
posted @ 2018-06-21 22:36 风动静泉 阅读(1105) 评论(0) 推荐(0) 编辑
摘要: 如何将JDK源码导入IDEA中?本文给出详细步骤。 阅读全文
posted @ 2018-06-21 22:10 风动静泉 阅读(7483) 评论(0) 推荐(0) 编辑
摘要: Linux用户及用户组的查看、添加、删除操作 阅读全文
posted @ 2018-06-20 11:00 风动静泉 阅读(807) 评论(0) 推荐(0) 编辑
摘要: 多个压缩文件解压命令 阅读全文
posted @ 2018-06-20 10:32 风动静泉 阅读(14856) 评论(0) 推荐(0) 编辑
摘要: 本文介绍线程安全的基本概念。Java内存模型是围绕着在并发过程中如何处理原子性、可见性和有序性这3个特征来建立的。 阅读全文
posted @ 2018-06-19 21:45 风动静泉 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 一个最简单的Java程序有多少线程?结果是否只有一个? 阅读全文
posted @ 2018-06-14 15:20 风动静泉 阅读(1887) 评论(0) 推荐(0) 编辑
摘要: JMM描述了线程如何与内存进行交互。Java虚拟机规范视图定义一种Java内存模型,来屏蔽掉各种操作系统内存访问的差异,以实现Java程序在各种平台下都能达到一致的访问效果。 JMM描述了JVM如何与计算机的内存进行交互。 JMM都是围绕着原子性,有序性和可见性进行展开的。 介绍了Java运行时区域,及OOM出现的原因。 阅读全文
posted @ 2018-06-14 00:07 风动静泉 阅读(1550) 评论(1) 推荐(4) 编辑
摘要: MESI(Modified Exclusive Shared Or Invalid)(也称为伊利诺斯协议,是因为该协议由伊利诺斯州立大学提出)是一种广泛使用的支持写回策略的缓存一致性协议。 阅读全文
posted @ 2018-06-13 22:52 风动静泉 阅读(25824) 评论(1) 推荐(15) 编辑
摘要: 在软件工程中,设计模式(design pattern)是对软件设计中普遍存在的各种问题,所提出的解决方案。设计模式并不是固定的一套代码,而是针对某一特定问题的具体解决思路与方案。可以认为是一种最佳实践,因为他是无数软件开发人员经过长时间的实践总结出来的。 阅读全文
posted @ 2018-06-13 14:51 风动静泉 阅读(310) 评论(0) 推荐(0) 编辑
摘要: Java SE5提供了一种新的类型-Java的枚举类型,关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用,这是一种非常有用的功能。本文将深入分析枚举的源码,看一看枚举是怎么实现的,他是如何保证线程安全的,以及为什么用枚举实现的单例是最好的方式。 阅读全文
posted @ 2018-06-13 12:06 风动静泉 阅读(7559) 评论(2) 推荐(4) 编辑
摘要: 在深度分析Java的ClassLoader机制(源码级别)中,我们学习了Java的CLassLoader机制,那么,JVM将Java类加载完之后,也就是将二进制代码转换成java.lang.Class对象之后又做了哪些操作? 阅读全文
posted @ 2018-06-13 11:29 风动静泉 阅读(1156) 评论(0) 推荐(0) 编辑
摘要: Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中,JVM在加载类的时候,都是通过ClassLoader的loadClass()方法来加载class的,loadClass使用双亲委派模式。 阅读全文
posted @ 2018-06-12 23:10 风动静泉 阅读(15816) 评论(2) 推荐(9) 编辑
摘要: 整理Java面试相关题目 阅读全文
posted @ 2018-06-11 18:19 风动静泉 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 本文提供一种查看JVM加载的类及类加载器的方法。不同类加载器加载同一个类也处于不同的命名空间中,在内存中被视为不同的类。因此在处理类冲突时需要确认同名类是否被相同的类加载器加载。 阅读全文
posted @ 2018-06-11 16:38 风动静泉 阅读(14132) 评论(0) 推荐(1) 编辑
摘要: 日常记录需要学习总结的技术主题及完成状态。 阅读全文
posted @ 2018-06-08 17:25 风动静泉 阅读(283) 评论(0) 推荐(0) 编辑
摘要: S.O.L.I.D 是面向对象设计(OOD)的头五大基本原则的首字母缩写,由俗称「鲍勃大叔」的 Robert C. Martin 提出。 这些原则,结合在一起能够方便程序员开发易于维护和扩展的软件,也让开发人员轻松避免代码异味,易于重构代码,也是敏捷或自适应软件开发的一部分。 注意:这只是一篇“欢迎来到S.O.L.I.D”的简单介绍文章,它只是揭示了S.O.L.I.D是什么。 阅读全文
posted @ 2018-06-08 01:19 风动静泉 阅读(1370) 评论(0) 推荐(0) 编辑
摘要: 收集整理了Java技术栈思维导图,包含Java体系相关技术的体系图,如IO流、设计模式等,根据个人学习的进度不断更新... 阅读全文
posted @ 2018-06-07 01:13 风动静泉 阅读(1771) 评论(0) 推荐(0) 编辑
摘要: GOF是这样给适配器模式(Adapter)定义的:将一个类的接口转化成用户需要的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 GOF中将适配器模式分为类适配器模式和对象适配器模式。区别仅在于适配器角色对于被适配角色的适配是通过继承还是组合来实现的。由于在Java 中不支持多重继承,而且有破坏封装之嫌。而且我们也提倡多用组合少用继承。所以本文主要介绍对象适配器。 阅读全文
posted @ 2018-06-06 23:18 风动静泉 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 对于初学者来说,要想把这个问题回答正确,是比较难的。在第二天整理答案的时候,我发现我竟然无法通过简单的语言把这个事情描述的很容易理解,遗憾的是,我也没有在网上找到哪篇文章可以把这个事情讲解的通俗易懂。所以,就有了我写这篇文章的初衷。这篇文章中,我从什么是方法的实际参数和形式参数开始,给你讲解为什么说Java中只有值传递 阅读全文
posted @ 2018-06-06 00:52 风动静泉 阅读(179) 评论(0) 推荐(0) 编辑
摘要: IntelliJ IDEA快捷键 阅读全文
posted @ 2018-06-06 00:16 风动静泉 阅读(2352) 评论(0) 推荐(0) 编辑
摘要: 单例模式详解 阅读全文
posted @ 2018-06-05 01:34 风动静泉 阅读(826) 评论(0) 推荐(0) 编辑
摘要: 通过一个实例找出某个Java进程中最耗费CPU的Java线程并定位堆栈信息,用到的命令有ps、top、printf、jstack、grep。 分享一个定位案例。 阅读全文
posted @ 2018-06-05 01:32 风动静泉 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 前后端分离已成为互联网项目开发的业界标准使用方式,通过Nginx + Tomcat的方式(也可以中间加一个Node.js)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。 阅读全文
posted @ 2018-06-04 22:42 风动静泉 阅读(2832) 评论(0) 推荐(3) 编辑
摘要: 博客园提供了个性化的修改方式,可以通过简单的配置,使用HTML/CSS/JavaScript实现友好的阅读体验。 利用两天时间,参考前人经验实现了基本的个性化配置。在此做一个记录。 阅读全文
posted @ 2018-05-31 20:18 风动静泉 阅读(1814) 评论(3) 推荐(3) 编辑