叮叮丶
码龄8年
关注
提问 私信
  • 博客:231,367
    社区:371
    231,738
    总访问量
  • 63
    原创
  • 387,116
    排名
  • 209
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2016-09-22
博客简介:

dwhhome的博客

查看详细资料
个人成就
  • 获得175次点赞
  • 内容获得99次评论
  • 获得497次收藏
  • 代码片获得465次分享
创作历程
  • 26篇
    2020年
  • 25篇
    2019年
  • 17篇
    2018年
成就勋章
TA的专栏
  • Redis
    12篇
  • Linux
    5篇
  • LVS
    2篇
  • Keepalived
    2篇
  • nginx
    2篇
  • Java
    45篇
  • jQuery
    1篇
  • JavaScript
    1篇
  • springcloud
    4篇
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

基于Zookeeper实现分布式锁

一、Zookeeper相关概念基于Zookeeper实现分布式锁,主要依赖于它的【瞬时有序节点】,当多个客户端并发创建瞬时有序节点时,会自动为我们生成有序的节点,例如定义子节点名为 order_ ,则生成的节点为 order_00000001,下一个节点为order_00000002,为我们保证有序。利用Zookeeper节点的递增性,可以规定节点编号最小的那个获得锁。当编号最小的那个释放锁后,通知第二个节点获得锁(节点监听机制),以此类推,首尾相连。所以说Zookeeper天然支持分布式锁。..
原创
发布博客 2020.10.12 ·
293 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

分布式事务基础与解决方案

一 、本地事务在计算机系统中,更多的是通过关系型数据库来控制事务,这是利用数据库本身的事务特性来实现的,因此叫数据 库事务,由于应用主要靠关系数据库来控制事务,而数据库通常和应用在同一个服务器,所以基于关系型数据库的事务又被称为本地事务。数据库事务的四大特性 ACID:A(Atomic):原子性,构成事务的所有操作,要么都执行完成,要么全部不执行,不可能出现部分成功部分失败的情况。C(Consistency):一致性,在事务执行前后,数据库的一致性约束没有被破坏。I(Isolation)
原创
发布博客 2020.09.21 ·
328 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring深入理解

一、Spring的IOC机制和AOP机制IOC是典型的工厂模式,通过sessionfactory去注入实例。spring ioc的实现过程工程中通过maven引入一些spring框架的依赖,ioc功能 tomcat启动时,启动spring容器 spring ioc,spring容器,根据xml配置,或者是你的注解,去实例化bean对象,根据xml配置或者注解,对bean对象之间的引用关系,去进行依赖注入。spring ioc底层实现的核心技术是反射,他会通过反射的技术,直接根据你的类去自己
原创
发布博客 2020.08.27 ·
385 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java内存模型

一、Java内存模型Java虚拟机规范中定义了Java内存模型(Java Memory Model,JMM),用于屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的并发效果,JMM规范了Java虚拟机与计算机内存是如何协同工作的:规定了一个线程如何和何时可以看到由其他线程修改过后的共享变量的值,以及在必须时如何同步的访问共享变量。二、计算机高速缓存和缓存一致性计算机在高速的 CPU 和相对低速的存储设备之间使用高速缓存,作为内存和处理器之间的缓冲。将运算需要使
原创
发布博客 2020.08.22 ·
176 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java 并发编程原理解析

