自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 List源码分析-LinkedList

说明:这个文章是我个人的学习笔记,由于本人水平有限,如果有什么误导的地方,请见谅前提对常用的集合进行复习分析,如,ArrayList、LinkedList、VectorLinkedListUML图,LinkedList没有实现RandomAccess接口,说明它不能实现快速随机访问基础属性 transient int size = 0; // 是双向链表的头节点,它的前一个节点是 null。 transient Node<E> first; //

2021-07-18 16:05:02 131 1

原创 List源码分析-ArrayList

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-07-18 02:02:36 110

原创 Java-微信和支付宝进行默认授权获取openId/UserId

前提:有些需求需要用到微信用户的openID的时候,而又不想用户进行确认授权的时候,就可以进行默认授权一、微信默认授权1.1设置网页授权域名--(公众号设置-功能设置-网页授权域名)1.2.获取APPID和secret1.3 默认授权页面<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml...

2019-05-09 13:42:18 7745

原创 使用POI读取大文件Excel

前言:前段时间,由于项目中有一个功能,导入大量的数据,整个Excel的容量大概有200M左右,用以前的方法读取很慢,甚至会内存溢出,所以后面改用另外一种方式(驱动模式),其实我也不是很懂,是借鉴了一个前辈的思路(https://www.cnblogs.com/swordfall/p/8298386.html),下面直接上码 1.引入jar包,POI的依赖包&lt;!-- poi of...

2019-01-23 13:14:01 4185 2

原创 springboot集成Mybatis-plus完整示例

说明:MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。以前项目中经常使用的是mybatis,现在项目中接触到mybatis-plus,个人觉得挺不错的,只需简单配置,即可使用。内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满...

2018-12-28 01:16:24 3350

原创 springboot实现线程池--使用@Async实现异步调用

举例场景:当用户支付成功之后,需要马上通知商家(发短信或者语音提示功能等),然后再处理其他业务,如果按照正常逻辑,同步执行,当通知商家这个步骤响应很慢,则后面逻辑就需要等待它执行完毕后才能继续走下去。这样子,我们就可以用线程去异步处理,而我们在项目中,如果直接新建线程,可能会造成很大的开销。所以,优先使用线程池(由于多线程这一块我本人也不是非常的熟悉,有错误请各位大佬提出) 第一步:定义线...

2018-12-21 20:34:34 1430

原创 springboot使用注解实现定时器

springboot实现定时作业非常的简单,只需要几个简单的注解就行了1.@EnableScheduling2.@Scheduled @EnableScheduling@Slf4j@Componentpublic class ScheduledTask { @Scheduled(cron="0 0/1 * * * ?") public void testO...

2018-12-21 14:27:49 8773

原创 springboot统一处理异常和自定义异常

在我们做web系统的时候,难免会出现各种各样的异常,但是这种异常,不能直接显示在客户端,所以我们服务端就需要做统一处理,统一返回格式给客户端这里用到了spring的两个注解:@ControllerAdvice---控制器增强和@ExceptionHandler ---异常处理下面来看看具体的实现,建立一个类,加上@ControllerAdvice注解/** * 统一异常处理类 ...

2018-12-06 20:27:26 4138

原创 Java Map的几种遍历方式

模拟数据:Map&lt;String, String&gt; map = new HashMap&lt;&gt;(); map.put("A","a"); map.put("B","b"); map.put("C","c"); map.put("D","d");1.for-ea

2018-12-06 18:54:22 188

原创 Java使用Redis实现分布式锁来防止重复提交问题(Redis锁)

前言:在系统中,有些接口如果重复提交,可能会造成脏数据或者其他的严重的问题,所以我们一般会对与数据库有交互的接口进行重复处理。我们首先会想到在前端做一层控制。当前端触发操作时,或弹出确认界面,或disable入口并倒计时等等,但是这并不能彻底限制,因此我们这里使用Redis来对某些操作加锁场景:场景一:在网络延迟的情况下让用户有时间点击多次submit按钮导致表单重复提交 场景二:表...

2018-11-27 12:05:24 13080 1

原创 Java HTTP工具类

package com.redis.sign;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.NameV...

2018-11-27 00:42:23 3089

原创 Java 使用Redis实现延时队列

A:需求说明:如果系统中需要用到定时执行计划的,又不想用到中间件,如果轮询数据库的话,会导致大量资源消耗,这样我们就可以使用Redis来实现类似功(需要使用rabbitMQ的请看这里:https://blog.csdn.net/u010096717/article/details/82148681) 业务类型,如订单一些评论,如果48h用户未对商家评论,系统会自动产生一条默认评论,还有排队到...

2018-11-06 11:52:34 6917 8

原创 redisTemplate操作Redis工具类

public class RedisUtils { @Autowired private StringRedisTemplate redisTemplate; /** * 写入缓存 * * @param key * @param value * @return */ public boolean se...

2018-11-06 11:13:27 2494 2

原创 springboot使用@Aspect实现AOP记录日志讲解

AOPAOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。在日常开发当中经常用来记录日志,方法跟踪、事务,权限等切面方法说明: @Aspect -- 作用是把当前类标识为一个切面供容器读取 @Pointcut -- (切入点):就是带有通知的连接点,在程序中主要体现为书写切入点表达式...

2018-08-30 15:31:39 10315 3

原创 Springboot + rabbitMQ实现延迟队列(消费者)

由于太长了,所以分成两篇写,接上一篇讲解了消息的定义和发送,这里继续讲解消费者由于可能每条消息所处理的逻辑可能不一样,例如:常规订单30分钟不支付则取消订单,团购订单一天拼团不成功则取消等等,为了避免在消费者监听类中使用大量if else,这里使用策略模式来处理(由于spring的bean的初始化的时候创建,如果用Java常规的反射获取类,则在具体策略类用注入别的bean的时候,会拿不到值,所...

2018-08-29 09:36:12 2582

原创 Springboot + rabbitMQ实现延迟队列(生产者)

前言:在电商系统中,可能有这样一个需求,订单下单之后30分钟后,如果用户没有付钱,则系统自动取消订单。如果用常规的定时器定时去查询,这会造成很大的消耗(频繁访问数据库)。这里选择RabbitMQ来实现类似的功能(使用队列的TTL特性)1.这种模式大概流程,我们需要将消息先发送到ttl延迟队列内,当消息到达过期时间后会自动转发到ttl队列内配置的转发Exchange以及RouteKey绑定的...

2018-08-29 09:36:02 6284 2

原创 JS模拟实现弹幕功能

由于我在项目上面的首页上需要实现一个弹幕小功能,需要不断显示服务器中返回的数据,这里就记录一下JS的具体实现 以下的代码实现&lt;!doctype html&gt;&lt;html lang="en"&gt;&lt;head&gt;&lt;meta charset="UTF-8"&gt;&lt;title&gt;弹幕示例&lt;/title&gt;

2018-08-25 02:01:38 3206

原创 SpringMVC接收上传的Excel并解析获取内容(兼容2003和2007)

系统中常用到的批量导入功能,根据Excel内容批量插入,这里实现获取上传的Excel内容,由于offer2003前和2007后的版本所使用的API不一样,这里也做了兼容处理1.引入maven包&lt;!-- poi office --&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.poi&lt;/...

2018-08-22 14:02:00 2888 2

原创 Java-类转换工具类

1.这是一个类直接转换的工具类,可适用于 对象转换 对象列表转换 属性拷贝, 当且仅当两个对象的非静态属性名称相同且对应的属性类型也相同时才进行属性值拷贝 将对象转换为散列表Object---Map 将list&lt;object&gt;转换为 List&lt;Map&lt;String, Object&gt;&gt; import j...

2018-08-22 12:37:05 4791

原创 SpringMVC使用POI导出Excel

对于现在大部分的应用管理系统中,会很多用到导出Excel,这里我根据项目整理了一下导出的具体实现,导出的列表可是任意的List&lt;Object&gt;,具体需要根据你自己需求而定(ExcelEntity),另外需要自己定义标题(List&lt;String&gt; titles)和内容List&lt;String&gt; keys就行 1.引入maven包&lt;!-- poi ...

2018-08-22 12:30:31 446

springboot+rabbitmq实现延时队列

springboot+rabbitmq实现延时队列,包括消息发送和消费确认,消费者端使用策略模式处理业务

2018-08-29

空空如也

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

TA关注的人

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