Mybatis【2.2】-- Mybatis关于创建SqlSession源码分析的几点疑问?

2020-11-28
阅读 10 分钟
916
当我们使用inputStream = Resources.getResourceAsStream("mybatis.xml");的时候,我们并需要去关闭inputstream,我们可以查看源码,首先看到SqlSessionFactoryBuilder().build()这个方法:

Java反射说得透彻一些

2020-11-28
阅读 17 分钟
2.8k
很多时候我们会遇到别人问一个问题:你给我讲一下反射,到底是什么东西?怎么实现的?我们能用反射来做什么?它有什么优缺点?下面我们会围绕着这几个问题展开:

transient关键字的作用以及几个疑问的解决

2020-11-28
阅读 10 分钟
1.1k
注意:上面说的是非静态属性,因为静态属性是属于类的,而不是属于类对象的,而序列化是针对类对象的操作,所以这个根本不会序列化。下面我们可以实验一下:实体类Teacher.class:

【Java基础】-- native关键字是干什么用的?

2020-11-28
阅读 3 分钟
1.2k
2.native关键字我们开发应用的时候是用不到的,那什么时候用到呢?那些开发java语言的时候用到,native关键字是与c++联合开发的时候使用的,要不java控制不了底层啊,比如内存。所以还是那句:汇编生c,c生万物,c++是c的升级版。

serialVersionUID作用是什么以及如何生成的?

2020-11-28
阅读 10 分钟
7.8k
正常不设置serialVersionUID 的序列化和反序列化先定义一个实体Student.class,需要实现Serializable接口,但是不需要实现get(),set()方法 {代码...} 测试类,思路是先把Student对象序列化到Student.txt文件,然后再讲Student.txt文件反序列化成对象,输出。 {代码...} 输出结果,序列化文件我们可以看到Student.txt,反...

Mybatis【2.1】-- 从读取流到创建SqlSession发生了什么?

2020-11-28
阅读 8 分钟
871
我们使用sqlSession之前,需要去获取配置文件,获取InputStream输入流,通过SqlSessionFactoryBuilder获取sqlSessionFactory对象,从而获取sqlSession。

Mybatis【2】-- 多个mapper文件以及namespace作用

2020-11-28
阅读 2 分钟
2.7k
在这里我们必须重新说一下Mybatis的运行大概过程:首先我们通过Resources.getResourceAsStream("mybatis.xml")读取到mybatis.xml这个文件,这个文件里面配置的都是整个项目与数据库相关的配置,比如运行的时候的数据库环境(连接哪一个数据库,数据库服务器的地址,用户名,密码),或者是配置外部配置文件等,最重要的是...

Mybatis【1】-- 第一个Mybatis程序

2020-11-28
阅读 10 分钟
942
框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制...

JDBC【3】-- SPI技术以及数据库连接中的使用

2020-11-28
阅读 12 分钟
1.4k
SPI,即是Service Provider Interface,是一种服务提供(接口实现)发现机制,可以通过ClassPath路径下的META-INF/Service文件查找文件,加载里面定义的类。一般可以用来启用框架拓展和替换组件,比如在最常见的数据库连接JDBC中,java.sql.Driver,不同的数据库产商可以对接口做不一样的实现,但是JDK怎么知道别人有哪些...

JDBC【2】-- JDBC工作原理以及简单封装

2020-11-28
阅读 8 分钟
1.7k
上面代码发生在注册Driver阶段,指的是让JVN将com.mysql.jdbc.Driver这个类加载入内存中,最重要的是将mysql驱动注册到DriverManager中去。

JDBC【1】--初级增删改查

2020-11-28
阅读 9 分钟
1.5k
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。(百度百科)jdbc经常用来连接数据库,创建sql或者mysql...

java集合【9】—— Vector接口源码超级详细解析

2020-11-22
阅读 26 分钟
1.8k
Vector和前面说的ArrayList很是类似,这里说的也是1.8版本,它是一个队列,但是本质上底层也是数组实现的。同样继承AbstractList,实现了List,RandomAcess,Cloneable, java.io.Serializable接口。具有以下特点:

java集合【8】—— ArrayList接口源码超级详细解析

