分类 Java 下的文章

甲骨文计划从 Java 中去除序列化功能,因其在安全方面一直是一个棘手的问题。 Java 序列化也称为 Java 对象序列化,该功能用于将对象编码为字节流Oracle 的 Java 平台小组的首席架构师 Mark Reinhold 说:“删除序列化是一个长期目标,并且是 Project Amber 的一部分,它专注于面向生产力的 Java 语言功能。”

为了替换当前的序列化技术,一旦记录,会在平台中放置一个小的序列化框架,支持 Java 版本的数据类。该框架可以支持记录图形,开发人员可以插入他们选择的序列化引擎,支持...

阅读全文...

这里选了几道高频面试题以及一些解答。不一定全部正确,有一些是没有固定答案的,如果发现有错误的欢迎纠正,如果有更好的回答,热烈欢迎留言探讨。

BIO、NIO和AIO的区别

Java BIO : 同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。
Java NIO : 同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册...

阅读全文...

一、基础篇
JVM

  • JVM内存结构

堆、栈、方法区、直接内存、堆和栈区别

  • Java内存模型

内存可见性、重排序、顺序一致性、volatile、锁、final

  • 垃圾回收

内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定

JVM参数及调优

每次根据方法名来反射获取Method的成本太大,所以在bean初始化的时候,就将该服务下interface的方法都放到HashMap里面

用来测试的interface

public interface TestApi {

    List<Integer> listIds();
    long convertId(long id);

}

扫描interface的方法

...

阅读全文...