自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 MyBatis学习11-SpringBoot集成MyBatis

MyBatis学习11-SpringBoot集成MyBatis1 创建 SpringBoot 项目2 项目结构3 关键点1 创建 SpringBoot 项目新建项目或新建模块,在左侧选择 Spring Initializr,右侧选择 JDK 的版本,并选中’Default:https//stat.spring.io’,点击Next。如下图:如果点击 Next 后一直在显示加载中的页面无其它反应,尝试切换网络后重新点击 Next。填写项目模块信息(主要填写 Group/Artifact)

2020-07-08 23:24:46 207

原创 MyBatis学习10-动态SQL

MyBatis学习10-动态SQL1 概述2 if3 choose (when, otherwise)4 trim (where, set)5 foreach1 概述业务上经常会出现不同条件下需要组装不同的 SQL 语句,使用 Java 代码进行 SQL 语句的组装过于复杂,MyBatis 针对这一痛点,提供了动态 SQL 来解决该问题。动态 SQL 是 MyBatis 的强大特性之一。借助功能强大的基于 OGNL 的表达式,使我们完成复杂 SQL 更为简单。2 ifif 标签是动态 SQL 中最为

2020-07-07 23:13:54 157

原创 MyBatis学习09-XML映射器

MyBatis学习09-XML映射器1 概述2 配置文件头部声明3 cache(缓存)4 cache-ref(缓存引用)5 select(查询标签)6 insert/update/delte(增、删、改标签)6 sql(SQL标签)7 resultMap(结果集映射)8 其他补充8.1 #{} 与 ${} 的区别8.2 resultType 与 resultMap 的区别1 概述MyBatis 中的 XML 映射器指的是专门存放 SQL 语句的 XML 配置文件。MyBatis 的真正强大在于它的语

2020-07-07 22:14:05 175

原创 MyBatis学习08-XML配置文件

MyBatis学习08-XML配置文件1 概述2 配置文件头部声明3 properties(属性)4 settings(设置)5 typeAliases(类型别名)6 typeHandlers(类型处理器)7 objectFactory(对象工厂)8 plugins(插件)9 environments(环境配置)10 mappers(映射器)1 概述MyBatis 中的 XML 配置文件指的是 mybatis-config.xml,该配置文件主要用于配置 MyBatis 架构的全局性配置内容,可配置如下

2020-06-26 09:09:53 320

转载 MyBatis学习07-整体架构

MyBatis 整体架构文章知识点来自《MyBatis技术内幕》中第1章 MyBatis 快速入门。文章内容转载自:MyBatis整体架构分析:基础支持层、核心处理层和接口层。MyBatis 的整体架构分为三层, 分别是基础支持层、核心处理层和接口层,如下图所示。基础支持层反射模块该模块对 Java 原生的反射进行了良好的封装,提供了更加简洁易用的 API ,方便上层使调用,并且对反射操作进行了一系列优化,例如缓存了类的元数据,提高了反射操作的性能。类型转换模块类型转换模块

2020-06-15 22:41:26 97

原创 MyBatis学习06-各ORM框架对比

MyBatis学习06-各ORM框架对比1 JDBC1.1 使用场景1.2 优点1.3 缺点2 DbUtils2.1 使用场景2.2 优点2.3 缺点3 JdbcTemplate3.1 使用场景3.2 优点3.3 缺点4 Hibernate4.1 使用场景4.2 优点4.3 缺点5 Spring-Data-JPA5.1 使用场景5.2 优点5.3 缺点6 Mybatis6.1 使用场景6.2 优点6.3 缺点1 JDBC非 ORM 框架,JAVA 最低层的数据库操作方式。1.1 使用场景现在已经很少

2020-06-14 22:42:33 617

原创 MyBatis学习05-初识MyBatis

MyBatis学习05-初识MyBatis1 前言2 MyBatis2.1 官网地址2.2 简介2.3 示例2.4 优缺点2.4.1 优点2.4.2 缺点1 前言目前比较流程的 ORM 框架有 Hibernate、Spring Data JPA、Mybatis(半 ORM 框架)。对于 Spring Data JPA 框架,Spring 基于 JPA 规范进行实现,对 JDBC 进行了高度的封装,不怎么需要开发人员进行 SQL 语句的编写,可以说使用 Spring Data JPA 进行数据库相关的开

