摘要: java8中规范的四大函数式接口: 1、Consumer<T> :消费型接口 void accept(T t); 2、Supplier<T> :供给型接口 T get(); 3、Function<T,R> :函数型接口 R apply(T t); 4、Predicate<T> :断言型接口 bool阅读全文
posted @ 2019-06-13 11:32 左手背右手背 阅读(7) 评论(0) 编辑
摘要: 今天在学习jvm性能调优的的时候,看到了string.intern,很是好奇,于是就查阅并总结了一下。个人觉得给String类中加入这个方法可能是为了提升一点点性能,因为从常量池取数据比从堆里面去数据要快一些。 API上的那几句关于这个方法,其实总结一句就是调用这个方法之后把字符串对象加入常量池中,阅读全文
posted @ 2019-06-11 16:17 左手背右手背 阅读(9) 评论(0) 编辑
摘要: 在公司上班,经过大半天的忙碌,每到下午三四点,肚子就感觉咕咕叫,嘴巴也挺寂寞的,于是乎就想着点杯奶茶慰劳下自己。喝过奶茶的小伙伴都知道,点奶茶加点配料更爽口,例如燕麦(oats),珍珠(pearl),布丁(pudding)等等,当然了,每种配料的价格都是不一样的,那么我们今天要做的就是,不管你是点奶阅读全文
posted @ 2019-04-25 14:39 左手背右手背 阅读(9) 评论(0) 编辑
摘要: 现在很多商场都实行积分制,积分到了一定数额可以获取相应的兑换物品。假如一个客户(小马),要在淘宝上,想要兑换一个aj鞋,那么需要如何实现呢? 1、效验小马的积分是否达到该商品的积分要求。 2、效验是否已经支付了积分。 3、效验是否分配了物流单号。 经历了这三步,就可以获得自己想要的aj鞋子了。 那么阅读全文
posted @ 2019-04-22 16:56 左手背右手背 阅读(9) 评论(0) 编辑
摘要: 结果: 由此可见,instance和newInstance不相等,就违背了单例模式的一个初衷,通过序列化和反序列化拿到了不同的对象。而我们是希望拿到一个对象。 那么如何解决呢? 在单例中加一个方法就可解决,如下代码所示: 再次运行测试类之后,结果如下: 为什么如此神奇呢?这就要大家深入看下源码了。 阅读全文
posted @ 2019-04-16 20:28 左手背右手背 阅读(15) 评论(0) 编辑
摘要: 结束!阅读全文
posted @ 2019-04-14 22:43 左手背右手背 阅读(43) 评论(0) 编辑
摘要: 上章节我们在懒汉式的单例模式上解决了多线程安全的问题,但解决问题的同时,新的问题也随之而来。 上节问题: 1、在静态方法(static)上添加关键字(synchronized同步锁),就是相当于在类上加锁,锁的范围大,损耗性能。 2、加锁、解锁过程消耗资源。 那么,我们该如何解决呢? 此种方法就是懒阅读全文
posted @ 2019-04-10 22:36 左手背右手背 阅读(117) 评论(0) 编辑
摘要: 介绍: 单例模式(Singleton)也叫单态模式,是设计模式中最为简单的一种模式,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象,也因此有些设计大师并把把其称为设计模式之一。 应用: 1、多线程的线程池的设计一般也是采用单例模式阅读全文
posted @ 2019-04-10 21:46 左手背右手背 阅读(21) 评论(0) 编辑
摘要: 1、建造者模式角色分析: 建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一种对象创建型模式。 建造者模式一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构阅读全文
posted @ 2019-04-08 18:30 左手背右手背 阅读(9) 评论(0) 编辑
摘要: 在项目中将两个long类型的值比较是否相等,结果却遇到了疑问? 下面就陪大家看看一个神奇的现象! 1.1问题?为什么同样的类型,同样的值,却不相等呢? 1.2那么我们就需要探索一下源码了 源码中显示,Long中有一个静态的内部类LongCache,专门用于缓存-128至127之间的值,一共256个元阅读全文
posted @ 2019-04-04 11:59 左手背右手背 阅读(1324) 评论(0) 编辑