一、synchronized关键字的底层原理synchronized 同步语句块的实现,使用的是 monitorenter 和 monitorexit 指令,其中 monitorenter 指令指向同步代码块的开始位置,monitorexit 指令则指明同步代码块的结束位置。当执行 monitorenter 指令时,线程试图获取锁,也就是获取 monitor ( monitor 对象存在于每个 Java 对象的对象头中,synchronized 锁便是通过这种方式获取锁的,这也是为什么 Java 中
原创
发布博客 2020.08.19 ·
177 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JDK1.8中HashMap优化分析

HashMap底层实现是数组,这里分析下jdk1.8中对HashMap的优化1. hash算法优化 // jdk1.8 HashMap中hash源码 static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); }源码解读:用 (key的hash值) 与 (key的hash值右移16位)
原创
发布博客 2020.08.18 ·
1132 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

链表-如何实现LRU缓存淘汰算法

1.如何分别用链表和数组实现LRU缓冲淘汰策略? 1)什么是缓存? 缓存是一种提高数据读取性能的技术,在硬件设计、软件开发中都有着非广泛的应用,比如常见的CPU缓存、数据库缓存、浏览器缓存等等。 2)为什么使用缓存?即缓存的特点 缓存的大小是有限的,当缓存被用满时,哪些数据应该被清理出去,哪些数据应该被保留?就需要用到缓存淘汰策略。 3)什么是缓存淘汰策略? 指的是当缓存被用满时清理数据的优先顺序。 4)有哪些缓存淘汰策略? 常见的3种包括先进先出策略FIFO(Firs.
原创
发布博客 2020.08.06 ·
550 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

SpringBoot导出Excel

刚好有需求,封装了下较为通用的导出工具类代码实现import org.apache.poi.hssf.usermodel.*;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.CellType;import org.apache.poi.ss.usermodel.Row;import javax.servlet.http.HttpServletResponse;import java.io.I
原创
发布博客 2020.07.31 ·
258 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

RabbitMQ基础概念及安装

一、RabbitMQ基础概念RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,RabbitMQ使用Erlang语言编写的,并且RabbitMQ是基于AMQP协议的优点:采用Erlang语言作为底层实现:Erlang有着和原生Socket一样的延迟开源、性能优秀,稳定性保障提供可靠性消息投递模式(confirm)、返回模式( return )与SpringAMQP完美的整合、API丰富集群模式丰富,表达式配置,HA模式,镜像队列模型保证数据不丢失
原创
发布博客 2020.07.30 ·
148 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Logstatsh7.x数据同步

目录一、logstatsh下载二、解压使用三、配置使用四、运行一、logstatsh下载对应Elasticsearch版本下载logstatsh,官网下载较慢,推荐 华为开源镜像站 下载,地址如下:https://mirrors.huaweicloud.com/logstash/这里下载版本为:logstash-7.3.2二、解压使用执行如下命令解压:tar -zxvf logstash-7.3.2.tar.gz将解压后的文件移动至 opt 目录下mv logstash-7.3.2 /
原创
发布博客 2020.07.24 ·
355 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

Elasticsearch集群的搭建

目录一、Elasticsearch集群的概念二、搭建Elasticsearch集群三、Elasticsearch集群脑裂现象探讨一、Elasticsearch集群的概念集群:ES节点:运行的ES实例ES集群:由若干节点组成,这些节点在同一个网络内,cluster-name相同节点:master节点:​ 集群中的一个节点会被选为master节点,它将负责管理集群范畴的变更,例如创建或删除索引,添加节点到集群或从集群删除节点。master节点无需参与文档层面的变更和搜索,这意味着仅有一个mas
原创
发布博客 2020.07.24 ·
351 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Elasticsearch基础知识及实践应用

一、Elasticsearch 核心概念当前Elasticsearch版本号:7.3.2Elasticsearch关系型数据库ES数据库索引index表文档 document行(记录)字段 fields列分片(shard):shard = primary shard(主分片)把索引库拆分为多份,分别放在不同的节点上,比如有3个节点,3个节点的所有数据内容加在一起是一个完整的索引库。分别保存到三个节点上水平扩展,提高吞吐量。备份(replica):
原创
发布博客 2020.07.21 ·
392 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java 8 Stream截取List

一、需求说明现有接口需对已注册用户批量注册至极光,极光提供接口仅支持单词500,故使用Stream截取数据库查询结果。二、代码实现 // 查询所有需注册至极光的用户基础信息 List<JiGuangInfo> jiGuangInfos = getJiGuangInfoList(); // 总注册数 int countAll = jiGuangInfos.size(); // 批次注册数 .
原创
发布博客 2020.07.20 ·
6815 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

Elasticsearch 镜像下载站

Elasticsearch 镜像下载站 镜像列表使用说明公益服务,请勿恶意使用。 关于验证包的完整性,本站只提供sha文件的下载。 右击链接复制地址。 不支持5.0之前的版本下载。 好用的话还请收藏下本站。7.3.2-no-jdk-windows-x86_64.zip7.3.2-no-jdk-windows-x86_64.zip.sha5127.3.2-no-jdk-darwin-x86_64.tar.gz7.3.2-no-jdk-darwin-x86_64.tar.
转载
发布博客 2020.07.15 ·
1015 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux下Redis安装

初始环境:yum install gcc-c++解压:tar -zxvf redis-5.0.5.tar.gz进入解压目录安装:make && make install脚本方式配置redis开机自启进入目录:cd/home/software/redis-5.0.5/utils复制脚本文件至init.d:cp redis_init_script /etc/init.d/创建redis工作目录:mkdir -p /usr/local/redis/work核心配置文件.
原创
发布博客 2020.06.13 ·
149 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Keepalived+LVS+Nginx高可用集群负载均衡

一、需具备环境两台Keepalived服务器192.168.3.119192.168.3.122两台nginx服务器192.168.3.120192.168.3.121VIP:192.168.3.200(虚拟IP)二、主节点Keepalived配置ip :192.168.3.119global_defs { # 路由id:当前安装keepalived的节点主机标识符,保证全局唯一 router_id keep_119} vrrp_ins..
原创
发布博客 2020.06.13 ·
478 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

搭建LVS-DR模式的负载均衡

一、准备条件准备三台虚拟机,一台为LVS节点,两台为nginx节LVS节点:DIP:192.168.3.119(内网IP,虚拟机静态IP)VIP:192.168.3.200(虚拟IP)Nginx节点:RIP:192.168.3.120(真实IP/内网IP)RIP:192.168.3.121(真实IP/内网IP)即:三台服务器,192.168.3.119、192.168.3.120、192.168.3.121DIP:即director ip ,调度者IPRI..
原创
发布博客 2020.06.13 ·
893 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

centos7使用

一、虚拟机安装后配置静态IP执行命令:cd /etc/sysconfig/network-scripts/编辑配:vi ifcfg-enp0s3删除文件内旧数据粘贴如下配置:DEVICE="enp0s3" # 网卡名TYPE="Ethernet" # 网络类型为以太网ONBOOT="yes" # 该网卡是否随网络服务启动BOOTPROTO="static" # 手动分配ipIPADDR=192.168.3.117 # 配置的固定IPNETMASK=255.255
原创
发布博客 2020.06.12 ·
302 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

keepalied双主热备

一、keepalied安装下载keepalied后解压,进入解压目录,执行 configure 命令配置安装目录与conf配置文件目录./configure --prefix=/usr/local/keepalived --sysconf=/etcprefix : keepaivied 安装路径sysconf :核心配置文件所在位置,固定,改为其他位置无法启动执行命令后若提示以下内容,则需安装 libnl/libnl-3 依赖安装 libnl/libnl-3 依赖yu..
原创
发布博客 2020.06.04 ·
509 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

苹果APP授权登录

一、前值说明苹果App开发完成后支持微信QQ一键登录,审核时要求具备Apple登录以防万一,苹果登录有两种方式,一种是jwt,二是授权码模式,这里采用jwt模式,开发语言为java二、代码实现使用相关技术:jwt+restTemplate+fastjson/** * 解析apple授权token * @param jwt * @return * @throws Exception */ public JSONObject ap.
原创
发布博客 2020.05.26 ·
835 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多