上一篇博客讲了如何使用Shiro和JWT做认证和授权(传送门:https://www.jianshu.com/p/0b1131be7ace),总的来说shiro是一个比较早期...
上一篇博客讲了如何使用Shiro和JWT做认证和授权(传送门:https://www.jianshu.com/p/0b1131be7ace),总的来说shiro是一个比较早期...
JVM中的字符串常量池是个有些玄幻的玩意儿,关于它的细节,各类书籍和网站上众说纷纭。本文试图参考尽量权威的资料,找一个切入点来理清这团乱麻。所有参考文档均有传送门。 本文提到...
C++后台腾讯实习面试经历 一面(普通技术面) 过程:递交简历 -> 手撕代码 -> 开始面试 -> 结束 耗时:about 1 hour 手撕代码:一颗二叉搜索树,找出树中...
什么?聊个天就把技术给学了? 聊天结束之后,博士露出了猥琐的笑容,心里想:这小子过段时间还会来找我的:一个公网IP怎么够呢,得上负载均衡呀;长连集群模式下又是如何实现单聊群聊...
[TOC] 简介 kafka是一个分布式消息队列。具有高性能、持久化、多副本备份、横向扩展能力。生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。一般在架构设计中起到解...
死锁是多线程环境中由于对资源竞争分配不合理而产生的阻塞行为,银行家算法是一种动态避免死锁的策略。 I、死锁 1.1 死锁定义 如果一个线程集合中的每个线程都在等待这个集合中另...
Java代码 -> Java字节码 -> 汇编指令(汇编指令是cpu指令的集合) Volatile Java语言提供了Volatile,在某些情况下比上锁要更加方便,如果一个...
多线程编程是为了让程序运行得更快,但是不是说,线程创建地越多越好,线程切换的时候上下文切换,以及受限于硬件和软件资源的限制问题 上下文切换 单核CPU同样支持多线程编程,CP...
Redis虽然是一种内存型数据库,一旦服务器进程退出,数据库的数据就会丢失,为了解决这个问题Redis提供了两种持久化的方案,将内存中的数据保存到磁盘中,避免数据的丢失。 R...
集合总结 HashMap HashMap是一个键值存储的集合,它根据键的hashCode值存储数据。大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不...
注: 本文参考极客时间《趣谈计算机网络》 TCP和UDP的区别 首先TCP是面向连接的,UDP是无需连接的,TCP有着三握四挥,并且三次握手和四次挥手是对TCP建立的连接有着...
@盖聂_0358 ....
Springboot + Redis 4.x.x 搭建集群Redis集群的搭建 简单介绍Redis 简单说一下Redis是什么,在我的理解中redis作为一个高性能的NoSql数据库,一种键值对的存储方式,并且这种键值对的类型很丰富...
如果是线程执行int i = 0;这个i是局部变量吧 局部变量的话根本就不需要考虑可见性的 因为JMM规定这个就是线程私有的不是吗
你真的了解volatile关键字吗?volatile关键字经常在并发编程中使用,其特性是保证可见性以及有序性,但是关于volatile的使用仍然要小心,这需要明白volatile关键字的特性及实现的原理,这也是...
什么是Spring IOC / DI 大家都知道,Spring是一个管理Bean的容器,IOC承担着控制反转的责任,不论是我们之前单纯使用Spring框架去管理Bean还是之...
jenkins安装 笔者在此使用Docker方式安装jenkins,DockerHub上的jenkins镜像地址 下载jenkins镜像 docker pull jenkin...
学习Java或者从事Java开发的程序员应该都知道,在Java语言背后有着一套成熟的体系,这个体系支撑着Java项目的生存周期,并且在Java项目生存期间,GC机制为整个项目...