堆外内存的回收机制分析

1.堆外内存 JVM启动时分配的内存,称为堆内存,与之相对的,在代码中还可以使用堆外内存,比如Netty,广泛使用了堆外内存,但是这部分的内存并不归JVM管理,GC算法并不会对它们进行回收,所以在使用堆外内存时,要格外小心,防止内存一直得不到释放,造成线上故障。 2.堆外内存的申请和释放 J...

2018-09-16 21:22:50

阅读数 383

评论数 0

java 引用--PhantomReference

1.引用可达性 强引用可达–如果一个对象可以通过线程访问不需要访问引用对象,那个这个对象是强引用可达。 软引用可达(softly reachable)–如果一个对象没有强引用,但是可以遍历软引用到达,那个这个对象是软引用可达。 弱引用可达( weakly reachable)–如果一个对象没有...

2018-09-16 21:02:39

阅读数 115

评论数 0

java注解接口Annotation

1.介绍 所有的java注解类型都继承接口Annotation 2.获取注解的属性值 通过反射获取注解的属性值 @Retention(RetentionPolicy.RUNTIME) public @interface Vui { String name() default...

2018-09-16 16:24:44

阅读数 187

评论数 0

java effective --不可变类

1.介绍 java中的不可变类更容易设计、实现和使用。不容易出错,且更加安全。 2.如何设计不可变类 不要提供任何修改对象状态的方法。 保证类不会被扩展。使用final修饰class 使所有的域都为final 所有的域都为私有的。 确保对任何可变组件的互斥访问。(如果类具有指向可变对象...

2018-09-16 16:21:44

阅读数 35

评论数 0

java 匿名内部类

1.匿名内部类的调用 匿名内部类会继承或者实现此类。作为一个子类 2. 匿名内部类的应用 public class Student<T> { private String name; protected Student(St...

2018-07-07 16:18:19

阅读数 28

评论数 0

java 泛型

1.什么是泛型 泛型就是参数化类型,使用该特性创建的接口、类、方法。可以作为参数指定操作的数据类型 泛型解决了以前的类型安全及显示的在Object及实际类型之间的转换。 public class Gen <T> { pr...

2018-06-27 22:53:42

阅读数 41

评论数 0

java8 Optional

介绍 Optional 是一个包含或着不包含一个非空值的容器对象。如果一个值存在,isPresent()将会返回true 并且 get() 将会返回所对应的值. 其他的方法依赖于所包含的值是否出现,比如orElse(如果值不存在就返回一个默认值)并且ifPresent()(如果值存在就执...

2018-05-05 10:47:38

阅读数 41

评论数 0

java8 Spliterator迭代器

介绍 java8 新增了一个叫Spliterator的迭代器。 它主要包含以下两个功能: 1.遍历迭代集合元素。同iterator 2.支持并行迭代序列 1. Spliterator的常用api boolean tryAdvance(Consumer action...

2018-04-17 22:12:19

阅读数 123

评论数 0

java8 新特性 lambad表达式

1.介绍 java8提供了默认接口方法,Lambda表达式,方法引用和重复注解等新的特性及API 2.允许在接口中有默认方法实现 Java 8 允许我们使用default关键字,为接口声明添加非抽象的方法实现。这个特性又被称为扩展方法: 举例: public interfac...

2018-04-15 23:14:47

阅读数 293

评论数 0

java jdk动态代理

举例 java中动态代理主要有JDK和CGLIB两种方式。JDK代理是面向接口的代理。而CGLIB是代理类。 JDK代理的实现是通过Proxy Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), ...

2018-04-15 17:43:57

阅读数 37

评论数 0

java 通用对象池的实现

本文以apache common-pools为例 主要组成类 PooledObject(可被池化的对象) 默认实现DefaultPooledObject,里面封装了一个真正的用户需要池化的对象object。 其中DefaultPooledObject里面有两个方法: ...

2018-04-01 11:23:24

阅读数 572

评论数 0

动态加载JSP的Class类

Tomcat动态加载JSP的Class类 在项目中修改JSP文件时,tomcat不需要重启。 具体实现时:当tomcat监听到jsp文件发生变化时,新定义一个类加载器。重新加载此类。 一下介绍其简单实现: 定义服务类 public class Servlet { pub...

2018-03-22 19:15:01

阅读数 804

评论数 0

java 中的suppressedException

SuppressedException 用来保存被屏蔽的异常,可通过Throwable.getSuppressed()获得。添加的话用addSuppressed(Throwable exception),这个函数一般是在try-with-resources语句中由自动调用的。 try-wi...

2018-01-14 23:06:43

阅读数 1185

评论数 0

Effective java --学习笔记

effecive java 学习

2017-12-02 22:14:47

阅读数 63

评论数 0

7张图全面了解java

7张图了解基本的java

2017-10-22 12:45:41

阅读数 79

评论数 0

java 枚举类型

java 枚举原理

2017-10-21 18:36:34

阅读数 162

评论数 0

java 中的equal和==的区别

java 中equals和==的区别

2017-10-16 22:27:44

阅读数 78

评论数 0

java 中如何创建不可变并且static的map

java 中如何正确的创建静态的不可变的map

2017-10-16 13:25:19

阅读数 3680

评论数 0

最流行的java 工具类

工作中最常用的java工具类

2017-10-15 23:32:27

阅读数 103

评论数 0

java 注解

java 注解。java注解分为编译器注解和运行时注解。

2017-09-23 18:31:23

阅读数 586

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