自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基本的命令

文章目录前言总结前言jmap、jstat、jstack、jps、iotop、iftop、top、free、df、du# docker run -d -p 8008:8080 --name 容器名 镜像名docker exec -it 容器id /bin/shjps -ljstat -gc pid 1000S0C:第一个幸存区的大小S1C:第二个幸存区的大小S0U:第一个幸存区的使用大小S1U:第二个幸存区的使用大小EC:伊甸园区的大小EU:伊甸园区的使用大小OC:老年

2021-09-15 20:17:56 138

原创 rocketMq 集群消费和广播消费

文章目录前言一、消费类图二、集群消费三、广播消费总结前言rocketMq消费模式分为集群消费clustering和广播消费broadcast, 默认是clustering一、消费类图二、集群消费三、广播消费总结

2021-05-15 10:45:49 2183

原创 rocketMq 集群同步双写和异步复制源码实现

文章目录前言一、同步双写1.1 xxx二、异步复制2.1 x x x x x x总结前言rocketMq集群环境下多mater多slave时主从同步是怎么实现的呢,在这做一个分析,之前也做过同步刷盘和异步刷盘的源码解析下面给出链接rocketMq刷盘源码解析一、同步双写1.1 xxx二、异步复制2.1 x x x x x x总结...

2021-05-09 23:28:55 768

原创 nio、pageCache、mmap、sendfile、pageCache预读和顺序读写、bufferCache、磁盘块、扇区、rocketmq的实现

文章目录前言一、nio1.NIO概念2.缓冲区(其实就是数组)3.通道4.非阻塞式网络通信二、pageCache1.xxx总结前言讲一讲 nio、pageCache、mmap、sendfile、page cache预读和顺序读写、bufferCache、磁盘块、rocketmq的实现一、nio1.NIO概念Java NIO(New IO)是从Java 1.4版本开始引入的 一个新的IO API,可以替代标准的Java IO API。 NIO与原来的IO有同样的作用和目的,但是使用 的方式完全不

2021-05-09 13:14:32 802

原创 JAVA 对象布局和对象逃逸

linux在上有用户空间和内核空间的概念,进程在linux上运行会在用户空间分配内存,jvm是在用户空间申请的内存后,我们在java程序上创建对象就不用再通过系统调用去申请内存了.减少系统调用,而是使用已经分配好的内存去使用,在这记录下java创建对象的对象布局和对象逃逸一、JAVA 对象布局在 HotSpot虚拟机中,对象在内存中的存储的布局可以分为三块区域:对象头(Header),字段数据(field Data)和对齐填充(Padding)1. Object Header(对象头):Mar.

2021-05-09 00:17:18 210

转载 深入分析 AQS 实现原理——转载一同事写的

深入分析 AQS 实现原理 一、什么是 AQS1、AQS 的两种功能2、AQS 的内部实现3、锁竞争、锁释放对队列的变化3.1 锁竞争3.2 锁释放 二、AQS同步队列源码分析2.1 抢占锁ReentrantLock.lockNonfairSync.lockAQ...

2021-05-05 21:46:07 159

原创 消息中间件-mq

mq消息中间件耳熟能详的东西了,在大多数情况下我们会从kafka、rocketmq、rabbitmq三种消息中间件去根据不同业务选择.kafka吞吐量大在大数据领域使用较多,我们一般之前的系统一些数据指标埋点监控或者一些日志采集通过flume到kafka都是使用kafka,而涉及到具体的业务数据我们大多是使用rabbitmq来的,而rocketmq却相对使用的较少,因为一般rabbitmq的性能已能支持很多业务场景了我们每日的调用量目前是3个亿左右,之前在内部做技术分享过rocketmq,主要还是借鉴ka.

2021-05-05 21:32:07 153

原创 卷积神经网络文本分类算法

