PitBXu
码龄7年
关注
提问 私信
  • 博客:91,906
    91,906
    总访问量
  • 36
    原创
  • 934,121
    排名
  • 10
    粉丝
  • 0
    铁粉

个人简介:看山是山,看山不是山,看山还是山

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 目前就职: shopee
  • 加入CSDN时间: 2017-09-03
博客简介:

PitBXu的博客

查看详细资料
个人成就
  • 获得69次点赞
  • 内容获得9次评论
  • 获得136次收藏
创作历程
  • 4篇
    2021年
  • 15篇
    2020年
  • 11篇
    2019年
  • 5篇
    2018年
  • 2篇
    2017年
成就勋章
TA的专栏
  • Redis
    2篇
  • Spring
    1篇
  • 分布式
    1篇
  • 数据结构
    1篇
  • 开源组件
    1篇
  • 软件使用说明书
    4篇
  • java-ssm框架
    1篇
  • git
    2篇
  • java基础
    12篇
  • java并发
    3篇
  • 数据库
    1篇
  • JVM
    6篇
  • LINUX
    2篇
  • 协议
    3篇
  • 设计模式
    1篇
兴趣领域 设置
  • 大数据
    hadoop
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

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

(二)Redis 数据类型 - String

参考资料 : 《Redis 设计与实现》String字符数组数值型【int】bitmapListSetSorted SetHashHelpredis-cli 中,使用 help 可以查看帮助,不同帮助按照组划分,@ 前缀# 通用组@generic# 不同数据类型@string@list@set@sorted_set@hash@pubsub@transactions@connection@server@scripting@hyperloglog@.
原创
发布博客 2021.03.15 ·
278 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

(一)Redis安装与概述

参考资料 Redis中文概述​ Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), .
原创
发布博客 2021.03.14 ·
239 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring事务的传播属性/机制/行为(7种)

预计阅读时间: 10分钟事务的传播什么是事务的传播?传播,意味着是有两个事务参与的,单个事务是没有 ”传播“ 的概念的事务的传播机制(propagation behavior),即为在一个事务方法中调用另一个事务方法时,事务该如何执行。7种传播属性首先简要介绍事务的7种传播属性,事务方法 methodA 调用事务方法 methodB传播属性含义PROPAGATION_REQUIREDrequired 含义是 必须有事务, 如果存在一个事务,则支持当前事务。如果没有事务.
原创
发布博客 2021.03.08 ·
336 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

分布式系统 CAP 理论

C : (consistency) 数据一致性所有 节点拥有数据的最新版本A : (availability) 可用性P : (partition-tolerance) 分区容错性 : **容忍网络出现分区,**分区之间网络不可达集群同一个业务,部署在多个服务器上 (不同的服务器运行同样的代码,干同一件事)通过多台计算机完成同一个工作,达到更高的效率。两机或多机内容、工作过程等完全一样。如果一台死机,另一台可以起作用。分布式分布式系统是一组计算机,通过网络相互连接传递消息与.
原创
发布博客 2021.01.17 ·
211 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HTTPS 秘钥交换过程/四次握手

HTTPS = HTTP + SSL传统的HTTP协议通信:传统的HTTP报文是直接将报文信息传输到TCP然后TCP再通过TCP套接字发送给目的主机上。HTTPS协议通信:HTTPS是HTTP报文直接将报文信息传输给SSL套接字进行加密,SSL加密后将加密后的报文发送给TCP套接字,然后TCP套接字再将加密后的报文发送给目的主机,目的主机将通过TCP套接字获取加密后的报文给SSL套接字,SSL解密后交给对应进程。HTTPS加密请求(一次握手)过程首先,客户端发起握手请求,以明文传输请求信息.
原创
发布博客 2020.12.13 ·
1686 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

BlockingQueue - 阻塞队列(一)

