自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 jedis记录用户常用模块生成实时排名

需求:拦截用户对不同类型模块的进入,新增,更新,删除 的操作,每次操作频率+1 , 实时显示用户当面所有模块的排名。要求设计时满足对历史数据的排行,比如某月,某年等时间段的排行。环境:由于项目没有针对redis 做持久化操作,所以每次项目启动需要重新加载数据库中的数据到缓存中。 由于此项目redis版本较老,使用的是2.6版本,并且使用的是 shardJedis + sentinel 的高可用模式 。 采用jedis访问redis最终形成页面如下:自定义注解:@Targe.

2020-07-29 16:53:37 380

转载 Java 8 新特性 Stream类的collect方法

1.Collectors.toList():转换成List集合。/Collectors.toSet():转换成set集合。System.out.println(Stream.of("a", "b", "c","a").collect(Collectors.toSet()));2.Collectors.toCollection(TreeSet::new):转换成特定的set集合。TreeSet<String> treeSet = Stream.of("a", "c", "b", .

2020-07-14 13:51:22 1504

原创 JAVA 设计模式相关

接口隔离原则单一原则接口隔离原则依赖倒转原则里氏替换原则子类中尽量不要重写父类的方法,适当的情况下,可以通过聚合,组合,依赖来解决问题,或者可以让类升级为基类开闭原则迪米特法则合成复用原则...

2020-07-09 14:27:50 114

原创 JVM 调优相关命令 jps jstat jinfo jmap jhat jstack

jps-q抑制类名,JAR文件名和传递给该main方法的参数的输出,仅生成本地VM标识符的列表。 -m输出传递给main方法的参数。对于嵌入式JVM,输出可能为null。 -l 将应用程序主类的完整软件包名称或完整路径名称输出到应用程序的JAR文件。 -v输出传递给JVM的参数。 -V输出通过标志文件(.hotspotrc文件或-XX:Flags = <filename>参数指定的文件)传递给JVM的参数。jstat监视虚拟机运行状态...

2020-07-09 13:09:54 1379

原创 服务升级

发布方式:蓝绿发布 滚动发布 灰度发布 (提前存好灰度规则)

2020-07-08 16:24:06 401

转载 表分区与分区表取舍

基本来说, 分区和分表带来的性能提升是一样的,由于分区实际上就可以认为是mysql底层来帮我们实现分表的逻辑了, 所以相对来说分表会比分区带来更高的编码复杂度(分区就根本不用考虑多表分页查询的问题了).从这个角度来说, 一般的业务直接分区就可以了.当然, 选择分区还是分表还是需要做一点权衡的:1. 表中的数据只有部分热点数据经常访问, 其他的不常访问的话, 适合用分区表2. 分区表相对容易维护, 可以针对单独一个分区进行检查,优化, 批量删除大量数据时, 分区表会比一般的表更快3. 分区表

2020-07-08 10:24:58 2096

原创 Java8 CompletableFuture 用法总结及Stream并行流对比

Shop计算相关类package com.future;import java.util.Random;import java.util.concurrent.CompletableFuture;import java.util.concurrent.Future;public class Shop { private String name ; public Shop(String name) { this.name = name; }...

2020-07-04 15:31:55 3531

空空如也

空空如也

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

TA关注的人

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