![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
无忧草·
平平淡淡才是真~~~
展开
-
秒杀场景高并发处理
秒杀场景一般是在京东、淘宝活动日,譬如京东618秒杀,淘宝双11秒杀等,其本质即是超大的流量访问秒杀接口,真正秒杀到的用户很少;要求服务器能够承载超大流量用户的请求,保证用户体验。如何能够提高用户体验呢?其实就是针对大流量进行削峰,限流,提高服务器并发量,秒杀架构图如下图所示:服务器层面可以水平扩展(增加服务器数量),垂直扩展(提高单机处理能力,增加cpu核心、内存等)前端处理CDN加速、静态化页面、验证码等代理层面Nginx(可做集群)反向代理,ip访问频率限制、ip黑原创 2020-07-07 11:00:20 · 603 阅读 · 1 评论 -
AES加解密以及源码分析
AES加解密简单实现 //密钥 private static String secretKey = "12345678123456781234567812345678"; //加密串字符编码方式 private static String charset = "utf8"; //偏移量 private static int offset ...原创 2020-04-30 17:55:22 · 1074 阅读 · 0 评论 -
Idea十分实用插件推荐
Maven Helper这是一款jar分析工具,可以帮助我们很优雅的管理我们的jar包,有效的解决jar包依赖冲突问题,如下图所示RestfulToolkit这款插件是接口管理工具,类似swagger,不过比swagger更加方便,可以让开发人员更方便的测试接口,不用切换窗口,数据demo自动根据我们的参数生成,如下图所示Grep Console...原创 2020-04-21 11:04:14 · 1833 阅读 · 0 评论 -
利用java反射方式实现导入excel
在做项目过程中,导入excel数据应该是很常见的操作,我们都是如何去做他呢,肯定做法是多种多样的,我估计大多数同学都习惯这样的一种方式,直接对我们的对我们所需要的实体bean进行挨个set值,如下面这种方式:定义日期格式: private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-M...原创 2019-11-01 18:12:13 · 819 阅读 · 0 评论 -
多格式IP解析为单个IP实现方式
由于项目需要,需要设置多格式IP,然后将其分成单个ip缓存起来,下面是实现方式:import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.util.*;/** * @author: SJT * @date: 2019/3/22 * @desc: 将a:127.0.0.1 b:127.0.0.1,...原创 2019-03-23 19:50:42 · 415 阅读 · 0 评论 -
freemarker模板中long类型中默认格式化逗号解决方式
由于需要往ftl模板中传入数字,出现将数字格式化为123,123,123格式,不能满足业务需求,下面是问题的几种解决方式1)文件头中加入此配置既可<#setting number_format="#">2)可以直接将数字转化成字符串形式${val.toString()}3)也可以使用val?c形式${val?c}4)如果很多的话可以直接全局配置,利用f...原创 2019-03-23 21:27:24 · 1691 阅读 · 1 评论 -
解析xml利用反射机制解析到对应实体类实现方式之一
根据业务需要,需要对获取xml里数据,下面是利用SAXParser进行实现的,代码实现如下:package tjs.utils.base.util;import lombok.Data;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHa...原创 2019-05-21 09:25:42 · 561 阅读 · 0 评论 -
Java中统计Class类中超长方法长度的code实现
项目开发过程中,我们可能会遇到很多难以维护的代码,超长的方法,一看都头大,正常来说,代码一般不会超过100行,如果业务复杂,尽量分成多个小方法配合注释加以说明。如何便捷的查找项目中的超长代码呢,一可以借助阿里巴巴代码规约插件,这个就不多说了,下面时另一种方式,利用java代码进行实现:import lombok.extern.slf4j.Slf4j;import java.io.Bu...原创 2019-08-13 22:00:42 · 358 阅读 · 0 评论 -
fastjson版本安全性问题
最近自己搞了个小项目玩,由于用的fastjson版本过低,上传到github后检测出fastjson安全性问题如下图:希望对也在使用低版本的你们有所帮助~.~原创 2019-09-11 15:28:04 · 4128 阅读 · 3 评论 -
设计模式之工厂模式案例(支付)
我们如何能根据一个业务来优雅的实现高扩展性,可维护性高的代码呢,下面介绍一种我们常用的设计模式--工厂模式具体代码实现:sql脚本:create table channel( channel_id int auto_increment primary key, channel_name varchar(40) null comment '渠道名称', ...原创 2019-03-18 01:02:16 · 1858 阅读 · 0 评论 -
数据结构之归并算法(类似于分库操作模拟)
在我们项目中,如果数据量很大,那么分库操作不失为一个选择,分库如何实现操作数据呢,比如所有数据去重排序,下面以文件代替进行模拟:target_file 是合并后生成文件,小了很多,是因为去重了,这是临时文件(类似于我们的多个库)下面是代码实现:import lombok.*;import java.io.BufferedReader;import java.io.I...原创 2019-03-15 02:48:17 · 226 阅读 · 0 评论 -
jvm分析
jvm分析:一个java类在jvm中有三种形态:1) source:源码形态 ->编译过程(javac)2) class:字节码形态3)runtime:运行时形态 加载到内存,内存存在形态jvm中最核心的一个类就是ClassLoader,从分析源码发现该类在加载类的时候采用的双亲委派机制双亲委派:是JDK的一种安全机制,会检测类是否被加载过,只有没有加载过的才允许加载,...原创 2019-03-05 22:49:30 · 173 阅读 · 0 评论 -
IDEA自定义方法注释
写方法注释太麻烦?下面是叫你如何正确自定义方法:1)首先ctrl+alt+s 打开设置界面:2)然后添加模板:3)定义注释方法名 / (自定义method_name),编辑模板:** * @desc: * @author: $user$ * @date: $date$ * @param: $param$ * @return: $return$ *...原创 2018-11-07 12:03:17 · 2338 阅读 · 0 评论 -
java对象排序问题
对于List<Integer> 之类的排序可以 Collections.sort(list),但是对于对象来说呢,要怎么排序呢?有兴趣的同学可以看下面代码:/** * @author: SJT * @date: 2018/11/13 * @desc: 排序问题 **/public class OrderDemo { public static void...原创 2018-11-13 15:09:01 · 379 阅读 · 0 评论 -
Git 无权限push项目问题
在用git多人合作开发过程中,遇到无权限推送项目到远程仓库时首先,我们可以看下owner是否给你开启了权限运用 git remote -v 查看是否有fetch push 权限如果有的话, 那么最明智的做法就是直接替换gitlab上的ssh key替换之后问题基本就解决了,ok...原创 2018-11-15 22:53:58 · 7834 阅读 · 0 评论 -
springboot 1.x 升级 2.x后热部署插件Jrebel可能会遇到项目启动不起来的问题
当在项目升级之后遇到下面此问题时:aused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(Tomcat...原创 2019-01-19 16:06:54 · 1224 阅读 · 0 评论 -
org.elasticsearch.client.Request.<init>(Ljava/lang/String;Ljava/lang/String;)V关于es报错问题解决方案
由于公司es升级,升级为6.3.2后发现es查询出现下面错误:[ERROR] 2019-01-22 21:43:42 qgs.intranet.log.server.config.GlobalExceptionHandler[handleException:23] - Exception from org.springframework.web.servlet.DispatcherServl...原创 2019-01-22 22:06:16 · 12016 阅读 · 5 评论 -
java代码二叉树实现方式
二叉树,顾名思义即一个树最多有两个叉,二叉树有1度(一个叉)2度(两个叉)。二叉树的三个性质:1)非空二叉树的第i层上最多2^(i-1)个节点;2)深度为l的二叉树最多有2^l-1个节点;3)对于任意一棵二叉树,叶子节点(最后一层)为n0,度数为2的节点为n2,则有n0 = n2 + 1。二叉树的分类:1)完全二叉树:二叉树的最后一层所有叶子节点都连续集中在最左边,倒数第二...原创 2019-02-23 11:43:30 · 785 阅读 · 5 评论 -
springboot 全局日期格式转换配置
在项目中,日期问题可能会导致很多不必要的麻烦,下面有关springboot日期全局配置:@Configurationpublic class DateConfig{ @Bean public Converter<String, Date> addNewConvert() { return new Converter<String, Dat...原创 2019-02-21 12:12:37 · 3227 阅读 · 9 评论 -
MVC文件下载
文件下载:由于业务需要,今天写了个文件下载,其实还挺容易的,就是简单的io操作,下面有个简单小测试,有需要的可以瞄一瞄实例:package com.hy.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMappin...原创 2018-03-16 21:31:08 · 741 阅读 · 0 评论