自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MyBatis-plus 2.x -> 3.x 版本升级笔记

1.官方更新日志升级 JDK 8 + 优化性能 Wrapper 支持 lambda 语法模块化 MP 合理的分配各个包结构移除 com.baomidou.mybatisplus.extension.injector.methods.additional 包下的过时类重构注入方法,支持任意方法精简注入模式全局配置下划线转换消灭注入 AS 语句改造 Wrapper 更改为 QueryWrapper UpdateWrapper重构 分页插件 消灭固定分页模型,支持 Mapper 直接返回 IPa

2021-04-18 15:09:26 1491

转载 几种常见的属性拷贝工具类性能对比(Spring BeanUtils 、Apache BeanUtils等)

1、背景在日常开发中,我们经常需要给对象进行赋值,通常会调用其set/get方法,有些时候,如果我们要转换的两个对象之间属性大致相同,就会考虑使用属性拷贝工具进行。例如我们经常在代码中会对一个数据结构封装成DO、SDO、DTO、VO等,而这些Bean中的大部分属性都是一样的,所以使用属性拷贝类工具可以帮助我们节省大量的set和get操作。市面上有很多类似的工具类,比较常用的有:Spring BeanUtilsCglib BeanCopierApache BeanUtilsApache Pro

2020-08-18 23:59:39 1748

原创 React 使用 Mock.js 进行数据模拟简例

1、背景前后端分离开发的时候,前端和后端是并行开发的,前端往往刚开始不能拿到测试的数据,都需要自己写测试数据,多则几十行几十列的数据, 手动编写起来还是比较浪费时间的,虽然简单,但是都是体力活。那么是否有工具可以帮我们拦截AJAX请求,然后自动生成模拟数据,让前端能够爽爽的开发呢? Mock.js 正是这样一款类库,可以帮我们模拟生成一堆数据。2、Mock.js 介绍Mock.js 具有两个重要的特性:数据类型丰富支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。拦截

2020-08-16 14:56:26 1479

转载 Java Serializable 序列化的基本概念及简单实例

遇到这个 Java Serializable 序列化这个接口,我们可能会有如下的问题a,什么叫序列化和反序列化b,作用。为啥要实现这个 Serializable 接口,也就是为啥要序列化c,serialVersionUID 这个的值到底是在怎么设置的,有什么用。有的是1L,有的是一长串数字,迷惑ing。我刚刚见到这个关键字 Serializable 的时候,就有如上的这么些问题。在处理这个问题之前,你要先知道一个问题,这个比较重要。这个Serializable接口,以及相关的东西,全部都在 Ja

2020-07-18 21:25:24 172

原创 MySQL索引简例分析

1.什么是索引索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的位置信息。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。2.索引工作原理除了词典,生活中随处可见索引的例子,如火车站的车次表、图书的目录等。它们的原理都是一样的,通过不断的缩小想要获得数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件,也就是我们总是通过同一种查找方式来锁定数据。数据库也是一样,但显然要复杂许多,因为不仅面临着等值查询,还有范围查

2020-07-08 16:56:40 235 1

原创 Git常用命令笔记

Scenario 1: Committing FilesCreate a repository : git initView git status : git statusAdd files to the staging area : git add hello-world.jsCommit the staged file : git commit -m "Changes about hello-world.js"Add and commit a .gitignore file :echo '

2020-06-05 11:02:03 448

原创 从Java 8 到 Java 14,几个令人印象深刻的新特性

1.Lambda 表达式Lambda表达式时Java 8中的一个新特性,它允许许把函数作为一个方法的参数(函数作为参数传递进方法中)。Lambda 表达式的语法格式如下:(parameters) -> expression或(parameters) ->{ statements; }Lambda 表达式的简单例子:// 1. 不需要参数,返回值为 5 () -> 5 // 2. 接收一个参数(数字类型),返回其2倍的值 x -> 2 * x

2020-05-28 18:23:36 346 2

原创 关于String字符串的性能优化简例

String字符串是我们日常使用频率最为频繁的数据类型之一,以正确高效的方式使用String字符串,是提升程序运行性能的手段之一。下面将从几个示例中给出具体的使用方式。String字符串的特性我们先从String的源代码入手,如下所示://源码基于 JDK 1.8public final class String implements java.io.Serializable, Comparable<String>, CharSequence { // String 值的

2020-05-15 19:40:53 546

原创 浮点数(double、float)处理问题时包含的隐晦的坑

