自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java学习过程中 遇到的技巧记录

1.判断两个数组相等Arrays.equals(a, b)若要求两个数组乱序相等可以先排序Arrays.sort(arr1);Arrays.sort(arr2);return Arrays.equals(arr1,arr2);2.判断两个列表乱序相等Collections.sort(one);Collections.sort(two);one.equals(two);3.列表去重List<String> myList = list.stream().distinct

2022-03-13 18:30:45 139

原创 git学习记录

用户信息配置git config --global user.name “user_name”git config --global user_email “user_email”(如果使用了–global选项,那么该命令只需要运行一次,即可永久生效。)检查配置信息获取帮助信息执行命令后,仍处于当前分支...

2022-03-11 11:29:51 120

原创 前端学习记录——Ajax

2022-03-02 09:46:32 142

原创 Java面试题总结(十三)

121.说一下类加载的执行过程?122.怎么判断对象是否可以被回收?123.java 中都有哪些引用类型?124.说一下 jvm 有哪些垃圾回收算法?125.说一下 jvm 有哪些垃圾回收器?126.详细介绍一下 CMS 垃圾回收器?127.新生代垃圾回收器和老生代垃圾回收器都有哪些?有什么区别?128.简述分代垃圾回收器是怎么工作的?129.说一下 jvm 调优的工具?130.常用的 jvm 调优的参数都有哪些?...

2021-10-08 17:06:26 123

原创 Java面试题总结(十二)

111.说一下 mysql 常用的引擎?MySQL - 常用存储引擎区别总结(2020最新版)112.说一下 mysql 的行锁和表锁?深入理解数据库行锁与表锁详解 MySql InnoDB 中的三种行锁(记录锁、间隙锁与临键锁)MySQL中的锁(表锁、行锁)全网最全的一篇数据库MVCC详解,不全我负责113.说一下乐观锁和悲观锁?面试官:你了解乐观锁和悲观锁吗?114.mysql 问题排查都有哪些手段?1.使用 show processlist 命令查看当前所有连接信息。(1)pro

2021-09-28 15:58:47 91

原创 Java面试题总结(十一)

101.一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 mysql 数据库,又插入了一条数据,此时 id 是几?一般情况下,我们创建的表的类型是InnoDB,如果新增一条记录(不重启mysql的情况下),这条记录的id是8;但是如果重启MySQL的话,这条记录的ID是6。因为InnoDB表只把自增主键的最大ID记录到内存中,所以重启数据库或者对表OPTIMIZE操作,都会使最大ID丢失。但是,如果我们使用表的类型是MylSAM,那么这条记录的ID就是8。因为MylSAM表会把自增主键的最

2021-09-24 15:37:24 328

原创 Java面试题总结(七)

61.说一下 tcp 粘包是怎么产生的?62.get 和 post 请求有哪些区别?63.如何实现跨域?87.说一下 JSONP 实现原理?88.说一下你熟悉的设计模式?89.简单工厂和抽象工厂有什么区别?90.为什么要使用 spring?91.解释一下什么是 aop?92.解释一下什么是 ioc?93.spring 有哪些主要模块?94.spring 常用的注入方式有哪些?95.spring 中的 bean 是线程安全的吗?96.spring 支持几种 bean 的作用域?97.

2021-09-23 10:23:43 87

原创 关于HTTP TCP Socket的几篇文章

TCP连接、Http连接与Socket连接的区别socket底层实现原理socket连接和http连接的区别

2021-09-10 17:40:07 69

原创 Java面试题总结(六)

51.什么是 XSS 攻击,如何避免?什么是跨站脚本?如何防范 XSS 攻击前端安全系列(一):如何防止XSS攻击?什么是XSS攻击?如何防御XSS攻击?52.什么是 CSRF 攻击,如何避免?前端安全系列(二):如何防止CSRF攻击?53.throw 和 throws 的区别?throws和throw的区别54.final、finally、finalize 有什么区别?1、final修饰符(关键字)。2、finally是在异常处理时提供finally块来执行任何清除操作。不管有没有异常

2021-09-07 20:58:21 97

原创 Java面试题总结(五)

41.动态代理是什么?有哪些应用?怎么实现动态代理?Java学习笔记:动态代理是什么?怎么实现?有哪些应用?Java中的动态代理是什么Java:聊聊JDK和CGLib动态代理实现和区别42.为什么要使用克隆?想对一个对象进行处理,又想保留原有的数据进行接下来的操作,就需要克隆了。克隆分浅克隆和深克隆,浅克隆后的对象中非基本对象和原对象指向同一块内存,因此对这些非基本对象的修改会同时更改克隆前后的对象。深克隆可以实现完全的克隆,可以用反射的方式或序列化的方式实现。43.如何实现对象克隆?深拷贝和浅

