首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
xiaoxin_99
掘友等级
无
java练习生
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
46
文章 44
沸点 2
赞
46
返回
|
搜索文章
最新
热门
HashMap 中的设计
hashcode的处理 为什么不直接使用hashCode()的返回值? 因为有时候会出现hashcode低位大量一致,造成hsah冲突。 out 为什么低位相同会导致hash冲突(collide)?
怎样书写一份像样的hashCode()
Java代码中时常需要用到HashMap,与HashMap脱不开关系的便是hashCode()方法,那么怎样书写一份像样的hashCode()成为一个问题。
建造者模式(Builder Pattern)
将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 通常是实现了模板方法模式,也就是有模板方法和基本方法。 规范产品的组建,一般是由子类实现。 负责安排已有模块的顺序,然后告诉Builder开始建造。 如果有多个产品类就有多个具体的建造者,而且这多个产…
模板方法模式
定义一个操作中的算法框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 模板方法模式非常简单,仅仅使用了Java的继承机制,但它是一个应用非常广泛的模式。其中,AbstractClass叫做抽象模板,它的方法分为两类: 基本方法也叫…
抽象工厂模式
为创建一组相关或互相依赖的对象提供一个接口,并且无需指定他们的具体类。 抽象工厂模式是工厂方法模式的升级版,在有多个业务品种、业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。 在场景类中,没有任何一个方法与实现类有关系,对于一个产品来说,我们只要知道它的工厂方…
设计模式之工厂方法模式
定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 首先,良好的封装性,代码结构清晰。一个对象创建是有条件约束的,如果一个调用者需要一个具体的产品对象,只要知道这个产品的类名(或约束字符串)就可以了,不用知道创建对象的艰辛过程,降低模块…
单例模式
由于单例模式在内存中只有一个实例,减少了内存开支,特别是一个对象需要频繁的创建、销毁时,而且创建或销毁时性能无法优化,单例模式的优势就非常明显。 由于单例模式生成一个实例,所以减少了系统性能的开销,当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时,则可以通过在…
并发场景中安全发布对象
不能指望一个尚未被完全创建的对象拥有完整性。某个观察该对象的线程将看到对象处于不一致的状态,然后看到对象的状态突然发生变化,即使线程在对象发布后还没有修改过它。 任何线程都可以在不需要额外同步的情况下安全地访问不可变对象,即使在发布这些对象时没有使用同步。 要安全地发布一个对象…
线程封闭
当访问共享可以变数据,通常需要使用同步。一种避免使用同步的方式就是不共享数据。如果仅在单线程内访问数据,就不需要同步,这种技术被称为线程封闭(Thread Confinement),它是实现线程安全性的最简单方式之一。当某个对象封闭在一个线程中时,这种用法将自动实现线程安全性,…
发布与逸出
发布(publish)一个对象的意思是指,是对象能够在当前作用域之外的代码中使用。例如,将一个指向该对象的引用保存到其他代码可以访问到的地方,或者在某一个非私有的方法中返回该对象的引用,或者将引用传递到其他类的方法中。 在许多情况下,我们要确保对象及其内部状态不被发出。而在某些…
下一页
个人成就
文章被点赞
29
文章被阅读
11,559
掘力值
366
关注了
6
关注者
2
收藏集
9
关注标签
37
加入于
2019-12-03