随着这几年深度学习的出现,人工智能也得到了更好的发展, 不知不觉已进入我们的生活,并且一点一点地影响着我们.之前待过一家公司里面主要是做ai算法项目.虽然负责的工程这块,几十种算法模型都有nlp和cv算法工程师开发.我们只是包装这些算法模型成一个个对外的服务,随着耳濡目染,慢慢地会去研究下平时这些算法是怎么训练的1. 网络结构卷积神经网络一般包括卷积层,池化层和全连接层,这些层通常我们叫做隐藏层1.1卷积层如图一个5x5的矩阵 通过一个3x3的卷积核的得到一个3x3的矩阵(为什么做卷积呢,我们把.

2021-05-03 23:54:59 2549

原创 docker

docker 涉及到 容器,镜像,仓库概念,镜像可以在镜像仓库pull 下来也可以自己build一个镜像,通常我们会编写一个dockerfile文件记录镜像的制作过程,然后docker build -t image_name Dockerfile_path 构建.其实docker的镜像实际上是由一层一层的文件系统构成。1. dockerfileFROM openjdk:8-jre-alpineMAINTAINER [email protected] description="som.

2021-05-02 11:09:10 93

原创 批量认证和部署脚本

虽然大多数我们部署项目通过cicd去部署,但是并不是所有的公司都会有cicd或者有的时候一些小项目不会使用cicd,记录下执行jar包和批量执行,就简单的利用shell脚本、ssh-keygen、expect来实现。1. 建立ssh认证 首先,需要检查expect是否安装:rpm -qa|grep expect然后,在操作机上创建公钥:ssh-keygen 一路回车即可创建好之后到/root/.ssh/下就可以看到id开头的2个文件,其中id_rsa.pub就是公钥文件,需要做的就是将这个文.

2021-05-01 18:26:13 190

原创 springboot自定义注解接收json数据

业务方要求一两个个字段也用json, 而之前字段太少我都用@RequestParam接收,不想改代码就自己实现一个import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Target(ElementType.PARAMETER)@R.

2021-04-28 00:59:23 655 1

原创 雪花算法的研究

雪花算法有64位bit 里面 单机是通过时间戳加自增序号表示唯一,在集群场景下每个机器的机器id不一样也能保证唯一,看下了雪花算法的bit结构发现都是做位移操作和与或操作,刚好之前分析bitset源码也是需要操作bit通过位移操作和与或操作. 试着尝试在雪花算法里面加入一点自己的东西couponType(优惠券类型)占用4bit, 把自增的减少到8 bit最大值从4096变成255, 在单机每毫米255个(1s 就是255000个) 完全足够此前bitset分析文章 https://blog.csd.

2021-04-26 01:51:03 135

原创 dubbo 在zookeeper上的数据结构

安装zookpeer启动zookpeer3.启动dubbo源码demo项目连接zookpeer根节点:dubbo一级子节点:提供服务的服务名二级子节点:固定的四个子节点:分别为:consumers、configurators、routers、provider节点名/dubbo/com.alibaba.dubbo.demo.DemoService/consumers/consumer://192.168.1.102/com.alibaba.dubbo.demo.DemoS.

2021-04-24 18:38:56 352

原创 Dubbo扩展机制SPI

Dubbo扩展机制SPIdubbo官方文档的朋友肯定知道,dubbo有大量的spi扩展实现,包括协议扩展、调用拦截扩展、路由扩展等26个扩展,并且spi机制运用到了各个模块设计中。JDK的SPI思想SPI的全名为Service Provider Interface,面向对象的设计里面,模块之间推荐基于接口编程,而不是对实现类进行硬编码,这样做也是为了模块设计的可拔插原则。为了在模块装配的时候不在程序里指明是哪个实现,就需要一种服务发现的机制,jdk的spi就是为某个接口寻找服务实现。jdk提供了

2021-04-24 14:20:54 162

原创 mysql索引-锁

记录几篇前小组同事关于mysql的博客MySQL锁读这篇就够:https://blog.csdn.net/weixin_44981707/article/details/109887875mysql优化详解:https://blog.csdn.net/weixin_44981707/article/details/108506087MySql Join连接三种算法:https://blog.csdn.net/weixin_44981707/article/details/110576470.

2021-04-24 14:07:53 69

原创 mysql权限管理

创建用户 #指定ip CREATE USER 'test1'@'ip' IDENTIFIED BY 'mima'; #所有IP都可以 CREATE USER 'test1'@'%' IDENTIFIED BY 'mima';查看权限#目前只有登录权限MySQL [(none)]> show grants for test1@‘%’;+-----------------------------------------+| Grants for test1@‘%’ .

2021-04-24 13:48:41 77

原创 BitSet原理

文章目录前言一、bitSet原理总结前言在java中最小的数据类型是byte字节,1byte占用8 bit,我们能否操作bit呢? bitSet(位图)就可以,他能占用更少的空间,当在大数据量的场景那会非常节省内存题外话:之前遇到一个面试官问了一个问题:给定一个 1-2亿的随机整数数组,找出里面的1~2亿没有出现的整数的个数,然后还限定机器内存500m装不下2亿个int数,-- 我当时想的是放在磁盘分批加载进内存去比较, 他说不行,要一次加载, 我心里想着用b+tree索引?但是好像也不行,一次

2021-04-24 00:23:21 239

原创 线程池原理

文章目录前言一、ThreadPoolExecutor代码结构二、ThreadPoolExecutor代码详解1.execute()方法2.addWorker()方法三、四种常用线程池总结前言由于频繁的创建销毁线程会带来一定的成本,可以预先创建但不立即销毁,以共享方式为别人提供服务,一来可以提供效率,再者可以控制线程无线扩张。合理利用线程池一、ThreadPoolExecutor代码结构ThreadPoolExecutor内部包含五个内部类, woker 是aqs的子类和实现了runnable接口

2021-04-18 01:03:50 146

原创 linux权限

cat /etc/group 查看所有用户组cat /etc/passwd 查看所有用户信息groups 查看当前登录用户所属的所有组的列表groups username 获取特定用户所属的所有组的列表查看用户组所有成员1、grep ‘user1’ /etc/group //找出用户组的giduser1❌1004://得出gid=10042、 awk -F":" ‘{print $1"\t"$4}’ /etc/passwd |grep ‘1004’ //列出user1组的所有成员user1

2021-04-16 23:18:48 342

原创 shell脚本批量部署

shell脚本批量部署日常运维工作中,需要给几十上百台服务器批量部署软件或者是重启服务器等操作, 这样大量重复性的工作一定很苦恼,本文给大家提供了最基本的批量操作的方法,虽然效率不高,对于初学者来说还是好理解。由于刚开始学习写脚本,什么 puppt这样的高级工具还不会使用,就简单的利用shell脚本、ssh-keygen、expect来实现。希望能给各位带来帮助,不足之处还请留言 指出,大家共同进步。首先,需要检查expect是否安装:rpm -qa|grep expect然后,在操作机上创建公钥:

2021-04-16 23:14:26 460 2

空空如也

空空如也

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

TA关注的人

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