本文介绍阻塞队列基本原理以及两种基本的阻塞队列 ArrayBlockingQueue & LinkedBlockingQueue​ 阻塞队列是线程池中的一个重要角色,JDK 原生实现的阻塞队列有四种 LinkedBlockingQueue、SynchronousQueue、ArrayBlockingQueue 以及 PriorityBlockingQueue​ 阻塞队列与其他队列显著的区别有两点:既然用于线程池,必须要支持并发(线程安全)提供阻塞添加与阻塞删除方法在传统队列的基.
原创
发布博客 2020.11.24 ·
204 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

SSH修改登录端口并配置免密登录(非root)

实验环境本地 MacOS 10.14.4远程服务器CentOS 7.5 64位Firewalld本地命令前缀 [admin@MacBookPro]$服务器命令前缀 [A@CentOS]$​ 最近在建站后,发现不到2天我的小破站就有600次ssh远程登录的尝试。心中不免一阵寒意,为了解决这个问题特地读取了ssh官方的文档,对网站的ssh登录进行了一些措施。​ 首先要了解 SSH免密登录的原理,免密登录需要使用 ssh 的非对称加密方式,登录无需密码,但是需要携带秘钥。本地若想登录.
原创
发布博客 2020.11.12 ·
2583 阅读 ·
1 点赞 ·
1 评论 ·
3 收藏

HashMap在JDK1.7和JDK1.8的改动

Integer.MAX_VALUE = 2 ^ 31 - 1;HashMap table 的最大大小 1 << 30 = 2 ^ 30HashMap 查找的时间复杂度 O(1) + O(n) (before JDK 1.7) | O(1) + O(logN) (after JDK 1.8)JDK 1.7 和 1.8 的区别JDK1.7用的是头插法,而JDK1.8及之后使用的都是尾插法,那么他们为什么要这样做呢?因为JDK1.7是用单链表进行的纵向延伸,当采用头插法时会容易出现逆序且.
原创
发布博客 2020.11.12 ·
501 阅读 ·
0 点赞 ·
2 评论 ·
1 收藏

JVM_05 运行时数据区与指令集

JVM Runtime data area and JVM instructions<previous next>一、Java 内存布局 图 1 java 内存布局 PC线程私有program counter , 保存下一条指令的位置。 PC 是唯一不会发生 OOM 的内存区域。虚拟机执行的过程类似于以下的伪代码:while (not end) { get from pc; get 对应位置指令; 执行该指令; pc ++;}JVM Stack线程私.
原创
发布博客 2020.08.31 ·
228 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JVM_04 指令重排序原则

< previous next >一、Java 8 大原子操作(目前这种说法已弃用)参考资料 《深入理解java虚拟机》page: 364指令作用区解释lock主内存标识变量为线程独占unlock主内存解锁read主内存读到工作内存write主内存写到主内存load工作内存read后的值放到线程本地变量副本store工作内存存储值到主内存给 write 备用use工作内存传值给执行引擎ass.
原创
发布博客 2020.08.13 ·
575 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

JVM_03 CPU的乱序执行

上次我们提到了JVM为了安全推出的 双亲委派机制那么双亲委派机制可能被打破吗?可以,那么如何打破呢? ClassLoader.loadClass 方法定义了类加载的双亲委派机制,重写该方法即可跳出双亲委派。历史上出现过几次双亲委派被破坏的案例JDK 1.2 之前,想自己实现类的加载必须重写 loanClass 方法。Thread.ContextClassLoader 中的线程上下文加载器,不是按照双亲委派机制运行的。热启动、热部署等场景,每一个 WebApplication 都有自己的 C.
原创
发布博客 2020.08.05 ·
510 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JVM_02 类加载机制

JVM 类加载步骤loading - 装载linking - 链接verification - 验证preparation - 准备resolution - 解析intializing - 初始化装载1. 通过一个类的 全限定名 来获取定义此类的 二进制字节流2. 将这个字节流所代表的 静态存储结构 转化为 方法区的 运行时数据结构3. 在 Java 堆中生成一个代表这个类的 java.lang.Class 对象,作为方法区访问这些数据的入口。验证: 检查载入Cla
原创
发布博客 2020.08.03 ·
194 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JVM_01 Class文件格式

