佳运 Blog

做你想做的!

Redis

Redis redis为什么这么快 Redis 基于内存,内存的访问速度比磁盘快很多; Redis 基于 Reactor 模式设计开发了一套高效的事件处理模型,主要是单线程事件循环和 IO 多路复用; Redis 内置了多种优化过后的数据类型/结构实现,性能非常高; Redis 通信协议实现简单且解析高效。 IO多路复用 是指利用单个线程来同时监听多个Socket...

Mysql

MySQL 什么是mysql? MySQL 是一种关系型数据库,主要用于持久化存储我们的系统中的一些数据比如用户信息。 由于 MySQL 是开源免费并且比较成熟的数据库,因此,MySQL 被大量使用在各种系统中。任何人都可以在 GPL(General Public License) 的许可下下载并根据个性化的需要对其进行修改。MySQL 的默认端口号是3306。 MySQL字段类型 ...

Jvm

JVM 运行时数据区域 Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。 JDK1.7: JDK1.8: 线程私有的: 程序计数器 虚拟机栈 本地方法栈 线程共享的: 堆 方法区 直接内存 (非运行时数据区的一部分) 栈 程序运行中栈可能会出现两种错误: StackOverFlowE...

Juc

JUC 线程创建方式: 第一种是通过继承 Thread 类并重写其 run() 方法来创建线程。在run() 方法中定义线程需要执行的任务逻辑,然后,创建该类的实例,调用 start() 方法启动线程,start() 方法会自动调用 run() 方法中的代码逻辑。这种方式简单直观,但由于 Java 不支持多重继承,因此限制了类的扩展性。 第二种是实现 Runnable 接口并将...

Java基础

Java基础 JavaSE 深拷贝、浅拷贝和引用拷贝 浅拷贝: 浅拷贝是指创建一个新对象,但新对象中的引用类型字段仍然指向原对象中引用类型的内存地址。换句话说,浅拷贝只复制了对象本身,而没有复制对象内部的引用类型数据。修改新对象中的引用类型数据会影响原对象。 浅拷贝可以使用 Object 类的 clone() 方法,也可以使用实现 Cloneable 接口并重写 clo...

Daijia

代驾宝项目总结及面试问题 项目地址:gjyyyy/daijia 为什么采用mongoDB存储司机轨迹数据 MongoDB中每一条数据记录就是一个文档,数据结构由键值(key=>value)对组成。 MongoDB适用场景 MongoDB不需要去明确指定一张表的具体结构,对字段的管理非常灵活,有很强的可扩展性。 支持高并发、高可用、高可扩展性,自带数据压缩功能,支持海量数据的...

Project Dianping

餐厅评价系统项目及面试问题总结 项目地址:gjyyyy/dianping 登录问题 怎么通过 Redis+JWT+ThreadLocal+拦截器 实现单点登录 用户登录后,(用用户id等)信息生成JWT Token并将其存储到Redis中。 将JWT Token返回给客户端,并在响应头中设置Authorization字段,值为Bearer加上JWT Token。 ...

Hello 2025

Hey >这是我的第一篇博客。 嗨,大家好!欢迎来到我在 GitHub 搭建的技术博客。在这里,我将记录自己在技术学习、项目实践过程中的点点滴滴,分享心得、经验以及遇到的问题与解决方案。希望这个博客不仅能成为我个人知识沉淀的地方,也能为广大技术爱好者提供一些有价值的参考和交流的平台。 >最后附上GitHub:https://github.com/gjyyyy