![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java学习
文章平均质量分 51
X_TBoss
这个作者很懒,什么都没留下…
展开
-
linkedhashmap实现lru时遇到的问题
看了一些高浏览转载的博客,大部分都说map.get(1);会改变map中的顺序,经实践发现不会改变。import java.util.LinkedHashMap;import java.util.Map;class Map1 { public static void main(String[] args) { Map<Integer,Integer> map = new LinkedHashMap<>(); for (int i = 0原创 2021-09-12 17:21:28 · 136 阅读 · 0 评论 -
java1.7HashMap头插法扩容的安全问题
头插法扩容void transfer(Entry[] newTable, boolean rehash) { int newCapacity = newTable.length; for (Entry<K,V> e : table) { while(null != e) { Entry<K,V> next = e.next; if (rehash) {原创 2021-08-16 13:30:03 · 251 阅读 · 0 评论 -
认识消息队列
什么是消息队列,为什么要用消息队列?消息队列是存放消息的容器,和Queue一样(FIFO)。消息队列的作用:削峰:将短时间高并发产生的事务消息存储在消息队列中,然后去消费这些消息。防止压力过大导致系统崩溃。解耦:客户端发送消息到消息队列中去,服务端处理消息。服务端和客户端没有直接的联系。异步提高系统性能:服务端接到客户端的请求后,将其存储到消息队列,就返回结果,不需要一直等待。AMQPAMQP(Advanced Message Queuing Protocol),一个提供统一消息服务的应用原创 2021-08-04 20:54:22 · 128 阅读 · 0 评论 -
商城秒杀系统小结
可能会遇到的问题高并发超卖链接暴露高可用解决办法限流:在秒杀开始之前,秒杀按钮置灰。解决超卖:不同用户在读请求的时候,发现商品库存足够,然后同时发起请求,进行秒杀操作,减库存,导致库存减为负数。最简单的方法,更新数据库减库存的时候,进行库存限制条件,当库存足够时才进行操作。Redis预减库存系统初始化,把商品库存数量加载到Redis,收到秒杀请求后,Redis预减库存,如果库存已经到达临界值的时候,后续请求直接返回失败。会遇到问题:先在 redis 中减库存,再判断订单。重复请求会导原创 2021-08-03 21:25:45 · 415 阅读 · 0 评论 -
Java内存区域
1.运行时数据区域线程共享:堆,方法区(包括运行时常量池), 直接内存线程私有:虚拟机栈,本地方法栈,程序计数器。程序计数器:唯一一个不会出现OutOfMemoryError的内存区域,生命周期和线程相同。1.字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制。2.在多线程的情况下,程序计数器用于记录当前线程执行的位置,从而线程切换后能恢复到正确的执行位置。虚拟机栈生命周期和线程相同,描述方法执行的内存模型。本地方法栈为虚拟机使用到的 Native 方法服务。堆Ja原创 2021-07-19 10:14:48 · 89 阅读 · 0 评论 -
剑指 Offer 62. 圆圈中最后剩下的数字 <约瑟夫环>
看了诸多大神的解题还是有点不明白,故记录一下。如题:0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。方法一:递归//数学 + 递归class Solution { public int lastRemaining(int n, int m) { return f(n, m); } public int f(int n, int m) {原创 2021-07-08 23:04:18 · 136 阅读 · 0 评论 -
Maven相关
回顾学习Java主流框架前的一些准备Maven1. 管理jar文件下载jar包管理jar包之间的依赖 (a.jar依赖b.jar,maven自动下载b.jar)2.项目构建清理、编译、测试、报告、打包、安裝、部署3.核心概念POM: xml文件,核心文件。Maven通过该文件进行项目部署,管理jar依赖。约定的目录结构:maven规定了项目的目录以及文件位置坐标:用来找到资源依赖管理:管理项目中可以使用的jar包仓库管理:资源存放位置– 本地仓库– 远程仓库生命周期:原创 2021-07-06 13:41:01 · 100 阅读 · 0 评论