5 shuangyueliao

java工程师

暂无相关简介

添加认证
等级
TA的排名 1w+

基于Redis延时任务实现分布式系统的数据一致性

系统A执行业务后调用系统B执行业务,如果系统B执行完后,通知执行结果给系统A时,由于系统A宕机或者重启,那么会导致系统A收不到B的处理结果,导致系统A、B的数据不一致。如果使用延时任务就能避免这个问题。系统A在调用系统B时同时添加一个延时任务以查询B的处理结果,如果A接收到结果就把延时任务删除。否时就执行延时任务查询系统B的处理结果。延时任务如果保证到点执行任务,有两种实现方式:主动查询延时...

2020-04-22 23:05:06

实现管理后台权限控制竟如此简单

后台管理最重要的就是权限控制,后台可以创建用户,可以为用户赋予不同的角色。一个角色可以拥有不同的操作权限,如用户管理的增删权限等等角色还可以规定他可以操作哪些数据要想对某一个管理员的操作进行权限控制,需要为他创建一个角色,这个角色规定了他能管理哪些用户,规定了对用户能进行哪些操作。此外,需要提供一个接口查询当前账户具有哪些操作权限,以便在前端能显示不同的按钮,此具有用户管理的增删查改...

2020-04-18 18:30:26

vmware无法挂起虚拟机

点击虚拟机->设置->高级电源选项的挂起设置成挂起(硬)即可

2020-04-18 16:20:09

c/c++一小时入门tcp/udp通讯

1、实现只能接受一个连接的tcp服务器#include <stdio.h>#include <stdlib.h>#include <string.h>#include <errno.h>#include <sys/types.h>#include <sys/socket.h>#include <netine...

2020-04-06 22:45:47

eureka源码解析

当service从注册列表中移除时调用方法com.netflix.discovery.DiscoveryClient#shutdownDiscoveryClient有一个register方法,用来向eureka服务注册服务实例DiscoveryClient的register方法其实是被InstanceInfoReplicator中的run方法调用而类InstanceInfoRepli...

2020-03-29 20:34:10

select for update不交由spring事务管理的正确姿势