JVM 知识体系图1 jvm 结构问题1: Java 是编译执行的还是解释执行的?解释 + 热点代码编译 执行 (混合执行)**解析:**其实 JVM 主要对 class 文件中的字节码使用 字节码解释器 进行解释并执行。但是当某一方法调用次数达到即时编译定义的阈值时,就会触发即时编译,这时即时编译器会将IR进行优化,并生成这个方法的机器码,后面再调用这个方法,就会直接调用机器码执行相关参数:-Xmixed 混合执行-Xint 解释执行模式-Xcomp 编译执行模式图2 j...
原创
发布博客 2020.08.03 ·
190 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java 线程&锁(三)

public static void shortSleep(Duration duration) { try { TimeUnit.MILLISECONDS.sleep(duration.toMillis()); } catch (InterruptedException e) { e.printStackTrace(); } }synchronized问题一:synchronized 锁的...
原创
发布博客 2020.07.23 ·
176 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java 线程&锁(一)

摘要:锁的本质是什么CAS如何实现?如何处理 ABA 问题互斥锁:同一时刻,只能有一个线程持有锁原始的线程通讯 -> o.wait(); o.notify(); 在调用 o.wait(); 时,线程会进入等待队列;CASCAS = compareAndSet/compareAndSwap - 自旋锁: 失败时候重试自旋锁引发的 ABA 问题:int m = 0;// 线程①取 m 值运算,经过运算后将 m 更新为 1, 更新之前会判断 m 是否仍然为 0, 如果为0, 则将 .
原创
发布博客 2020.07.03 ·
2979 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java 线程&锁(二)

概要 : 线程Thread 进程 纤程/协程Fiber图 1 冯诺依曼计算机体系结构进程与线程的区别进程:操作系统资源分配的基本单位线程:CPU执行的基本单位,也是一个进程里面最小的执行单元一个CPU(核)在同一时刻可以执行几个线程?​ 除非有超线程存在,否则1个线程切换ALU: 运算单元Register: 寄存器PC: 程序计数器Cache: 缓存线程切换的时候,需要把寄存器和程序计数器中的内容保存(保护线程),然后在切换到其他线程执行,再切换回来。JVM 是运行在操作.
原创
发布博客 2020.07.03 ·
283 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Collection [集合] & Collections [集合工具类]

Collection [集合] & Collections [集合工具类]标签: java 数据结构 集合java.util.* 中的集合结构Collection 类中定义的基本方法// 对集合的基础操作:int size(); // 获取元素个数boolean isEmpty(); // 是否个数为 0boolean contains(Object element...
原创
发布博客 2020.04.22 ·
269 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Java 引用传递与值传递

Java 引用传递与值传递【背景】首先 Java 中没有值传递和引用传递的概念,所谓 pass by value 和 pass by reference 只是从其他语言引申的概念而已。所以你会听到有人说 ”Java 中没有引用传递,全部都是值传递“,然而在使用过程中却又总能遇到 ”方法调用确实改变了某些值“ 的情况。一、基本类型与引用类型基本类型:byte/char/int/long/...
原创
发布博客 2020.01.16 ·
198 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Apollo 学习(一)

Apollo 学习(一)演示环境GitHub一、namespace1. 什么是Namespace?Namespace是配置项的集合,类似于一个配置文件的概念。2. 什么是“application”的Namespace?Apollo在创建项目的时候,都会默认创建一个“application”的Namespace。顾名思义,“application”是给应用自身使用的,熟悉Sprin...
原创
发布博客 2020.01.16 ·
258 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Crontab表达式

Crontab表达式Linux 的 crontab 表达式可以用于表示任何时间,常用于定时任务的时间测算友情链接:在线工具-crontab一、表达式格式< * * * * * * >用 6 个 * 分别来表示 分 时 日 月 周 (年) , 其中年字段为可选取值范围:分(1-59)(*或*/1表示每分钟)时(1-23)(0表示0点)日(1-31)月(1-1...
原创
发布博客 2019.08.26 ·
954 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多