2020-06-14 21:27:45 281

原创 MyBatis学习04-前篇之Spring-Data-JPA

MyBatis学习04-前篇之Spring-Data-JPA1 前言2 Spring-Data-JPA2.1 官网地址2.2 简介2.2.1 JPA2.2.2 Spring-Data-JPA2.3 示例2.4 优缺点2.4.1 优点2.4.2 缺点1 前言JDBC 是 JAVA 操作数据库的最原始的方式,commons-dbutils、JdbcTemplate等都是对 JDBC 操作的一层封装,使用 JDBC、commons-dbutils、JdbcTemplate 等进行开发,还是需要对数据库操作的相

2020-06-14 17:51:37 198

原创 MyBatis学习03-前篇之JdbcTemplate

MyBatis学习03-前篇之JdbcTemplate1 前言2 JdbcTemplate2.1 官网地址2.2 简介2.3 示例2.4 优缺点2.4.1 优点2.4.2 缺点1 前言使用 JDBC 进行数据库操作需要研发人员对数据库连接、结果集等资源进行管理,对于数据库连接的获取、预加载对象、结果集对象映射转换等内容进行大量的重复性的工作,且使用过程中容易出现资源泄露问题。实际上使用 JDBC 进行数据库操作的模式都是一样的,系统研发过程中,为了节约研发成本,大量研发或者团队选择对 JDBC 进行了一

2020-06-11 21:09:10 783

原创 MyBatis学习02-前篇之commons-dbutils

MyBatis学习02-前篇之commons-dbutils1 前言2 commons-dbutils2.1 官网地址2.2 简介2.3 示例2.4 DbUtils 优缺点2.4.1 优点2.4.2 缺点1 前言使用 JDBC 进行数据库操作需要研发人员对数据库连接、结果集等资源进行管理,对于数据库连接的获取、预加载对象、结果集对象映射转换等内容进行大量的重复性的工作,且使用过程中容易出现资源泄露问题。实际上使用 JDBC 进行数据库操作的模式都是一样的,于是就有好事者(褒义)对该系列过程进行封装,这类

2020-06-06 22:49:18 593

原创 MyBatis学习01-前篇之JDBC

MyBatis学习01-前篇之JDBC1 前言2 JDBC2.1 官网地址2.2 简介2.3 示例2.4 JDBC 优缺点2.4.1 优点2.4.2 缺点1 前言在系统开发过程中,开发人员需要使用面向对象的思维实现业务逻辑,但设计数据库表或是操作数据库记录时,则需要通过关系型的思维方式考虑问题。应用程序与关系型数据库之间进行交互时,数据在对象和关系结构中的表、列、字段等之间进行转换。目前常用的关系型数据库有 Mysql、Oracle、SqlServer,随着国产化的推行,国产化数据越来越多的出现在人们

2020-06-05 22:58:50 323

原创 学习效率之十步学习法

学习效率之十步学习法来源个人思考背后的核心逻辑十步学习法网上详细参考资料来源‘十步学习法’出自《软技能 代码之外的生存指南》一书。个人思考作为一名 Java 开发人员,需要学习的技术越来越多,几年前学习的内容已经慢慢开始淘汰,新的知识点越来越多,越来越复杂。作为程序猿的下一目标–架构师,所需要掌握的知识体系更加庞大。需要掌握的知识点如:JVM、并发编程、网络、数据库、dubbo、Sprin...

2020-05-06 23:21:08 113

原创 11. JVM性能优化可视化工具

JVM性能优化可视化工具工具选型工具说明jconsolejvisualvmmatjprofile工具选型jconsole:实时监控JVM情况,可使用jvisualvm进行替代。jvisualvm:实时监控JVM情况。mat:服务器中下载下来的dump文件进行内存分析。jprofiler:更专业的商业版JVM分析工具。工具说明对于JVM的性能优化监控工具,只需要掌握简单的工具操作方...

2020-04-26 23:18:48 239

原创 10. JVM常用命令