SqlSession sqlSession = null; try { InputStream in = Resources.getResourceAsStream("mybatis-config.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFa...

2020-03-18 00:29:12

feign源码解读

对于feign的接口请求失败的重试配置可通过如下自定义配置文件实现(一般不建议配置) @Configurationpublic class FeignConfig { @Bean public Retryer feignRetryer() { return new Retryer.Default(100, SECONDS.toMillis(1), 5); ...

2020-03-17 00:04:15

大数据之直播平台数据统计

已知有以下直播平台数据json格式{"id":158008900435,"uid":120010010445,"nickname":"jack435","gold":445,"watchnumpv":4350,"watchnumuv":870,"hots":1350,"nofollower":435,"looktime":8700,"smlook":2175,"follower":1740,...

2020-03-08 16:28:06

使用hadoop完成推荐算法

基于物品的推荐算法算法步骤已知以上用户对物品的行为,假设点击行为得1分,搜索行为得3分,收藏5分,付款10分。请为用户推荐合适的物品。1、从以上信息构建用户、物品的评分矩阵,如下图2、由以上矩阵构建物品的相似度矩阵如1号物品和2号物品,算出其第一行和第二行的余弦相似度,即可得出其第1号物品和第2号物品的相似度,最终得出6*6相似度矩阵3、相似度矩阵*评分矩阵=推荐列表左边是第...

2020-03-03 21:49:39

hadoop入门代码

输入文件1,2,3经过mapper处理成中间结果,最后再shuffle给reduce,最后得到最终结果,处理输入时的key都是默认排好序的。hadoop1的hdfs的block的大小是64M,从hadoop2起block大小默认是128M。案例一:输入一堆单词,统计各个单词重复出现的个数输入的格式如下,单词之间以空格隔开编写输出中间结果的mapper/** * 输入的map是(行号...

2020-02-29 23:25:28

分布式事务实现的5种方案

1、XA方案(即两阶段提交方案)有一个事务管理器,负责协调多个数据库的事务,先询问各个数据库prepare好了吗,如果都回复ok,就正式提交事务,否则回滚事务。此方案可基于spring+JTA可以实现,但效率低,严重依赖数据库层面来完成,适合单应用多库连接,微服务一般不会直连库,不适合2、TCC方案(Try-Confirm-Canel)Try阶段:对资源锁定或预留Confirm阶段:在各个...

2020-02-28 23:49:51

清除日志文件不产生文件空洞

文件空洞:文件内容的大小小于文件磁盘占用的空间产生原因:如java使用nohup java -jar xxx.jar > log.txt方式启动java程序,但随着日志内容的增多,服务器磁盘空间不足,需要清理日志文件,所以可采用命令echo '' > log.txt此时日志文件内容被清空(注意,如果只是通过重命名或删除或vim编辑日志文件的方式清除文件内容时,由于程序没有停止,这样会导致输出的日...

2020-02-10 14:33:57

java8 stream自定义分组求和并排序

public static void main(String[] args) { List<GroupDetailDTO> list = new ArrayList<>(); GroupDetailDTO dto1 = new GroupDetailDTO(); dto1.setHeadsetId(1); ...

2020-01-23 23:40:44

EMQ X 服务器 SSL/TLS 安全连接配置指南

https://blog.csdn.net/emqx_broker/article/details/99439312

2019-12-24 14:26:40

https为什么能保证安全性

http传输如下:此时信息是明文传输,如果信息被人截获,则能看到里面的内容,极不安全那就需要对内容加密,过程如下:浏览器生成一个秘钥浏览器向服务器请求公钥服务器向浏览器发送它的公钥浏览器接收服务器发送的公钥,并使用公钥加密随机生成的对称密钥,发送给服务器服务器接收浏览器发送的数据,用自身私钥,得到对称加密密钥最后,浏览器和服务器可以使用对称密钥加密内容进行通信但此方案仍...

2019-12-20 19:19:11

程序猿提高工作效率的几个快捷键

window平台扫换浏览器标签页 ctrl+ 1-9光标定位地址栏 alt+d、ctrl+L打开文件管理器 win+E打开新标签页 ctrl+Tvscode删除整行快捷键 ctrl+shift+k编辑的开始、结束 ctrl+home、ctrl+end最小化所有窗口 window+M还原最小化的窗口 w...

2019-12-11 15:28:32

bitmap在海量数据下的应用场景

bitmap(位图)能很好地处理海量数据下的应用场景。什么是bitmapbitmap是以bit为单位存储一个数,一个整数是8个字节,就是32位,那么如果以bit为单位,那么它能存储32个数。bitmap的优点是占用存储小。它适合处理大量数据的排序、查询以及去重。bitmap的应用场景找出一个数是否在40亿个数据当中把40亿个数用bitmap表示,1表示存在,0表示不存在,最后判断某个数所...

2019-11-16 22:21:27

玩转分布式

elasticsearch搜索流程client发送请求到任意一个node,这node成为协调节点协调节点将搜索请求转发所有的shard对应的primary shard或replica shard每个shard将自己搜索结果的doc id返回给协调节点,由协调节点进行数据的合并、排序、分页等操作,产出最终结果最后由协调节点根据doc id,去各个节点拉取实际的document数据,返回给...

2019-11-09 20:42:13

Java代理(jdk静态代理、动态代理和cglib动态代理)

jdk静态代理public interface AddService { Integer add(int a, int b);}public class AddServiceImpl implements AddService { @Override public Integer add(int a, int b) { return a b; ...

2019-11-07 23:01:41

基于netty手写RPC框架

代码目录结构rpc-common存放公共类rpc-interface为rpc调用方需要调用的接口rpc-register提供服务的注册与发现rpc-client为rpc调用方底层实现rpc-server为rpc被调用方底层实现rpc-sample-client就是使用自实现的rpc框架调用rpc-sample-serverrpc-sample-server就是rpc框架的被调用方...

2019-11-06 10:13:41

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 分享精英
    分享精英
    成功上传11个资源即可获取