java
文章平均质量分 57
ai_xiangjuan
这个作者很懒,什么都没留下…
展开
-
java 枚举类型
java 枚举原理原创 2017-10-21 18:36:34 · 392 阅读 · 0 评论 -
java8 新特性 lambad表达式
1.介绍java8提供了默认接口方法,Lambda表达式,方法引用和重复注解等新的特性及API2.允许在接口中有默认方法实现Java 8 允许我们使用default关键字,为接口声明添加非抽象的方法实现。这个特性又被称为扩展方法: 举例:public interface PhoneService { void call(); //接口中默认方法实现 ...原创 2018-04-15 23:14:47 · 1395 阅读 · 2 评论 -
java8 Spliterator迭代器
介绍java8 新增了一个叫Spliterator的迭代器。 它主要包含以下两个功能: 1.遍历迭代集合元素。同iterator 2.支持并行迭代序列1. Spliterator的常用apiboolean tryAdvance(Consumer action)。返回false表示元素遍历结束。如果为序列中的每个元素应用相同的动作。forEachRemain...原创 2018-04-17 22:12:19 · 353 阅读 · 0 评论 -
java8 Optional
介绍Optional 是一个包含或着不包含一个非空值的容器对象。如果一个值存在,isPresent()将会返回true 并且 get() 将会返回所对应的值. 其他的方法依赖于所包含的值是否出现,比如orElse(如果值不存在就返回一个默认值)并且ifPresent()(如果值存在就执行一个代码块)。 map使用Optional 的map() 方法去处理可能为null 的值,而...转载 2018-05-05 10:47:38 · 191 阅读 · 0 评论 -
java 泛型
1.什么是泛型泛型就是参数化类型,使用该特性创建的接口、类、方法。可以作为参数指定操作的数据类型泛型解决了以前的类型安全及显示的在Object及实际类型之间的转换。public class Gen <T> { private T ob; public Gen (T go) { this.ob = go; }}其中:T是类...原创 2018-06-27 22:53:42 · 146 阅读 · 0 评论 -
java 匿名内部类
1.匿名内部类的调用匿名内部类会继承或者实现此类。作为一个子类2. 匿名内部类的应用public class Student<T> { private String name; protected Student(String name) { this.name = name; }}3. 测试public c...原创 2018-07-07 16:18:19 · 115 阅读 · 0 评论 -
java effective --不可变类
1.介绍java中的不可变类更容易设计、实现和使用。不容易出错,且更加安全。2.如何设计不可变类不要提供任何修改对象状态的方法。保证类不会被扩展。使用final修饰class使所有的域都为final所有的域都为私有的。确保对任何可变组件的互斥访问。(如果类具有指向可变对象的域,必须确保客户端的类不能访问到此类)。3.举例(Guava ImmutableDoubl...原创 2018-09-16 16:21:44 · 160 阅读 · 0 评论 -
java注解接口Annotation
1.介绍所有的java注解类型都继承接口Annotation2.获取注解的属性值通过反射获取注解的属性值@Retention(RetentionPolicy.RUNTIME)public @interface Vui { String name() default ""; boolean isUniuqe() default false;}@V...原创 2018-09-16 16:24:44 · 1315 阅读 · 0 评论 -
java 引用--PhantomReference
1.引用可达性强引用可达–如果一个对象可以通过线程访问不需要访问引用对象,那个这个对象是强引用可达。软引用可达(softly reachable)–如果一个对象没有强引用,但是可以遍历软引用到达,那个这个对象是软引用可达。弱引用可达( weakly reachable)–如果一个对象没有强引用可达或者软引用可达,但是可以遍历弱引用可达。那么这个对象是弱引用可达。幽灵引用可达(phant...原创 2018-09-16 21:02:39 · 663 阅读 · 0 评论 -
java jdk动态代理
举例java中动态代理主要有JDK和CGLIB两种方式。JDK代理是面向接口的代理。而CGLIB是代理类。JDK代理的实现是通过Proxy Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), target.getClass().getInterfaces(),I...原创 2018-04-15 17:43:57 · 114 阅读 · 0 评论 -
java 通用对象池的实现
本文以apache common-pools为例主要组成类PooledObject(可被池化的对象)默认实现DefaultPooledObject,里面封装了一个真正的用户需要池化的对象object。 其中DefaultPooledObject里面有两个方法: Exception borrowedBy :用于记录上次调用borrow时的堆栈,用于跟踪代码调用情...原创 2018-04-01 11:23:24 · 1428 阅读 · 0 评论 -
动态加载JSP的Class类
Tomcat动态加载JSP的Class类在项目中修改JSP文件时,tomcat不需要重启。 具体实现时:当tomcat监听到jsp文件发生变化时,新定义一个类加载器。重新加载此类。 一下介绍其简单实现:定义服务类public class Servlet { public void service(){ System.out.println("运行服...原创 2018-03-22 19:15:01 · 3096 阅读 · 0 评论 -
7张图全面了解java
7张图了解基本的java翻译 2017-10-22 12:45:41 · 170 阅读 · 0 评论 -
java 注解
java 注解。java注解分为编译器注解和运行时注解。原创 2017-09-23 18:31:23 · 703 阅读 · 0 评论 -
WeakHashMap源码分析
本文对WeakHashMap的源码进行了详细的分析,及WeakHashMap的应用场景,关键核心代码实现分析原创 2017-07-14 23:39:49 · 282 阅读 · 0 评论 -
Java Reference源码分析
Reference是个抽象类, 它是WeakReference、SoftReference等引用类的基类,因此分析Reference的实现具有重要的意义原创 2017-07-12 23:06:26 · 412 阅读 · 0 评论 -
java 中如何创建不可变并且static的map
java 中如何正确的创建静态的不可变的map原创 2017-10-16 13:25:19 · 6695 阅读 · 0 评论 -
java 中的equal和==的区别
java 中equals和==的区别原创 2017-10-16 22:27:44 · 180 阅读 · 0 评论 -
最流行的java 工具类
工作中最常用的java工具类原创 2017-10-15 23:32:27 · 215 阅读 · 0 评论 -
Effective java --学习笔记
effecive java 学习原创 2017-12-02 22:14:47 · 287 阅读 · 0 评论 -
java 中的suppressedException
SuppressedException用来保存被屏蔽的异常,可通过Throwable.getSuppressed()获得。添加的话用addSuppressed(Throwable exception),这个函数一般是在try-with-resources语句中由自动调用的。try-with-resources中抑制异常的使用在使用try-with-resources语句的时候,异常原创 2018-01-14 23:06:43 · 4368 阅读 · 0 评论 -
堆外内存的回收机制分析
1.堆外内存JVM启动时分配的内存,称为堆内存,与之相对的,在代码中还可以使用堆外内存,比如Netty,广泛使用了堆外内存,但是这部分的内存并不归JVM管理,GC算法并不会对它们进行回收,所以在使用堆外内存时,要格外小心,防止内存一直得不到释放,造成线上故障。2.堆外内存的申请和释放JDK的ByteBuffer类提供了一个接口allocateDirect(int capacity)进行...转载 2018-09-16 21:22:50 · 1757 阅读 · 0 评论