- 博客(24)
- 收藏
- 关注
原创 Java 8 List 如何根据对象的属性去重
一、去除List中重复的Stringpublic List<String> removeStringListDupli(List<String> stringList) { Set<String> set = new LinkedHashSet<>(); set.addAll(stringList); stringList.clear(); stringList.addAll(set); return stri
2022-05-04 17:53:35 4374
原创 策略模式之枚举、工厂模式
基于枚举策略类public enum RankEnum { // 以下三个为策略实例 HighPrice { @Override public List<Stock> sort(List<Stock> source) { return source.stream() .sorted(Comparator.comparing(Stock::getPrice).rever
2022-05-04 17:19:49 1118
原创 BigDecimal 工具类
package com.xttblog.util; import java.math.BigDecimal; /** * 用于高精确处理常用的数学运算 */ public class ArithmeticUtils { //默认除法运算精度 private static final int DEF_DIV_SCALE = 10; /** * 提供精确的加法运算 * * @param v1 被加.
2022-05-04 16:50:20 258
原创 @RequestBody 接收数组、List 参数
@RequestBody 概述1、@RequestBody主要用来接收前端传递给后端的 json 格式的数据的(请求体中的数据的),有一个属性 required,表示参数是否必须要传,默认为 true.2、GET 方式无请求体,所以@RequestBody接收数据时,前端必须是 POST 方式进行提交,然后给页面的数据默认也是 json3、同一个方法中,@RequestBody与@RequestParam()可以同时使用,前者最多只能有一个,后者可以有多个,4、@Reque...
2022-05-01 20:21:12 21563 1
原创 使用redisTemplate.opsForHash()和结合UUID的方式来生成生成ID
public Long getSeq(String key,String hashKey,Long delta) throws BusinessException{ try { if (null == delta) { delta=1L; } return redisTemplate.opsForHash().increment(key, hashKey, delta); .
2021-10-29 04:41:36 317
原创 使用RedisAtomicLong 原子类使用CAS操作来生成ID
@Servicepublic class RedisSequenceFactory { @Autowired RedisTemplate<String, String> redisTemplate; public void setSeq(String key, int value, Date expireTime) { RedisAtomicLong counter = new RedisAtomicLong(key, redisTemplate.g.
2021-10-29 04:40:27 605
翻译 AOP实现操作日志记录(自定义注解)
项目结构:项目相关类:注解类:package com.zz.technology.aopLog.annotation;import com.zz.technology.aopLog.enums.OperationType;import com.zz.technology.aopLog.enums.OperationUnit;import java.lang.annotation.*;/** * * //@OperationLogDetail(detail = "通过.
2021-08-12 16:37:54 679 1
翻译 Mac下安装rocketMQ
一.前提是电脑上已经安装了JDK,没有安装的参照https://jingyan.baidu.com/article/908080221f3cfefd91c80fbf.html二.RocketMQ的下载与安装下载:官网地址:http://rocketmq.apache.org/docs/quick-start/点击那个蓝色的here就可以下载了。安装:进入下载目录位置解压 > unzip rocketmq-all-4.7.0-source-release.zip ...
2021-07-21 15:26:16 514 1
原创 建一个表写一个存储过程插入三百万条数据
CREATETABLE`t_user`(`id`intNOTNULL,`user_name`varchar(32)CHARACTERSETutf8COLLATEutf8_general_ciDEFAULTNULL,`address`varchar(255)DEFAULTNULL,`create_time`datetimeDEFAULTNULLONUPDATECURRENT_TIMESTAMP,PRIMARYKEY(`id`))...
2021-06-03 16:02:26 197
原创 18个Java8日期处理的实践
示例1:Java 8中获取今天的日期Java 8 中的 LocalDate 用于表示当天日期。和java.util.Date不同,它只有日期,不包含时间。当你仅需要表示日期时就用这个类。package com.shxt.demo02;import java.time.LocalDate;public class Demo01 { public static vo...
2020-03-06 18:30:32 195
转载 关于lambda的文章,我看过最好的文章
1.什么是Lambda?我们知道,对于一个Java变量,我们可以赋给其一个“值”。如果你想把“一块代码”赋给一个Java变量,应该怎么做呢?比如,我想把右边那块代码,赋给一个叫做aBlockOfCode的Java变量:在Java 8之前,这个是做不到的。但是Java 8问世之后,利用Lambda特性,就可以做到了。当然,这个并不...
2020-01-15 16:15:43 255
转载 mybatis批量插入oracle大量数据记录性能问题解决
环境: mybatis + oracle1.使用"直接路径插入"(下面sql语句中的"/*+append_values */"),并且使用关键字"union all":<insert id="addUidCodeBatch" parameterType="java.util.List"> insert into /*+append_values */ ...
2019-05-24 11:11:07 3211
转载 微服务架构概念篇
转载cyfonly看到最近“微服务架构”这个概念这么火,作为一个积极上进的程序猿,成小胖忍不住想要学习学习。而架构师老王(不是隔壁老王)最近刚好在做公司基础服务的微服务化研究和落地,对此深有研究。于是成小胖马上屁颠屁颠的跑过去向老王请教:“王哥,我看微服务架构这么火,我也想学,您给我讲讲啥是微服务架构呗?”老王笑了笑说:“要想知道什么是微服务架构,你得先知道什么系统架...
2019-04-12 18:55:42 543
转载 Web登录如何确保安全
1、一个普通简单的HTML例子,用户登录信息是不安全的 <formaction="http://localhost:8080/Application/login"method="POST"> 用户名:<inputid="username"name="username"type="text"/> 密码:<...
2019-04-12 16:02:26 9862
转载 js清除浏览器缓存问题的个人见解
关于浏览器缓存浏览器缓存,有时候我们需要他,因为可以提高网站性能和浏览器速度,提高网站性能。但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些错误的数据。 清理网站缓存的几种方法方法一:meta方法//就是html页面标签不缓存 方法二:清理form表单的临时缓存(临时缓存,很多场景下建议清除。但是不建议使用这方法清除) 方法三:
2018-01-17 17:25:15 6159
转载 关于 苹果手机 微信浏览器里点击返回不加载方法的问题
前几天,新增一需求,发现在苹果微信浏览器里会有一个bug。 就是用户苹果点击返回时,不加载 onload的方法,导致使用缓存的数据,而缓存的数据中有个数据字段不会变,所以bug出现。body class="my_body" onload="loaded()" id="body">我找了一些方法解决了问题。 在此记录下。方案一:通过onload方式页面中写一个隐藏的
2018-01-17 17:01:01 6118
原创 关于Chrome谷歌浏览器版本更新对 document.body.scrollHeight 等 兼容日常小记
近期项目导航栏有个地方是使用document.body.scrollHeight 来计算高度,发现我浏览器计算高度没有问题,而同事都有问题(PS:以前我们浏览器都没问题的)。比较了差异,我的谷歌浏览器是55.0的,同事都是66.0的,可能是浏览器版本问题,后来用方法解决了,所以现在记录下来先了解下面的内容,再说解决问题浏览器所有内容高度: 浏览器整个框架的高度,包括滚动条卷去部
2018-01-09 15:57:52 17105
转载 Angular、React、Vue.js 等 6 大主流前端框架都有什么优缺点?
无意中看到的一篇文章,分享一下。后期有更深理解还会补充链接:oschina.net/translate/web-frameworks-conclusions原文:sitepen.com/blog/2017/11/10/web-frameworks-conclusions/译者:凉凉_, wilde, 透过树叶的光等要不要使用框架?
2018-01-02 16:06:42 12643 2
转载 JS中的的"闭包"?
什么是闭包?简单来说,闭包是指可以访问另一个函数作用域变量的函数,一般是定义在外层函数中的内层函数。为什么需要闭包?局部变量无法共享和长久的保存,而全局变量可能造成变量污染,所以我们希望有一种机制既可以长久的保存变量又不会造成全局污染。特点1、占用更多内存 2、不容易被释放何时使用?变量既想反复使用,又想避免全局污染如何使用?定义外层函数,封装被保护的局部变量。定义内层函数,执行对外部函数变量
2017-12-28 17:03:40 360
翻译 关于web前端优化的建议(多收少补)
前端的优化,以下都是看到学习到技术并且认同的优化,可能未来还会补充1、减少网络交互的次数(多次请求合并)2、减少网络传输数据量的大小(必须要传的数据,我们可以传,但是尽量压缩)3、
2017-12-27 09:51:50 387
转载 前端常见跨域解决方案(全)
前端常见跨域解决方案(全)什么是跨域?指一个域下的额文档和脚本试图请求另一个域下的资源。浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。 http:// www . abc.com : 8080 / script/jquery.js协议 子域名 ...
2017-12-25 17:48:16 3343 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人