摘要: 作业程序有两种类型: Long-lived 作业程序:输入或输出是无限量的数据,常见近乎实时的业务数据处理,比如日志处理等。(一般将消息队列连接输入,用来做流量削峰或多个输入) Short-lived 作业程序:处理一组有限的数据然后终止。运行代码并在数据库中记录执行状态的任务,然后结束。 常见的做 阅读全文
posted @ 2024-11-19 17:15 JMCui 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 开始 权限系统无非是解决两个问题,Authentication(认证-你是谁)和 Authorization(授权-你能干什么)。 Authentication 认证的问题,很好理解,就是根据用户的身份凭据,计算出这个用户的身份信息。 而身份凭据,常见有 Token 和 Session,还有 Per 阅读全文
posted @ 2024-10-26 08:57 JMCui 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 这是 Spring Framework 对 ApplicationContext 的解释: The org.springframework.context.ApplicationContext interface represents the Spring IoC container and is 阅读全文
posted @ 2024-10-26 07:44 JMCui 阅读(56) 评论(0) 推荐(0) 编辑
摘要: ## 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 阅读(164) 评论(0) 推荐(0) 编辑
摘要: ## 编译器 编译器的作用就是将高级编程语言翻译为机器代码。 编译器工作过程一般分为: - 词法分析:将高级语言解析成 Token 集合; - 语法分析:将 Token 集合构建成语法树,在这个过程可以判断出语法是否有误,比如 `while` 后面是否 `{` 等等; - 语义分析:判断语法树是否有 阅读全文
posted @ 2023-08-02 14:53 JMCui 阅读(162) 评论(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 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 前言 以前还傻傻的自己写分布式锁实现:基于缓存或 zookeeper 的分布式锁实现。果然,你能想到的轮子,99% 都已经有人造好了,并且,比你自己造的好的多。 RedisLockRegistry 依赖 implementation("org.springframework.boot:spring- 阅读全文
posted @ 2023-02-08 10:33 JMCui 阅读(622) 评论(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 阅读(37) 评论(0) 推荐(0) 编辑
摘要: keytool VS openssl keytool 和 openssl 是俩个证书管理工具。 keytool 是 java JDK 自带的证书管理工具,使用 keytool 可以生成密钥,创建证书。只要装了 jdk,并正确设置了环境变量,就可以之间通过命令行执行 keytool 命令来管理证书。 阅读全文
posted @ 2023-01-30 17:05 JMCui 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 什么是时区? 1884年在华盛顿召开的一次国际经度会议(又称国际子午线会议)上,规定将全球划分为24个时区(东、西各12个时区)。规定英国(格林尼治天文台旧址)为中时区(零时区)、东1-12区,西1-12区。每个时区横跨经度15度,时间正好是1小时。 时区的分类? 理论时区 上述时区定义其实是理论时 阅读全文
posted @ 2023-01-29 17:27 JMCui 阅读(3394) 评论(0) 推荐(0) 编辑
摘要: 一、概念辨析:网络延迟与网络波动 (1) 网络延迟 网络延迟是指各式各样的数据在网络介质中通过网络协议(如TCP/IP)进行传输,如果信息量过大不加以限制,超额的网络流量就会导致设备反应缓慢,造成网络延迟。受限于光速,网络延迟总是有一个下限,是无法超越物理极限的。 (2) 网络波动(丢包率) 网络波 阅读全文
posted @ 2022-11-27 16:33 JMCui 阅读(1667) 评论(0) 推荐(0) 编辑
摘要: 前言 最近在调研 小米开放平台 API 的能力,发现能力支持的实在有点少,没办法只能另辟蹊径去逆向 Consule UI 的能力。 逆向工程最重要解决的就是“认证”。有没有办法自动登录鉴权,或者使用一个长久可靠、可续期的 token,直接决定了该 Consule UI 是否可逆向。 逆向工程-认证 阅读全文
posted @ 2022-10-30 22:42 JMCui 阅读(1851) 评论(0) 推荐(0) 编辑
摘要: 写在前面 目前在很多业务中,存储都大量的依赖了云存储,比如阿里云的 oss、华为云的 obs 等。但是如果有大量的上传/下载任务,云存储上的网络 I/0 就变成了一个很大的瓶颈。 于是我们打算在内网实现一个对象缓存服务,具体表现为:托管内网上传的对象,并最终转发到云存储;hold 住内网的下载请求, 阅读全文
posted @ 2022-07-31 23:07 JMCui 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 0.前言 高并发下如何设计秒杀系统?这是一个高频面试题。这个问题看似简单,但是里面的水很深,它考查的是高并发场景下,从前端到后端多方面的知识。 秒杀一般出现在商城的促销活动中,指定了一定数量(比如:10个)的商品(比如:手机),以极低的价格(比如:0.1元),让大量用户参与活动,但只有极少数用户能够 阅读全文
posted @ 2022-02-25 19:50 JMCui 阅读(576) 评论(0) 推荐(1) 编辑
摘要: 1、进程是什么?进程是应用的执行副本。应用的可执行文件是放在文件系统里,把可执行文件启动,就会在操作系统里(具体来说是内存中)形成一个应用的副本,这个副本就是进程。 2、Linux 管道(Pipeline)的作用是在命令和命令之间,传递数据。比如说一个命令的结果,就可以作为另一个命令的输入。这里说的 阅读全文
posted @ 2022-01-17 20:13 JMCui 阅读(228) 评论(1) 推荐(0) 编辑