摘要: ## IO 神器 Okio [官方](https://square.github.io/okio/) 是这么介绍 Okio 的: > Okio is a library that complements java.io and java.nio to make it much easier to a 阅读全文
posted @ 2023-08-26 17:43 JMCui 阅读(108) 评论(0) 推荐(0) 编辑
摘要: ## 编译器 编译器的作用就是将高级编程语言翻译为机器代码。 编译器工作过程一般分为: - 词法分析:将高级语言解析成 Token 集合; - 语法分析:将 Token 集合构建成语法树,在这个过程可以判断出语法是否有误,比如 `while` 后面是否 `{` 等等; - 语义分析:判断语法树是否有 阅读全文
posted @ 2023-08-02 14:53 JMCui 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1. 搭建一个没有 spring 的工程 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { kotlin("jvm") version "1.8.10" application } group = "com.demo" 阅读全文
posted @ 2023-04-08 23:12 JMCui 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 前言 以前还傻傻的自己写分布式锁实现:基于缓存或 zookeeper 的分布式锁实现。果然,你能想到的轮子,99% 都已经有人造好了,并且,比你自己造的好的多。 RedisLockRegistry 依赖 implementation("org.springframework.boot:spring- 阅读全文
posted @ 2023-02-08 10:33 JMCui 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 1. 安装 Maven 下载地址 2. settings.xml 配置 <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http:// 阅读全文
posted @ 2023-02-03 14:28 JMCui 阅读(31) 评论(0) 推荐(0) 编辑
摘要: keytool VS openssl keytool 和 openssl 是俩个证书管理工具。 keytool 是 java JDK 自带的证书管理工具,使用 keytool 可以生成密钥,创建证书。只要装了 jdk,并正确设置了环境变量,就可以之间通过命令行执行 keytool 命令来管理证书。 阅读全文
posted @ 2023-01-30 17:05 JMCui 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 什么是时区? 1884年在华盛顿召开的一次国际经度会议(又称国际子午线会议)上,规定将全球划分为24个时区(东、西各12个时区)。规定英国(格林尼治天文台旧址)为中时区(零时区)、东1-12区,西1-12区。每个时区横跨经度15度,时间正好是1小时。 时区的分类? 理论时区 上述时区定义其实是理论时 阅读全文
posted @ 2023-01-29 17:27 JMCui 阅读(1595) 评论(0) 推荐(0) 编辑
摘要: 一、概念辨析:网络延迟与网络波动 (1) 网络延迟 网络延迟是指各式各样的数据在网络介质中通过网络协议(如TCP/IP)进行传输,如果信息量过大不加以限制,超额的网络流量就会导致设备反应缓慢,造成网络延迟。受限于光速,网络延迟总是有一个下限,是无法超越物理极限的。 (2) 网络波动(丢包率) 网络波 阅读全文
posted @ 2022-11-27 16:33 JMCui 阅读(1357) 评论(0) 推荐(0) 编辑
摘要: 前言 最近在调研 小米开放平台 API 的能力,发现能力支持的实在有点少,没办法只能另辟蹊径去逆向 Consule UI 的能力。 逆向工程最重要解决的就是“认证”。有没有办法自动登录鉴权,或者使用一个长久可靠、可续期的 token,直接决定了该 Consule UI 是否可逆向。 逆向工程-认证 阅读全文
posted @ 2022-10-30 22:42 JMCui 阅读(1500) 评论(0) 推荐(0) 编辑
摘要: 写在前面 目前在很多业务中,存储都大量的依赖了云存储,比如阿里云的 oss、华为云的 obs 等。但是如果有大量的上传/下载任务,云存储上的网络 I/0 就变成了一个很大的瓶颈。 于是我们打算在内网实现一个对象缓存服务,具体表现为:托管内网上传的对象,并最终转发到云存储;hold 住内网的下载请求, 阅读全文
posted @ 2022-07-31 23:07 JMCui 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 0.前言 高并发下如何设计秒杀系统?这是一个高频面试题。这个问题看似简单,但是里面的水很深,它考查的是高并发场景下,从前端到后端多方面的知识。 秒杀一般出现在商城的促销活动中,指定了一定数量(比如:10个)的商品(比如:手机),以极低的价格(比如:0.1元),让大量用户参与活动,但只有极少数用户能够 阅读全文
posted @ 2022-02-25 19:50 JMCui 阅读(465) 评论(0) 推荐(1) 编辑
摘要: 1、进程是什么?进程是应用的执行副本。应用的可执行文件是放在文件系统里,把可执行文件启动,就会在操作系统里(具体来说是内存中)形成一个应用的副本,这个副本就是进程。 2、Linux 管道(Pipeline)的作用是在命令和命令之间,传递数据。比如说一个命令的结果,就可以作为另一个命令的输入。这里说的 阅读全文
posted @ 2022-01-17 20:13 JMCui 阅读(221) 评论(1) 推荐(0) 编辑
摘要: MySQL 体系架构 - 连接池组件 1、负责与客户端的通信,是半双工模式,这就意味着某一固定时刻只能由客户端向服务器请求或者服务器向客户端发送数据,而不能同时进行。 2、验证用户名和密码是否正确(数据库 MySQL 的 user 表中进行验证),如果错误返回错误通知 Access denied f 阅读全文
posted @ 2022-01-14 10:31 JMCui 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 1、芯片是怎么工作的呢?电能供给给芯片,芯片中的一种电子元件晶振(也就是石英晶体)通电后产生震荡,震荡会产生频率稳定的脉冲信号。通常这是一种高频的脉冲信号,每秒可达百万次。然后,我们通过谐振效应发放这个信号,形成方波。再通过电子元件调整这种脉冲的频率,把脉冲信号转换为我们需要的频率,这就形成了驱动芯 阅读全文
posted @ 2021-12-29 20:04 JMCui 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 简介 经常听到有人说磁盘很慢、网络很卡,这都是站在人类的感知维度去表述的,比如拷贝一个文件到硬盘需要几分钟到几十分钟,够我去吃个饭啦;而从网络下载一部电影,有时候需要几个小时,我都可以睡一觉了。 最为我们熟知的关于计算机不同组件速度差异的图表,是下面这种金字塔形式:越往上速度越快,容量越小,而价格越 阅读全文
posted @ 2021-12-29 10:50 JMCui 阅读(243) 评论(0) 推荐(0) 编辑