Bruce_Zhang61
码龄4年
关注
提问 私信
  • 博客:38,025
    动态:53
    38,078
    总访问量
  • 30
    原创
  • 1,952,580
    排名
  • 36
    粉丝
  • 0
    铁粉

个人简介:zhang0.cool

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2020-10-29
博客简介:

不想起床的小张的博客

查看详细资料
个人成就
  • 获得65次点赞
  • 内容获得15次评论
  • 获得180次收藏
  • 代码片获得1,826次分享
创作历程
  • 22篇
    2022年
  • 8篇
    2021年
成就勋章
TA的专栏
  • Java8
    7篇
  • 设计模式
    3篇
  • 第三方API/SDK
    2篇
  • 计算机网络
    2篇
  • 计算机组成原理
    1篇
  • Docker
    1篇
  • Swagger接口文档
    4篇
  • 数据结构与算法
    5篇
  • Redis
    1篇
  • MySQL
    3篇
  • Springboot
  • 爬虫
    1篇
  • Vue
    1篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    springgolangspring boot后端架构分布式
  • 微软技术
    .net
  • 服务器
    linux
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

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

ArrayList和Vector

今天阅读ArrayList和Vector的源码,了解其底层结构和扩容机制首先,需要知道的是ArrayList和Vector底层都是可变数组实现ArrayList非线程安全,Vector是线程安全的。
原创
发布博客 2022.08.20 ·
252 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

我的HashMap源码阅读记录

为什么是16呢 简单的解释就是使用2的次方的容量可以在HASH取模运算后使得散列更加均匀 学过数据结构的朋友应该都有印象 书上建议初始化大小为2的次幂 在这里JDK开发者选择了16作为默认的值。值得注意的是,这里Node的equals方法,是比较Key和Value的equals方法,在开发中,如果有需求要进行个性化的比较,就需要重写我们自己的Object类的equals方法了。个人理解:这些参数的存在,就是为了数据有一个较好的散列效果,以增强数据查询插入的效率,以达到高性能的效果。
原创
发布博客 2022.08.19 ·
357 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

红黑树 Reb Black Tree

在AVL中提到了,当插入和删除频率较高时,我们选择红黑树来降低因不断的维护平衡带来的时间损耗。在诸多地方(比如JDK1.8的HashMap……)得到了广泛的应用。那么,什么是红黑树,为什么就这么牛逼?我们一起来解开其神秘的面纱~红黑树是一种特定类型的二叉树,它是在计算机科学中用来组织数据比如数字的块的一种结构。[4]红黑树是一种平衡二叉查找树的变体,它的左右子树高差有可能大于 1,所以红黑树不是严格意义上的平衡二叉树(AVL),但 对之进行平衡的代价较低, 其平均统计性能要强于 AVL。[2]
原创
发布博客 2022.08.19 ·
317 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

平衡树AVL

为解决二叉搜索树退化成一张链表的情况,改进出了AVL(取名与作者和E.M.Landis)必须是一颗BST每个节点的左右子树高度至多相差1AVL树的查找、插入、删除等操作在平均和最坏的情况下都是O(logN),得益于其一直在动态的维护平衡性。
原创
发布博客 2022.08.19 ·
166 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

二叉搜索树

树是数据结构中必学的一种数据结构。在实际应用中,常见的树结构有二叉搜索树、B树、B+树、AVL树、红黑树、字典树等。B/B+树:主要用于文件系统以及数据库中做索引AVL树:平衡二叉树,windows对进程地址空间的管理用到了AVL红黑树:平衡二叉树的一种改进,广泛的应用在C++STL中,如map、set,以及JDK中的HashMap、TreeMap等Trie(字典树):又经常叫做前缀树,主要用于字符串检索、文本预测、词频统计等。
原创
发布博客 2022.08.19 ·
207 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Flask快速入门

