我们先来看下面一个例子: 从上面那个例子我们看到结果没有区别,那我们在换个例子看看 现在可以很清楚的可以看到,+的意思就是从遇到第一个匹配的字符起,继续匹配,直到匹配失败,把这段匹配到的字符替换为#, 而不带+的是把匹配到的字符一个一个替换为#

2021年10月10日 0条评论 2145点热度 2人点赞 小小调酒师 阅读全文

正则表达式知识学习 Pattern.compile函数中两个参数: 1、regex 表示定义的规则 2、flag 表示设置的参数类型,主要包含以下几种情况: (1)Pattern.CASE_INSENSITIVE(?i) 默认情况下,大小写不明感的匹配只适用于US-ASCII字符集。让表达式忽略大小写进行匹配。 (2)Pattern.COMMENTS(?x) 此种模式下,匹配时会忽略表达式中空格字符(表达式里的空格,tab,回车)。注释从#开始,一直到这行结束。 (3)Pattern.UNIX_LINES(?d) …

2021年10月8日 0条评论 1801点热度 0人点赞 小小调酒师 阅读全文

这是垃圾收集算法中最基础的,根据名字就可以知道,它的思想就是标记哪些要被回收的对象,然后统一回收。这种方法很简单,但是会有两个主要问题:1.效率不高,标记和清除的效率都很低;2.会产生大量不连续的内存碎片,导致以后程序在分配较大的对象时,由于没有充足的连续内存而提前触发一次 GC 动作。 为了解决效率问题,复制算法将可用内存按容量划分为相等的两部分,然后每次只使用其中的一块,当一块内存用完时,就将还存活的对象复制到第二块内存上,然后一次性清楚完第一块内存,再将第二块上的对象复制到第一块。但是这种方式,内存的代价太高…

2021年10月6日 0条评论 1323点热度 0人点赞 小小调酒师 阅读全文

比 如 一 个 类 中 的 同 步 方 法 调 用 另 一 个 同 步 方 法 , 假 如Synchronized 不 支 持 重 入 , 进 入 method2 方 法 时 当 前 线 程 获 得 锁 ,method2 方 法 里 面 执 行 method1 时 当 前 线 程 又 要 去 尝 试 获 取 锁 , 这时 如 果 不 支 持 重 入 , 它 就 要 等 释 放 , 把 自 己 阻 塞 , 导 致 自 己 锁 死 自 己 。 对 Synchronized 来 说 , 可 重 入 性 是 显 而 易 见…

2021年10月5日 0条评论 1270点热度 0人点赞 小小调酒师 阅读全文

collection 是集合类的上级接口, 继承与它的接口主要是 set 和 list。 collections 类是针对集合类的一个帮助类. 它提供一系列的静态方法对各种集合的搜索, 排序, 线程安全化等操作。

2021年10月3日 0条评论 1214点热度 0人点赞 小小调酒师 阅读全文

Java 提供了只包含一个 compareTo() 方法的 Comparable 接口。这个方法可以个给两个对象排序。具体来说,它返回负数,0,正数来表明输入对象小于,等于,大于已经存在的对象。 Java 提供了包含 compare() 和 equals() 两个方法的 Comparator 接口。compare() 方法用来给两个输入参数排序,返回负数,0,正数表明第一个参数是小于,等于,大于第二个参数。equals() 方法需要一个对象作为参数,它用来决定输入参数是否和 comparator 相等。只有当输入参…

2021年10月3日 0条评论 1057点热度 0人点赞 小小调酒师 阅读全文

1、假如元素的大小是固定的,而且能事先知道,我们就应该用 Array 而不是ArrayList。 2、有些集合类允许指定初始容量。因此,如果我们能估计出存储的元素的数目,我们可以设置初始容量来避免重新计算 hash 值或者是扩容。 3、为了类型安全,可读性和健壮性的原因总是要使用泛型。同时,使用泛型还可以避免运行时的 ClassCastException。 4、使用 JDK 提供的不变类 (immutable class) 作为 Map 的键可以避免为我们自己的类实现 hashCode()和 equals()方法。…

2021年10月3日 0条评论 1330点热度 0人点赞 小小调酒师 阅读全文

Iterator 可用来遍历 Set 和 List 集合,但是 ListIterator 只能用来遍历 List。 Iterator 对集合只能是前向遍历,ListIterator 既可以前向也可以后向。 ListIterator 实现了 Iterator 接口,并包含其他的功能,比如:增加元素,替换元素,获取前一个和后一个元素的索引,等等。

2021年10月3日 0条评论 1156点热度 0人点赞 小小调酒师 阅读全文

通过看源码知道 HashSet 的实现是依赖于 HashMap 的,HashSet 的值都是存储在 HashMap 中的。在 HashSet 的构造法中会初始化一个 HashMap 对象,HashSet 不允许值重复,因此,HashSet 的值是作为 HashMap 的 key 存储在HashMap 中的,当存储的值已经存在时返回 false。 LinkedHashMap 也是基于 HashMap 实现的,不同的是它定义了一个 Entryheader,这个 header 不是放在 Table 里,它是额外独立出来的…

2021年10月3日 0条评论 1162点热度 1人点赞 小小调酒师 阅读全文

支付 ¥1.99 购买本节后解锁剩余99%的内容 微信支付 如已付费购买,请免登录验证。

2021年10月2日 0条评论 1101点热度 0人点赞 小小调酒师 阅读全文
123458