蜗牛大师

吴庆龙的学习笔记

导航

随笔分类 -  Java

1 2 下一页

带你阅读字节码
摘要:什么是字节码? java bytecode 由单字节(byte)的指令组成,理论上最多支持 256 个操作码(opcode),实际上 Java 只使用了 200 个左右的操作码,还有一些操作码则保留给调试操作。 根据指令的性质,主要分为四大类: 栈操作指令,包括与局部变量交互的指令。 程序流程控制指 阅读全文

posted @ 2021-06-28 20:09 蜗牛大师 阅读(436) 评论(0) 推荐(1) 编辑

浅谈RabbitMQ 、Kafka及RocketMQ
摘要:一、为什么需要消息队列? (1)、不同系统之间的解耦 (2)、削峰 可以保证下游服务的正常运行,不能因为有大量的请求直接把下游服务给搞挂了。 (3)、异步 将非必要业务写入MQ,加快响应速度。 但也要了解引入消息队列导致的问题: (1)、增加了系统的复杂度。比如:如何解决消息的重复消费、消息的丢失以 阅读全文

posted @ 2021-04-07 14:56 蜗牛大师 阅读(3191) 评论(0) 推荐(0) 编辑

关于HashMap的一些思考
摘要:一、HashMap的负载因子的作用 当 HashMap 中的元素个数(包含链表、红黑树上的元素)达到数组长度的0.75倍的时候,开始扩容。 二、HashMap的负载因子为什么是0.75 主要是为了提高空间利用率和减少查询成本(也可以说是尽可能减少hash冲突)。 三、为什么槽位数必须使用2^n 如果 阅读全文

posted @ 2021-03-30 10:16 蜗牛大师 阅读(696) 评论(0) 推荐(0) 编辑

TLAB 是什么?
摘要:全称是 Thread Local Allocation Buffer,即线程本地分配缓存,是一个线程专用的内存分配区域。 一、Java对象的内存分配过程如何保证线程安全的? 因为堆是线程之间共享的,如果在并发场景中,两个线程先后把对象的引用指向了同一个内存区域,怎么办? 为了解决这个并发问题,对象的 阅读全文

posted @ 2021-03-26 16:56 蜗牛大师 阅读(2125) 评论(1) 推荐(1) 编辑

消息摘要(MessageDigest)
摘要:一、概述 消息摘要主要是验证数据的完整性,正确性。消息摘要都是16进制的,所以计算出来的 byte 数组,需要转为16进制显示。 消息摘要不是加密算法,计算摘要的时候会丢失很多数据,具有不可逆性。生成摘要的长度根据算法的不同而不同。 一个好的摘要算法,是极难产生Hash碰撞的。 MD5 不安全不是因 阅读全文

posted @ 2021-02-04 15:46 蜗牛大师 阅读(953) 评论(0) 推荐(0) 编辑

