自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(270)
  • 资源 (13)
  • 收藏
  • 关注

原创 创建骨架工程

生成骨架工程:https://blog.csdn.net/jeikerxiao/article/details/60324029 1. MartianDemo项目骨架生成1.1. 导入项目骨架生成模块:com.jd.martian martian-demo-archetype 1.0.0-SNAPSHOT1.2. 创建骨架工程:输入项目名称, 分组id, 包名称等信息, 下一步...

2021-03-30 22:47:52 315

转载 2020-12-23

随机瓜分百万红包年关将近,各类促销活动即将上线,类似支付宝集五福的那种,用户凑齐卡片之后,可以瓜分百万红包。因为这种瓜分活动集齐的人数肯定是很多的,直接随机之后再扣减,感觉不是很合适。大致思路如下:因为是集卡截止后再进行红包瓜分的,集齐的用户可能几十万上百万,所以就先根据集齐卡片的用户数,先将红包随机瓜分好,存放起来,等到瓜分的时候,直接领取就行了。假设5个人集齐,等长度生成一个随机数数组[2,5,9,8,6]。根据这个随机数数组里面的值所占整个数组元素和(30)的比例来计算每个红包的.

2020-12-23 19:35:39 316

原创 81.安心技术梳理 - 开发中,路由切量最快捷工具 - 干货

1.设定路由的目标字段,如:userId2.设置需要切量的值,如:range,1 - 10代表 10% - 100%int hashCode = Math.abs(userId.hashCode()) % 10;if (hashCode < range) { 执行任务}3.完成

2020-07-31 16:15:05 363

转载 6.安心快修 - WebStorm中通过npm进行打包Vue项目操作

1.打包报错信息:2.因为package.json文件里面没有配置build脚本,所以报以上错误!3.解决方案:在package.json中的scripts中添加build脚本:{ "scripts": { "build": "cross-env NODE_ENV=production webpack --config webpack.config.js" } }4.其他问题:有可能出现 ‘cross-env’ 不是内部或外部命令,也不是可运行的程序 的错误通过 npm i

2020-06-11 16:10:29 954

转载 5.安心快修 - Vue运行-Nodejs安装问题-win10执行npm出现Error: EBUSY: resource busy or locked 错误解决方法

最近使用win10从github上down下一个vue项目 安装执行的时候出现了如下错误(未启动360等杀毒软件):我的最终解决办法如下图:找到项目文件夹》右键属性 只读点掉不选 》应用即可...

2020-06-04 11:09:32 2837

转载 4.安心快修 - Vue运行-Nodejs安装及环境配置

1、下载安装包下载地址:https://nodejs.org/zh-cn/download/根据自己电脑系统及位数选择,我这里选择windows64位.msi格式安装包.msi和.zip格式区别:1、.msi是Windows installer开发出来的程序安装文件,它可以让你安装,修改,卸载你所安装的程序。说白了.msi就是Windows installer的数据包,把所有和安装文件相关的内容封装在一个包里。2、.zip是一个压缩包,解压之后即可,不需要安装image.png

2020-06-04 10:21:36 171

原创 80.安心技术梳理 - 开发对敏感数据加密和解密操作工具,干货

