自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

行者

请用心码,不要说话 ————陈奕迅

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

原创 都说ApiPost香,它到底香在哪里?

笔者最近被各个公众号推送的"再见Postman,ApiPost真香"注入此类的豪夸 ApiPost 真香的 推文炸醒,作为一个后端开发人员最终还是没有忍住抱着试试看的心态想一探究竟,结果确实也没失望,确实有被惊艳到,对于本人这种英语勉强四级的战五渣,确实当天就把多年战友Postman给卸载了,真是应了那句老话,"舔狗三年一场空,酒吧一夜叫老公,只要感觉来的快,没有悲伤只有爱",没办法,谁让人家虽说是后起之秀,但确实是香呢! 中国人不骗中国人,我说她香,那她到底香在哪里?下面...

2022-01-25 21:34:26 9740 15

原创 java 如何判断一个数是否为2的整数次幂以及是2的多少次方(整数幂)?

写在前面,此处不考虑负数!!!如何简洁快速的判断一个正整数是否是2的整数次幂,以及如果是整数次幂,是多少次幂?方法非常简单。话不多说,先上代码;public static int isTimesTwo(int n) throws Exception { if(!(n > 0 && (n & (n - 1)) == 0)){ throw new Exception("参数有误,不是2的整数次幂"); } return

2021-05-07 21:04:58 3301

原创 微信代扣踩坑日记(微信自动续费)

1.背景 最近接到一个产品支付功能,要求打通微信自动续费功能,类似腾讯视频的会员自动续费。原计划开发周期为一周左右,由于微信坑爹的接口文档以及蛋疼的审核程序,导致前后将近耗时近一个月,支付方式也是从支付中签约换成纯签约,对业务也是影响巨大,思虑再三决定做个老实人,把这过程中所受的磨难总结出来,希望对对同等遭遇的老铁有做帮助,哈哈!2.基本概念梳理 签约方式:要是使用微信代扣功能,在开发过程中,需要打通微信的签约接口,签约有几种不同的类型,分为两大类:支付中签约和纯签约。支付中...

2020-11-23 11:41:46 16042 35

原创 4.MySQL事务与锁详解

学习目标1、 掌握事务的特性与事务并发造成的问题2、 事务读一致性问题的解决方案3、 MVCC的原理4、 锁的分类、行锁的原理、行锁的算法1.什么是数据库的事务?1.1 事务的定义维基百科的定义:事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。这里面有两个关键点,第一个,它是数据库最小的工作单元,是不可以再分的。第二个,它可能包含了一个或者一系列的DML语句,包括insert delete update。(单条DDL(create

2020-08-15 16:58:58 346

原创 3.深入理解mysql索引

目录学习目标1.索引是什么?1.1. 索引是什么2.索引存储模型推演2.1.InnoDB 逻辑存储结构2.2. 多路平衡查找树(B Tree)(分裂、合并)2.3. B+树(加强版多路平衡查找树)2.4. 为什么不用红黑树?2.5. 索引方式:真的是用的 B+Tree 吗?3.B+Tree 落地形式3.1. MySQL 架构3.2. MySQL 数据存储文件4.索引使用原则4.1. 列的离散(sàn)度4.2. 联合索引最左匹配4.3. .

2020-08-06 21:46:26 297

原创 2.mysql底层架构和sql执行流程

1.学习目标1、了解MySQL语句的执行流程2、理解MySQL的架构与内部模块3、掌握InnoDB存储引擎的磁盘与内存结构2.一条查询 SQL 语句是如何执行的?我们的程序或者工具要操作数据库,第一步要做什么事情?跟数据库建立连接。2.1 通信协议在我们开发系统跟第三方对接的时候,必须要弄清楚的有两件事。第一个就是通信协议,比如我们是用HTTP还WebService还是TCP?第二个是消息格式,比如我们用XML格式,还是JSON格式,还是定长格式?报文头长度多少,包含什么.

2020-08-06 18:11:37 545

原创 1.mysql重要不常用sql集锦

SELECT CONCAT('KILL ',id,';') FROM information_schema.processlist; -- 查询连接数,方便在数据库连接过多的时候杀掉连接进程

2020-08-06 14:50:27 192

原创 设计模式之装饰器模式(动态附加额外的功能)

装饰器模式装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。我们通过下面的实例来演示装饰器模式的用法。其中,我们将把一个形状装饰上不同的颜色,同时又不改变形状类。介绍意图...

2020-01-15 20:25:30 747

原创 设计模式之组合模式(对象嵌套模式)

组合模式组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。我们通过下面的实例来演示组合模式的用法。实例演示了一个组织中员工的层次结构。介绍...

2020-01-15 17:18:42 1166

原创 设计模式之过滤器莫模式(挑三拣四模式)

过滤器模式过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。实现我们将创建一个 Person 对象、Criteria 接口和实现了该接口的实体类,来过滤 Person 对象的列表。...

2020-01-15 16:56:42 170

原创 设计模式之单例模式(大锅饭模式)

单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。(一个学校只有一个吃饭的地方,就是大食堂,大食堂提供唯一的吃饭入口,不需要每...

2020-01-02 17:39:13 271

原创 设计模式之抽象工厂模式(工厂模式Plus)

抽象工厂模式抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具...

2020-01-02 16:15:18 98

原创 设计模式之工厂模式(l流水线模式)

1.简介工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。2.介绍意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行...

2020-01-02 15:17:22 1961

原创 见面礼,设计模式简介

1.设计模式的类型根据设计模式的参考书 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 中所提到的,总共有 23 种设计模式。这些模式可以分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型...

2020-01-02 14:48:26 97

原创 ☆3.java虚拟机垃圾收集器与内存分配策略(上)(中阶理论篇)

1.概述java中的垃圾回收技术被当做是java语言的伴生产物,经过半个世纪的发展,这项技术已经相当成熟,基本进入“自动化”时代,当需要排查各种内存泄漏,内存溢出问题时,当垃圾收集称为系统达到更高并发量的瓶颈时,我们就需要对这些“自动化”的技术实施必要的监控和调节。本篇主要解决一下三个问题:哪些内存需要回收? 什么时候回收? 如何回收?通过上一篇,java虚拟机管理的内存中,程序计数...

2019-11-21 23:46:57 92

原创 ☆关于JAVA虚拟机必须了解的理论知识(基础理论篇)

1.概论java虚拟机在执行java程序的过程中会把他管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁时间,有些区域伴随着虚拟机进程的启动而存在,有的区域则是依赖用户线程的启动和结束而建立和销毁,根据相关规定(《java虚拟机规范》),java虚拟机所管理的内存将会包括以下几个运行时数据区域:2.概念介绍程序计数器:是一块比较小的内存空间可以看做是当前线...

2019-11-17 23:54:29 162

原创 ☆关于JAVA虚拟机必须了解的理论知识(入门理论篇)

1.基础介绍java优势众所周知,java目前依然是是市场最流行的开发语言之一,是IT语言行业占比非常之大,java能获得如此广泛认可的原因必然是相比其他编程语言有着不可忽视的优势:摆脱了硬件平台的限制,主要表现就是"一次编译,多出运行"-----一次编译到处浪; 提供了一个相对安全的内存管理及访问机制,避免了绝大部分的运行内存泄漏和指针越界问题; 实现了热点代码检测和运行时编译以...

2019-11-17 15:15:27 145

转载 44条Java代码优化建议

作者:五月的仓颉来自:http://www.cnblogs.com/xrq730/p/4865416.html 前言 2016年3月修改,结合自己的工作和平时学习的体验重新谈一下为什么要进行代码优化。在修改之前,我的说法是这样的: 就像鲸鱼吃虾米一样,也许吃一个两个虾米对于鲸鱼来说作用不大,但是吃的虾米多了,鲸鱼自然饱了。 代码优化一样,也许一个两个的优化,对于...

2018-11-05 21:26:44 131

原创 SpringBoot+MyBatis+Shiro框架配置

1.引言基于SpringBoot与MyBatis框架在Java开发中越来越流行,最近公司刚好需要技术变革,笔者也是颇费了写心血做了框架的搭建和几次框架的一直工作,本框架除了SpringBoot和MyBatista另外也揉入了当下比较流行的权限安全认证框架Shiro,附带架构设计,希望能帮助到有需要的人。1.1 框架版本说明技术的变革瞬息万变,此处有必要对各个第三方框架的版本做一下说明:Spr...

2018-11-04 17:38:21 7356 4

原创 SpringMVC 之@RequestBody 接收Json数组对象

1.操作流程:前台使用ajax技术,传递json字符串到后台;后台使用Spring MVC注解@RequestBody 接受前台传递的json字符串,并返回新的json字符串到前台;前台接受后台传递过来的json数据,并显示。2.js交互代码/*** 点击“保存”事件*/$("#save"). on("click", function () { var obj = document....

2018-03-12 14:17:15 10880

原创 IntelliJ IDEA常用快捷键整理汇总以及Intellij idea6破解办法

IntelliJ IDEA常用快捷键整理汇总列表内容:常用 快捷键 功能 Ctrl+] 诸如{}围起来的代码块,使用该快捷键可以快速跳转至代码块的结尾处 Ctrl+[ 同上,快速跳至代码块的开始出 Ctrl+Shift+Enter 将输入的if、for、函数等等补上{}或者;使代码语句完整 Shift+Enter 在当前行的...

2017-08-30 17:02:16 362

空空如也

空空如也

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

TA关注的人

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