Flask是一个轻量级的基于Python的Web框架。相较于Django,更加轻量便捷,非常适合快速开发查看介绍和版本Hello World项目结构通过Pycharm新建一个Flask项目,可以看到初始化的目录结构为:static用于放置静态资源templates存放模板文件app.py是程序启动文件运行结果:浏览器访问http://127.0.0.1:5000/就会显示Hello World终端也会记录下访问的日志修改Flask配置其中,为默认值。可以将这个参数自定义为自己的项目
原创
发布博客 2022.07.08 ·
1705 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

计算机网络入门概述

带宽 bandwidth时延 delay指数据(一个报文或者分组,甚至比特)从网络(或链路)的一端点传送到另一端你所需的时间。有时也称为延迟或者迟延网络中时延由以下组成总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延对于高速网络链路,我们提高的仅仅是数据的,而不是比特在链路上的提高链路带宽能够减小数据的发送时延往返时延RTT(Round-Trip Time)表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后立即发送确认),总共经历的时延吞吐量 Throughput利用率网
原创
发布博客 2022.06.25 ·
420 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

创建者模式之单例模式

创建者模式的主要关注点是"怎样创建对象",主要特点是"将对象的创建与使用分离"这样降低了系统耦合度,使用者不需要关注对象的创建细节。创建者模式分为:单例模式工厂方法模式抽象工程模式原型模式建造者模式今天先学习一下单例模式什么是单例设计模式(Singleton Pattern)单例设计模式是Java中最简单的设计模式之一。属于创建型模式,提供了创建对象的最佳方式。该模式涉及到一个单一的类,该类负责创建自己的对象,且确保只有一个实例被创建。这个类同时也提供了一种访问其唯一实例的方式.
原创
发布博客 2022.04.14 ·
309 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

OOP七大法则

开闭原则(The Open/Closed Principle,OCP)该原则规定“软件中的对象(类、模板、函数等等)应该对于扩展是开放的,但是对于修改是封闭的”,这意味着一实体是允许在不改变它的源代码的前提下变更它的行为。**对扩展开放,对修改关闭。**在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。是程序扩展性好,易于维护和升级。要达到这样的效果,我们需要使用接口和出抽象类。例如在这里,使用抽象的Animal来代表所有的动物,动物都有吃的行为,但不同动物不一样。当发现新
原创
发布博客 2022.04.12 ·
423 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

UML的六大关系

关联关系单向关联双向关联自关联聚合关系聚合关系是关联关系的一种,是强关联关系,是整体和部分之间的关系聚合关系通过成员对象来实现的,其中成员对象是整体对象的一部分,但是成员对象可以脱离整体对象而独立存在。例如:学校与老师的关系。即使学校停办了,老师这个角色依然存在。UML类图中,聚合关系可以用带空心菱形的实线来表示,菱形指向整体。组合关系组合表示类之间的整体和部分的关系,但它是一种更强烈的聚合关系。例如头和嘴,部分不可脱离整体存在使用带有实心的菱形实线表示:依赖关系依赖关系
原创
发布博客 2022.04.11 ·
760 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

跟我一起玩转微信支付

写在前面现在到处有微信支付的身影,作为一个后端开发者,跟我一起来看看微信支付到底怎么应用于自己的项目中吧如果你还不了微信第三方服务生态的,请先阅读一下微信与阿里云第三方服务的一些概念流程梳理,相信读过后你会对微信第三方服务生态有了一定的了解,下面可以按照要求准备开通微信支付的必备条件,并开通APIv3证书,获取一些必备的参数。如果你对密码学的常识不够了解,最好先阅读一下开发过程中那些不得不知道的密码学基础。基于这些常识,理解这篇文章将会事半功倍。熟悉官方文档如果你在之前已经有尝试过浏览微信支付的官
原创
发布博客 2022.03.11 ·
1744 阅读 ·
2 点赞 ·
2 评论 ·
9 收藏

Java泛型T、E、K、V、N、?和Object区别和含义

