自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhangxiaomin1992的专栏

北漂女程序员,2年工作经验

  • 博客(218)
  • 资源 (11)
  • 收藏
  • 关注

原创 spring-aop源码分析

涉及到很多图片,实在懒得拷贝,参见http://note.youdao.com/noteshare?id=6705116de166518537ec2cebfefe63af

2018-07-26 18:10:38 234

原创 spring-ioc创建过程源码分析

涉及到很多图片,实在懒得拷贝,参见http://note.youdao.com/noteshare?id=665b1db24a3a5ce3ebab573ec2bfd384

2018-07-26 18:07:36 225

原创 hashmap源码解析

hashmap源码解析

2017-02-06 12:15:46 297

原创 springboot的校验

本文介绍全局异常捕获BindException、MethodArgumentNotValidException和ConstraintViolationException @Validated@Valid同时补充了对入参校验枚举描述,枚举值的自定义注解。

2023-01-31 15:15:12 169

原创 岛屿问题~数量~面积~不同岛屿

【代码】岛屿问题~数量~面积~不同岛屿。

2022-08-30 16:11:45 205

原创 二分查找变形

不同于二分查找,找到一个升序数组中第一个出现目标值的下标索引比如:1, 2, 2, 3, 4 返回下标位置1,不是2package com.my.java.suanfa;public class erfenchazhao { public static void main(String[] args) { int[] nums = new int[]{1, 1, 2, 3, 4}; System.out.println(search(nums, 2))

2022-05-20 17:12:53 199

原创 给定一颗二叉树和两个任意节点,请求解出这两个节点的最小公共父节点

package com.my.java.suanfa.treeNode;import com.alibaba.fastjson.JSONObject;import org.assertj.core.util.Lists;import java.util.*;/** * 功能描述: 给定一颗二叉树和两个任意节点,请求解出这两个节点的最小公共父节点, * 如果其中一个节点本身是另外一个的父类,那么就返回这个父节点, * 否则,就返回距离他们俩最近的公共父节点。此题给定的两个节点肯定在这颗二.

2022-05-14 11:03:08 188

原创 层次打印二叉树,一层换一行

package com.my.java.suanfa.treeNode;import java.util.LinkedList;import java.util.Queue;public class MyTreeNodeTest { public static void main(String[] args) { MyTreeNode2 head7 = new MyTreeNode2(7,null,null); MyTreeNode2 head4 = ne.

2022-05-13 17:31:08 175

原创 有效字符算法

package com.my.java.suanfa.String;import java.util.HashMap;import java.util.Stack;/** * 功能描述: 判断是否是有效字符 */public class isValid { public static void main(String[] args) {// String str = "[{()}]"; String str = "[]{}({[]})";// .

2022-05-13 11:27:45 424

转载 mac系统升级后git使用不了

转载文件原文链接:https://blog.csdn.net/weixin_39172380/article/details/88388913Mac使用git出现xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun解决方法终端输入xcode-selec

2021-09-24 15:57:45 1152

原创 redis源码系列之~简介

本月将持续更新redis源码系列~~相关文章链接:redis源码系列之一-sds:https://blog.csdn.net/zhangxiaomin1992/article/details/119680802redis源码系列之三-整数集合inserthttps://mp.csdn.net/mp_blog/creation/editor/119680377redis常见数据类型,命令和底层数据结构简介一:string 常见命令:redis> SET db redis..

2021-08-20 12:17:23 134

原创 redis源码系列之一-sds

本月开始更新redis源码系列:其他文章链接稍后更新~~1.sds的介绍2.为什么不使用string而是使用sds?1.保存了一个len,可以直接获取字符串长度2.杜绝缓冲区溢出3.减少字符串修改时重新分配内存次数4.二进制安全3.sds3.2之前的数据结构struct sds { int len;// buf 中已占用字节数 int free;// buf 中剩余可用字节数 char buf[];// 数据空间,柔性数组的地址和结构

2021-08-13 18:15:24 237

原创 redis源码系列之三-整数集合insert

本月将开始分析redis源码系列:同系列文章链接后期更新~~1.Redis集合类型的元素都是整数并且都处在64位有符号整数范围之内时,并且元素个数不超过512个的时候,使用该结构体insert存储。整数集合(intset)是Redis用于保存整数值的集合抽象数据结构,它可以保存类型为 int16_t、int32_t或者int64_t的整数值,并且保证集合中不会出现重复元素。它在内存分配上与ziplist有些类似,是连续的一整块内存空间,而且对于大整数和小整数(按绝对值)采取了不同的编码,

2021-08-13 17:27:55 339

原创 innodb间隙锁看这一篇就够啦~

innodb的默认事务隔离级别是rr(可重复读)。它的实现技术是mvcc(MVCC只在读提交可重复读两种隔离级别下工作)。基于版本的控制协议。该技术不仅可以保证innodb的可重复读,而且可以防止幻读。但是它防止的是快照读,也就是读取的数据虽然是一致的,但是数据是历史数据。为什么说他读的是历史数据的可重复读呢,因为根据这个mvcc的查询规则,新数据他是看不到的,无感知的。mvcc查询和更新的原则:SELECT操作的查询结果要同时满足条件:1、只会查询版本号小于等于当前版本号的数据作为结果返回,保

2021-07-13 18:01:02 1088 2

转载 分库分表后全局ID和分页查询的考虑

分库分表带来的问题  1.分库分表之后一个必然的问题,如何获取一个全局为一个ID?因为表中的数据是通过ID路由映射的,ID不能重复。  2.就算有了全局唯一的ID,那面对分页查询的需求,应该怎么处理呢?  唯一ID的生成  下面列举几种常见的唯一ID生成方案,需要满足两大核心需求:1.全局唯一 2趋势有序  1.用数据库的auto_increment(自增ID)来生成,每次通过写入数据库一条记录,利用数据库ID自增的特性获取唯一,有序的ID。    优点:使用数据...

2021-07-06 17:03:22 470

原创 垂直遍历二叉树,返回各个等级的列表

给定一个二叉树,返回其结点垂直方向(从上到下,逐列)遍历的值。如果两个结点在同一行和列,那么顺序则为从左到右。示例:思路:假设跟节点的位置是0,跟节点左孩子的位置减1就是-1,右孩子的位置加1,跟节点左孩子的右孩子位置就是0,-1+1=0,那么1,5节点就是同一个等级的。源码:package com.my.java.suanfa.ListNode;public class MyListNode { int val; MyListNode left..

2021-07-05 12:03:00 141

转载 MySQL in不走索引

SELECT* FROM erp_helei mg WHERE mg.num = 602 AND mg.pid IN (10002559,10002561,10002562,10002563,10002564,10002598,10002599,10002600,10002601,10002602,10002603,10002604,10002648,10002649,100026...

2020-04-22 18:59:48 521

原创 基本类型的重载方法

基本类型传递给重载方法,有个规则:byte->short->int->long->float->doubleshort->int->long->float->doublechar->int->long->float->double指的就是byte、char、short等"较小"类型能自动转换成较大...

2020-04-21 17:45:08 466

原创 float和double的范围和精度

float 4个字节,32位,float:1bit(符号位)+8bits(指数位+23bits(尾数位)float:2^23 = 8388608,共七位,意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;double 8个字节,64位,double:1bit(符号位)+ 11bits(指数位)+ 52bits(尾数位)double:2^52 = ...

2020-04-21 17:14:36 1496

原创 一篇文章搞懂系列:深入理解mysql索引底层数据结构与算法

http://note.youdao.com/noteshare?id=478e1e0f1b1db4ac287fffc27dccd3d0

2019-05-21 10:52:58 180

原创 一篇文章搞定系列:装箱和拆箱

本文参考:http://www.cnblogs.com/dolphin0520/p/3780005.html装箱 int -》integer,integer ainteger =1;反编译后的实际上是Integer.valueOf(1)拆箱 integer-〉int,int a = ainteger;反编译后实际上是ainteger.intValue();规则:1.== 两边的类型...

2019-02-21 16:28:06 166

原创 一篇文章搞定系列:事务的隔离级别和MVCC多版本控制

本文事务传播行为参考:https://segmentfault.com/a/1190000013341344本文事务隔离级别参考:https://www.cnblogs.com/huanongying/p/7021555.html一篇文章搞定系列有:java深拷贝和浅拷贝https://blog.csdn.net/zhangxiaomin1992/article/details/8...

2019-02-20 15:32:22 365 1

原创 java深拷贝和浅拷贝

从今天开始将不定期更新一篇文章搞懂XXX系列,系列目录以后更新第一篇:java深拷贝和浅拷贝,发现技术问题的请私信,评论,加qq指导!1、浅拷贝:将stu1的引用赋值给stu2,stu1和stu2指向内存堆中同一个对象,一个对象的改变会引起另一个对象的改变2、深拷贝的几种实现方式2.1、实现Cloneable接口,假设有依赖属性是类B,类B也需要实现Cloneable接口,假设...

2019-02-19 13:48:30 417

原创 redis数据丢失后rdb文件分析

http://note.youdao.com/noteshare?id=665ae87106d1021330362d6fb0318e44

2019-01-03 19:29:01 589

原创 nginx+lua+strom+kafka实现热点数据实时展示

涉及图片部分访问这个地址:http://note.youdao.com/noteshare?id=55c8fe08359e502ca6434b63d4b5dc0d假设最近一段时间内有10万个请求过来,其中1万次请求访问商品1,2万次请求访问商品2,3万次请求访问商品3,其他商品被访问次数均匀。请实时统计热点数据展示出来。说下主要的解决步骤:1.分发层nginx将所有的请求hash分发到...

2018-10-09 17:31:37 1448

转载 lua脚本完成基于商品id的定向流量分发策略

local uri_args = ngx.req.get_uri_args()local productId = uri_args["productId"]local hosts = {"192.168.31.187", "192.168.31.19"}local hash = ngx.crc32_long(productId)local index = (hash % 2) + 1...

2018-09-25 10:27:52 391

原创 模拟一个redis缓存组件启动器

starter是springboot的一个启动器,引入这个启动器就可以使用想用的功能。类似spring-boot-starter-web等功能,现在模拟一个redis缓存启动器,实现功能:其他项目引入这个组件依赖,在配置文件中加上redis连接配置后1.可以直接使用redis工具类操作redis存数据,不用在另外的项目中再弄一个工具类2.可以在自定义缓存注解在指定方法上存放方法返回...

2018-08-20 19:55:23 324

转载 ==equals装箱拆箱基础

package com.my.java.base;public class TestLong { public static void main(String[] args) { /** * 和integer一样,Long也有一个缓冲区,值在-127到128之间的数==是相等的,超过不相等 */ Long id1 = 123L; Long id2 = 123L;...

2018-08-03 12:25:42 260

转载 spring bean声明周期

bean的装载顺序:0.获取bean的定义1.createBean 创建bean的实例2.populateBean 对bean的属性赋值3.initializeBean.初始化bean3.1invokeAwareMethods 处理AWARE接口方法的回调3.2 applyBeanPostProcessorsBeforeInitialization应用后置处理器3.3 ...

2018-07-25 18:42:06 193

原创 eureka fegin ribbon的坑或扩展点

1.eureka界面的environment和datacenter怎么改?在主配置文件修改:eureka.environment=trunkeureka.datacenter=peer2cloud发现界面更改了!2.eureka界面的红框是它的自我保护模式?自我保护模式的特性,快过期的实例进入保护模式,不再从实例列表中删除该实例。关闭自我保护模式:eureka.server.enable-self...

2018-07-04 12:00:56 1386

原创 log4j2.xml文件讲解和在日志中加入全局guid

<Configuration status="WARN" monitorInterval="30"> <Appenders> <!-- 输出到控制台 --> <Console name="STDOUT" target="SYSTEM_OUT"> <!--

2018-06-13 11:43:43 2133 1

原创 mac定时任务和发送附件

有个任务是等运维要找我要文件的时候去生产ftp下载下来给他,嗯嗯,每天,好繁琐,偷偷的本地跑了个定时,每天11点执行jar包,jar包的功能就是给运维发送邮件,ok。1.mac系统自带定时任务功能:00 11 * * * cd /Users/yp-tc-m-7129/newworkspace/ftpFileEmail/target && java -jar ftpFileEmail...

2018-05-29 15:41:48 1765

原创 springboot利用JavaMailSender发送邮件

之前用javamaill的方式发送邮件,比较繁琐,现在利用spring-mail来发送邮件,非常简单1.引入pom依赖,分别是freemarker邮件模板和spring-maill依赖<!-- Spring Boot Freemarker 依赖,发送HTML格式的邮件的方式 --> <dependency> <groupId&g...

2018-05-23 15:28:24 3131 1

转载 基础坑

zheif you can learn,why care who tell you,how to tell you?1.控制表状态进入后先更新为process,最后更新为SUCCESS,为了防止其他sql更新其他字段导致版本号加1,最后的SUCCESS状态就不做乐观锁控制了2.遍历日期,第0天跳过,每天指定商户跳过,不影响其他商户和其他天,注意while 和 for 的双层循环i==0...

2018-05-17 13:49:57 573

转载 Eclipse使用Debug模式调试Spring Boot项目时跳转到exitCurrentThread的问题

Spring Boot项目使用了spring-boot-devtools工具且在Eclipse中Debug调试会自动跳转到这个方法:public static void exitCurrentThread() { throw new SilentEitException();}解决方法:Eclipse->【Preferences】->【Java】->【Debug】:去掉...

2018-05-16 11:18:17 1738

原创 java编程思想随书笔记

关于string,stringBuffer的区别是老生常谈了,下文将讲述在for循环中的内存和性能问题/** * 1000000条,for循环中stringBuffer.append(j).的时间为150级别,str+=的级别时间超级长,1000条的时间为560 * 1000000条,for循环中频繁声明一个变量 str= 的使用时间为170级别,使用stringBuffer的时间

2018-01-11 19:27:45 269

转载 多态加载顺序

作为java三大特性之一,原来以为自己了解多态,直到看到了这道题发现自己还是做着做着就晕了,证明了还是不了解的呢public class A { public String show(D obj) { return ("A and D"); } public String show(A obj) { return ("A and A")

2018-01-10 14:54:44 563

原创 求任意数据类型(注意任意)数组的最大值和最小值

如题:求任意数据类型(注意任意)数组的最大值和最小值,实现容易,但是面对各种数据格式,需要做到代码简洁!package test;import javafx.util.Pair;/** * 求任意类型数组的最大值和最小值--这么多类型的数组,需要增加冗余代码* @Description: TODO(用一句话描述该文件做什么) * @author min.zhang-2 *

2018-01-04 15:45:18 1037

原创 wait() notify使用注意事项

1.wait被调用之前notify的唤醒通知就来了,那么这个线程并不能保证被唤醒,有可能会导致死锁问题2.不要使用if(队列size>最大个数) 否则真的会出现放入队列的size个数超过最大值的情况,推荐使用while3.不要使用notify,推荐使用notifyall()下面是生产者和消费者线程死锁方式和正确方式package thred;import java.util.A

2017-12-22 10:32:17 754

原创 K链表反转一次和多次

呃呃,一个单向链表,给定一个K,实现k+1和K的反转,这个只是反转一次已经降低难度了,貌似没打算考我递归我擦嘞,当时竟然没考虑到K-1,你是怎么一回事啊,提示好多次了,好多问题买考虑全可能需要我考虑一下几点1.链表长度小于传过来的参数K2.链表为空3.k参数不合法public static class ListNode {        int data;

2017-12-19 11:10:44 362 1

pdshell15破解

pdshell15破解,替换原文件即可

2016-04-13

韩顺平struts视频学习笔记

韩顺平struts框架视频学习笔记,附有详细的文档和图片

2016-02-23

mybatis学习笔记

尚桂谷视频mybatis的学习笔记,还包括mybatis用户指南pdf教程重点。

2016-02-23

北风网正则表达式详细讲解学习笔记

北风网正则表达式详细讲解学习笔记,讲解的比较基础适合初学者学习。

2016-01-15

软件设计师2007-2014真题及答案.pdf

软件设计师2007-2014真题及答案.pdf,界面觉得的清晰

2015-04-21

软件设计师2004-2009.doc

软件设计师2004-2009.doc,只是有答案和试题,不是详细的分析,看清再下。详细的分析请去查看我的其他资源。

2015-04-21

软件设计师2010下半年试题分析与解答.pdf

软件设计师2010下半年试题分析与解答.pdf ,清晰,详细,不满意退分

2015-04-21

2010软件设计师上半年试题分析与解答.pdf

2010软件设计师上半年试题分析与解答.pdf ,清晰,清晰,不满意退分

2015-04-21

2011上半年软件设计师试题分析与解答.pdf

2011上半年软件设计师试题分析与解答.pdf ,清晰,详细!不满意退分

2015-04-21

2011下半年软件设计师试题分析与解答(全).pdf

2011年软考软件设计师试题详细分析与解答,很详细的!

2015-04-21

正则表达式

此代码更容易可以判断输入的用户名是汉字字母还是数字的组合,清晰明了,不看会后悔的。

2012-05-01

空空如也

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

TA关注的人

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