logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

WebSocket/Netty 实时通信:从连接管理到消息路由

本文介绍了在智能师生教育协作云平台中实现实时通信的WebSocket架构设计。文章首先分析了系统需要实时通信的场景(如师生聊天、课堂协作和AI对话),指出传统HTTP请求-响应模式的局限性。接着详细阐述了采用Netty作为WebSocket实现的技术选型原因,包括高并发处理能力、清晰的线程模型和可控的协议栈。 文章重点讲解了WebSocket连接的生命周期管理,包括连接建立、用户绑定、心跳保活和断

#websocket#网络协议#网络
JWT 认证:让登录、鉴权、权限控制“可控且可维护”

JWT认证机制的核心要点总结: JWT优势:无状态、跨域友好、携带声明信息,解决了前后端分离系统的认证问题。 基本结构:Header(算法)、Payload(业务声明)、Signature(防篡改签名),重点关注密钥保密和合理过期时间。 认证流程:前端登录获取Token→请求携带Token→拦截器校验→构建用户上下文→业务处理。 最佳实践: Token只放必要信息(userId、userType)

#java
Docker 从原理到项目落地(镜像 / 容器 / 网络 / 卷 / Dockerfile)

Docker是一种基于容器的应用交付方案,通过镜像打包应用和依赖,解决环境不一致和部署标准化问题。相比虚拟机,容器共享宿主机内核,启动更快且资源占用更少。镜像采用分层和写时复制机制提高效率,网络和卷分别解决容器通信与数据持久化问题。编写Dockerfile时要注意ENTRYPOINT和CMD的区别,并使用多阶段构建优化镜像大小。实际项目中,前后端和数据库可以分别容器化,通过Docker网络实现服务

#docker#网络#容器
Nginx 从入门到项目部署(反向代理 / 负载均衡 / 静态资源)

本文系统介绍了Nginx的核心功能与实战应用。作为高性能Web服务器和反向代理,Nginx通过事件驱动模型处理高并发,典型应用包括静态资源服务、API反向代理和负载均衡。文章重点讲解了前后端分离项目配置方案:静态资源托管与API请求转发,并提供了可直接套用的配置模板。同时深入解析了负载均衡策略选择、WebSocket支持、性能优化等实战要点,最后总结了面试应答模板,帮助开发者快速掌握Nginx在生

#nginx#负载均衡#运维
Linux 目录结构与常用命令速查(服务器必备)

本文介绍了Linux系统的基本目录结构和常用命令,重点讲解了服务器排障的实用技巧。主要内容包括:Linux常见目录功能(如/etc存放配置、/var/log存放日志);文件操作命令(cd、ls、cp、rm等);日志查看(tail -f)、进程管理(ps、kill)和端口检查(ss/netstat)。文章还提供了一个"上线排障最小闭环":先定位目录(pwd)→检查文件(ls)→确

#服务器#linux#运维
Linux 上安装 JDK 与 Tomcat 并启动服务(可直接照做)

本文详细介绍了在Linux服务器上安装JDK8和Tomcat8.5的完整流程,包括:1)下载并解压JDK到/opt目录;2)配置JAVA_HOME等环境变量;3)验证Java环境;4)安装Tomcat并赋予执行权限;5)启动Tomcat服务。文章重点强调了验证环节,提供了java -version、进程查看、端口检查等命令,并针对常见问题如环境变量未生效、权限不足、端口不通等给出了排查方法。通过这

#java#linux#tomcat
Java 中 `equals()` 和 `hashCode()` 为什么要一起重写?

本文详细解析了Java中==、equals()和hashCode()的区别与联系,重点阐述了为什么重写equals()通常需要同时重写hashCode()。文章通过实例说明,哈希容器(如HashMap、HashSet)通过hashCode()快速定位对象位置,再用equals()确认对象是否逻辑相等。若两者不一致,会导致容器行为异常,如去重失效或取值失败。最后给出了正确实现示例和面试回答建议,强调

#java
类加载器(ClassLoader)与双亲委派:为什么同一个类能“加载两份”?

摘要:类加载机制是JVM运行时的核心工程问题,常见异常如ClassCastException和NoSuchMethodError往往源于类加载器隔离与双亲委派机制。类的唯一性由全限定名和加载它的ClassLoader共同决定,同一类被不同加载器加载会产生互不兼容的类型。双亲委派通过先父后子的加载顺序保障核心类安全,而线程上下文类加载器(TCCL)解决了SPI等场景的逆向加载需求。排查类冲突时,需重

#jvm
JVM 快速入门:它到底在干嘛?先把结构图画出来

本文介绍了JVM的核心结构和排障思路。JVM通过类加载、执行引擎、运行时数据区和垃圾回收等组件实现Java程序的运行。运行时数据区包括堆(对象存储)、虚拟机栈(线程私有)、方法区(类元数据)等关键区域。常见的线上问题可分为内存类(OOM、GC)、CPU类(热点线程)和卡顿类(STW)三大类。文章提供了6个实用排障命令,如jcmd查看进程参数、jstack分析线程栈等,并强调结构图作为问题定位地图的

#jvm
HeapDump + MAT:从一次 OOM 到根因定位的完整链路

当线上服务遇到OOM(内存溢出)时,有人选择简单调大-Xmx参数临时解决,而有人会通过heapdump分析根本原因。本文提供了一套完整的OOM分析流程:首先要区分堆内存或元空间OOM;然后谨慎生成heapdump(自动或手动);分析前需结合快照和监控数据;使用MAT工具重点查看Histogram、Dominator Tree和GC Roots;常见问题包括静态Map缓存泄露和ThreadLocal

#jvm#性能优化#java
    共 49 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择