随笔分类 - JavaSE
Java内部类与Lambda表达式
摘要:Java内部类详解 详细解释内部内的一些使用规则的原因 概览 定义:在一个类的内部定义的类。它的定义位于另一个类的内部,并且可以访问外部类的成员,包括私有成员。 为什么要用 我觉得一个是为了符合OOP的封装原则,因为毕竟也可以直接把内部类函数和成员放到外面写。 另外就是既然可以写一个类,为什么要把它
JVM概要
摘要:JVM概要 学前思考: JVM本质上是什么,是C/C++写的一个程序吗 JVM和操作系统有什么区别和联系 JVM为java程序提供哪些服务 概览 JVM由C/C++等可以和OS交互的语言编写,目的是在java程序运行时将字节码通过解释器或即时编译器转成对应平台的机器码,达到跨平台的作用。由此可以见J
Java网络高并发
摘要:Java网络并发编程 带着问题思考 如何提高集群系统的可用性 如何提高IO效率 如何提高分布式系统的数据一致性 网络高并发存在哪些问题,如何解决 负载均衡 通常有两种类型 四层负载均衡:基于IP端口进行转发。通常用LVS等技术实现 七层负载均衡:基于URL进行转发,又叫做内容负载均衡。更灵活,更细。
Java并发
摘要:Java并发基础 并发:多个任务在同一时间段内交替执行 并行:多个任务在同一时刻同时执行 Java线程 创建方式 继承Thread和实现接口 继承Thread类并重写run,之后调用start方法启动线程,注意:调用run只是普通的方法调用,不会新开线程。例如如下匿名类继承Thread。 Threa
反射
摘要:Java反射 反射用于在运行时获取类的信息,多用于框架开发。 简单原理 总体流程 Java将源代码编译成字节码.class文件,类加载阶段,JVM将其加载进内存,在堆区实例化一个(仅有一个)该类的Class类对象。 后续可以调用API获取类的相关信息(例如方法、属性等)进行调用或修改。具体背后底层原
动态代理
摘要:动态代理原理 用到的基本知识 : 反射,字节码,(一点)类加载机制 好处 静态代理需要挨个实现要代理的接口和函数,动态代理只需要实现一个InvocationHandler接口,剩下的交给自动生成的代理类和反射。举例如图 ,基本的使用简单不贴代码。注:图中的Proxy.newProxyInstance