摘要:第一种方式:直接声明(只能在定义处使用!) 第二种方式:显式声明(用于各种情况) 比如方法返回值: 比如静态代码块(初始化): 用于方法调用的内部:
阅读全文
摘要:关于 Spring 框架阅读记录 关于 SpringMvc 框架阅读记录 1.首先看一个 spring-web 项目 项目结构 http 包 主要存储 http 相关信息 HttpRequst,HttpStatus web 包 主要有 WebApplicationContext、cors、filte
阅读全文
摘要:见 原文,现阶段建议使用 https://github.com/brettwooldridge/HikariCP
阅读全文
摘要:1. 内部类的作用 内部类是一个独立的实体,可以用来实现闭包;能与外部类通信;内部类与接口使得多继承更完整 2. 内部类的分类 1)普通内部类 类的实例相关,可以看成是一个实例变量。内部类的类名由 “外部类.内部类” 确定。 普通内部类不能声明 static相关的变量或方法。内部类可以直接访问外部类
阅读全文
摘要:SOLID(单一功能、开闭原则、里氏替换、接口隔离以及依赖反转)五个基本原则 1.单根继承结构 所有的类继承于单一的基类,保证所有的对象都具有某些功能,参数传递可以得到极大的简化,使得垃圾回收器的实现变得容器的多。所有对象都保证具有类型信息,不会因为无法确定对象的类型而陷入僵局。 * 组合与继承的区
阅读全文
摘要:如何抽象?编程语言提供的集几种抽象机制: 一、根据运行解决方案的计算机来描述问题(面向过程) 汇编是对底层机器的轻微抽象,而所谓“命令式”语言(如 Fortran,basic,c等)都是对汇编语言的抽象。这些抽象在解决问题时要基于计算机的结构。 二、只针对待解决问题建模 早期考虑统一的视图,如 Li
阅读全文
摘要:单例模式的双重校验锁的实现: 第一种: 在 static 方法上加 synchronized,等同于将整个类锁住。每当通过此静态方法得到该对象时,就需要同步。 如果是实例方法(不是 static),那个 synchronized 锁只会对同一个对象多次调用该方法才会同步,不同的对象(实例)调用则不保
阅读全文
摘要:一、Jvm 原理 二、Jvm 运行时数据区( Run-Time Data Areas ) (主要是关于 non-stack 区域的详细划分) 从上图可以清楚地看到:程序计数器、Jvm 栈、本地方法栈 —— 线程级别的(随线程的创建和退出而存在销毁),堆内存、方法区—— Jvm 级别 (堆内存和方法区
阅读全文
摘要:一、重排序 好处:重排序可以提升性能,避免在一个耗时很长的指令在“执行”阶段呆很长时间,而导致后续的指令都卡在“执行”之前的阶段上。 坏处:重排序对多线程的影响 class ReorderExample { int a = 0; boolean flag = false; public void w
阅读全文
摘要:之前的版本里 interface 中的方法必须是抽象方法,不能有方法体。现在可以添加 interface 内方法,只需要在方法的前面加一个 default 关键字,表示属于接口内部默认存在的方法。 如果两个接口包括的默认方法同名,当一个 class 同时实现这两个接口,并调用他们共同的 defaul
阅读全文
摘要:Comparable 和 Comparator 1、Comparable<T> 比较的是当前值与另一个值。 public interface Comparable<T> { public int compareTo(T o); } 举例: Date dt = new Date(); // 默认计算从
阅读全文
摘要:一、泛型的定义与作用 泛型,又叫 参数多态,在c++里又叫模板。是指声明与定义函数或变量时不指定其具体的类型,而把这部分类型作为参数使用,使得该定义对各种具体类型都适用。通常意义的多态是将这里不特定的类型参数替换成父类型,将具体类型的实现替换成子类型。故而泛型可看作一种特殊的多态(概念角度)。 泛型
阅读全文
摘要:build 系统 Java.sublime-build
阅读全文
摘要:Servlet3.0 javaConfig配置 传统的servlet都是在web.xml中配置,从Servlet 3.0开始提供了ServletContainerInitializer接口,允许使用代码去配置servlets、filters、listeners。 Spring为我们提供了一个该接口的
阅读全文
摘要:一、冒泡排序、插入排序、希尔排序、快速排序与归并排序 效率概要: 冒泡排序是蛮力法,使用两层嵌套循环,基本效率为 O(n^2) 插入排序是减治法,第一趟排序,最多比较一次,第二趟排序,最多比较两次,以此类推,最后一趟最多比较N-1次,因此有1+2+3+…+N-1 = N*(N-1)/2。然而,因为在
阅读全文