2021-09-07 14:25:57 123

原创 Java8 收集器 - java.util.stream.Collectors(转)

Java8 收集器 - java.util.stream.Collectors

2021-09-06 21:02:42 251

原创 Java Stream API groupingBy()(翻)

groupingBy()提供了与 SQL 的 GROUP BY 子句类似的功能。使用形式如下:.collect(groupingBy(...));需要指定一个属性才能使用,通过该属性执行分组。我们通过提供功能接口的实现来实现这一点 - 通常通过传递lambda表达式。例如,如果我们想按长度对字符串进行分组,我们可以通过将 String::length 传递给 groupingBy() 来实现:List<String> strings = List.of("a", "bb", "cc"

2021-09-06 19:41:50 222

原创 乐观锁思想的实现方式——CAS

乐观锁的一种实现方式——CAS

2021-09-03 17:09:02 69

原创 java 线程方法join的简单总结

java 线程方法join的简单总结(转)

2021-09-03 15:13:06 61

原创 可重入锁概念

可重入锁概念当某个线程A已经持有了一个锁,当线程B尝试进入被这个锁保护的代码段的时候,就会被阻塞.可重入 就是说某个线程已经获得某个锁,可以再次获取锁而不会出现死锁。而锁的操作粒度是”线程”,同一个线程再次进入同步代码的时候.可以使用自己已经获取到的锁,这就是可重入锁。java里面内置锁(synchronize)和Lock(ReentrantLock)都是可重入。为什么要可重入如果线程A继续再次获得这个锁呢?比如一个方法是synchronized,递归调用自己,那么第一次已经获得了锁,第二次调用的

2021-09-03 14:39:51 201

原创 数据表扩展字段(转)

数据表扩展字段(转)

2021-09-03 14:04:30 101

原创 Java 注解

java@ 注解原理与使用JAVA 注解的基本原理

2021-09-03 11:25:27 66

原创 Java面试题总结(四)

31.多线程锁的升级原理是什么?什么是锁升级(锁膨胀)?  JVM优化synchronized的运行机制,当JVM检测到不同的竞争状态时,就会根据需要自动切换到合适的锁,这种切换就是锁的升级。升级是不可逆的,也就是说只能从低到高,也就是无锁->偏向锁->轻量级锁->重量级锁,不能够降级锁分级别原因:没有优化以前,synchronized是重量级锁(悲观锁),使用 wait 和 notify、notifyAll 来切换线程状态非常消耗系统资源;线程的挂起和唤醒间隔很短暂,这样很浪费资

2021-09-02 21:11:01 129

原创 Mybatis中的<sql>和<include>

标签 标签是用来定义可重用的 SQL 代码段。 标签可以被包含在其他语句里面, 使用 标签来包含。 标签里面是可以使用 ${} 占位符参数化的(注意, 此处的参数不是调用时传进来的), 不同的属性值通过包含的实例而变化。标签中可以包含的标签所有的动态 SQL 相关的节点都是可以有的。用的最多的就是 节点。标签通过include标签使SQL片段达到代码复用的目的。标签必须要有 refid, 可以有0个或多个 property。 通过 property 标签, 将的属性包含进来。引用另一

2021-09-02 20:02:41 974

原创 Java中汉字转拼音pinyin4j的用法

pinyin4j 是一个支持将简体和繁体中文转换到成拼音的Java开源类库;依赖jar包导入 <!-- pinyin4j 汉语转拼音 --> <dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.

2021-09-02 16:48:57 1971

原创 String.Join()方法(Java8新方法)与StringUtils.join()方法

String.Join()源码 public static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements) { Objects.requireNonNull(delimiter); Objects.requireNonNull(elements); StringJoiner joiner = new Str

2021-09-02 15:54:09 609

原创 CollectionUtils.isEmpty

用法判断集合是否为空CollectionUtils.isEmpty(null): true  CollectionUtils.isEmpty(new ArrayList()): true    CollectionUtils.isEmpty({a,b}): false判断集合是否不为空CollectionUtils.isNotEmpty(null): false  CollectionUtils.isNotEmpty(new ArrayList()): false  CollectionUt

2021-09-01 17:09:20 539

原创 MySQL的索引类型:B-Tree索引和HASH索引

索引,是存储引擎用于快速找到记录的一种数据结构。尤其是在表中的数据量越来越大时,索引对于性能的提升非常关键。在MySQL中,存储引擎在使用索引时,会先在索引中找到对应值,然后根据所匹配的索引记录找到对应的数据行。大多数的MySQL引擎都支持B-Tree索引,它底层使用的是B+Tree这种数据结构来存储数据的。B-Tree索引是一个平衡查找树,叶子到根部的节点距离相等。所有的记录都是按照键值的大小排列,叶子结点由指针连接。B-Tree索引的特点1、B-tree索引可以加快数据的查询速度  存储引擎不需

2021-09-01 15:12:49 1354

原创 IDEA使用相关Tips(持续更新)

关于IDEA的操作对于提升工作效率很有帮助Ctrl + N 和Ctrl + Alt + T 快速生成代码块Ctrl + 鼠标左键 跳转到引用处Ctrl + Alt + 鼠标坐标 跳转到实现处Ctrl + ↑回到刚才上一次光标选中的位置(可自定义)双击Shift 全局搜索方法/接口等(可以包含引用的包)Ctrl + Shitf + F 全局搜索Ctrl + Alt + V 快速生成返回值这些快捷键都是可以自己在IDEA的Keymap里配置的,可以根据自己的喜好在IDEA中debug代码

2021-09-01 14:56:20 263

原创 分页工具一Pageable与Page

分页工具一Pageable与Page

2021-09-01 11:14:18 170

原创 深入理解Java Lambda表达式

深入理解Java Lambda表达式 - 精选技术与科学的文章 - 知乎https://zhuanlan.zhihu.com/p/365505945

2021-08-31 20:51:41 43

原创 Java面试题总结(三)

21.创建线程有哪几种方式?一、继承Thread类创建线程类(1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。(2)创建Thread子类的实例,即创建了线程对象。(3)调用线程对象的start()方法来启动该线程。二、通过Runnable接口创建线程类(1)定义runnable接口的实现类,并重写该接口的run()方法,该run()方法的方法体同样是该线程的线程执行体。(2)创建 Runnable实现类的实例,

2021-08-25 20:35:28 144

原创 Java面试题总结(二)

11.抽象类必须要有抽象方法吗?抽象类不一定有抽象方法;但是包含一个抽象方法的类一定是抽象类。解释:抽象方法:java中的抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现。抽象方法与抽象类:当一个方法为抽象方法时,意味着这个方法必须被子类的方法所重写。abstract抽象类不能用new实例化对象,abstract方法只允许声明不能实现。如果一个类中含有abstract方法,那么这个类必须用abstra

2021-08-24 19:49:08 725

原创 Java面试题总结(一)

JRE顾名思义是java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。

2021-08-23 19:53:41 130

原创 Mybatis中报错invalid comparison: java.util.Date and java.lang.String

报错信息Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String### Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String原因 <if test

2021-08-23 11:14:58 207 2

原创 Mybatis中使用小于号<和<=

在mybatis中, sql写在xml映射文件中,如果sql中有一些特殊字符的话,在解析xml文件的时候就会被转义,比如说 < 和<=,如下图方法一:使用特殊转义字符&gt; 表示大于号&lt; 表示小于号方法二:使用<![CDATA[ ]]>符号里面的内容不被解析...

2021-08-18 15:14:07 1851

原创 编码规范(二)注释规约

代码注释说明类注释所有的类都必须使用 Javadoc,添加创建者和创建日期及描述信息,不得使用 // xxx 方式 /** * <p> * description * </p> * * @author xxxx@hand-china.com 2018/06/07 13:48 */ public class Demo { }方法注释所有的抽象类、接口中的方法必须要用 Javadoc 注释、除了返回值、参数、异常说明外,还必须指出该方法做什么事情

2021-08-13 15:05:28 201

原创 编码规范(一)应用分层

DDD 代码架构最简单的DDD架构至少需要包含如下的结构,将业务和流程分开,应用服务专注用例调度,反应用户故事;领域对象/服务专注核心业务。整个模块通用的放到基础设施层,资源库和外部服务实现也放到基础设施层,屏蔽实现细节。└─src ├─main │ ├─java │ │ └─com │ │ └─<organization> │ │ └─<module> │ │ ├

2021-08-13 10:21:27 437

原创 Mybatis入门 一对一查询 基于XML配置

实体类Dept类public class Dept implements Serializable{ private Long departmentId; private String departmentCode; private String departmentName; private Long managerId; private Long locationId; private Location location;}Emp类pu

2021-07-22 11:23:01 200

原创 Mybatis XMl配置

Mybatis XMl配置settings设置参数描述有效值默认值cacheEnabled该配置影响的所有映射器中配置的缓存的全局开关。true,falsetruelazyLoadingEnabled延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。 特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态。true,falsefalseaggressiveLazyLoading当启用时,对任意延迟属性的调用会使带有延迟加载属性的对象完整

2021-07-20 09:51:54 179

空空如也

空空如也

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

TA关注的人

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