
日常
Code bear
用以自学的博客,如有错误请轻喷...
展开
-
ArrayList 线程不安全及解决
ArrayList 的 add()方法的 操作源码。 public boolean add(E e) { ensureCapacityInternal(size + 1); elementData[size++] = e; return true; }ArrayList 的不安全主要体现在两个方面。第一种情况:elementData[size++] = e;//不是一个原子操作,是分两步执行的。elementData[size] =原创 2021-12-05 15:31:48 · 1516 阅读 · 0 评论 -
给定一个字符类型的数组chas[]
【题目】给定一个字符类型的数组chas[],chas右半区全是空字符,左半区不含有空字符。现在想将左半区中所有的空格字符替换成“%20”,假设chas右半区足够大,可以满足替换所需要的空间,请完成替换函数。【举例】如果把chas的左半区看作字符串,为“a b c”,假设chas的右半区足够大。替换后,chas的左半区为“a%20b%20%20c”。import java.util.ArrayList;import java.util.List;public class test03 { p原创 2021-11-16 16:50:30 · 645 阅读 · 0 评论 -
java.lang.IllegalMonitorStateException错误
java.lang.IllegalMonitorStateException错误发生异常的原因:违法的监控状态异常。当某个线程试图等待一个自己并不拥有的对象(O)的监控器或者通知其他线程等待该对象(O)的监控器时,抛出该异常。类比一个: 钱都没给我,让我给你买西瓜?强哥我不保熟抛出异常的情况1:当前线程不含有当前对象的锁资源的时候,调用obj.wait()方法;调用obj.notify()方法;调用obj.notifyAll()方法;就是调用wait()和notify()或者notifyAll原创 2021-11-15 20:07:18 · 1436 阅读 · 0 评论