自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小杰瑞_

Do what makes your soul shine.

  • 博客(31)
  • 收藏
  • 关注

原创 MySQL高级笔记及脑图资料

最近在学习周阳老师的MySql高级,发现官网的资料只有pdf,所有在网上搜集的资料,整理下来。百度网盘地址:链接:https://pan.baidu.com/s/1sHMQRvnVrRtSmkPDVneMXw提取码:zfpp...

2020-01-03 17:42:33 11502 23

原创 idea版spring5.1.x源码环境搭建及demo

哈哈哈,不想一直当一个curd工程师,最近复习了反射、动态代理等知识,准备学习下spring源码。工具:IntelliJ IDEA 2019.1.3 、Jdk1.8.0_171、Gradle4.91.spring5.1.x源码地址:https://github.com/spring-projects/spring-framework/tree/5.1.x建议下载zip,会快一点2.G...

2020-03-29 16:50:20 836

原创 基于JDK的动态代理实现

前言必须具备反射相关知识,Spring AOP、IOC都是基于动态代理实现的,如果要学习Spring源码最好学习下动态代理。JDK 动态代理代理设计模式的原理:使用一个代理将对象包装起来,然后使用代理对象取代原始对象。任何对原始对象的调用都要经过代理对象代理。由代理对象决定是否以及何时将方法调用转到原对象上。动态代理动态代理是指客户通过代理类来调用其他对象的方法,并且是在程序运行时根...

2020-03-27 14:30:30 307

原创 git查看和删除远程分支

git branch -a 查看所有分支包括远程分支(红色部分)git branch 查看所有本地分支git push origin --delete 分支名 删除远程分支git branch -d 分支名 删除本地分支(不能在当前分支删除)git branch -D 分支名 强制删除本地分支...

2020-01-09 17:12:03 258

原创 IntelliJ IDEA 中Scanner在Junit下控制台不能输入的解决方式

问题在idea中使用单元测试,Scanner控制台输入无效。idea版本:2019.1.3junit版本:1.4.12解决方式:help =====》Edit Custom VM Options加上: -Deditable.java.test.console=true亲测可用,切记一定要在idea中更改这个配置,不然可能会无效。还有一种解决方式就是将Test里面的东西放入ma...

2019-12-23 19:20:02 2523 4

原创 Springmvc踩坑之org.springframework.http.converter.HttpMessageNotReadableException异常

当在get方法用@RequestBody会报org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing可以用@RequestParam注解代替

2019-09-19 22:09:38 1976

原创 高质量java代码笔记---建议10.不要在本类中覆静态导入的变量和方法

