自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RocketMQ之NameServer

NameServer 是专为 RocketMQ 设计的轻量级名字服务,它的源码非常精简,八个类 ,少于 1000 行代码。这篇文章, 笔者会从基础概念、Broker 发送心跳包、NameServer 维护路由、Zookeeper vs NameServer 四个模块揭秘名字服务的设计精髓。

2023-10-04 12:58:50 934 1

原创 一个利用递归算法解决高效率的随机数生成的问题

近一段时间 在面试过程中,问了一些资深架构师一个算法题,其实我觉得不难,但是出乎意外的是,没有一个人有一个好的方法和思路。今天晚上闲来无事,我就自己写了一个小的demo,算是一个分享吧。题目使用随机算法产生一个数,要求把1-1000W之间这些数全部生成。(考察高效率,解决产生冲突的问题)问题分析其实这个题的重点是随机数、高效率,和解决冲突,很多人,一上来,就是redis的set,java的set来做去重,多线程的方式来并发执行,balabala,但是真正从理论上讲,这些人讲的,也都算可行,毕竟.

2021-11-23 22:15:27 1067

原创 Office转Pdf的Java实现

背景项目中需要在线预览文档,且文档格式有word、excel和ppt等多种Office格式的所以需要一中能在linux上运行的在线转换工具,经过github的查找,发现LibreOffice的方式,以下介绍以下具体方法准备环境安装LibreOfficeyum install libreoffice文件有点大,需要安装一段时间安装字体**字体一定需要安装,否则会出现乱码问题**1、下载字体yum groupinstall "fonts"2、修改字符集vim /etc/loc

2021-08-22 23:38:08 604

原创 Mybatis——关于实体构造函数与Mybatis字段映射的坑

现象今天一位同事找我看一个很奇怪的问题:执行一个单表的查询语句,结果老是报字段类型不匹配的错误,错误日志如下:Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: Err

2021-01-07 16:12:49 2387 2

原创 使用FRP作为内网穿透服务

背景需要远程访问办公环境的内网服务器,原来使用的是花生壳之类的软件,但是存在很多不确定性,最近研究了一下开源内网穿透软件frp,总结了一些心得,分享一下。条件一台具有公网IP的服务器,可以购买一台云服务器内网服务器若干,本次以一台为例frp软件,server端和client端nginx服务,作为多个http服务的转发目的实现mysql的访问实现redis的访问实现多个http服务的访问,因为frp转发http的端口,只能设定一个,所以需要一个nginx做所有http服务的转发,可以

2020-12-21 15:08:39 2435

原创 Docker容器环境下使用JVM监控分析工具JMX和Jstatd

软件准备docker-compose1.24java8配置docker-compose文件修改在JAVA_OPTS中增加以下配置-Djava.rmi.server.hostname=`192.168.XX.XX` -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.rmi.port=`7098` -Dcom.sun.management.jmxremote.port=`7099` -Dcom.sun.management.

2020-11-24 11:48:21 1842 1

原创 Docker-compose之Redis Cluster集群

概述Redis作为基于键值对的NoSQL数据库,具有高性能、丰富的数据结构、持久化、高可用、分布式等特性,同时Redis本身非常稳定,已经得到业界的广泛认可和使用。在Redis中,集群的解决方案有三种主从复制哨兵机制ClusterRedis Cluster是Redis的分布式解决方案,在 3.0 版本正式推出。集群方案的对比1. 主从复制同Mysql主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,读写分离

2020-11-18 14:41:58 2990 3

原创 CentOS7防火墙设置

防火墙开关设置关闭firewall:systemctl stop firewalld.service #停止firewall禁用firewallsystemctl disable firewalld.service #禁止firewall开机启动启用firewallsystemctl start firewalld.service #启用firewall端口管理开启7001-7006端口firewall-cmd --zone=public --add-port=7001-7006/

2020-11-18 11:14:10 133

原创 Docker-使用和管理本地镜像

登录镜像仓库以下以腾讯镜像仓库为例docker login -u 1000023424528 -p 123456 ccr.ccs.tencentyun.com1000023424528 : 镜像仓库的账号123456 : 镜像仓库的密码ccr.ccs.tencentyun.com :镜像仓库的地址给镜像打tagdocker tag 0e5574283393 ccr.ccs.tencentyun.com/franks/mysql:5.7 推送镜像docker push ccr.

2020-11-18 10:35:20 677

原创 Redis6新特性

Redis6新特性之前一直听别人说redis6出了,还实现了多线程,以后面试官问redis是单线程还是多线程这样的问题肯定要涨10个百分点,今天就结合antirez的博客和github文档看看redis到底实现了什么新技能。先看下antirez的概览:许多新的模块API。更好过期算法。SSL支持。ACL支持。新的RESP3协议。客户端缓存。多线程I/O。副本的无盘复制。redis-benchmark支持和redis-cli改进。Systemd 支持重写。redis集群代理的发布。

2020-11-18 10:02:32 5367 2

原创 HashMap红黑树原理分析

近期学习了 HashMap 实现原理,这篇咱们了解一下红黑树的设计,相比 jdk1.7 的 HashMap 而言,jdk1.8最重要的就是引入了红黑树的设计,当冲突的链表长度超过 8 个的时候,链表结构就会转为红黑树结构。01、故事的起因JDK1.8 最重要的就是引入了红黑树的设计(当冲突的链表长度超过 8 个的时候),为什么要这样设计呢?好处就是避免在最极端的情况下冲突链表变得很长很长,在查询的时候,效率会非常慢。红黑树查询:其访问性能近似于折半查找,时间复杂度 O(logn);链表查.

2020-10-16 14:46:45 4578 3

原创 Docker-compose搭建Jenkins

JenkinsJenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins功能包括:1、持续的软件版本发布/测试项目。2、监控外部调用执行的工作。准备环境笔者使用的是云服务器,配置仅1C1G,持续集成服务,一般并发要求不高,各个企业一般不会太频繁使用,稍微低一些的配置即可满足要求。Centos7.*安装好Docker环境,version 19.03.12安装好docke

2020-10-15 16:00:24 1592

原创 设计模式——观察者模式

public class JdkDemo { public static void main(String[] args) { HashMap map = new HashMap(); for (int i = 0; i < 3000; i++) { map.put("key"+(i),"123"+i); } Set<Map.Entry> entrySet = map.entrySet();

2020-10-15 15:18:00 141 1

空空如也

空空如也

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

TA关注的人

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