URL编码及解码原理
摘要:URL编码和Base64编码是不一样的,URL编码有专门的标准,目前Java11中使用的是RFC2396(参考:https://www.ietf.org/rfc/rfc2396.txt)。 在 java.net.URLEncoder 类的静态代码块中有如下代码: dontNeedEncoding = 阅读全文

posted @ 2021-02-04 15:38 蜗牛大师 阅读(752) 评论(0) 推荐(0) 编辑

AES简介
摘要:一、介绍 AES(Advanced Encryption Standard)是美国联邦政府采用的一种区块加密标准,用来代替 DES 的。它属于对称加密。 AES支持三种密钥长度:128bit、192bit和256bit。 AES的区块长度固定为 128bit! 它具有五种加密模式,分别是: ECB: 阅读全文

posted @ 2021-02-04 15:36 蜗牛大师 阅读(1484) 评论(0) 推荐(0) 编辑

keytool生成密钥
摘要:JDK11中,默认的密钥库类型为 PKCS12,它不支持单独给单个密钥设置密码,只支持给密钥库设置密码,而之前的 JKS 密钥库可以支持单独给每个密钥设置密码。 keytool 官当文档:https://docs.oracle.com/en/java/javase/11/tools/keytool. 阅读全文

posted @ 2021-01-26 14:45 蜗牛大师 阅读(2037) 评论(0) 推荐(0) 编辑

证书类型及秘钥库
摘要:数字证书的格式遵循X.509标准。X.509是由国际电信联盟(ITU-T)制定的数字证书标准。 通常证书会包含以下内容: 证书拥有者名称(CN) 组织单位(OU) 组织(O) 城市(L) 区(ST) 国家/地区( C ) 证书的过期时间 证书的颁发机构 证书颁发机构对证书的签名 签名算法 对象的公钥 阅读全文

posted @ 2021-01-26 14:41 蜗牛大师 阅读(757) 评论(0) 推荐(0) 编辑

Base64编码及解码原理
摘要:所谓 Base64,就是说选出64个字符(小写字母a-z、大写字母A-Z、数字0-9、符号"+"、符号”/“、再加上作为垫底的”=“,实际上是65个字符)作为一个基本字符集。然后其他所有符号都转换成这个字符集中的字符。 # Java11 中对应的普通编码 private static final c 阅读全文

posted @ 2021-01-20 13:04 蜗牛大师 阅读(1229) 评论(0) 推荐(0) 编辑

如何判定类可以卸载
摘要:类需要同时满足下面 3 个条件才能算是 ”无用的类“。 该类所有的实例已经被回收了,也就说该类不存在任何实例。 加载该类的 ClassLoader 已经被回收。 该类对应的 java.lang.Class 方法没有在任何地方被引用,无法在任何地方通过反射访问该类的方法。 阅读全文

posted @ 2020-11-21 10:20 蜗牛大师 阅读(217) 评论(0) 推荐(0) 编辑

Squirrel(松鼠)状态机的使用
摘要:概述 其实对于英文好的同学来说,这个状态机的使用就非常简单了,参考 "https://github.com/hekailiang/squirrel" 上的文档即可,因为这个状态机的入门成本并不高。 实战代码 由于这个状态机比较简单,就直接上代码了,注释写在代码里,通过调试运行,相信你马上就理解了。 阅读全文

posted @ 2019-12-31 10:27 蜗牛大师 阅读(6839) 评论(0) 推荐(1) 编辑

Maven之私服配置
摘要:一.配置从私服下载 从私服下载主要是将 central 库的下载地址从https://repo1.maven.org/maven2/修改为私服地址,比如http://localhost:8081/repository/maven-public/。然后配置好访问私服的用户名和密码即可。 了解setti 阅读全文

posted @ 2019-12-18 07:55 蜗牛大师 阅读(3848) 评论(4) 推荐(0) 编辑

maven自定义archetype
摘要:使用 Maven 时间长了,就会发现原生的一些 archetype 不太适合了,因为如果要新建一个 Spring 项目,你会在项目中加入大量的东西,比如加入依赖的包、写 JavaConfig 的 Spring 配置文件、写 log4j2 的配置文件等等。 这时我们可以自定义 Maven 项目 arc 阅读全文

posted @ 2019-11-27 10:51 蜗牛大师 阅读(1112) 评论(0) 推荐(1) 编辑

GitFlow入门
摘要:<! MarkdownTOC "1 概述" "2 GitFLow分支介绍" "2.1 master 分支" "2.2 develop 分支" "2.3 feature 分支" "2.4 release 分支" "2.5 hotfix 分支" "3 GitFlow命令" "3.1 初始化" "3.2 阅读全文

posted @ 2019-09-11 12:31 蜗牛大师 阅读(634) 评论(0) 推荐(0) 编辑

Docker常用命令
摘要:<! MarkdownTOC "1. 镜像" "1.1 获取镜像" "1.2 列出镜像" "1.3 镜像大小" "1.4 删除虚悬镜像" "1.5 列出部分镜像" "1.6 删除本地镜像" "1.7 将容器保存为镜像\(不推荐使用docker commit\)" "2. 容器" "2.1 启动" " 阅读全文

posted @ 2019-09-09 12:09 蜗牛大师 阅读(269) 评论(0) 推荐(0) 编辑

CentOS下安装DockerCE
摘要:title: CentOS下安装DockerCE comments: false date: 2019 09 04 09:47:58 description: 在CentOS下安装社区版Docker categories: 软件安装 卸载旧版本 安装依赖 下载Docker源配置文件 这里使用清华大学 阅读全文

posted @ 2019-09-05 09:36 蜗牛大师 阅读(523) 评论(0) 推荐(0) 编辑

梳理common-io工具包
摘要:title: 梳理common io工具包 comments: false date: 2019 08 28 14:21:58 description: 对common io工具包中的常用类进行整理,避免重复造轮子. categories: Java 概述 今天再对 common io 工具包进行一 阅读全文

posted @ 2019-08-28 16:49 蜗牛大师 阅读(856) 评论(1) 推荐(1) 编辑

梳理commons-lang工具包
摘要:title: 梳理commons lang工具包 comments: false date: 2019 08 27 16:01:42 description: 最熟悉的第三方工具包,你了解多少呢??? categories: Java [TOC] 概述 对于 commons lang 这个三方包, 阅读全文

posted @ 2019-08-28 10:41 蜗牛大师 阅读(1327) 评论(0) 推荐(0) 编辑

1 2 下一页