2018年04月的内容

JAVA

JAVA 动态代理原理和实现

herman 2个月前 (04-30) 83浏览 0评论

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

JAVA

JVM 进程、线程

herman 2个月前 (04-29) 110浏览 0评论

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

JAVA

Threadlocal 和 ThreadLocalMap 原理解析

herman 2个月前 (04-29) 93浏览 0评论

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

JAVA

JAVA 反射机制

herman 2个月前 (04-29) 77浏览 0评论

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

JAVA

Java ClassLoader 实现原理和加载机制

herman 2个月前 (04-29) 478浏览 0评论

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

JAVA

Spring AOP 面试难点总结

herman 2个月前 (04-29) 470浏览 0评论

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

JAVA

ByteBuffer 的编码和解码

herman 2个月前 (04-24) 1133浏览 0评论

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

JAVA

ByteBuffer 直接缓冲区和非直接缓冲区

herman 2个月前 (04-24) 1200浏览 0评论

ByteBuffer 在平时工作中可能用到的不多,但是面试中经常会被问到。本文总结了一些关于 ByteBuffer 的用法和相关 API 介绍。 下面是创建ByteBuffer对象的几种方式: static ...

业余杂谈

为什么需要单元测试

herman 2个月前 (04-24) 1197浏览 0评论

我们很多人对:测试驱动开发(TDD:Test-Driven Development)、单元测试、持续集成等并不陌生,但是他们很可能不明白我们为什么需要单元测试?本文将告诉你我们为什么需要单元测试! 为什么需要单元测试 谁都不敢保证...

JAVA

java8 Stream 教程

herman 2个月前 (04-24) 811浏览 0评论

在jdk中有许多集合类数据结构,提供了丰富的集合api,但是它们对一些复杂的转换处理上依然显得笨重与繁琐,且这些容器对数据处理上并没有提供一些直观便捷的操作,于是后来commons、guava诞生了,他们为方便迭代并处理集合数据而生,但是若期望对...