- 博客(10)
- 收藏
- 关注
原创 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
249
原创 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
375
原创 认识消息队列
什么是消息队列,为什么要用消息队列? 消息队列是存放消息的容器,和Queue一样(FIFO)。 消息队列的作用: 削峰:将短时间高并发产生的事务消息存储在消息队列中,然后去消费这些消息。防止压力过大导致系统崩溃。 解耦:客户端发送消息到消息队列中去,服务端处理消息。服务端和客户端没有直接的联系。 异步提高系统性能:服务端接到客户端的请求后,将其存储到消息队列,就返回结果,不需要一直等待。 AMQP AMQP(Advanced Message Queuing Protocol),一个提供统一消息服务的应用
2021-08-04 20:54:22
241
原创 商城秒杀系统小结
可能会遇到的问题 高并发 超卖 链接暴露 高可用 解决办法 限流:在秒杀开始之前,秒杀按钮置灰。 解决超卖: 不同用户在读请求的时候,发现商品库存足够,然后同时发起请求,进行秒杀操作,减库存,导致库存减为负数。 最简单的方法,更新数据库减库存的时候,进行库存限制条件,当库存足够时才进行操作。 Redis预减库存 系统初始化,把商品库存数量加载到Redis,收到秒杀请求后,Redis预减库存,如果库存已经到达临界值的时候,后续请求直接返回失败。 会遇到问题:先在 redis 中减库存,再判断订单。重复请求会导
2021-08-03 21:25:45
539
原创 Java内存区域
1.运行时数据区域 线程共享:堆,方法区(包括运行时常量池), 直接内存 线程私有:虚拟机栈,本地方法栈,程序计数器。 程序计数器: 唯一一个不会出现OutOfMemoryError的内存区域,生命周期和线程相同。 1.字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制。 2.在多线程的情况下,程序计数器用于记录当前线程执行的位置,从而线程切换后能恢复到正确的执行位置。 虚拟机栈 生命周期和线程相同,描述方法执行的内存模型。 本地方法栈 为虚拟机使用到的 Native 方法服务。 堆 Ja
2021-07-19 10:14:48
188
原创 剑指 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
252
原创 Maven相关
回顾学习Java主流框架前的一些准备 Maven 1. 管理jar文件 下载jar包 管理jar包之间的依赖 (a.jar依赖b.jar,maven自动下载b.jar) 2.项目构建 清理、编译、测试、报告、打包、安裝、部署 3.核心概念 POM: xml文件,核心文件。Maven通过该文件进行项目部署,管理jar依赖。 约定的目录结构:maven规定了项目的目录以及文件位置 坐标:用来找到资源 依赖管理:管理项目中可以使用的jar包 仓库管理:资源存放位置 – 本地仓库 – 远程仓库 生命周期:
2021-07-06 13:41:01
185
原创 MobaXterm登录之后无法输入命令
MobaXterm登录之后无法输入命令 昨天在使用MobaxXterm安装好环境之后都是正常使用,但是今天早上登陆时就出现了下面这个问题:最下面一直是白色方块,没有出现输入命令的地方。(有朋友知道怎么解决吗? 后续记录:等待了很久最后出现了,但是每一条命令都要相应很久。 ...
2021-03-05 09:55:56
18609
11
转载 【转】交叉编译-4:CxImage开源库在VS2013的编译和使用
【转】交叉编译-4:CxImage开源库在VS2013的编译和使用 如果x64的话 是…/…/x64/Debug/png.lib 而不是将$(OutDir)png.lib等改为…/…/Debug/png.lib。
2019-12-03 20:58:16
247
转载 vtk基本数据结构与模型构建实例讲解
vtk基本数据结构与模型构建实例讲解 转自https://blog.youkuaiyun.com/pizibing880909/article/details/21953843
2019-08-07 10:33:57
298
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