具体现象在处理涉及订单金额、商品交易、货币换算等有一定数据精度要求的数据时候,当使用float或者double这两种浮点型数据处理的话,总会偶现一些奇奇怪怪的问题,不知道大家注意没,下面举几个常见的例子://现象(一):条件判断超预期System.out.println( 1f == 0.9999999f ); // 打印:falseSystem.out.println( 1f == ...

2020-04-22 17:59:57 1242 1

转载 12306一崩再崩,作为程序员你最想优化哪个功能?

来源:知乎 https://www.zhihu.com/question/363935295回答作者:匿名逛知乎看到一个挺有趣的话题与回答,遂分享给大家~看到好多人在喷12306垃圾??说真的但凡你学过知道点原理,你都说不出那些话-------------------------------------------------------------------------------...

2020-01-17 17:25:30 137

转载 为什么要减少代码中该死的 if else 嵌套?

来源:www.jianshu.com/p/57c065b124c4作者:简书—安卓大叔写在前面不知大家有没遇到过像“横放着的金字塔”一样的if else嵌套:if (true) { if (true) { if (true) { if (true) { if (true) { ...

2020-01-11 17:56:42 450

原创 在Linux CentOS 7上安装Zurmo CRM

1、以root用于身份登录,运行命令su即可切换为root用户。su2、安装LAMP环境依赖项。(若已安装可忽略)安装Apache:yum install httpd在服务器上启动 Apache 服务的命令为: systemctl start httpd.service安装Memcached:yum install memcached在服务器上启动 Memcached服务...

2019-11-15 16:21:11 354

原创 WebSocket原理(对比Ajax轮询、长轮询)

1.WebSocket简单介绍:WebSocket是HTML5开始提供的一种,可以在单个 TCP 连接上进行全双工通讯的协议,即客户端与服务端只需要进行一次握手,客户端与服务端之间就可以进行数据传输了。2.WebSocket具有什么优点:先介绍两种在WebSocket出现之前,实现信息实时传递的两种方式:Ajax轮询以及长轮询。Ajax轮询:Ajax轮询指的是,客户端每隔一段时间就向...

2019-10-28 17:18:49 553

原创 Java对象内存的分配与回收

1.Java对象内存的分配在介绍Java对象内存的分配之前,先引入两个存放Java对象内存的区域:Java把内存划分成两种:一种是栈内存,一种是堆内存。栈内存:这片内存最大的特点是内部数据的生命周期都很短,数据在生命周期结束之后会自动释放。主要用于存放局部变量,局部常量和对象的引用,但对象本身不存放在栈中,而是存放在堆。堆内存:这片内存主要存放数组以及new出来的对象(引用指向的实体...

2019-09-25 18:20:37 218

原创 Web项目出现周期性卡顿的原因分析

近段时间接触的一个项目,在实际使用以及测试的时候回经常出现卡顿的现象,一开始以为这种情况不常见,但是后来发现这种卡顿会周期性的出现,所以想找找原因:1,JVM虚拟机垃圾回收jvm虚拟机将堆分为新生代及老年代,而当我们去new一个对象的时候,这个对象就会进入到新生代区里面,新生代用于存放刚创建的对象以及年轻的对象,如果对象一直没有被回收,生存得足够长,对象就会被移入老年代,那么一直进行以上过程,...

2019-09-24 19:46:45 2082

原创 剑指offer--链表中倒数第K个节点

题目描述输入一个链表,输出该链表中倒数第k个结点。在网上借鉴了许多大佬的写法,最终发现一种代码极为简洁的写法。总体思路:初始化两个指针p,q,同时指向头结点,开始先让其中一个节点p先走,一直指向p.next,并初始化一个int类型i计数,直至i>=k时,q也开始跟着走,然后当p节点走到末尾时,q节点指向的正是倒数第k个节点。贴上一位大佬总结的一句话,“相当于制造了一个K长度的尺子,把...

2019-09-17 16:19:03 86

原创 全排列算法(递归实现框架)Java

public class fullPermutation { static int count =0; public static void main(String args[]){ int[] arr = {1,2,3}; f(arr,0); System.out.print(count); } public static void f(int arr[], int k...

2019-09-17 15:50:11 315

原创 删除链表重复元素(链表去重)

题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5。在网上参考了各种做法,最终总结到以下两种,递归与非递归:总体思路:找到下一个不重复的节点与其相连。代码链表类的定义:class ListNode { i...

2019-09-12 17:12:30 653

空空如也

空空如也

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

TA关注的人

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