如果和静态导入的方法和常量同名,就会覆盖了静态导入的方法和常量,导致结果不一样package suggest.s10;import static java.lang.Math.PI;import static java.lang.Math.abs;/** * 建议10: * 不要在本类中覆静态导入的变量和方法 * @author Jerry * @create 2019-...

2019-09-17 20:30:52 90

原创 高质量java代码笔记---建议09.少用静态导入

Java5引入了静态导入语法(import static),其目的是为了减少字符输入量,提高代码可阅读性不使用静态导入:public class Client { /** * 计算圆面积 * @param r 半径 * @return */ public static double calCircleArea(double r){ ...

2019-09-17 20:29:17 133

原创 高质量java代码笔记---建议08.不要被旧语法困扰

" : " 语法是C中的旧语法goto,Java已经摒弃了public class Client { public static void methodA(){ System.out.println("方法A执行了"); //C中的goto语法,Java已经摒弃,用break,continue替代,但是保留了goto关键字 methodA:...

2019-09-17 20:25:23 120

原创 高质量java代码笔记---建议07.警惕自增陷阱

首先看代码:public class Client { public static void main(String[] args) { int count1=0; int count2=0; int num=10; for (int i=0;i<num;i++){ count1=count1+...

2019-09-17 20:24:14 117

原创 高质量java代码笔记---建议06.覆写变长方法也循规蹈矩

覆写(重写)必须满足的条件:重写方法不能缩小访问权限参数列表必须与被重写方法相同返回类型必须与被重写方法的相同或是其字类重写方法不能抛出新的异常,或者超出父类范围的异常,但是可以抛出更少、更有限的异常,或者不抛出异常。public class Client { public static void main(String[] args) { //向上转型 形参...

2019-09-17 20:20:24 99

原创 高质量java代码笔记---建议05.别让null值和空值威胁到变长方法

示例代码:public class Client { public void methodA(String str,Integer... itgs){ } public void methodA(String str,String...strs){ } public static void main(String[] args) { ...

2019-09-16 17:53:13 88

原创 高质量java代码笔记---建议04.避免带有变长参数的方法重载

在项目和系统开发中,为了提高方法的灵活度和可复用性,我们经常要传递不确定数量的参数类型,在jdk5之前常用的设计技巧就是把形参定义成Collection类型或其子类类型,或者数组类型,这种方法的缺点就是需要对空参数进行判断和筛选,比如实参为null值和长度为0的Collection或数组。而Java5引入变长参数(varags)就是为了更好地提高方法的复用性,让方法的调用者可以“随心所欲”地传递实...

2019-09-16 17:49:48 96

原创 高质量java代码笔记---建议03.三元操作符的类型务必一致

三元操作符是if-else的简化写法,在项目中使用它的地方很多,也非常好用,但是好用又简单的东西并不代表就可以随便用public class Ternary { public static void main(String[] args) { int i=80; String s1=String.valueOf(i<100?90:100); ...

2019-09-16 17:45:37 101

原创 高质量java代码笔记---建议02.莫让常量蜕变成变量

常量值务必在运行期保持不变代码如下:public class Const { public static void main(String[] args) { System.out.println("常量会变:"+Consts.RAND_CONST); }}/*接口常量*/interface Consts { //这还是常量吗? publ...

2019-09-16 17:40:59 70

原创 高质量java代码笔记---建议01.不要在常量和变量中出现易混淆的字母

包名全小写,类名首字母大写,常量全大写并用下划线分隔,变量采用驼峰命名法则(Camel Case)命名等,这些都是最基本的Java编码规范,但是在变量的声明中要注意不要引入容易混淆的字母。public class Client { public static void main(String[] args) { long i=1l; //结...

2019-09-16 17:32:34 127 1

原创 Java常用类之时间API

JDK8之前的时间API1. java.lang.System类中的currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差 @Test public void test01(){ long currentTimeMillis = System.currentTimeMillis(); //...

2019-09-04 21:48:29 177

原创 String、StringBuffer、StringBuilder的区别?

区别String (JDK1.0) : 不可变字符序列 底层使用char[]存储StringBuffer (JDK1.0) : 可变字符序列、效率低、线程安全 底层使用char[]存储StringBuilder (JDK1.5) : 可变字符序列、效率好、线程不安全 底层使用char[]存储注意:作为参数传递的话,方法内部String不会改变其值,StringBuffer和String...

2019-09-03 20:59:43 119

原创 单例设计模式

设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模式免去我们自己再思考和摸索。就像经典的棋谱,不同的棋局,我们用不同的棋谱“套路”。所谓类的单例设计模式,就是采用一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将该类的构造方法的访问权限设置...

2019-09-02 20:58:04 55

原创 ArrayList源码分析

List接口的特点有序、可重复“动态数组” 替换原生数组JDK api 中常用的List接口的实现类有 ArrayList 、LinkedList 、Vector相同点: 都实现了List接口,存储有序、可重复的数据不同点:ArrayList 是List接口的主要实现类 , 线程不安全,效率高。底层用Object[] elementData存储数据LinkedList 对...

2019-09-02 19:41:28 55

原创 带标签的break和continue的使用

break关键字用于结束当前循环举例说明:package flowcontrolstatement;/** * break 跳出当前循环(if不是循环) * continue 跳出当次循环 * @author Jerry * @create 2019-09-01 11:18 */public class BreakContinue{ public static void...

2019-09-01 12:04:04 196

原创 四、mybatis映射文件之自动映射

全局setting设置autoMappingBehavior默认是PARTIAL,开启自动映射的功能。唯一要求是列名和javaBean属性名一致如果autoMappingBehavior设置为null则会取消自动映射数据库字段命名规范POJO属性符合驼峰命名法,如A_COLUMN —>aColumn,我们可以开启驼峰命名映射功能,mapUnderscoreToCameCase=tru...

2019-08-26 23:53:06 333

原创 四、Mybatis映射文件

映射文件指导着Mybatis如何进行数据库曾删改查,有着非常重要的意义。文件头:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-...

2019-08-25 23:58:52 77

原创 mybatis异常之There is no getter for property named 'xxx' in 'class xxx'

异常org.apache.ibatis.reflection.ReflectionException:There is no getter for property named ‘xxx’ in ‘class xxx’原因: 一般是 动态sql中 if test= " " 中出现参数不对应得情况mapper文件中入参参数与bean(model)中属性不对应如果不是1中得原因,那就是m...

2019-08-25 23:22:40 376

原创 mybatis 之 select元素

111

2019-08-23 23:59:46 139

原创 Mybatis参数处理

单个参数:mybatis不会做特殊处理,直接#{参数名} 取出参数值多个参数:mybatis会做特殊处理. 多个参数会被封装成一个map, key:param1...paramN value:传入参数的值 异常:org.apache.ibatis.binding.BindingException: Parameter ...

2019-08-22 22:08:58 126

原创 mybatis踩坑之org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)异常

一般工程解决方案检查mapper映射文件的namespace检查mybatis核心配置文件的 < mapers> package路径是否对应检查映射文件与接口里面的方法是否对应去掉映射文件的空格或者中文注释resultType或者parameterType是否对应Maven项目解决方案由于maven项目在src/main/java中只编译java文件,其他的文件会...

2019-08-21 23:19:24 968

原创 springcloud微服务

什么是微服务?微服务化就是把服务微小化。微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是一种小而独立的处理过程,类似进程概念,能够自行独立启动或销毁,拥有自己独立的数据库。我所理解的微服务强调的是服务大小,它关注的是某一个点,是具体解决某一个问题/提供落地对应服务的一个服务应用,狭义的看...

2019-08-20 23:32:11 57

原创 敏捷开发学习

何为敏捷项目管理顾名思义,“敏捷”代表快速响应,快速行动。“快”即它的核心,而敏捷项目管理在很多方面都很好地诠释了“快”。当面对项目范围不明确,且相关方需求快速变化的环境时,敏捷项目管理的理念显然是非常适用的。敏捷团队还要求团队成员必须积极主动、有沟通和合作精神、可以进行自我管理。在这样的团队中工作,每个团队成员的技术能力、沟通能力、表达能力和领导力也都能得以快速提高并成为团队中的核心成员。...

2019-08-19 23:17:55 183

原创 随笔-01

拖沓了许久,终于开始静下心来写博客了。毕业一年了,好的坏的经历了这么多,浮躁的心终于开始沉了下来。记得去年离职的时候,带我的师傅说让我多记笔记,多写博客,说他工作十余年最后悔的事情就是没有写博客,觉得丢失了一笔巨大的财富。所以让我一定要养成写博客的习惯,一定要写好笔记,这样学过的知识才会变成自己的财富。希望在接下来的日子里,每天至少写一篇博客,记录点点滴滴。“No great aspirati...

2019-08-18 23:32:55 118

原创 稀疏数组

当一个数组中大部分元素为0,或者为同一个值得数组,可以使用稀疏数组来保存该数组。

2019-08-15 22:54:32 152

空空如也

空空如也

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

TA关注的人

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