Spring Boot 快速实现 IP地址解析
前言 在前一节的学习中,慕歌分享了如何构建自己的小型日志用于记录一些关键性的信息,监测用户的登录状态等… 在这一节中慕歌将就上一节中关于ip 的点进行详细的讲解,带大家在spring boot 项目中获取请求的ip与详细地址,我们的很多网站app 中都已经新增了ip 地址显示,大家也可以用在自己的开发中,显得更高级。 引入 如果使用本地ip…
围绕 java 的技术文章与经验分享。
共 1048 篇文章前言 在前一节的学习中,慕歌分享了如何构建自己的小型日志用于记录一些关键性的信息,监测用户的登录状态等… 在这一节中慕歌将就上一节中关于ip 的点进行详细的讲解,带大家在spring boot 项目中获取请求的ip与详细地址,我们的很多网站app 中都已经新增了ip 地址显示,大家也可以用在自己的开发中,显得更高级。 引入 如果使用本地ip…
一、什么是分布式事务 1、问题场景 单服务操作多数据库情况 多服务操作单数据库情况 多服务操作多数据库,服务a和服务b之间相互调用情况 2、事务的特性 原子性、一致性、隔离性、持久化 3、常见的分布式解决方案 3.1 二阶段提交(2PC)…
最近看到 一个20亿手机号存储检索的问题,这里做一下记录,方便学习 1、场景描述 在20亿个随机整数中找出某个数m是否存在其中,并假设32位操作系统,4G内存。 1byte=8bit 1kb=1024byte 1mb=1024kb 1gb=1024mb java中 int类型占用4个字节=4*8=32bit 如果将20亿个整数放入内存中,需要占用多少内存?…
1、基础使用 //声明锁,默认为true非公平锁 static Lock lock1=new ReentrantLock(); public static void main(String[] args) { try{ lock1.lock(); // todo }catch (Exception e){ e.printStackTrace();…
缓存穿透 什么是缓存穿透 缓存穿透指的是一个缓存系统无法缓存某个查询的数据,从而导致这个查询每一次都要访问数据库。 常见的Redis缓存穿透场景包括: 查询一个不存在的数据:攻击者可能会发送一些无效的查询来触发缓存穿透。 查询一些非常热门的数据:如果一个数据被访问的非常频繁,那么可能会导致缓存系统无法处理这些请求,从而造成缓存穿透。…
什么是 JUC? JUC 就是 java.util.concurrent 包,这个包俗称 JUC,里面都是解决并发问题的一些东西,该包的位置位于 java 下面的 rt.jar 包下面 JUC 中 4 大常用并发工具类 CountDownLatch CyclicBarrier Semaphore ExChanger CountDownLatch…
在今年2月14日的时候,Keycloak 团队宣布他们正在弃用大多数 Keycloak 适配器。其中包括Spring Security和Spring Boot的适配器,这意味着今后Keycloak团队将不再提供针对Spring Security和Spring…
一、容器化部署的好处 Docker 作为一种新兴的虚拟化方式,它可以更高效的利用系统资源,不需要进行硬件虚拟以及运行完整操作系统等额外开销。 传统的虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接运行宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。…