自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 老司机学习MyBatis之运行原理SQLSessionFactory获取openSession对象

一、前言 在前面一节,我们分析了SQLSessionFactory的初始化的整个过程,接下来这一节我们将通过查看源码看看SQLSessionFactory获得openSession的整个流程。 二、案例 继续Debug,在34行处打上断点 F5下一步,进入DefaultSqlSessi...

2019-08-28 22:46:12 1283 0

转载 JAVA面试题 线程的生命周期包括哪几个阶段?

面试官:您知道线程的生命周期包括哪几个阶段? 应聘者: 线程的生命周期包含5个阶段,包括:新建、就绪、运行、阻塞、销毁。 新建:就是刚使用new方法,new出来的线程; 就绪:就是调用的线程的start()方法后,这时候线程处于等待CPU分配资源阶段,谁先抢的CPU资源,谁开始执行; 运...

2019-07-23 07:13:29 236 0

原创 JAVA面试题 StringBuffer和StringBuilder的区别,从源码角度分析?

面试官Q1:请问StringBuffer和StringBuilder有什么区别? 这是一个老生常谈的话题,笔者前几年每次面试都会被问到,作为基础面试题,被问到的概率百分之八九十。下面我们从面试需要答到的几个知识点来总结一下两者的区别有哪些? 继承关系? 如何实现的扩容? 线程安全性? 继承...

2019-07-21 23:05:20 282 0

原创 SpringMVC教程之如何使用POJO作为参数

一、前言 前面我们学习了@RequestParam注解,可以获得请求的参数,但是如果前台传来的是一个表单,表单中有很多参数,那么这个时候使用@RequestParam注解一个一个去映射的话,方法中就会有N多个注解在里面,显然这种方式获取参数是不可取的。这个时候我们可以使用一个Java对象来获得请...

2019-07-14 07:55:38 77 0

原创 Java面试题之数据库三范式是什么?

什么是范式? 简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系。所以建立科学的,规范的的数据库是需要满足一些规范的来优化数据数据存储方式。在关系型数据库中这些规范就可以称为范式。 什么是三大范式? 第一范式(1NF):强调的是列的原子性,即列不能够再分成其他...

2018-12-22 23:49:34 379 0

原创 SpringMVC教程之自定义拦截器

一、前言 SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的。在SpringMVC 中定义一个Interceptor 非常简单,主要有两种方式, 第一种方式是要定义的Interceptor类要实现了Spring 的HandlerInter...

2018-12-22 12:04:24 143 0

转载 2019 Java面试题

马上又是一个金九银十的招聘旺季,小编在这里给大家整理了一套各大互联网公司面试都喜欢问的一些问题或者一些出场率很高的面试题,给在校招或者社招路上的你一臂之力。 首先我们需要明白一个事实,招聘的一个很关键的因素是在给自己找未来的同事,同级别下要找比自己优秀的人,面试是一个双向选择的过程,也是一个将心...

2018-08-26 23:24:18 3617 4

原创 SpringMVC基础篇之HelloWorld

一、准备 Eclipse:Luna Service Release 1 (4.4.1) Tomcat插件:tomcat7-maven-plugin JDK:1.7.0_79 spring-webmvc:4.1.3.RELEASE 二、步骤 搭建Maven工程如下: POM文件依赖...

2018-08-23 22:40:33 85 0

原创 MyBatis运行原理SQLSessionFactory的初始化

一、前言 在前面的章节中,我们简单的介绍了一下MyBatis是如何配置使用的,为了更深切的体会到MyBatis的精髓,这一节我们将通过代码简单的看一看MyBatis的源码,分析一下MyBatis的执行流程 二、案例 修改MyBatisTest文件 在32行处,打上断点,运行,方法进入,...

2018-07-23 07:01:50 1102 0

原创 MyBatis插件开发原理

一、前言 MyBatis采用责任链模式,通过动态代理组织多个插件(拦截器),通过这些插件可以改变MyBatis的默认行为(诸如SQL重写之类的),由于插件会深入到MyBatis的核心,因此在编写自己的插件前最好了解下它的原理,以便写出安全高效的插件。 MyBatis在四大对象的创建过程中,都会有...

2018-07-20 07:03:38 1833 0