JVM常用命令1 性能优化常用命令2 官网学习资料2.1 官网地址2.2 jps(JVM Process Status Tool)2.2.1 官网地址2.2.2 描述2.2.3 命令格式2.2.3.1 参数(options)2.2.4 示例2.3 jinfo(Configuration Info for Java)2.3.1 官网地址2.3.2 描述2.3.3 命令格式2.3.3.1 参数(opt...

2020-04-24 22:49:23 958

原创 9. JVM常用参数

JVM 常用参数1 常用参数1.1 内存相关参数1.1.1 参数说明1.1.2 参数内存关系图1.2 GC调优参数1.2.1 基础参数1.2.2 并行回收器相关参数1.2.3 CMS 回收器相关参数1.2.4 G1 回收器相关参数2 官网资料2.1 官网地址2.2 参数命令分类2.3 标准选项(Standard Options)2.3.1 常用示例2.4 非标准选项(Non-Standard Op...

2020-04-06 12:02:49 415

原创 8. G1垃圾收集日志

1 G1 垃圾收集日志1.1 垃圾收集器设置设置 JVM 启动参数-XX:+UseG1GC,将当前 JVM 增加回收器设置为 G1 垃圾收集器,启动参数可参考使用-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:D://l...

2020-03-20 23:38:29 327

原创 7. 理解GC日志

1 前言阅读GC日志是处理Java虚拟机内存问题的基础技能,它只是一些人为确定的规则,没有太多技术含量。每一种收集器的日志形式都是由它们自身的实现所决定的,换而言之,每个收集器的日志格式都可以不一样。但虚拟机设计者为了方便用户阅读,将各个收集器的日志都维持一定的共性。2 打印 GC 日志2.1 启动参数JVM 默认是不打印 GC 日志的,如果要打印 GC 日志进行分析,需要在 JVM 的启...

2020-03-20 22:43:02 350

原创 6. 垃圾收集器

1 前言如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。1.1 新生代、老年代垃圾收集器组合2 Serial 收集器2.1 概念Serial 收集器是最基本的...

2020-03-18 22:09:29 161

原创 5. 垃圾回收算法

1 前言Java与C/C++相比最大的特点就是Java不需要开发人员进行内存的相关管理。内存的创建与销毁都是由JVM完成的,创建一个对象后会涉及内存空间的分配,对象使用完成后会涉及到内存的回收。当我们需要排查各种内存溢出,内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就需要对这些“自动化”的技术实施必要的监控和调节。这过程必不可少的需要学习JVM对于内存空间的创建分配与回收、JV...

2020-03-18 00:21:16 112

原创 4. Java 运行时数据区域

1 官网Java 运行时数据区域官网地址1.1 官网描述The Java Virtual Machine defines various run-time data areas that are used during execution of a program. Some of these data areas are created on Java Virtual Machine s...

2020-03-16 20:58:39 208

原创 3. Java 虚拟机对象探秘

1 对象的创建虚拟机遇到new指令时会进行如下3个步骤:去常量池中找到这个类的引用,查看是否已被加载。确认这个类已被加载、解析和初始化过。如果1和2满足,则直接引用这个地址,不满足,就要执行类加载的过程。类加载检查通过后,接下来虚拟机将为新生成对象分配内存。分配方式有如下两种:指针碰撞:假设java堆中内存是绝对规整的。所有用过的内存放到一边,没用过的放到一...

2020-03-16 20:53:02 149

原创 2. 类加载

1 类加载机制1.1 类的生命周期使用和卸载不属于载加载的过程1.2 加载类的加载:1. 通过类的全限定名获取该类的二进制字节流。2. 将二进制字节流所代表的静态结构转化为方法区的运行时数据结构。3. 在内存中创建一个代表该类的 java.lang.Class 对象,作为方法区这个类的各种数据的访问入口。数组的加载:数组类的特殊性:数组类本身不通过类加载器创建,...

2020-03-14 23:51:43 83

原创 1. 初识JVM

1 Java8 简单介绍1.1 Java8 官网JDK8 官网地址1.2 Java8 概述网页引导过程:官网 -> Reference -> Developer GuidesOracle has two products that implement Java Platform Standard Edition (Java SE) 8: Java SE Developm...

2020-03-14 23:22:17 133

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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