- 博客(89)
- 资源 (4)
- 收藏
- 关注

原创 TCP/IP详解(一) -- 基本概念
一、什么是TCP/IPTCP/IP是一组协议的代名词,包括许多别的协议,组成了TCP/IP协议簇。TCP/IP 采纳了ARPANET参考模型,将协议分为4层。二、 ARPANET参考模型序号层描述层7应用层实质上是Internet兼容的任何应用,包括网页(HTTP)、DNS、DHCP4传输层提供在抽象的、由应用管理的“端口”之间的数据交换。可能包括差错...
2018-09-26 15:45:57
4021

原创 Java位运算的基础及使用(意义)
这几天在看HashMap的源码,但里面的位运算太多,看得有点晕。故,先整理位运算相关知识。在了解位运算的计算后,又在思考,使用位运算的意义是什么,毕竟平时开发基本没用过位运算。经大量的资料查找,整理了两个自己感觉比较好的位运算利用例子,特在此记录,分享。另外,毕竟位运算的代码可读性差,请大家谨慎使用。一、位运算基础1、位运算是针对整数的二进制进行的位移操作2、整数 32位 , 正数符号为...
2018-09-21 15:21:35
17453
10

原创 mysql 存储引擎 innodb(一) 简单介绍
一、MVCC(Multi-Version Concurrency Control)简介:MVCC(Multi-Version Concurrency Control)多版本并发控制。特点,读不加锁,读写不冲突。1. mvcc读操作快照读 (snapshot read): 读取的是记录的可见版本 (有可能是历史版本),不用加锁当前读 (current read):读取的是记录的...
2018-09-14 15:38:54
1955
原创 nginx转发ingress-nginx问题记录
想直接通过域名访问k8s上的服务. 想到k8s上可以直接通过ingress配置. 不过ingress默认启动的端口3xxxxx. 一般不可能让用户访问我们的服务加上端口. 所以现在要解决直接通过80端口访问ingress的问题.由于我这个nginx是通过docker部署的, 还需要再配置下docker容器的dns. 不然我这不能解析成功. (我把原来的nginx删了重新run , 指定了自己的新的resolv.conf。访问 -> abc.cn:30181 – 正常,直接到了ingress。
2023-12-21 11:00:43
542
2
原创 centos7.9安装k8s v1.28.4
注意: 这个步骤可能不需要, 因为我后面就是本地有镜像了, kubeadm init的时候还是去远端拉取(通过init指定仓库解决).比较奇怪.我指定init指定了仓库地址, 镜像也都提前下载好了, 但是一直报拉取registry.k8s.io/pause:3.9 镜像失败。默认情况 k8s各组件通信的ssl证书1年过期. 证书过期后,组件之间通信就有问题. 所以证书续期很重要.由于这篇博文是安装完成第二天补的, 安装期间参考了大量的文章, 有部分都找不到记录了.只要docker正常启动, 就可以访问了.
2023-12-08 11:09:25
1113
原创 python requests 请求https DH_KEY_TOO_SMALL错误解决
最后stackoverflow搜这个错误, 无意看到关于httpx ssl的问题, 果断换个框架, 解决问题.我的 requests版本是2.31.0, 百度谷歌给出的方案就是不能解决问题。
2023-12-06 12:35:08
1038
原创 微信小程序查看接口信息(抓包)
本文仅供交流学习使用主要参考:由于参考文章在baidu权重不高(google才查到的), 所以自己重新记录一篇, 方便他人, 也防止参考文章丢失.
2023-12-06 10:47:49
6618
1
原创 识别验证码
由于是为了爬取数据, 验证码是从接口取的. 返回的是一个base64. 示例代码里是将base64转成字节数组进行识别. ddddocr官方示例有直接通过图片(xx.jpg)识别的, 可以直接参照github官方.调研了Tesseract框架, 识别效果不佳. 后来使用ddddocr, 能正确识别.需求是要爬取某网站的数据, 已有账号密码, 但这个网站需要登录, 登录需要输入验证码。两个坑都是在github issues中找到的答案.
2023-11-27 14:13:53
579
原创 spring boot 无法读取点分隔的环境变量
项目使用docker打包,在k8s 环境变量或者docker-compose.yaml指定的点分隔环境变量无法被spring识别。
2022-11-26 17:49:43
1056
原创 skywalking-ui使用指南
skywalking-ui使用指南1. 概述2. 详细介绍2.1 功能选型卡选择区2.1.1 仪表盘2.1.1.1 APMglobal(全局)指标:Service 指标Instance 指标Endpoint指标2.1.1.2 Database2.1.2 拓扑图2.2.3 追踪2.2.4 性能剖析2.2.5 日志2.2.6 告警2.2 重载区2.3 时间选择器附:1. Apdex介绍介绍:数学表示:样例计算:Q&A1. 概述整个skyWalking 分为三个区域(如下图):功能选项卡选择区:这
2022-02-21 16:17:51
4383
原创 k8s 部署skywalking与dockerfile接入agent
文章目录1. 介绍1.2 效果图2. 部署2.1 部署skywalking2.1.1 创建configmap2.1.2 创建deployment2.1.3 添加service2.2 部署ui2.2.1 创建deployment2.2 创建service3. 使用(应用集成agent)复制agent到项目目录4. 踩坑1. 介绍skywalking分为四个部分:Agent(也叫Probe):代理或者探针,集成在被监测的应用中(SDK形式或者动态注入),采集应用的数据发送给后端(OAP)。UI:自带的
2022-02-16 21:19:13
4950
1
原创 k8s pod 一直重启 code 137 排查记录
现象k8s pod一直在重启,调度不起来排查1. 首先看状态这个比较简单,我直接在页面上的(rancher查看api、查看/编辑yaml等都能看)如图,找到containerStatuses,里面有个exitCode:137网上搜了下错误码的意思:退出代码 0:一般为容器正常退出退出代码 1:由于容器中 pid 为 1 的进程错误而失败退出代码 137:由于容器收到 SIGKILL 信号而失败(手动执行或“oom-killer” [OUT-OF-MEMORY])= 退出代码 139:
2022-02-10 17:10:36
14978
3
原创 unutun21.04安装k8s v1.23.1(二)虚拟机网络配置与kuboard token获取
上篇已在虚拟机里安装完k8s,并安装了k8s图形界面,由于是虚拟机,未进行网络配置之前,宿主机无法直接访问虚拟机服务。本文续上篇,做了网络配置,并获取token,登陆kuboard~虚拟机网络配置与kuboard token获取1 虚拟机配置1.1 明确虚拟机ip2.2 配置端口转发2 kuboard token 获取1 虚拟机配置核心诉求是宿主机访问虚拟机网络背景:virtualbox虚拟机系统:ubuntu21.04虚拟机网络:默认NAT1.1 明确虚拟机ip在虚拟机ifconfig,找
2022-01-10 12:55:49
616
原创 unutun21.04安装k8s v1.23.1(一)
1. 环境初始化#关闭swap 我第一次执行这个好像失败了,导致了后面步骤的错误swapoff -arm -f /swap.imgvim /etc/fstab# /swap.img#开启ip转发vim /etc/sysctl.confnet.ipv4.ip_forward=1#查看状态sysctl -p2. 安装docker2.1 安装依赖sudo apt-get updatesudo apt-get -y install apt-transport-https ca-c
2022-01-09 20:13:00
1708
原创 spring接口超时时间配置
现象:接口默认1min超时,超过时间直接504考虑到业务,存在超级慢的接口,需要调大超时时间。网上一搜…一言难尽… 大部分文章都提到以下两个配置spring.mvc.async.request-timeout和server.tomcat.connection-timeout,但实测,不能达到效果。最终想到接口经过nginx转发,在nginx中加了proxy_read_timeout配置后实现效果。location /xxx { root html; proxy_pass http://
2022-01-05 15:49:45
9172
原创 soul框架简单介绍与设计模式分析
soul框架简单介绍与设计模式分析1. 初识1.1 查看官网文档了解1.2. 目标:2. 分析源码2.1. 网关的实现原理2.1.1. 跨域请求问题2.1.2. 网关请求处理2.1.3. http网关插件2.1.3.1 插件数据获取(插件、选择器、规则)2.1.3.1.1 数据的订阅2.1.3.2 插件的执行(以http插件为例)2.2. 亮点3. 疑问1. 初识1.1 查看官网文档了解针对API的网关 – 可以为每个接口配置负载均衡、限流等功能有三个角色:soul-admin 配置规则sou
2021-03-21 22:42:43
2828
原创 为什么有了binlog还要有redo log
为什么有了binlog还要有redo log?binlog会记录所有与MySQL数据库有关的日志记录,包括InnoDB, MyISAM,Heap等其他存储引起的日志。而redo log只记录innodb引擎本身的日志。binlog记录的是关于一个事务的具体操作内容,即该日志是逻辑日志。而redolog记录的是关于每个页的更改的物理情况。写入时间不同。binlog仅在事务提交前提交,只写磁盘一次,不论这个事务有多大。而redolog在事务进行过程中会不停的写入。它们分工是不同的。binlog用来做
2020-12-07 23:03:04
4853
原创 RocketMQ介绍与实现原理
1、简介RocketMQ采用发布订阅模式,基本参与组件主要包括:消息发送者、消息服务器(消息存储)、消息消费、路由发现。功能:(1) RocketMQ可以严格保证消息有序(2)RocketMQ支持消息过滤(消息消费时可以对同一主题下的消息按照规则只消费自己感兴趣的消息)。(3)RocketMQ引入内存映射机制,所有主题的消息顺序存储在同一个文件中。有消息文件过期机制和文件存储空间报警机制。(4)RocketMQ在不发生消息堆积时,以长轮询模式实现准实时的消息推送模式。(5)确保消息必须被消费一
2020-11-01 12:58:00
2059
1
原创 【JUC】3、ReentrantLock解析与面试题(一)
想深入学习ReentrantLock之前,建议先学AQS(AQS介绍可以戳这里)ReentrantLock详解1、带着问题学习2、介绍3、使用3.1 锁的简单使用3.2 锁的Condition使用示例4、源码解析4.1 属性4.2 重点方法介绍5、扩展5.1 面试题解答5.2 源码翻译全1、带着问题学习什么是可重入,什么是可重入锁? 它用来解决什么问题?ReentrantLock的核心是AQS,那么它怎么来实现的,继承吗? 说说其类内部结构关系。ReentrantLock是如何实现公平锁的? R
2020-08-23 19:08:57
1424
原创 【JUC】3、ReentrantLock源码详细中文注释 全(二)
本文是学习ReentrantLock期间记录的,按照惯例,源码翻译单独开一篇:说明:在阅读ReentrantLock源码的时候顺便翻译的,大部分用的google翻译,不太通顺的改成了自己的理解。一般能看懂的,就没改。/* * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. *//* * Written by Doug Lea with assistance from members of JCP JSR-166
2020-08-23 19:05:34
527
原创 【JUC】2、LockSupport 解析与面试题(一)
LockSupport 解析1、带着面试题学习2、介绍2.1、LockSupport类简介2.2、LockSupport使用场景2.3、LockSupport使用示例3、源码解析3.1 类属性3.2 类方法3.2.1 方法总览3.3 重点方法代码展开3.3.1 park3.3.2 unpark4、扩展4.1 UNSAFE.PARK 和 UNSAFE.UNPARK4.2 Thread.sleep、Object.wait、LockSupport.park 区别4.2.1 使用wait阻塞线程4.2.2 使用pa
2020-08-22 20:26:52
744
1
原创 【JUC】2、LockSupport 源码翻译全(二)
本文是学习LockSupport期间记录的,一篇文章发太多内容,编辑的时候很卡,所以独立开一篇LockSupport篇:https://blog.youkuaiyun.com/hhy107107/article/details/108041627说明:在阅读LockSupport源码的时候顺便翻译的,大部分用的google翻译,不太通顺的改成了自己的理解。一般还过得去的(基本能看懂的),就没改。/* * Written by Doug Lea with assistance from members of J
2020-08-22 20:25:33
441
原创 【JUC】1、Java AbstractQueuedSynchronizer - 源码翻译部分(三)
本文是学习AQS期间记录的,一篇文章发太多内容,编辑的时候很卡,所以独立开一篇AQS篇:https://blog.youkuaiyun.com/hhy107107/article/details/108041627说明:在阅读AQS源码的时候顺便翻译的,只翻译了部分,大部分用的google翻译,不太通顺的改成了自己的理解。一般还过得去的(基本能看懂的),就没改。/* * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */
2020-08-16 21:14:30
276
原创 【JUC】1、Java AbstractQueuedSynchronizer - CLH部分(二)
本文是学习AQS期间记录的,一篇文章发太多内容,编辑的时候很卡,所以独立开一篇AQS篇:https://blog.youkuaiyun.com/hhy107107/article/details/108041627CLH介绍CLH是一种基于单向链表的高性能、公平的自旋锁。基于当前节点的前驱节点状态进行自旋(前驱节点如果处于加锁状态或等待状态,当前节点自旋;前驱节点未加锁状态,当前节点得到锁)前驱节点解锁后,当前节点会结束自旋,并进行加锁。要点:两个ThreadLocal变量,一个保存当前节点,一个保存前
2020-08-16 21:06:59
276
原创 【JUC】1、Java AbstractQueuedSynchronizer解析与面试题(一)
Java AbstractQueuedSynchronizer解析0、带着问题看源码:1、理论1.1 、简介1.2、设计1.2.1 CLH介绍1.2.2 与标准的CLH的区别:2、实践(基于AQS的互斥锁实现与队列图解)2.1、基于AQS的互斥锁实现2.2 图解代码3、AQS源码注释部分翻译0、带着问题看源码:d什么是AQS? 为什么它是核心?AQS的核心思想是什么? 它是怎么实现的? 底层数据结构等AQS有哪些核心的方法?AQS定义什么样的资源获取方式? AQS定义了两种资源获取方式:独占(
2020-08-16 21:01:31
634
原创 设计模式: 访问者模式 - 概念、实现及spring中的访问者模式
学习设计模式不光要学习设计模式的思想,还要去深入理解,为什么要用这个设计模式。如何深入理解?读优秀的框架代码,看别人代码,了解它们的使用场景。 - - - 博主老师(感谢他)本文介绍了访问者模式的概念,实现并对spring中访问者模式实现做了介绍。访问者模式1、概念2、实现spring中的访问者模式1、概念访问者模式是一种将数据操作和数据结构分离的设计模式。访问者模式的基本想法是:软件系统中拥有一个由许多对象构成的、比较稳定的对象结构,这些对象的类都拥有一个accept方法用来接受访问.
2020-08-09 12:20:22
957
原创 设计模式: 解释器模式 - 概念、实现
学习设计模式不光要学习设计模式的思想,还要去深入理解,为什么要用这个设计模式。如何深入理解?读优秀的框架代码,看别人代码,了解它们的使用场景。 - - - 博主老师(感谢他)本文介绍了解释器模式的概念,实现解释器模式1、概念2、实现3、小结:1、概念定义:给定一个语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。概念有点难懂…下面会做具体介绍。(1)什么是文法举个例子:假设有如下短语我是程序员我是设计师我是搬运工上面的短语:“我”可.
2020-08-09 12:17:46
292
原创 设计模式: 命令模式 - 概念、实现及jdk中的命令模式
学习设计模式不光要学习设计模式的思想,还要去深入理解,为什么要用这个设计模式。如何深入理解?读优秀的框架代码,看别人代码,了解它们的使用场景。 - - - 博主老师(感谢他)本文先介绍了命令模式的概念,并介绍了jdk中对命令模式的实现。迭代器模式1、概念2、实现3、jdk中的命令模式1、概念定义:将一个请求封装成一个对象,从而让用户使用不同的请求把客户端参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。就是对命令的封装,把发送命令和执行命令的责任分隔开,分别委派给不同的对象,.
2020-08-09 10:12:16
559
原创 设计模式: 迭代器模式 - 概念及jdk迭代器解析
学习设计模式不光要学习设计模式的思想,还要去深入理解,为什么要用这个设计模式。如何深入理解?读优秀的框架代码,看别人代码,了解它们的使用场景。 - - - 博主老师(感谢他)本文先介绍了迭代器模式的概念,并介绍了jdk中的迭代器源码,最后聊了下为什么需要迭代器模式。迭代器模式1、概念2、jdk中的迭代器3、为什么要有迭代器模式1、概念定义:提供一种方法顺序访问一个容器使用场景:遍历一个容器对象。对于开发者来说,几乎不会自己去实现一个迭代器。因为jdk已经帮我们实现好了。我们主要是对.
2020-08-08 19:20:03
354
原创 设计模式: 代理模式 - 概念、实现及spring AOP代理模式源码解析
学习设计模式不光要学习设计模式的思想,还要去深入理解,为什么要用这个设计模式。如何深入理解?读优秀的框架代码,看别人代码,了解它们的使用场景。 - - - 博主老师(感谢他)本文先介绍了代理模式的概念及简单实现。简单聊了下为什么要使用代理模式,并介绍了代理模式在spring中的使用代理模式1、概念2、实现2.1 静态代理2.2 动态代理3、为什么使用代理类模式4、Spring中的代理模式1、概念定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直.
2020-08-08 15:42:44
220
原创 设计模式:中介者模式-概念、实现
学习设计模式不光要学习设计模式的思想,还要去深入理解,为什么要用这个设计模式。如何深入理解?读优秀的框架代码,看别人代码,了解它们的使用场景。 - - - 博主老师(感谢他)本文先介绍了策略模式的概念及简单实现。没找经典实现,太困了~中介者模式-概念、实现1、概念2、实现总结:1、概念定义:中介者模式((Mediator Pattern)包装了一系列对象互相作用的方式,使得这些对象不必互相明显作用。从而使它们可以松散耦合。中介者模式将多对多的互相作用转化为一对多的互相作用。例如,做.
2020-08-07 23:25:38
362
原创 设计模式: 适配器模式 - 概念、实现及netty中的适配器模式
学习设计模式不光要学习设计模式的思想,还要去深入理解,为什么要用这个设计模式。如何深入理解?读优秀的框架代码,看别人代码,了解它们的使用场景。 - - - 博主老师(感谢他)本文先介绍了适配器模式的概念及简单实现。介绍了适配器模式在netty中的使用,最后总结了一点点思考。1、概念定义:适配器模式把一个类的接口变换成客户端所期待的另一个接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。假设我们公司有一个商城,商城里的商品都是我们预先定义好的一个类(classA)。现在.
2020-08-05 23:03:14
685
原创 设计模式: 外观模式(facade)- 概念、实现
学习设计模式不光要学习设计模式的思想,还要去深入理解,为什么要用这个设计模式。如何深入理解?读优秀的框架代码,看别人代码,了解它们的使用场景。 - - - 博主老师(感谢他)本文先介绍了外观模式的概念及简单实现。最后总结了一点点思考。外观模式比较简单,使用场景也比较清晰,就不找开源实现了。外观模式1、概念2、实现3、总结:1、概念定义:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。facade模式提供一个高层次的接口,使得子系统更易于使用。说白了就是如果我们系统需要被.
2020-08-03 21:23:18
461
原创 设计模式: 抽象工厂模式 - 概念、实现及netty中的抽象工厂模式
学习设计模式不光要学习设计模式的思想,还要去深入理解,为什么要用这个设计模式。如何深入理解?读优秀的框架代码,看别人代码,了解它们的使用场景。 - - - 博主老师(感谢他)本文先介绍了抽象工厂模式的概念及简单实现。再介绍了netty中对抽象工厂模式的实现。最后总结了一点点思考。抽象工厂模式 概念实现netty 中的抽象工厂模式思考概念定义:为创建一组相关或相互依赖的对象提供一个接口,而不需要指定它们的具体实现类怎么理解呢?例如所有的车有轮胎、制动系统等,但不同系列的车轮胎和制动系统.
2020-08-02 22:55:18
249
原创 设计模式: 工厂方法模式 - 概念及netty中的工厂方法模式
学习设计模式不光要学习设计模式的思想,还要去深入理解,为什么要用这个设计模式。如何深入理解?读优秀的框架代码,看别人代码,了解它们的使用场景。 - - - 博主老师(感谢他)本文先介绍了工厂方法模式的概念及简单实现。再介绍了netty中对工厂方法模式的实现。并总结了一点点思考。享元模式1、概念2、实现2.1 多工厂方法模式2.1.1思考2.2 通过反射实现工厂方法模式2.2.1 netty中的工厂方法(反射实现)2.2.2 netty工厂的思考(反射实现)2.3 简单工厂模式/ 静态工厂模.
2020-08-02 22:52:38
340
原创 设计模式:Builder模式 - 实现及netty中的builder模式
学习设计模式不光要学习设计模式的思想,还要去深入理解,为什么要用这个设计模式。如何深入理解?读优秀的框架代码,看别人代码,了解它们的使用场景。 - - - 博主老师(感谢他)本文先介绍了Builder模式的概念及简单实现。再介绍了netty中对Builder模式的实现。最后总结了一点点思考。Builder模式1、概念2、实现2.1 标准的builder模式实现2.2 builder模式的变种netty中的builder模式3、思考1、概念定义:将复杂对象的构建与它的表示分离,使得同样的.
2020-08-02 22:50:53
405
原创 设计模式:单例模式 - 实现及线程安全的单例详解
学习设计模式不光要学习设计模式的思想,还要去深入理解,为什么要用这个设计模式。如何深入理解?读优秀的框架代码,看别人代码,了解它们的使用场景。 - - - 博主老师(感谢他)单例应用的太广泛,大家应该都用过,本文主要是想聊聊线程安全的单例以及反序列化破坏单例的情况。单例模式 - 实现及线程安全的单例详解1、概念2、实现2.1、线程安全的单例2.1.2、饿汉模式2.1.2、懒汉模式2.1.3、Double Check Lock (DCL)2.1.4、静态内部类单例模式2.1.5、枚举单例2..
2020-08-02 11:42:35
659
原创 设计模式:模板方法模式-概念、实现
学习设计模式不光要学习设计模式的思想,还要去深入理解,为什么要用这个设计模式。如何深入理解?读优秀的框架代码,看别人代码,了解它们的使用场景。 - - - 博主老师(感谢他)本文先介绍了模板方法模式的概念及简单实现。责任链模式-实现及netty中的责任链模式1、概念2、实现3、思考1、概念定义:定义一个操作中的算法的框架,将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。2、实现考虑这么个例子:电脑开机这个动作:需要执行以下步骤:硬件检查、载.
2020-08-01 15:40:38
271
原创 设计模式: 状态模式-概念、实现
学习设计模式不光要学习设计模式的思想,还要去深入理解,为什么要用这个设计模式。如何深入理解?读优秀的框架代码,看别人代码,了解它们的使用场景。 - - - 博主老师(感谢他)本文先介绍了 状态模式的概念及简单实现。最后总结了一点点思考。 (没找到框架源码中经典的实现)设计模式1、概念2、实现3、思考1、概念定义:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。就是对象的状态改变了它的行为也随之改变。场景:1)对象的行为取决于他的状态,并且它必须在运行时根据.
2020-07-31 22:53:31
276
整理IT编程视频教程下载
2013-07-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人