原创 老司机学习MyBatis之逆向工程MGB的简单使用

一、前言 MyBatis Generator简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件,接口,以及bean类。支持基本的增删改查,以及QBC风格的条件查询,这样能够大大减少我们平时开发的工作量。但是表连接、存储过程等这些复杂sql的定义需...

2018-07-19 07:16:59 931 0

原创 老司机学习MyBatis之整合ehcache缓存框架

一、前言 MyBatis为我们提供了Cache接口,也提供了一些实现类,进入Cache接口源码,可以看到缓存对于MyBatis来说就是一个Map,比较简陋。但是大家都知道MyBatis是一个专注于持久层框架,与数据库打交道MyBatis是很专业的,但是对于缓存它就略显不足,即便如此MyBatis...

2018-07-16 20:28:27 207 0

原创 老司机学习MyBatis之一级、二级缓存的相关设置详解

一、前言 前面两个章节,我们简单的介绍了一级缓存和二级缓存,并对它们的使用有了初步的了解,下面我们将从以下几个配置深入的了解一下几个常用的配置对一二级缓存的影响。 二、案例 ①全局setting的cacheEnable 这个配置我们在使用二级缓存的时候有用到,如果配置成false,二级缓存...

2018-07-16 20:24:45 135 0

原创 史上最简单的SpringBoot教程之浅析热部署

一、前言在我们编写代码的时候,您会发现我们只是把返回的信息改变了或者增加了一个方法,就需要重新启动服务,如果以这种方式编码,我们平时开发就会非常头疼,那么如何解决热部署问题呢?这里Spring boot给出了一个解决方案,就是使用springloaded。二、准备开发环境:1.7.0_79开发工具...

2018-07-10 07:23:29 329 0

原创 史上最简单的SpringBoot教程之如何使用FastJson解析JSON数据

一、准备开发环境:1.7.0_79开发工具:Eclipse项目管理工具:Maven3操作系统:Windows8Spring boot版本:1.4.1.RELEASE二、案例跟前面工程一样,搭建一个Maven工程SpringBootFastJsonPOM文件中导入相关依赖<projec...

2018-07-09 07:27:30 1329 0

原创 史上最简单的SpringBoot教程之如何返回JSON

一、准备开发环境:1.7.0_79开发工具:Eclipse项目管理工具:Maven3操作系统:Windows8Spring boot版本:1.4.1.RELEASE二、案例搭建一个Maven工程SpringBootJsonPOM文件中导入相关依赖<project xmlns=&quo...

2018-07-09 07:23:20 937 0

原创 史上最简单的SpringBoot教程之如何打印HelloWorld

一、前言Spring boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring boot包含的特性:♦创建独立的Spring应用程序♦嵌入Tomcat,无需部署...

2018-07-09 07:16:26 1156 0

原创 菜鸟学习IntelliJ IDEA之代码格式化与Eclipse保持风格一致

一、前言 相信很多用惯了Eclipse开发工具的童鞋,再来使用IntelliJ IDEA开发时,有点不太适应IntelliJ IDEA的代码风格或是快捷键的使用方式。本文简单的介绍一下如何保持Eclipse代码风格跟IntelliJ IDEA一样,如何解决这个问题呢?IntelliJ IDEA有...

2018-07-07 10:49:59 16871 4

原创 菜鸟学习IntelliJ IDEA之如何从SVN服务器check源码

一、准备参照前一章节《IntelliJ IDEA教程之如何提交代码到SVN服务器》,我们已经通过IntelliJ IDEA将工程提交到SVN服务器了,现在我们就要解决如何从SVN服务器检出代码到本地运行。二、步骤MyIdeaWorkspace新建一个工作区MyIdeaWorkspace,如下图点击...

2018-07-07 10:38:07 977 0

原创 菜鸟学习IntelliJ IDEA之Maven工程多模块继承和聚合创建(详解)

一、前言 IntelliJ IDEA开发环境搭建:具体参考《IntelliJ IDEA教程之如何配置Maven》 Maven环境搭建:具体参考《Windows下Maven安装以及配置》 主要模拟企业开发是如何搭建Maven工程的,以Spring+SpringMVC+MyBatis为框架搭建,搭...

2018-07-07 07:22:58 2970 1

原创 菜鸟学习IntelliJ IDEA之如何提交代码到SVN服务器

