自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 通过模拟Mybatis的自动封装来理解反射

Java反射入门什么是反射用new关键字创建对象使用反射创建对象使用反射动态调用方法总结什么是反射JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制以上就是对反射的解释,但是解释的太官方,现在我们从代码入手。先看不用反射的情况应该怎么创建对象用new关键字创建对象比如现在通过JDBC查询出来了一个结果集ResultSet,需要将结果集转化成对象之后

2020-07-28 14:39:24 292

原创 mybatis一对多方式批量插入

@[TOC]目录需求public class Order { private String orderId; private List<OrderGoods> orderGoods;}public class OrderGoods { private String goodsId; private String goodsName; private float goodsPrice; private int quantity;}如实

2020-06-13 01:53:54 2996

原创 深入浅出Java动态代理

什么是动态代理这里先不做解释,直接开门见山在我们开发过程中,可能有很多重复的操作或者代码需要我们去编写,打个比如下面这样,你需要记录你的开发情况(用来举例,不要钻牛角尖),每次核心业务的进行都需要去标记开始和结束。public class Service { public void service() { System.out.println("主要业务开始"); System.out.println("进行主要业务"); System.

2020-05-24 02:06:41 202

原创 SpringBoot统一异常处理

统一异常处理@RestControllerAdvice注解使用方式配合自定义异常使用@RestControllerAdvice注解这个注解可以声明一个类专门用来拦截异常并且可以进行处理使用方式其中 @ExceptionHandler用来声明拦截异常类型。先把@RestControllerAdvice注释掉,在代码中加入出错的代码,在未使用统一处理的时候,如果后台出错是这样的使用统一处理之后可以看到,返回的信息成为了我们在统一异常处理里面的返回值。配合自定义异常使用我们可以根据业务需

2020-09-03 10:53:41 132 1

原创 mysql大小写敏感导致程序无法启动

将数据库转移到centos服务器上之后,项目启动一直报找不到XXX Table,但是数据库中存在这个表,对比了一下发现报错信息的表名发现是大写字母,就考虑到了可能换了环境,区分大小写了,于是更改了mysql的配置文件先找到配置文件的位置进入该目录,编辑该配置文件加上这样一句话,1表示不区分,0表示区分lower_case_table_names=1再次启动项目,启动成功!...

2020-08-17 14:23:53 605

原创 redis忘记关闭连接,前台请求出现pending,记一次找bug的经历

再写一个项目的时候,配置了redis作为中间缓存来减少数据库的压力,可是在测试的时候总是突然出现发送到后台的请求一直没有返回,如图所示。而且出现的情况是随机的,排查bug就更加费劲了,在后台注释掉redis的代码后发现此问题不再出现,可以确定是后台redis的某个部分阻塞了,然后为了搞清楚bug出现的条件进行了多次测试,突然发现当需要经过redis的请求发送次数到第11次的时候,bug就出现了,并且卡住的时间是一样的,当到2000ms的时候就返回失败的消息。突然想到了redis的配置文件,发现了重要的

2020-06-08 23:54:34 613 1

原创 快速排序

快速排序写了很多次了,但一直没有理解,今天重新写了一次,记录一下自己的理解文章目录实现原理代码实现实现原理快排的实现原理是给定一个基准,这个基准最好是数组里面存在的数(一般是第一个),进行如下操作。从数组右边开始设置一个游标 j,j往左边走,每走一步与基准进行比较,如果比基准大,就继续往左边走,如果比基准小或者相等,则跟基准调换位置,调换位置之后,基准的下标就是j,原来 j下标位置的值就到了原来基准的位置。再从数组左边设置一个游标i,i往右边走,每走一步与基准进行比较,如果比基准小,就继续往右边

2020-06-04 18:25:48 131

原创 mysql数据库事物的四个特性及含义

数据库事务transanction正确执行的四个基本要素。ACID,原子性(Atomicity)、一致性(Correspondence)、隔离性(Isolation)、持久性(Durability)。原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。一致性:在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。隔离性:隔离状态执行事务,使它们好像是系统在给

2020-05-22 12:36:29 358

原创 Redis学习

安装步骤下载安装包解压编译(需要gcc支持)修改配置文件从解压后的文件复制一份redis.conf到编译后的文件找到对应的配置项进行更改,比如需要更改默认端口为6377启动# 启动服务./redis-server# 使用自定义的配置文件启动./redis-server ../redis.conf # 启动客户端./redis-server# 指定ip端口启动./redis-cli -h 127.0.0.1 -p 6377设置key的过期时间# 设置name这个ke

2020-05-22 12:34:04 136

原创 Springboot整合Jedis工具操作redis数据库

准备工作让redis可以被远程连接,关闭保护模式,添加密码。# Warning: since Redis is pretty fast an outside user can try up to# 150k passwords per second against a good box. This means that you should# use a very strong password otherwise it will be very easy to break.#require

2020-05-21 23:26:26 198

原创 DbUtil

import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetE...

2019-12-04 23:59:08 164

原创 hive数据库操作

库操作建库create database if not exists [dbname]切换库use [dbname]查询正在使用的库select current_database();查询库列表show databases;查询库信息desc database [dbname]删除库drop database [dbname] — 只能删除空库drop database...

2019-10-20 18:32:08 120

原创 springmvc入门配置

1.导入jar包将这些jar包导入到 WebContent----WEB-INF-----lib文件夹下,项目会自动编译2.配置 WebContent----WEB-INF下的web.xml文件3.在工程下新建Source Folder文件夹,命名为config,在config文件夹里新建xml文件,文件名必须和上图中的classpath:springMVC.xml,文件名一致,我...

2019-09-07 23:09:35 153

原创 Java IO

抽象类字节处理流:OutputStream(输出字节流)、InputStream(输入字节流);字符处理流:Writer(输出字符流)、Reader(输入字符流)通过字节流或字符流的子类为父类对象实例化利用字节流或字符流中的方法实现数据的输入与输出操作;流的操作属于资源操作,资源操作必须及逆行管不处理。字节输出流:OutputStream字节的数据是以byte类型为主的实现操...

2019-08-12 15:23:39 94

原创 LinkedList

在学习LinkedList之前应该先了解ArrayList

2019-07-23 21:14:31 116

原创 java继承

为什么要用继承代码复用当我们在创建多个类似的类时,经常会用到相同的属性或者方法,比如我们创建了一个医生类,医生的常用属性有哪些:姓名、性别、年龄、科室等等,然后我们再创建一个教师类,教师的属性有:姓名,性别,年龄,科目等等。那么问题来了,这样写的话我们发现医生和教师都有姓名、性别、年龄,写一个两个类还好,如果有其他职业,要写十个类,二十个类,不停的重复定义姓名、性别、年龄,那就太麻烦了,所以我...

2019-07-20 15:04:07 152

原创 arraycopy方法

System.arraycopy用于数组的拷贝用法System.arraycopy(src, srcPos, dest, destPos, length)参数1 需要拷贝的对象参数2 从几号下标(索引)开始拷贝参数3 拷贝到哪里参数4 拷贝多长public static void main(String[] args) { int[] i1=new int[]{1,...

2019-07-12 16:33:53 345

原创 ArrayList

ArrayList是List的子接口,里面的元素无序,允许元素重复创建方法ArrayList<String> arry=new ArrayList<String>();这里需要引入包 import java.util.ArrayList;常用方法1.arry.add();case1:一个参数,那么这个参数为添加的元素,索引从0开始case2:两个...

2019-07-10 15:43:31 1195 2

原创 java多线程

多线程的概念打开一个应用程序,就是打开了一个进程,进程是线程的集合,为了让程序的执行更加高效,所以一个进程可以创建多个线程来"同时"执行互不干扰的方法。创建多线程的两种常见方法通过继承Thread类!public class MyThread1 extends Thread { @Override //重写Theard的run方法 public void run() { ...

2019-07-07 15:47:54 116 1

空空如也

空空如也

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

TA关注的人

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