Java 自定义类加载器教程

herman 8年前 (2018-05-06) 4181浏览 0评论

除了在面试中遇到类的加载器的概率会高外,在实际的工作中很少接触。但是一个程序员想要成长为大牛就必须对一些 JVM 的底层设计有些了解。在此基础上我们阅读一些源码和框架会显得更轻松。 好了废话不多说,我们接着前面的文章,乘热打铁。来实现一个 ...

Java的双亲委派模型

herman 8年前 (2018-05-06) 4057浏览 0评论

从 Java ClassLoader(ClassLoader)教程 这篇文章了解到 ClassLoader 的实现机制和原理后。我们再来看看 Java 中的双亲委派模型。 双亲委派模型的工作流程是:如果一个类加...

Java ClassLoader(ClassLoader)教程

herman 8年前 (2018-05-06) 4451浏览 0评论

在上一篇文章中,我主要介绍了 Java 类的加载机制和 Java 类的生命周期。本文继续乘热打铁,讲解一下 Java 的 ClassLoader。 关于 ClassLoader ,相信大家用的不是很多,但是在面试中可能会...

Java 类的生命周期

herman 8年前 (2018-05-06) 3731浏览 0评论

Java 之所以流行是因为 Java 总有从出不穷的新框架推出。Java 之所以被众多的开发者支持是因为它在众多的商业领域变现出出色的稳定性。这一切都和 Java 的设计有关,为了学习并立即 Java ,我们应该从它的类加载机制和类的生命周期学起...

详解 Java 中的 Iterable、Itetator、Enumeration

herman 8年前 (2018-05-01) 4171浏览 0评论

Java 中对一些集合循环遍历做了一些特殊的封装。一些是方便我们的操作,一些是存在存储性能等方面设计的。关于 Iterable、Itetator、Enumeration,我们一起来学习它们。 Iterable Iterable接口实现...

Java IO Stream/IO Reader 详解

herman 8年前 (2018-05-01) 3557浏览 0评论

Java IO 流总共涉及到几十个类。分字符流,字节流,还有读写等。如果你能彻底的搞懂它们之间的关系,薪资应该不会低。 本文根据 Java 中 IO 流的结构图,梳理了几个比较重要的常用的 IO 读写类。 输入流和输出流的类层次图。 ...

java.util.Observable(观察者模式)

herman 8年前 (2018-05-01) 4422浏览 0评论

在Java中通过Observable类和Observer接口实现了观察者模式。Observer对象是观察者,Observable对象是被观察者。 [1]创建被观察者类,它继承自java.util.Observable类; [2]创建观察者...

JAVA 动态代理原理和实现

herman 8年前 (2018-04-30) 2997浏览 0评论

在 Java 中动态代理和代理都很常见,几乎是所有主流框架都用到过的知识。在面试中也是经常被提到的话题,于是便总结了本文。 Java动态代理的基本原理为:被代理对象需要实现某个接口(这是前提),代理对象会拦截对被代理对象的方法调用,在其中可...

JVM 进程、线程

herman 8年前 (2018-04-29) 4388浏览 0评论

很多程序员对于线程和进程还不是很清楚。尤其是在面试官问到 Redis 的知识的时候,很容易掉进面试陷阱。 其实我在 3 年前也写过一篇《线程和进程》。现在还有很多网友问起我,我这里再做一篇分享。 进程 我们都知道计算机的核心是C...

Threadlocal 和 ThreadLocalMap 原理解析

herman 8年前 (2018-04-29) 5702浏览 0评论

java 中提供了两个线程安全的操作方式,一个是 Threadlocal ,一个是ThreadLocalMap。本文介绍他们的区别和实现原理。 Threadlocal Threadlocal 的属性包括 threadLocalHash...

JAVA 反射机制

herman 8年前 (2018-04-29) 2965浏览 0评论

Calss文件由类装载器转载后,在JVM中形成一份描述Class结构的元信息对象,通过该元信息反射对象可以获知Class的结构信息:构造函数、属性和方法。 JAVA反射对象允许程序在运行时(注意不是编译的时候)来进行自我检查并且对内部的成员...

Java ClassLoader 实现原理和加载机制

herman 8年前 (2018-04-29) 6559浏览 0评论

Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中,JVM在加载类的时候,都是通过ClassLoader的loadClass()方法来加载class的,l...