自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sean'Xu Blogs

活成自己想要的样子

  • 博客(102)
  • 资源 (3)
  • 收藏
  • 关注

原创 《都挺好》告诉我们:这些人生道理,每个人都必须要懂

苏母是个讨骂的角色,凡看过剧情的人都在咒骂她的自私,无知与可耻,然而她角色下的存在却给我们上了重要的一课,那就是,在这个世界上,即便是最亲近的人,即便是那些觉得不可能伤害我们的人,下手都能如此之狠。对老人好,让他们有好的生活,是我们的责任和义务,但却很多事情不能以顺为孝的基础,因为父母层次或者时代的影响,他们未必就真的是对的,真正的孝顺是在力所能及给予他们享受范围内,有较高品质的生活,而不是自我牺牲,打肿脸充胖子靠牺牲妻女换取的一个满意笑容。《都挺好》告诉我们,不是所有的家都是家,不是所有的亲人都是亲人。

2023-08-04 10:31:00 140

原创 退货业务梳理

接口 详情 参数 /member/refundRequest/validate 退货先行校验 userId,sn /member/refundRequest/create 创建退货申请 userId, refundRequestList, isJob /member/refundRequest/detail 退货详情 userId, sn /member/refundRequest

2021-07-20 17:10:22 1200

原创 电商模块流程图

ES商品搜索下单授权登录库存导航内容社区促销优惠券支付商品

2021-07-20 17:06:42 2077

原创 小程序和APP微信授权联合登录场景分析

1.App登录,如果没有绑定过,重新绑定,es_third_login插入一条记录,并且要存unionId字段2.APP登录,如果之前绑定过,并且之前的es_third_login表没有存unionId,则更新原数据存入unionId3.小程序登录,如果之前APP未授权登录,没有存入unionId,首次授权的时候,会在es_third_login插入一条记录4.小程序登录,如果之前APP授权登录过,存过unionId,那么就直接登录,不会插入数据。小程序和APP的unionId是相同的,小程序和AP

2021-07-20 17:04:35 2269

原创 git处理用户名密码的操作命令

查看git用户名和邮箱地址命令:$ git configuser.name$ git configuser.email修改git用户名和邮箱地址$ git config–global user.name “username”$ git config–global user.email “email”处理不用反复输入密码问题:打开git终端,或者idea中的插件终端,输入命令:git config–global credential.helper store...

2020-08-05 10:08:19 2322 1

原创 订单业务梳理

generate:初始化订单,生成待审核订单校验用户是否存在以及是否被禁用 校验商品,是否已下架,选购数量是否正,不能为0,不能为null并不能操作5件,检查商品库存,门店会员则检查门店库存 预售商品,检查预售时间、预售渠道是否满足配置要求 组装满足条件的商品数据结构 处理收件人,获取默认收件人信息,如果没有默认收件人则获取收件人第一条数据 获取优惠券列表,查询此用户所有满足该商品及渠道的优惠券信息,同时将优惠券的数据封装,并筛选优惠可使用平台及跳转类型。优惠券总可使用次数及剩余可用次数,如果

2020-07-29 09:28:40 1014

原创 理解Synchronized锁升级

