Java 出现内存分配失败

问题

If you see that the storm process is getting crashed even though you have enough memory (swap/free) available then you should also check the “/proc/sys/vm/overcommit_memory

  • This switch knows 3 different settings:

=> 0: The Linux kernel is free to over commit memory(this is the default), a heuristic algorithm is applied to figure out if enough memory is available.

  1. ArrayList
  2. LinkedList
  3. HashMap
  4. LinkedHashMap
  5. TreeMap
  6. ThreadLocal
  7. ThreadPoolExecutor
  8. CopyOnWriteArrayList
  9. ConcurrentHashMap
  10. ConcurrentSkipListMap
  11. ArrayBlockingQueue
  12. LinkedBlockingQueue
  13. PriorityQueue
  14. AtomicInteger
  15. AQS (AbstractQueuedSynchronizer)
  16. CountDownLatch
  17. Semaphore
  18. CyclicBarrier
  19. ReentrantLock
  20. ReentrantReadWriteLock

  1. 搭建 rocketmq 源码调试环境
  2. netty 设计
  3. broker 注册 namesvr
  4. producer 发送消息
  5. broker 存储消息
  6. consumer 消费消息
  7. broker 获取消息
  8. producer 发送延时消息
  9. producer 发送事务消息
  10. broker 主从同步
  11. proxy 计算存储分离
  12. 静态 topic
  13. admin 查找消息

大纲:

  1. spring cache 原理
  2. spring mvc 请求流程
  3. spring boot 启动流程
  4. 适配多种 servlet 容器
  5. spring 常用扩展点
  6. spring bean 初始化
  7. spring websocket 原理
  8. spring security 原理