一、准备 参照《IntelliJ IDEA教程之如何配置SVN》这篇文章配置SVN插件。 提交代码到SVN之前,记得要先创建版本库,请参照《SVN如何建立版本库》这篇文章创建版本库。 二、步骤 查看SVN资源库,如下图: 弹出一个svn的窗口,在左边有加号可以添加一个svn的库 ...

2018-07-06 07:04:44 7919 0

原创 SVN如何建立版本库

一、前言 如果还没有安装SVN服务器,请查阅《windows8下搭建svn服务器(图文教程)》这篇文章进行安装。 二、步骤 打开VisualSVN管理界面 设置放置工程代码的位置 Respositories右键 -> 新建 -> Respository…,如图: ...

2018-07-05 06:57:11 4168 0

原创 菜鸟学习IntelliJ IDEA之如何配置SVN

一、前言大家如果用过MyEclipse或者Eclipse都应该知道是如何配置SVN插件,有两种方式:①在线联网式 ②插件式安装,如果您不知道想要了解如何安装,可以参考《windows下搭建svn服务器(图文教程)》这篇文章。这一节我们将介绍IDEA是如何配置SVN的。其实IDEA已经为我们集成了很...

2018-07-04 21:32:47 1177 0

原创 windows8下搭建svn服务器(图文教程)

一、前言VisualSVN Server Manager是一款Windows下免费的SVN服务器图形化管理工具(工程目录创建(truck\tags\branches)、Group管理、User管理、权限分配),使得配置SVN仓库异常简单,无需注册一个随系统启动的服务脚本。那为什么要用VisualS...

2018-07-04 07:32:30 885 0

原创 菜鸟学习IntelliJ IDEA之如何设置JVM运行参数

一、前言 这里介绍设置IntelliJ IDEA 的JVM运行参数的方式,针对的是IntelliJ IDEA2017版本的。 Edit Configurations->Maven->Runner 设置以下参数-server -XX:PermSize=128M -XX:MaxPerm...

2018-06-27 06:20:28 6217 2

原创 菜鸟学习IntelliJ IDEA之如何设置文件默认编码格式

一、前言这里介绍两种设置IntelliJ IDEA 的文件编码的方式,针对的是IntelliJ IDEA2017版本的File ->Settings ->Editor ->File Encodings 这种方式修改的文件编码方式只对当前 project 起...

2018-06-27 06:17:24 2577 0

原创 菜鸟学习IntelliJ IDEA之如何解决读取properties文件乱码问题

一、前言我们先看一下properties乱码的现象,读取db.properties文件里面的key,对应的value是中文,但是读取出来之后是乱码的,如下图所示:那我们如何解决这种问题呢?二、步骤点击File ->Settings ->Editor ->F...

2018-06-26 06:57:48 2847 2

原创 菜鸟学习IntelliJ IDEA之如何调整菜单栏字体大小

一、前言这一节,我们介绍一下IntelliJ IDEA如何调整菜单栏字体大小,是菜单栏字体哟,如下图:二、步骤点击File->Settings或者使用快捷键Ctrl+Alt+S进入以下界面点击上图Appearance,查看右边区域找到Override default fonts by...

2018-06-25 07:38:37 1100 0

原创 菜鸟学习IntelliJ IDEA之如何设置编辑或控制台字体大小

一、前言有时候在使用Intellj IDEA的时候,看屏幕的代码很费力,那么我们就要调整下显示的字体大小,Intellj IDEA安装成功之后默认字体是很小的,我们就需要调整一下字体大小和颜色。二、步骤点击File->Settings或者使用快捷键Ctrl+Alt+S进入以下界面如下...

2018-06-24 21:23:36 889 0

原创 老司机学习MyBatis之二级缓存的使用

一、前言二级缓存是Application应用级别的缓存,它的是生命周期很长,跟Application的声明周期一样,也就是说它的作用范围是整个Application应用。二级缓存也叫做全局缓存,基于namespace级别的缓存,一个namespace对应一个二级缓存。①MyBatis将Applic...

2018-06-24 21:20:57 166 0

原创 老司机学习MyBatis之一级缓存原理以及失效情况