2020-11-22
阅读 21 分钟
1.3k
1. ArrayListArrayList是最最常用的集合类了,真的没有之一。下面的分析是基于1.8.0_261源码进行分析的。1.1 ArrayList特点介绍动态数组,使用的时候,只需要操作即可,内部已经实现扩容机制。线程不安全有顺序,会按照添加进去的顺序排好基于数组实现,随机访问速度快,插入和删除较慢一点可以插入null元素,且可以重复...

java集合【7】—— List接口源码超级详细解析

2020-11-21
阅读 32 分钟
1.4k
java.util.List 接口继承于 Collection 接口,与Map最大的不同之处,在于它属于单列集合,相当于一个列表,有以下这些特点:

java集合【6.1】—— Collection和Collections区别是什么?

2020-11-21
阅读 1 分钟
981
刚开始学java的时候,分不清Collection和Collections,其实这两个东西是完全不一样的东西。Collection是一个接口,是java集合中的顶级接口之一,衍生出了java集合的庞大的体系。下面的图可以说明:继承Collection的子类关系如下:既然Collection是接口,那么它本身就是不可以实例化的,它的子类或者实现类是可以的。【ja...

java集合【6】—— Collection接口源码解析

2020-11-20
阅读 8 分钟
1.5k
collection在java集合中,算是顶级接口,它继承了iterable接口,不能实例化,只能实例化其子类。之所以需要这样一个接口,是因为java作为面向对象,总是避免不了处理多个对象的情况,要处理多个对象,首先需要容器存储,这个容器就是集合。为什么有了数组,还需要集合,因为数组的功能单一,长度不可变,而有些集合实现...

java集合【5】—— Collections接口源码解析

2020-11-17
阅读 42 分钟
1.3k
The polymorphic algorithms described here are pieces of reusable functionality provided by the Java platform. All of them come from the Collections class, and all take the form of static methods whose first argument is the collection on which the operation is to be performed. The great majority o...

java集合【4】—— iterator 和iterable的异同分析

2020-11-17
阅读 2 分钟
1.7k
iterator接口,也是集合大家庭中的一员。和其他的Map和Collection接口不同,iterator 主要是为了方便遍历集合中的所有元素,用于迭代访问集合中的元素,相当于定义了遍历元素的规范,而另外的Map和Collection接口主要是定义了存储元素的规范。

java集合【3】——iterable接口源码解析

2020-11-17
阅读 6 分钟
1.6k
iterable接口其实是java集合大家庭的最顶级的接口之一了,实现这个接口,可以视为拥有了获取迭代器的能力。Iterable接口出现在JDK1.5,那个时候只有iterator()方法,主要是定义了迭代集合内元素的规范。 实现了Iterable接口,我们可以使用增强的for循环,即

java集合【2】—— iterator接口详解

2020-11-08
阅读 14 分钟
2.4k
iterator接口,也是集合大家庭中的一员。和其他的Map和Collection接口不同,iterator 主要是为了方便遍历集合中的所有元素,用于迭代访问集合中的元素,相当于定义了遍历元素的规范,而另外的Map和Collection接口主要是定义了存储元素的规范。 还记得么?之前说的iterable接口,有一个方法就是叫iterator(),也是返回iter...

java集合【1】—— 俯瞰Java集合分类

2020-10-17
阅读 13 分钟
1.2k
之前大概分为三种,Set,List,Map三种,JDK5之后,增加Queue.主要由Collection和Map两个接口衍生出来,同时Collection接口继承Iterable接口,所以我们也可以说java里面的集合类主要是由Iterable和Map两个接口以及他们的子接口或者其实现类组成。我们可以认为Collection接口定义了单列集合的规范,每次只能存储一个元素,...

Mac 安装Homebrew慢的问题解决

2020-09-20
阅读 3 分钟
1.7k
一开始安装,在官网上的命令: {代码...} 特别的慢,而且执行着就很容易断开,连接不上。所以需要换一种方法。打开终端,到自己喜欢的文件夹,执行以下命令,把install文件拉取下来,并且改名为brew_install.sh {代码...} 然后使用命令行,打开文件,修改里面的配置: {代码...} 按i编辑,找到 {代码...} 替换成下面的:...