logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

企业认证与安全体系(一):为什么企业都在用双 Token 机制?一篇讲透 AccessToken、RefreshToken 与企业级认证体系

Android 开发其实非常常见。B 根本找不到 Session。Cookie 体系并不友好。双 Token 只是入口。彻底讲透企业级认证体系。这是很多大厂都会做的。保存 Session。服务器内存压力巨大。

#安全
C语言对象模型系列(四)《Linux 内核里的 container_of 到底是什么黑魔法?》—— 一篇讲透 Linux 内核的“对象模型”核心技巧

Linux内核中的container_of宏并非黑魔法,而是基于结构体连续内存布局的特性,通过成员地址反推整个对象地址的核心机制。它依赖offsetof计算成员偏移量,结合指针运算实现对象定位。这一设计支撑了Linux内核的侵入式链表和组合模拟继承等面向对象思想,展现了用C语言构建复杂对象模型的能力。理解container_of是掌握Linux内核设计哲学的关键,它揭示了内核如何通过结构体嵌入和指

#c语言#linux#算法
C语言对象模型系列(三)JNIEnv 为什么是二级指针?本质就是函数表—— 一篇讲透 JNI 的底层设计思想

摘要:JNI的设计本质是C语言实现的虚函数表模型。JNIEnv并非普通结构体,而是指向函数表的指针,(env)->xxx()的调用方式实际上是通过解引用获取函数指针并调用。这种设计实现了跨平台ABI稳定性,允许不同JVM实现替换函数表。参数中重复传递env是因为C语言没有this指针,需要显式传递上下文。JNI采用二级指针(JNIEnv)来维护函数表指针,体现了系统级的面向对象编程思想。理解

#c语言#开发语言
C语言对象模型系列(二)从函数指针到虚函数表:彻底理解 C 的多态—— 为什么 device->ops->open() 看起来像 C++?

看到没有?现在再回头看:你会发现:下一篇我们正式进入 JNI。彻底讲透:为什么长这样。JNIEnv 为什么像对象为什么 JNI 到处是二级指针Java 和 Native 如何互调JNI 为什么本质是 C 风格 OOP。

#c语言#c++#开发语言
SQL 第六篇:索引入门(为什么你的查询越来越慢)

本文介绍了数据库索引的核心概念与应用。索引本质是数据的"目录",能显著提升查询效率,避免全表扫描。文章阐述了常见索引字段(主键、用户名、用户ID等)、索引的代价(影响写入性能)以及企业级索引原则(WHERE/JOIN/ORDER BY字段优先)。通过EXPLAIN命令可分析SQL执行情况,MySQL索引底层主要采用B+树结构。全文强调索引不是简单"加速器",

#sql#数据库
SQL 第四篇:JOIN 实战(数据库到底是怎么“拼表”的)

《JOIN操作详解:数据库表关联的核心机制》摘要: JOIN是数据库实现多表关联查询的核心操作,通过ON条件将不同表中相关联的数据组合成完整的业务数据。LEFT JOIN会保留左表所有记录,右表无匹配则显示NULL;INNER JOIN则只返回完全匹配的记录。实际业务中常用LEFT JOIN来确保主表数据完整性,如用户列表必须显示所有用户。JOIN的本质是根据相同字段值(如user.id=user

#数据库#sql#mysql
SQL 第二篇:表结构设计(为什么企业要拆成 3 张表)

文章摘要:本文探讨了企业级数据库设计中用户表结构的拆分策略。指出新手常犯的错误是将所有用户信息塞入单一user表,导致表结构臃肿。企业级解决方案是将用户数据拆分为三张表:user表(存储核心登录信息)、user_detail表(存储用户详情)和user_address表(存储收货地址)。这种拆分基于业务职责划分,形成1对1和1对多的表关系,提高查询性能并便于扩展。重点讲解了主键设计、唯一约束、时间

#数据库
为什么会出现Reactor?IO模型的本质(从线程到协程 · 第3篇)

摘要:本文深入分析了Reactor模型如何解决高并发IO场景下线程池的不足。传统线程池在高并发IO时会因线程阻塞等待而导致资源浪费,Reactor通过IO多路复用(如epoll)实现事件驱动,仅在有数据就绪时才分配线程处理,极大提升了线程利用率。文章详细对比了不同IO模型演进,指出Reactor本质是将"线程驱动"转为"事件驱动",虽然解决了性能问题,但带来

#java#jvm#开发语言
线程池解决了什么?为什么还不够?(从线程到协程 · 第2篇)

本文深入解析线程池的价值与局限。线程池通过复用线程降低创建/销毁成本,控制并发数量(如10000次任务只需10个线程),显著提升资源利用率。但其本质仍是多线程模型,无法解决阻塞等待(如HTTP请求卡住线程)、操作系统级调度不可控、资源竞争等根本问题。特别在高IO场景中,阻塞线程会快速耗尽线程池,导致吞吐量骤降。文章指出,真正的优化方向在于Reactor事件驱动和协程调度模型,这些方案能从根本上解决

#java#大数据#数据库
线程池解决了什么?为什么还不够?(从线程到协程 · 第2篇)

本文深入解析线程池的价值与局限。线程池通过复用线程降低创建/销毁成本,控制并发数量(如10000次任务只需10个线程),显著提升资源利用率。但其本质仍是多线程模型,无法解决阻塞等待(如HTTP请求卡住线程)、操作系统级调度不可控、资源竞争等根本问题。特别在高IO场景中,阻塞线程会快速耗尽线程池,导致吞吐量骤降。文章指出,真正的优化方向在于Reactor事件驱动和协程调度模型,这些方案能从根本上解决

#java#大数据#数据库
    共 184 条
  • 1
  • 2
  • 3
  • 19
  • 请选择