
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
如果创建instance实例需要的开销非常大,又不确定是否需要用到instance实例,那么每次运行都创建一个对象的代价就有些无法接受了。由此我们将创建对象的方法塞入一个静态内部类,既保留了单一实例和线程安全,也达成了类似饱汉式的需要时再加载对象的目标。该实例由类自身持有,外部无法通过 new 创建第二个对象,因此构造器必须设为私有。单例模式减少了频繁创建和销毁对象的内存开销,但由于构造器私有,单
整个方法是懒加载缓存设计。这里先判断二者地址是否相等,实质是判断异常是否为初次遇到(即本异常对象的stackTrace没有填入数据),如果stackTrace没有指向UNASSIGNED_STACK并且不为null说明缓存命中,直接输出stackTrace内保存的堆栈帧。比如上文提到的pringStackTrace方法内用于输出打印被抑制异常和异常原因的printEnclosedStackTrac
这是一个十分强大的方法,常用于各大框架和序列化、单元测试中,比如spring的依赖注入,@AutoWired 注解的一般都是私有成员,就是靠这个权限才能够正常将需要的对象插入进成员内。而使用生成器,我们只需要创建一个类继承生成器接口,便可以在类的构造器里单独配置所有变量,一次封装,无数次使用,省心又省力。再比如,当我们希望控制某个类创建的对象总数的时候,便可以在对应类生成器的next方法中添加规则
于Iterator不同的是,ListIterator可以双向移动,还可以产生相对于迭代器在列表中指向的当前位置的前一个元素和后一个元素的索引,并使用set()方法替换它访问的最后一个元素。或者也可以说,迭代器封装了遍历操作,并通过泛型和接口使任何类型都能够使用,任何对象都能够获得独立的迭代器实例,实现遍历的功能。方法,自动创建了一个iterator迭代器对象。collection---------
正则表达式是一种强大而灵活的文本处理工具。使用正则表达式,我们能以编程的方式,构造复杂的文本模式,并对输入的字符串进行搜索。有别于其他语言中的\\(我要在正则表达式中插入一个普通的\,无特殊意义),在Java中,\\的意思是我要插入一个正则表达式的反斜线,其后的字符具有特殊意义。如果希望单独匹配一个普通的反斜线,需要写成\\\\(字符串转义为\\),希望在正则内匹配,则是\\。以下是一些常见的正则