通常我们在看一些源码时,发现全是T、?,晕乎乎的😭。于是,把泛型掌握好十分重要!什么是泛型Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。泛型有什么好处?写个例子一目了然:我们要封装一个消息响应类:public class Result implements Serializable { // 响应码 Int
原创
发布博客 2022.03.08 ·
1092 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

对于开发中常见却又陌生的密码学基础做了梳理总结,不对的地方忘前辈指正

开发过程中那些不得不知道的密码学基础
发布动态 2022.03.06

开发过程中那些不得不知道的密码学基础

发展历史古典密码学 如凯撒密码、滚筒密码近代密码学 如德国Enigma机,被图灵破解现代密码学编码算法不是加密和解密,为了在网络间更方便的传输数据/本地存储字节数组而产生Base64Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。采用Base64编码具有不可
原创
发布博客 2022.03.06 ·
3845 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java超类Object源码学习

Object超类Java是一门天然的面向对象的语言。而所有我们手动创造出来的类,都继承于同一个类,即Object类。可以看一下Object类的结构native方法首先,超类拥有一个native方法private static native void registerNatives();static { registerNatives();}Java中,用native关键字修饰的函数表明该方法的实现并不是在Java中去完成。而是被C/C++完成,并被编译成了.ddl文件,由Jav
原创
发布博客 2022.03.05 ·
471 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java反射机制

反射反射就是把Java类中的各个成分映射成一个个的Java对象。即在运行状态中,对于任意一个类,都能够知道这个类的所以属性和方法;对于任意一个对象,都能调用它的任意一个方法和属性。这种动态获取信息及动态调用对象方法的功能叫Java的反射机制每一个Java程序执行必须通过编译、加载、链接和初始化四个阶段编译:将.java.文件编译成字节码.class文件加载:查找并加载类的二进制数据链接:验证:确保被加载类的正确性为类的静态变量分配内存,并将其初始化为默认值将类中的符号转换为直接引用
原创
发布博客 2022.03.05 ·
379 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

计算机字符编码简单梳理

ASCIIASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其西欧语言。码表如下:观察表可得出:0-31和127是控制字符或通信专用字符,例如6号字符ACK用于计算就网络的通信48-57号字符标识阿拉伯数字0-9,48-57即8为二进制数0011 0000 - 0011 1001,即后四位可看作0-9的8421码65-90号字符为大写字母A-Z
原创
发布博客 2022.02.25 ·
1519 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

微信与阿里云第三方服务的一些概念流程梳理

微信与阿里云第三方服务的一些概念流程梳理微信平台首先,微信有三大平台:微信公众平台(提供公众号、小程序等服务,主要面向编辑人员)、微信开放平台(网页、移动、小程序等第三方服务的管理平台以及微信开发文档,主要面向开发者)、微信商户平台(入驻成为微信商家,接入微信支付服务)。此外,还有一个微信服务平台,供服务商使用。官方文档有如下描述:微信开放平台-第三方平台(简称第三方平台),由微信团队面向所有通过开发者资质认证的第三方开发者提供提供的官方平台。也就是说,第一步要有一个开发者资质的认证,认证申请最好
原创
发布博客 2022.02.23 ·
1068 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

IDEA集成docker-maven-plugin配置CA安全证书

通过在IDEA中配置docker-maven-plugin插件,有效避免一些相同且繁琐的docker操作,交给IDEA一键打包,部署配置CA证书使用此插件需要服务端开放2375端口,供IDEA连接。这也意味着不安全。安全小白的我一开始没有重视,刚配置完的晚上,就收到了服务器厂商的短信警告,果不其然,被黑客拉去挖矿了…因此,首先花一分钟配置一下CA证书依次执行一下命令:# 创建CA文件夹mkdir -p /usr/local/ca# 进入文件夹cd /usr/local/ca# 指定密码
原创
发布博客 2022.02.20 ·
1763 阅读 ·
2 点赞 ·
0 评论 ·
7 收藏

Swagger配置Token访问

本文针对Swagger3 配置后以便我们调用API时包含JWT(JSON WEB TOKEN)还没添加依赖的请快添加一下<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <gro
原创
发布博客 2022.02.15 ·
1904 阅读 ·
3 点赞 ·
0 评论 ·
9 收藏
加载更多