摘要: 很多时候我们会遇到别人问一个问题:你给我讲一下反射,到底是什么东西?怎么实现的?我们能用反射来做什么?它有什么优缺点?下面我们会围绕着这几个问题展开: 一、反射机制是什么? 反射是什么?什么是反?什么是正射? 有反就有正,我们知道正常情况, 如果我们希望创建一个对象,会使用以下的语句: Person 阅读全文
posted @ 2020-11-17 01:43 第十六封 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 1.从Serilizable说到transient 我们知道,如果一个对象需要序列化,那么需要实现Serilizable接口,那么这个类的所有非静态属性,都会被序列化。 注意:上面说的是非静态属性,因为静态属性是属于类的,而不是属于类对象的,而序列化是针对类对象的操作,所以这个根本不会序列化。下面我 阅读全文
posted @ 2020-11-17 01:41 第十六封 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 正常不设置serialVersionUID 的序列化和反序列化 先定义一个实体Student.class,需要实现Serializable接口,但是不需要实现get(),set()方法 import java.io.Serializable; public class Student impleme 阅读全文
posted @ 2020-11-17 01:39 第十六封 阅读(316) 评论(0) 推荐(1) 编辑
摘要: 我们使用sqlSession之前,需要去获取配置文件,获取InputStream输入流,通过SqlSessionFactoryBuilder获取sqlSessionFactory对象,从而获取sqlSession。 InputStream is = Resources.getResourceAsSt 阅读全文
posted @ 2020-11-17 01:38 第十六封 阅读(988) 评论(0) 推荐(1) 编辑
摘要: 多个mapper文件以及namespace作用 要是多个mapper文件的时候怎么处理,namespace又是干什么用的呢 首先我们来看创建数据库语句: #创建数据库 CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_gen 阅读全文
posted @ 2020-11-17 01:36 第十六封 阅读(1370) 评论(0) 推荐(0) 编辑
摘要: 1.框架是什么 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。 一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的 阅读全文
posted @ 2020-11-17 01:35 第十六封 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 1.SPI是什么? SPI,即是Service Provider Interface,是一种服务提供(接口实现)发现机制,可以通过ClassPath路径下的META-INF/Service文件查找文件,加载里面定义的类。 一般可以用来启用框架拓展和替换组件,比如在最常见的数据库连接JDBC中,jav 阅读全文
posted @ 2020-11-17 01:34 第十六封 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 1. 工作原理 一般我们主要的JDBC处理流程如下: graph TD A[注册一个Driver] -->B(建立数据库连接) B --> C(创建一个Statement) C-->D(执行SQL语句,获取结果) D-->F(关闭JDBC对象) 1.1 加载驱动 首先声明:这个阶段在1.6之后就不需 阅读全文
posted @ 2020-11-17 01:32 第十六封 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 1.jdbc是什么 JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够 阅读全文
posted @ 2020-11-17 01:31 第十六封 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 一开始安装,在官网上的命令: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 特别的慢,而且执行着就很容易断开,连接不上。所以需要换一种方法。 打开终端 阅读全文
posted @ 2020-11-17 01:30 第十六封 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 1.Vector介绍 Vector和前面说的ArrayList很是类似,这里说的也是1.8版本,它是一个队列,但是本质上底层也是数组实现的。同样继承AbstractList,实现了List,RandomAcess,Cloneable, java.io.Serializable接口。具有以下特点: 提 阅读全文
posted @ 2020-11-17 01:26 第十六封 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 1. ArrayList ArrayList是最最常用的集合类了,真的没有之一。下面的分析是基于1.8.0_261源码进行分析的。 1.1 ArrayList特点介绍 动态数组,使用的时候,只需要操作即可,内部已经实现扩容机制。 线程不安全 有顺序,会按照添加进去的顺序排好 基于数组实现,随机访问速 阅读全文
posted @ 2020-11-17 01:25 第十六封 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 1.List接口的特性 java.util.List 接口继承于 Collection 接口,与Map最大的不同之处,在于它属于单列集合,相当于一个列表,有以下这些特点: 有顺序,按照添加的顺序存储,是一种线性结构。 可以根据索引查询元素。 元素可以重复。 An ordered collection 阅读全文
posted @ 2020-11-17 01:24 第十六封 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 一、Collection接口简介 collection在java集合中,算是顶级接口,它继承了iterable接口,不能实例化,只能实例化其子类。之所以需要这样一个接口,是因为java作为面向对象,总是避免不了处理多个对象的情况,要处理多个对象,首先需要容器存储,这个容器就是集合。为什么有了数组,还 阅读全文
posted @ 2020-11-17 01:23 第十六封 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 刚开始学java的时候,分不清Collection和Collections,其实这两个东西是完全不一样的东西。 Collection是一个接口,是java集合中的顶级接口之一,衍生出了java集合的庞大的体系。下面的图可以说明: 继承Collection的子类关系如下: 既然Collection是接 阅读全文
posted @ 2020-11-17 01:22 第十六封 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 一、Collections接口是做什么的? 用官网文档的介绍: The polymorphic algorithms described here are pieces of reusable functionality provided by the Java platform. All of t 阅读全文
posted @ 2020-11-17 01:21 第十六封 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 一、iterator介绍 iterator接口,也是集合大家庭中的一员。和其他的Map和Collection接口不同,iterator 主要是为了方便遍历集合中的所有元素,用于迭代访问集合中的元素,相当于定义了遍历元素的规范,而另外的Map和Collection接口主要是定义了存储元素的规范。 bo 阅读全文
posted @ 2020-11-17 01:20 第十六封 阅读(325) 评论(0) 推荐(0) 编辑
摘要: iterable接口 整个接口框架关系如下(来自百度百科): iterable接口其实是java集合大家庭的最顶级的接口之一了,实现这个接口,可以视为拥有了获取迭代器的能力。Iterable接口出现在JDK1.5,那个时候只有iterator()方法,主要是定义了迭代集合内元素的规范。 实现了Ite 阅读全文
posted @ 2020-11-17 01:14 第十六封 阅读(927) 评论(0) 推荐(1) 编辑