利用synchronized实现同步的基础:Java中的每一个对象都可以作为锁。具体表现为以下3种形式。- 对于普通同步方法,锁是当前实例对象。- 对于静态同步方法,锁是当前类的Class对象。- 对于同步方法块,锁是Synchonized括号里配置的对象。```javapublic class SynchronizedTest {int i = 0;public void test1(){synchronized (Synchronize...

2020-06-04 16:55:00 477

原创 java并发编程的艺术

链接: https://pan.baidu.com/s/1dd8XtVFCxVUSxVSen2jk0A提取码: miqa

2020-06-02 12:11:57 1456 1

原创 深入了解ReentrantLock

在介绍ReentrantLock的时候,首先我们要先了解锁的释放和获取,在java内存中究竟怎么处理的。锁的释放和获取的内存语义当线程释放锁时,java内存模型(以下简称JMM)会把线程对应的本地内存中的共享变量刷新到主内存中。当线程获取锁时,JMM会把该线程对应的本地内存置为无效,从而使得监视器保护的临界区代码必须从主内存中读取共享变量。对比锁释放-获取的内存语义与volatile写-读的内存语义可以看出:锁释放与volatile写有相同的内存语义;锁获取与volatile读有相同的内存语义。

2020-06-02 11:49:19 482

转载 这样戒掉欲望,有多可怕?

这样戒掉欲望,有多可怕? 1最近,一位女明星关于工作的态度,引发热议。节目上,主持人问这位女艺人:作为演员,有觉得特别艰辛的时候吗?结果,她撂了一句:我就想说我不拍了。听罢,整个演播厅都安静了下来。接着,另一位男明星谈到自己拍戏最多一次连续拍了34个小时。不料,她竟反问:你为什么就不能像我一样潇洒地走开呢?这时候的场面可谓十分尴尬。主持人还是尽力在圆场:你潇洒走开的时候,内

2020-05-26 14:25:06 889

原创 电商网站如何进行库存同步处理Redis+Lua

电商网站库存模块库存表包含了商品的sku,商品类型,商品款号,颜色,尺码,库存数,版本号,创建,最后修改时间。商品类型,可根据商品分为,普通商品,赠品,内卖商品,预售商品等库存表@Datapublic class ProductStock extends OrderEntity<String> { private static final long serialVersionUID = 6324321924144806460L; /** * sku *

2020-05-20 16:31:59 3582 2

原创 面试官:用最简单的方法给我讲讲什么是静态代理,动态代理

小时候很喜欢看小故事大道理,用通俗易懂的小故事去解释抽象难懂的大道理,并受到启发,了解真谛。今天我们就来试着讲一讲 代理。故事前情提要:老师布置了一道作业,要求同学们做完了交给他。静态代理首先,我们先创建一个学生接口,同学们都需要写完交作业public interface Student { void handWork();}实现类表示作业写完了要交作业了publi...

2020-05-08 14:54:07 514 2

原创 一张图看懂Spring MVC执行流程

DispatcherServlet的设计DispatcherServlet的父类是FrameworkServlet,FrameworkServlet的父类则是HttpServletBean。HttpServletBean继承了Web容器所提供的HttpServlet,所以它可以载入Web容器中的Servlet。DispatcherServlet的工作大致可以分为两个部分:一个是初始化部门,由...

2020-05-06 15:21:51 619

原创 从源码解决Spring 循环依赖问题

如果您主要使用构造函数注入,则可以创建无法解析的循环依赖关系场景。Class A 需要通过构造函数注入实现 class B,而 class B 需要通过构造函数注入实现 class A.如果为 classes A 和 B 配置 beans 以相互注入,则 Spring IoC 容器会在运行时检测到此循环 reference,并抛出BeanCurrentlyInCreationException。...

2020-05-03 15:08:37 394

原创 Error:java: Compilation failed: internal java compiler error

File–>Setting…–>Build,Execution,Deployment–>Compiler–>Java Compiler 设置相应Module的target bytecode version的合适版本(跟你jkd版本一致),这里我改成1.8版本的。...

2020-04-30 17:01:05 192

原创 如何手动实现Spring Bean的生命周期全过程

spring bean注入方式构造器注入 <!--构造器注入--> <bean id="user" class="com.sean.spring.User"> <constructor-arg index="0" value="德莱文"/> <constructor-arg index="1" value=...

2020-04-29 15:02:21 236

原创 Mybatis系列(十三)SQL执行流程分析(源码)

一、前言前边的章节,我们介绍了mybatis配置的各个节点时如何实现的,以及mapper映射器中各个节点的含义日常使用的CRUD操作,基本都是单个节点或者属性的讲解,本着"打破砂锅学到底"的态度,本节将从mybatis的四大核心组件着手,从源码层面去剖析mybatis更深层的秘密。SqlSessionFactoryBuilder(构造器):他会根据配置或者代码生成SqlSessionFact...

2020-04-27 10:07:42 369

原创 Mybatis系列(十二)动态SQL以及like,大于小于号怎么写

之前文章Mybatis系列(十一)mapper映射文件之insert,update,delete,Mybatis系列(十)mapper映射文件之select元素(一对一,一对多,多对多)主要介绍mybatis关于CRUD的操作,其实mybatis还有强大的动态SQL,今天就让我们一探究竟吧。一、动态SQL的元素元素作用备注if判断语句单条件分支判断choose(...

2020-04-23 15:11:29 3846

原创 Mybatis异常There is no getter for property named 'name' in 'class java.lang.String'

mybatis在使用动态SQL,如if,when,test判断的时候,出现“There is no getter for property named ‘name’ in ‘class java.lang.String’”该怎么解决。一、test=“xxx!=null” 换成 test="_parameter !=null" <select id="findUserByName"...

2020-04-23 13:48:54 1397

原创 微信如何提现(java部分代码)

分享给好友,领取红包,红包满100可以提取到微信零钱,有一段时间天天被“PDD”好友助力轰炸,但是提现这个玩意到底怎么玩的呢,一直也没时间也没场景去搞一下。这几天刚好项目需要提现的需求,于是乎在这里整理一下。微信提现在微信开发文档中成为企业付款,更多详细的介绍及参数配置,可参考微信开发文档https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay....

2020-04-22 16:36:46 3198

原创 Mybatis系列(十一)mapper映射文件之insert,update,delete

上篇文章Mybatis系列(十)mapper映射文件之select元素(一对一,一对多,多对多),平时项目中查询也是用的最多,也是最复杂的,最硬的一块骨头都啃完了,剩下的就小菜一碟了,这一节我们来看insert,update,delect。...

2020-04-22 10:02:09 1071

原创 Mybatis系列(十)mapper映射文件之select元素(一对一,一对多,多对多)

文章目录一、select元素的配置二、select查询小试牛刀三、select小试牛刀之多参数传递上篇文章Mybatis系列(九)mappers的四种配置方式及源码解析,是对mybatis配置文件中的mappers节点的介绍,综合前几节的文章,都是对mybatis配置文件各个节点的介绍,今天我们开始看mybatis另外一个重要的配置文件–mapper映射文件。在mybatis开发中,映射器的开发...

2020-04-19 22:49:01 10016 4

原创 Mybatis系列(九)mappers的四种配置方式及源码解析

文章目录一、mappers的配置——引入映射器的四种方法二、mappers源码解析上篇文章Mybatis系列(八)databaseIdProvider及plugin简单介绍,我们对mybatis的数据库厂商标识和插件有了简单的认识,这一节我们来看mybatis配置文件最重要的一个节点mappers(映射器)。一、mappers的配置——引入映射器的四种方法1.使用相对于类路径的资源,通过re...

2020-04-19 14:12:31 3704 1

原创 Mybatis系列(八)databaseIdProvider及plugin简单介绍

文章目录一、databaseIdProvider配置databaseIdProvider属性二、plugins上篇文章Mybatis系列(七)objectFactory源码解析,了解了对象工厂,本节我们来看下databaseIdProvider(数据库厂商标识),plugin(插件)。这两个节点在平时的开发中用的特别少,所以本篇文章也不会详细的去介绍,毕竟笔者自己也不是很熟悉。一、datab...

2020-04-18 13:23:00 600

原创 Mybatis系列(七)objectFactory源码解析

文章目录一、objectFactoryElement源码ObjectFactory 接口二、自定义ObjectFactory三、objectFactory在mybatis-config.xml的配置四、自定义objectFactory测试resolveInterface上篇文章Mybatis系列(六)typeHandler源码解析,对mybatis的类型转换器有了简单的认识,除了我们使用默认提供...

2020-04-18 12:47:46 225

原创 Mybatis系列(六)typeHandler源码解析

文章目录一、typeHandler配置二、typeHandlerElement源码三、系统定义的typeHandler四、自定义typeHandler五、枚举typeHandler六、自定义枚举typeHandler——SexEnumHandler上篇文章Mybatis系列(五)typeAliases源码解析,主要介绍了mybatis中别名的使用,这一节我们来看TypeHandler节点,翻译成...

2020-04-18 00:40:38 394

原创 Mybatis系列(五)typeAliases源码解析

文章目录一、typeAliases配置二、typeAliasesElement源码三、系统别名四、自定义别名上篇文章Mybatis系列(四)settings源码解析,介绍了setting节点,这篇我们来介绍typeAliases。typeAliases主要用来设置别名,可以为我们减少xml配置中对java类引用时冗余的全限定名。比如我们在使用com.sean.entity.User,就可以配置...

2020-04-17 21:12:38 235

原创 Mybatis系列(四)settings源码解析

上篇文章Mybatis系列(三)properties与environments源码解析,这篇主要讲settings节点。settings是mybatis中最复杂的配置,它能深刻影响mybatis底层的运行,但是在大部分情况下使用默认值便可以运行。先看setting完整的示例:<settings> <setting name="cacheEnabled" value="tru...

2020-04-17 17:23:02 168

原创 Mybatis系列(三)properties与environments源码解析

文章目录一、mybatis配置数据源的两种方式第一种直接配置xml第二种从外部指定properties配置文件第三种程序代码配置二、propertiesElement源码三、environments配置四、environmentsElement源码transactionManager 事务管理器datasource数据源PropertyParser源码五、附录:Mybatis配置文件元素一览表上...

2020-04-17 16:18:28 248

原创 Mybatis系列(二)配置文件源码解析

上篇文章Mybatis系列(一)环境搭建,写了一个demo,大致了解了整个项目的流程。本节我们就来看看Mybatis的这么配置文件是如何实现的。看一下上节的Test类public static SqlSessionFactory getSessionFactory(){ SqlSessionFactory sqlSessionFactory = null; String res...

2020-04-17 14:22:29 161

原创 Mybatis系列(一)环境搭建

文章目录1.项目依赖2.配置mybatis3.数据库设计4.实体类及mapper映射5.项目结构6.测试工作中一直在用Mybatis,但是也仅是停留在重复造轮子的过程中,对整个框架没有系统全面的了解。最近抽空准备自己搭一个demo去看看Mybatis到底是何方神圣。项目介绍:Mybatis框架,maven构建,Mysql数据库,log4j日志,lombok包(偷懒)1.项目依赖pom.xm...

2020-04-17 12:30:48 183

原创 Mysql安装配置

安装路径 :https://dev.mysql.com/downloads/mysql/版本:mysql 5.6.39安装解压后 ,配置环境变量我的电脑>高级系统设置>环境变量新建一个系统变量变量名:MYSQL_HOME变量值:C:\Java\mysql-5.6.39\mysql-5.6.39-winx64(MySQL安装的路径地址)然后找到PATH 在最前边输入 ‘%...

2020-04-10 09:18:41 478

原创 看完这篇,包你了解CGLIB动态代理

JDK动态代理必须提供接口才能使用,在一些不能提供接口的环境中,只能采用其他第三方技术,比如CGLIB动态代理。它的优势在于不需要提供接口,只要一个非抽象类就能是新动态代理。我们写一个类 Reflectpublic class Reflect { public void sayHello() { System.out.println("Hello World");...

2020-04-09 18:16:06 164

原创 看完这篇,包你了解JDK动态代理

JDK动态代理是 java.lang.reflect.*包提供的方式,它必须借助一个接口才能产生代理对象,所以先定义接口。public interface HelloService { void sayHello();}提供它的实现类,大声喊出“Hello World”public class HelloServiceImpl implements HelloService {...

2020-04-09 15:31:38 181

原创 Mybatis{}和${}的区别是什么?

#{}和${}的区别是什么?#{}是预编译处理,${}是字符串替换处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值。处理${}时,就是把 ${}替换成变量的值。使用#{}可以防止SQL注入,提高系统安全性。原因在于:预编译完成后,SQL结构已经固定,即使用户输入了非法参数,也不会对SQL的结构产生影响。举个例子order by...

2020-04-09 11:49:37 133

原创 JVM垃圾回收及双亲委派原则

文章目录类的加载过程垃圾回收判断对象是否存活垃圾收集算法Minor GC 和 Full GC 有什么不同双亲委派原则java虚拟机运行时的数据区java内存分配类的加载过程加载 链接(验证、准备、解析) 初始化加载:就是把class字节码文件加载到内存中,创建一个class对象链接:分为三个阶段验证阶段:确保被加载的类(.class文件的字节流)满足java虚拟机的规范,不会造成安全...

2020-03-31 11:00:39 374

原创 mongodb只查询某列值

查询会员表中id=110的名字db.getCollection('es_member').find({"_id":"110"},{"name":1})查询某列,在查询条件后加,{“列名”:1}不想要某列,在查询条件后加,{“列名”:0}...

2020-03-27 14:44:59 8420

原创 小程序快捷登录

小程序授权登录一、获取unionId通过wx.login接口获得临时登录凭证 code 后传到开发者服务器调用此接口完成登录流程 请求地址 GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_...

2020-03-24 17:16:03 1595

原创 四种常用线程池及自定义线程池参数详细分析

一个ExecutorService ,使用可能的几个合并的线程执行每个提交的任务,通常使用Executors工厂方法配置。线程池解决两个不同的问题:由于每个任务的调用开销减少,它们通常在执行大量异步任务时提供改进的性能,并且它们提供了一种限制和管理资源(包括执行一个任务。 每个ThreadPoolExecutor还维护一些基本统计信息,例如已完成任务的数量。常用的更方便的Executors工厂...

2020-03-24 16:38:16 1745

原创 Anonymous new Runnable() can be replaced with lambda

写线程代码时,特别是经常用线程池的时候,idea总是提示一段莫名其妙的东西,那种置灰的效果真是逼死强迫症,如下:其实就是提示我们用lambda表达式替替换,用更少的代码做同样的事用lambda表达式实现Runnablejava8之前new Thread(new Runnable() { @Override public void run() { ...

2020-03-24 15:25:17 4934 1

java代码规范,可读性整理

java代码可读性规范,养成良好的代码规范。如何命名,注释,抽取公共方法,怎么使用合适的变量,如果优化金字塔式的循环判断

2020-03-31

2345pic_v9.1.2.exe

2345图片查看工具 。图片工具供各位 学习、交流,切勿用于商业用途。

2019-07-25

ehcache-2.10.6.jar

ehcache-2.10.6.jar ehcache jar包供各位开发人员 学习、交流,切勿用于商业用途。

2019-07-25

空空如也

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

TA关注的人

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