对重要敏感数据进行统一加密和解密操作1.实践类import com.security.*;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class DecEncUtils { private static final Logger logger = LoggerFactory.getLogger(DecEncUtils.class); //加密 public static String bui...

2020-06-02 16:12:34 379

原创 79.安心技术梳理 - 团队合作开发常见影响代码性能的注意点,干货

影响代码性能的点,仅供参考1.防止N+1查询,循环里面套查询和外部查询接口(提供批量服务解决)2.数据库查询频繁的固定内容,增加缓存逻辑,防止并发下大量查询数据库操作3.涉及到数据库更新操作,避免在查询时候有更新操作事例:1.N+1影响性能,单个循环查询消耗时间会翻倍,影响性能public List<ActInfo> getActInfo(List<Long> actIds){ if(CollectionUtils.isEmpty(actIds...

2020-06-02 14:45:20 187

原创 78.安心技术梳理 - 开发中常用统一工具(时间/常量/缓存),干货

团队开发中工具的统一是必要的,方便管理和维护,常用的几种,仅供参考1.时间工具类import java.util.concurrent.TimeUnit;public class CacheTime { public static final Long ONE_SECONDS = TimeUnit.SECONDS.toSeconds(1L); public static final Long ONE_MINUTES = TimeUnit.MINUTES.toSeconds(1L);...

2020-06-02 14:26:15 192

原创 77.安心技术梳理 - 开发中 - 异常- 类和方法的创建和使用,干货

开发中异常的输出是必要的,我们需要统一的数据标准,做个统一工具,仅供参考1.实际应用的方式(1)创建常量返回异常结果import com.Result;Result.failResult(CocoonErrorCode.PURCHASECARD_ACT_EXCEPTION, "付费卡活动异常")(2)创建异常类返回throw BusinessException.of(CocoonErrorCode.PAIDCOUPON_NOEXIT).tips("查询列表为空");2.实现的工具类

2020-06-02 14:15:38 205

原创 76.安心技术梳理 - java开发中枚举类的创建使用,干货

开发中枚举类的使用是狠广泛的,下面是常见的创建类型,仅供参考1.普通枚举public enum OrderStatusEnum { WAIT_STATUS, OVER_STATUS;}2.键值对枚举(含二进制表示方式)import org.apache.commons.lang3.StringUtils;import java.util.ArrayList;import java.util.List;public enum UserClassifyEnum { ...

2020-06-02 14:02:24 223

原创 75.安心技术梳理 - java8流式编程,stream使用的几种场景,干货

1.遍历封装 (List - List)List<CouponDataInfo> couponDataInfos = dataInfos.stream().map(a -> { CouponDataInfo couponDataInfo = new CouponDataInfo(); couponDataInfo.setCouponId(a.getCouponId); couponDataInfo.setCouponKey(a.getCouponKey); ..

2020-06-01 17:55:25 459

原创 74.安心技术梳理 - 结果对象映射输入对象,做数据封装,重写equals和hashCode,干货

对象之间数据映射操作,将结果对象的数据映射到输入对象,复用equals和hashCode实现,仅供参考:1.处理主流程:import javax.annotation.Resource;import java.util.List;import java.util.Map;import java.util.stream.Collectors;public class HandleData { @Resource private CouponService couponServ

2020-06-01 17:47:42 151

原创 73.安心技术梳理 - 创建本地缓存类实现,干货

本地缓存工具实现,仅供参考import com.google.common.cache.CacheBuilder;import com.google.common.cache.CacheLoader;import com.google.common.cache.LoadingCache;import java.util.concurrent.TimeUnit;public class LoadingCacheUtils { private LoadingCache<String,

2020-06-01 15:23:47 176

原创 72.安心技术梳理 - 前置校验,拦截器,切面编程思想2,干货

拦截器实现切面编程,实现仅供参考1、拦截器管理类:import com.RiskInterceptor;import com.UserInterceptor;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.I

2020-06-01 15:06:54 281

原创 71.安心技术梳理 - 链式开发,切面编程思想1,干货

链式开发,增加代码可读性,切面思想较少代码冗余,仅供参考学习。一、实用类链式主流程1:import com.HandlerChain;import com.RequestData;import com.ResponData;import com.Filter1ControlHandler;import com.Filter2ControlHandler;import com.result.Result;public class MenthHandlerChain extends H

2020-06-01 14:43:59 295

原创 70.安心技术梳理 - 高效率【并发】请求多个接口工具实现2,干货

采用并发类中锁的特性完成int num = 5;//并发执行的数量ConcurrentLinkedQueue<Future<DataVo>> linkedQueue = new ConcurrentLinkedQueue<>();CountDownLatch cancelDownLatch = new CountDownLatch(num);//线程池-创建ThreadFactory threadFactory = new ThreadFactoryBuil

2020-05-31 21:03:13 223

原创 69.安心技术梳理 - Redis实现【分布式锁】工具,含超时时间/等待时间干货

1.创建引入一个Redis工具方法类2.实现工具 -redisClient为工具String lockKey = "key"; 1000L后获取锁,20000L维持锁存在总时长DistributedLocker.instance(redisClient) .lock(lockKey, 1000L, 20000L, () -> this.method(提交方法));实现工具类:import com.RedisClient;im.

2020-05-19 21:08:18 791

原创 68.安心技术梳理 - 拦截【请求IP】工具,干货

以下为加载请求的IP工具,供参考:import javax.servlet.http.HttpServletRequest;public class IpUtils { private static final Logger LOGGER = LoggerFactory.getLogger(IpUtils.class); private static final String UNKNOWN = "unknown"; private static final Strin

2020-05-19 20:50:50 181

原创 67.安心技术梳理 - 开发失败【重试请求次数】方法的工具,干货

以下为重试的工具,供参考学习:import com.github.rholder.retry.Retryer;import com.github.rholder.retry.RetryerBuilder;import com.github.rholder.retry.StopStrategies;import com.github.rholder.retry.WaitStrategies;import com.google.common.base.Predicates;import org.

2020-05-19 20:48:36 223

原创 66.安心技术梳理 - 高效率【并发】请求多个接口工具实现,干货

以下为实现并发请求的实现方式思路,供参考:DataInfo dataInfo = new DataInfo(); //设置并发请求3个接口 ExecutorService executorService = Executors.newFixedThreadPool(3); List<Future<Boolean>> futures = new ArrayList<>(); //接口1 Fu...

2020-05-19 20:27:57 232

原创 65.安心技术梳理 - 字符串中各种操作方法

基础:牢记字符串操作的各种方法:​ String s = "aaaljlfeakdsflkjsadjaefdsafhaasdasd"; // 出现次数 int num = 0; // 循环遍历每个字符,判断是否是字符 a ,如果是,累加次数 for ( /...

2020-05-02 17:34:46 114

原创 64.安心技术梳理 - Mysql数据类型对应java数据类型 - 全集

下面我给出MYSQL类型与JAVA类型对应表,希望能够帮到您:类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) VARCHAR L+N VARCHAR java.lang.String 12 CHAR N CHAR java.lang.String 1 BLOB L+N BL...

2020-05-01 13:05:49 224

原创 63.安心技术梳理 - 系统架构review内容

系统架构图本系统和其他系统的关系(业务流、数据流,下同)、交互方式(RPC、MQ、数据集市,下同) 本系统内部各模块的作用、模块之间的关系、交互方式各模块的被依赖方(外部)梳理 调用方 部门 场景 级别 SLA(最大调用量、时延,下同) 交互方式 性...

2020-04-22 10:17:15 380

原创 62.安心技术梳理 - 系统线上服务监控/报警内容

一、机器监控所有资源类型的机器(物理机、容器)都加入MDC:物理机/容器,nginx/应用/数据库/redis/zk/etc。 报警指标类型(TODO,用表格的形式,做一个建议的报警配置) 必须:连通性、cpu利用率、内存利用率、磁盘利用率、网络重传 建议:tcp连接数、网络流入/流出速率、磁盘繁忙、swap使用率 资源缩容/扩容后,及时同步ip列表到mdc并检查监控是否设置。j...

2020-04-22 10:08:52 319

转载 61.安心技术梳理 - SpringContextHolder 获取不到applicationContext

web.xml<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name&g...

2020-04-21 00:05:13 900

转载 3.安心快修 - 解决Chrome浏览器强制http重定向到https的问题

在chrome地址栏中输入chrome://net-internals/选择 Domain Security Policy在 Delete domain security policies 标签里输入要删除的域名

2020-04-06 22:09:47 964

原创 60.安心技术梳理 - 配置文件Mock数据解析至对象集合联调工具类-干货

1.工具类private String getFileContent(String fileName) { String path = this.getClass().getClassLoader().getResource("").getPath().toString(); String filePath = path.substring(1) + fileN...

2020-03-24 11:21:36 258

原创 2.安心快修 - Intellij IDEA运行报Command line is too long解法

启动时候报错信息:Error running 'ServiceStarter': Command line is too long. Shorten command line for ServiceStarter or also for Application default configuration.解决办法为:修改项目下 .idea\workspace.xml,找到标签<...

2020-01-13 20:24:21 132

转载 59.安心技术梳理 - 规则引擎Drools动态加载规则,直接上干货

背景最近,因工作需要做了规则引擎的调研,对比了多个规则引擎后,最终选择开源规则引擎Drools。Drools的优点很多,而我决定使用Drools的原因主要是:非常活跃的社区支持(JBoss支持); 快速的执行速度; 完善的功能; 国外金融领域使用比较多;当然,Drools也有很多缺点:复杂(功能越多也意味着越复杂); 文档欠缺(官方文档混乱、缺少中文文档); 学习成本高...

2020-01-11 17:31:46 1327

转载 58.安心技术梳理 - 乐观锁注解@Version两个包区别(javax.persistence.Version)和(tk.mybatis.mapper.annotation.Version)

一、javax.persistence.Version在数据库并发操作时,为了保证数据的正确性,经常要对数据加锁,加锁有两种方式:悲观锁、乐观锁悲观锁:把所需要的数据全部加锁,不允许其他事务对数据做修改update xxx where xxxx for update乐观锁:对数据进行版本校验,如果版本不一致,则操作数据失败update xxx,version+1 where x...

2020-01-10 15:05:17 2954 1

转载 1.安心快修 - Win10系统Word文档编辑后无法保存的修复方法

win10系统无法保存word文档内容的处理办法?大家在用win10系统电脑工作和学习的过程中,可能会出现win10系统无法保存word文档内容的情况。如果遇到win10系统无法保存word文档内容的问题应该如何处理呢?对于电脑水平属于小白的用户来说一般不知道win10系统无法保存word文档内容到底该怎么处理?其实很简单只需要1、任意建立一个word文档,鼠标单击【文件】;2、点击左侧的【选项...

2020-01-09 20:19:01 772

原创 57.安心技术梳理 - java8和java9新特性及使用

java8新特性:https://www.runoob.com/java/java8-new-features.htmljava9新特性:https://www.runoob.com/java/java9-new-features.html

2020-01-08 11:24:56 149

转载 56.安心技术梳理 - linux下文件夹的创建、复制、剪切、重命名、清空和删除命令

在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinozzz一、目录创建在/home/wwwroot目录下新建一个sinozzz123的文件夹mkdir /home/wwwroot/sinozzz123二、目录复制1.把/home/wwwroot/sinozzz里面的文件和文件夹等复制到home/wwwroot/sin...

2020-01-07 10:16:59 125

转载 55.安心技术梳理 - linux在线安装JDK环境及Tomcat

一.Java环境的安装1.在线下载jdk1.8wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2...

2020-01-07 09:52:57 106

原创 54.安心技术梳理 - 使用工具类(线程池/集合/线程/队列) - J.U.C

一、ConcurrentLinkedQueue(线程安全的队列)适用于并发编程中。A.实现线程安全的队列有两种实现方式:一种是使用阻塞算法队列,另一种是使用非阻塞算法队列阻塞算法队列:可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现非阻塞算法队列:可以使用循环CAS的方式来实现实例:非阻塞算法队列实现,如:ConcurrentLinkedQueue...

2019-12-31 15:52:21 161

转载 53.安心技术梳理 - 线程池中shutdown()和shutdownNow()方法的区别

一般情况下,当我们频繁的使用线程的时候,为了节约资源快速响应需求,我们都会考虑使用线程池,线程池使用完毕都会想着关闭,关闭的时候一般情况下会用到shutdown和shutdownNow,这两个函数都能够用来关闭线程池,那么他们俩之间的区别是什么呢?下面我就用一句话来说明白shutdown和shutdownNow的区别。一、一句话说明白shutdown和shutdownNow的区别shutd...

2019-12-31 10:53:31 189

原创 52.安心技术梳理 - com.alibaba.fastjson中json解析/序列化/反序列化

1.使用引入jar包:<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.23</version></dependency>2.序列化:把JavaBea...

2019-12-30 17:19:52 696

转载 51.安心技术梳理 - 自定义拦截器实现(登录/风控/用户身份)等功能实现

介绍:在Web开发中,我们除了使用 Filter 来过滤请web求外,还可以使用Spring提供的HandlerInterceptor(拦截器),HandlerInterceptor 的功能跟过滤器类似,但是提供更精细的的控制能力:在request被响应之前、request被响应之后、视图渲染之前以及request全部结束之后。我们不能通过拦截器修改request内容,但是可以通过抛出异常(或者返...

2019-12-12 18:03:32 261

转载 50.安心技术梳理 - 线程池ExecutorService中【返回值】submit和【无返回值】execute的区别

一、创建任务任务就是一个实现了Runnable接口的类。创建的时候实run方法即可。二、执行任务通过java.util.concurrent.ExecutorService接口对象来执行任务,该接口对象通过工具类java.util.concurrent.Executors的静态方法来创建。Executors此包中所定义的 Executor、ExecutorService、Sch...

2019-12-10 15:03:39 1153

构建高性能高并发系统.docx

主要针对高并发高吞吐量业务服务的优化方向,实现服务高可用和高稳定,满足用户访问,通过不同维度对服务进行优化,根据不同的需求场景选择不同的方案实施

2020-06-16

plugins1.zip

eclipse中jar包依赖,方便开发人员进行依赖资源加载,省去拉取时间

2019-10-16

plugins.zip

精简的开发工具,尤其对于初学者很受用的一个工具,欢迎大家下载试用

2019-10-15

eclipse.zip

精简的开发工具,尤其对于初学者很受用的一个工具,欢迎大家下载试用

2019-10-15

电商主站首页流程图

主流电商平台主站首页内容的流程图解,更好的帮助新入行学员快速了解

2019-04-26

活动页请求时序图

主流电商平台活动页内容的流程图解,更好的帮助新入行学员快速了解

2019-04-26

电商-团购流程图解

电子商务开发工作中关于团购的流程图解,帮助新入行同学学习

2019-04-24

XposedBridgeApi-54

XposedBridgeApi用于进行开发时候的插件使用,可以很好的获取数据

2019-03-25

SourceTree免注册安装包

SourceTree对于Git项目管理的客户端工具,功能强大,使用方便,极大提高开发效率!

2019-01-05

4 XB和微信的开放资源

XB和微信的完美融合,只能针对微信小版本兼容,消息由极光提供

2018-12-24

缓存处理-mybatis层

主要处理mybatis层对数据进行缓存处理问题,在数据底层进行优化

2018-12-24

1 消息队列MQ+多线程任务+业务处理

消息队列MQ+多线程任务+业务处理 用来监听优化消息并根据电脑性能尽量多的加线程

2018-10-19

定时任务+缓存+极光消息推送+多线程处理+单表查询优化

定时任务+缓存+极光消息推送+多线程处理+单表查询优化等方案,对互联网电商开发性能等要求开发优化

2018-10-18

空空如也

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

TA关注的人

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