Java ClassLoader(ClassLoader)教程

herman 7年前 (2018-05-06) 4290浏览 0评论

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

Java 类的生命周期

herman 7年前 (2018-05-06) 3577浏览 0评论

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

详解 Java 中的 Iterable、Itetator、Enumeration

herman 7年前 (2018-05-01) 3939浏览 0评论

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

Java IO Stream/IO Reader 详解

herman 7年前 (2018-05-01) 3255浏览 0评论

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

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

herman 7年前 (2018-05-01) 4193浏览 0评论

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

JAVA 动态代理原理和实现

herman 7年前 (2018-04-30) 2732浏览 0评论

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

JVM 进程、线程

herman 7年前 (2018-04-29) 4072浏览 0评论

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

Threadlocal 和 ThreadLocalMap 原理解析

herman 7年前 (2018-04-29) 5347浏览 0评论

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

JAVA 反射机制

herman 7年前 (2018-04-29) 2676浏览 0评论

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

Java ClassLoader 实现原理和加载机制

herman 7年前 (2018-04-29) 6288浏览 0评论

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

Spring AOP 面试难点总结

herman 7年前 (2018-04-29) 12383浏览 0评论

Spring AOP 经常是各大面试官必提的知识点。我这里总结了 AOP 的各种关键知识点,希望能帮助到大家。 AOP 它能做什么:事务、安全、日志、缓存. 以前都是OOP的思想下编程模型,一切都是面向对象,显得井然有序,但某一...

ByteBuffer 的编码和解码

herman 7年前 (2018-04-24) 10161浏览 0评论

数据传输中我们使用的是ByteBuffer对象作为缓冲区,如果在通道两端我们通信的内容是文本数据,这就涉及到ByteBuffer与CharBuffer的转换。我们可以使用Charset类实现这个转换的功能。 解码示例 ByteBuff...