• Springboot、mybatis、thymeleaf项目搭建

    最近Springboot框架越来越流行,因为集成了tomcat,可以直接打成jar包,方便部署,又可以完全摒弃配置文件,很适用于现在流行的微服务。下面让我们来完成Springboot项目的搭建。 [继续阅读...]

  • HashMap(JDK1.8)源码分析

    JDK1.8相对于JDK1.6来说,区别在于1.8HashMap采用位桶+链表+红黑树实现,当链表的长度超过阈值(TREEIFY_THRESHOLD = 8)的时候,会将链表转化为红黑树进行存储。 [继续阅读...]

  • Lambda表达式(Java)详解

    在java 8 之前,我们通过匿名内部类实现带方法的接口,并且复写接口方法,代码显得很臃肿。使用了lambda之后,代码简洁了很多,对于熟悉lambda的,代码也能更容易理解和阅读。 [继续阅读...]

  • default关键字详解

    JDK 1.8 引入很多新的特性,其中有lambda表达式,default方法,新的Date API等。在1.8之前,要在接口中引入新的方法,就必须打破现有的实现。而且 1.8 新引入的Lambda表达式,有明显的局限性,他们不能被重写的类实现扩展的接口,所有就有了default方法(Virtual extension methods)。 [继续阅读...]

  • Optional源码分析

    Java 8多了很多类,其中的Optional是一个可以包含null的容器,在Stream API中也很多地方用到Optional。 [继续阅读...]

  • Java注解详解

    注解(也被称为元数据)为我们在代码添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻方便的使用这些数据。注解是java SE5种的重要的语言变化之一。注解使得我们能够以将由编译期来测试和验证的格式,存储有关程序的额外信息。注解可以用来生成描述符文件,甚至或是新的类定义,并且有助于减轻编写“样板”代码的负担。通过使用注解,我们可以将这些元数据保存在Java源代码中,并利用annotation API为自己的注解构造处理工具,同时,注解的优点还包括:更加干净易读的代码以及编译期类型检查等。 [继续阅读...]

  • volatile 与 synchronized关键字详解

    在多线程并发编程中synchronized和volatile都扮演着重要的角色,volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另一个线程就能读到这个线程修改的值。如果volatile变量修饰符使用恰当的话,它比synchronized的使用和执行成本更低,因为它不会引起线程上下文的切换和调度。 [继续阅读...]

简介


Nickname:dingyinwu
Birthdate:1993-4-25
School:Renmin University of China
Email:dingyinwu81@126.com