Java进阶
Nubea
这个作者很懒,什么都没留下…
展开
-
split()方法的一些问题(转义字符、截取数组长度)
今天在公司做html课表解析的时候,老是报数组越界错误,debug了一下发现原来是在用split()方法时除了错。现在总结一下split的一些小坑。一:转义字符在split时如果涉及到转义字符,如:str.split("[实]")转义字符必须用转义符转义,如图。如果上面没有用转义字符转义,就会出现下面的情况。String str = "大学物理实验,[实]E109"; String[] split...原创 2018-03-27 16:44:55 · 1892 阅读 · 0 评论 -
Java多线程中的notify和notifyAll的区别
既然说到多线程,首先要引入几个概念。1、锁池:直白的说就是等待竞争锁的池子,比如当前竞争的对象的锁已经被其中一个线程取得,其他线性等待锁释放后开始竞争,这些等待的线程总和我们就可以叫锁池。2、等待池:某个线程调用了某个对象的wati()方法,释放了锁,进入不竞争锁的状态。我们可以说这个线程进入了等待池。区别如果线程调用了对象的 wait()方法,那么线程便会处于该对象的等待池中,等待池中的线程不会...翻译 2018-05-04 17:05:49 · 581 阅读 · 0 评论 -
Java的Builder模式和协变返回类型
原文链接:https://juejin.im/entry/5b83fe1851882542e16bfcf6?utm_source=gold_browser_extension Builder 模式是一种创建型的设计模式,即解决对象的创建问题。 在 Java、C++ 这类语言中,如果一个类在创建时存在可选参数,那么可以通过函数重载来实现,但是如果可选参数非常多的话,构造函数的数量也会变得非常多,...转载 2019-07-29 16:37:02 · 271 阅读 · 0 评论