一、前言MyBatis将数据缓存设计成两级结构,分为一级缓存、二级缓存:一级缓存是Session会话级别的缓存,位于表示一次数据库会话的SqlSession对象之中,又被称之为本地缓存。一级缓存是MyBatis内部实现的一个特性,用户不能配置,默认情况下自动支持的缓存,用户没有定制它的权利(不过这...

2018-06-22 06:58:28 2162 1

原创 菜鸟学习IntelliJ IDEA之如何clean或者install Maven项目

一、前言 Eclipse中如果我们想clean或者install工程,我们只需要右键工程,然后找到run->Maven install 或者run->Maven clean就可以了,但是IDEA中我们要怎么去操作呢? 二、步骤 这里我们介绍两种方式,如何调试出窗口 点击菜单栏V...

2018-06-21 07:38:50 3831 0

原创 菜鸟学习IntelliJ IDEA之如何基于Maven创建Web工程

一、前言本文主要是图文详细介绍如何使用IntelliJ IDEA 创建基于Maven构建的Web项目的过程。二、步骤如果是第一次打开软件直接点击 Create New Project ,如果之前已经打开过项目了,需要点击菜单中 File -> New Module … 如下图点击Ne...

2018-06-20 07:35:59 353 0

原创 菜鸟学习IntelliJ IDEA之如何基于Maven创建Java工程

一、前言如果没有在IDEA中配置Maven环境,请参考《IntelliJ IDEA教程之如何配置Maven》这篇文章进行配置。二、步骤点击File->New->Module...找到Maven的设置地方,如下图点击Next,定义gav点击Next点击Next点击Fini...

2018-06-19 07:03:27 1328 0

原创 菜鸟学习IntelliJ IDEA之如何配置Maven

一、前言 Maven 下载: http://maven.apache.org/download.cgi 本文使用的Maven版本:apache-maven-3.2.3.zip 本文使用的环境:Windows8 二、步骤 解压apache-maven-3.2.3.zip,解压的位置自定义,这...

2018-06-18 12:59:13 16724 5

原创 Linux(CentOS7)下Maven3如何安装

一、准备Maven版本:apache-maven-3.3.3-bin.tar.gzLinux安装:请参考《VMware下CentOS6.8及7以上版本安装》,《VMware下安装CentOS7后,无法上网解决方法》这两篇文章安装CentOS7二、步骤创建maven目录,上传maven安装包[roo...

2018-06-17 09:12:39 279 0

原创 菜鸟学习IntelliJ IDEA之如何创建普通的Web工程

一、前言前面一节我们介绍了如何搭建Java工程,这一节我们将介绍如何搭建Web工程。二、步骤大家如果看过前面一个章节,按照步骤搭建过完整的Java工程,就应该知道IntelliJ IDEA里面Project和Module的区别。这里我们重申一遍:Project指的是工作空间,类似Eclipse的w...

2018-06-16 08:00:26 363 0

原创 菜鸟学习IntelliJ IDEA之如何创建普通的Java工程

一、前言前面两个章节我们分别讲解了Windows和Linux两种不同的环境下InteliJ IDEA是如何安装的,后续几个章节我们将来看看如何通过InteliJ IDEA来创建项目和一些其他技巧性的使用方法,这一节我们将简单介绍一下InteliJ IDEA是如何创建普通的Java工程的。二、步骤首...

2018-06-15 07:40:40 1776 0

原创 老司机学习MyBatis之动态SQL使用foreach在Oracle中批量插入

一、前言前面一节,我们讲解了在MySQL下如何通过foreach批量插入数据,这一节,我们将介绍在Oracle下批量插入数据,也有两种方式。二、案例完整的工程目录结构如下在Oracle下创建数据库表t_emp,并创建序列CREATE TABLE t_emp ( id number(10) NO...

2018-06-14 21:38:18 2427 1

原创 老司机学习MyBatis之动态SQL使用foreach在MySQL中批量插入

一、前言 当我们使用MyBatis一次性插入多条数据时候也可以使用foreach标签,本文我们将介绍MySQL中使用MyBatis批量插入数据的两种方式。 二、案例 ①第一种方式 修改EmpMapper文件,增加batchSave方法 /** * 批量插入数据 * @param emp...

2018-06-14 07:19:25 9183 0

提示
确定要删除当前文章?
取消 删除