2.6k 2 分钟

# JdbcTemplate 详解 # 一,JdbcTemplate (概念和准备) 什么是 JdbcTemplate (Template 译为模板) Sprint 框架对 JDBC 进行封装,使用 JdbcTemplate 方便实现对数据库操作 准备工作 引入相关 jar 包,我们还需要导入连接数据库的相关 jar 包,比如: druid,mysql-connector-java 我们需要的是 spring-jdbc-5.0.0.RELEASE.jar , 除了要导入这个 jar 包外,还需要导入一个 spring-tx-5.0.0.RELEASE.jar (它 是...
160 1 分钟

问题描述: JdbcTemplate在Dao中的使用以及No DataSource specified问题的出现和解决。 查看在定义对象时是否写对了格式 正确格式如下: private static JdbcTemplate jdbctemplate = new JdbcTemplate(JDBCUtils.getDataSource());
3.6k 3 分钟

方法引用符【理解】 方法引用符 :: 该符号为引用运算符,而它所在的表达式被称为方法引用 推导与省略 如果使用 Lambda,那么根据 “可推导就是可省略” 的原则,无需指定参数类型,也无需指定的重载形式,它们都将被自动推导 如果使用方法引用,也是同样可以根据上下文进行推导 方法引用是 Lambda 的孪生兄弟 # 3.3 引用类方法【应用】 引用类方法,其实就是引用类的静态方法 格式 类名::静态方法 范例 Integer::parseInt Integer 类的方法:public static int parseInt (String s) 将此 String 转换为 int...
623 1 分钟

# 体验方法引用 方法引用的出现原因: 再使用 Lambda 表达式的时候,我们实际上传递进去的代码就是一种解决方案:那参数做操作 那么考虑一种情况:如果我们在 Lambda 中所指定的操作方案,已经有地方存在相同方案,那是否还有必要再写重复逻辑呢?答案是肯定没有必要 那我们又是如何使用已经存在的方案呢? 这就是我们要讲解的方法引用,我们是通过方法引用来使用已经存在的方法的。 方法引用简单概述: 把已经有的方法拿过来用,当做函数式接口中抽象方法的方法体 代码演示: public interface Printable { void printString(String...
1.4k 1 分钟

我们创建并初始化一个对象,往往有多种方法,多少人知道 {} 也是一种?这种方法独特,是不是一个良好的特性呢? # 普通初始化 通常我们会这样创建对象并初始化,如下创建一个 List List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); System.out.println(list);主要分为两部分:1. 创建对象 2. 初始化数据 # 双大括号法 利用这种方法,我们可以把创建和初始化写在一起 List<Integer>...
5.1k 5 分钟

# 创建不可变集合 不可变集合就是一旦被创建后 长度不能修改 内容也不能修改的集合 # 不可变集合的应该场景 如果某个数据不能被修改,把它防御性的拷贝到不可变集合中是个很好的实践。 当集合对象被不可信的库调用时,不可变形式是安全的。 简单理解:不想让别人修改集合中的内容 # 创建不可变集合的书写格式 # 不可变集合分类 List Set Map 在 List,Set,Map 接口中,都存在静态的 of 方法,可以获取一个不可变的集合。 方法名称 说明 static <E> List<E>...
1.7k 2 分钟

# EntrySet 以 Set 集合形式返回 Map 集合中所有键值对 EntrySet: 通过指定的键删除对应的值 public class Demo_6 { public static void main(String[]args){ HashMap<Integer,String> ar = new HashMap<>(); // 向集合中添加一个键值对 ar.put(1,"a"); ar.put(2,"b"); ar.put(3,"c"); //...
1.3k 1 分钟

# 什么是泛型擦除 怎么理解泛型擦除 Java 的泛型机制其实是伪泛型,因为它只作用于 Java 程序 编译 期间,(就是在你写代码的时候起作用); 在运行期间并不存在 < br > 编译器在编译期间会动态的将泛型 T 擦除为 Object, 或者将 T extends xxxClass 擦除为其限定类型 xxxClass # 举例说明 在我们创建不同类型的 List 时候,会放入不同的泛型,在进行 add 的时候,可以限制 add 的类型,但是它们的类在最终比较的时候确是相同的,这就是泛型擦除造成的 ArrayList<String>...
2.3k 2 分钟

# 二维数组的局部性原理 int array[][] = { {11, 12, 13, 14, 15}, {21, 22, 23, 24, 25}, {31, 32, 33, 34, 35}}; # 局部性原理 这里只讨论空间局部性 CPU 读取内存 (速度慢) 数据后,会将其放入高速缓存 (速度快) 当中,如果后来的计算再用到此数据,在缓存中能读到的话,就不必读内存了 缓存的最小存储单位是缓存行 (cacheline) ,一般是 64...
591 1 分钟

# 子类实例化是否会实例化父类? 不会。父类在子类实例化过程中是并没有被实例化,java 中 new 子类没有实例化父类,只是调用父类的构造方法初始化了,子类从父类继承来的属性,这个调用是子类的对象调用的父类的构造方法,而子类自己的构造方法完成对自己属性的初始化(这里的初始化是指我们在内存分配完了,虚拟机初始化之后,我们按自己的要求进行的初始化)。 # 子类对象实例化的全过程 当最底层子类实例化对象时,它的父类,父类的父类... 到 Object 类的所有类的构造器都会被调用,只不过当一个类拥有多个构造器时,调用的是其中一个。 子类构造器内,默认调用父类构造器:super (); 当有...