JAVA_SE基础知识——设计模式、Lambda表达式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JAVA_SE基础知识——设计模式、Lambda表达式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2148字,纯文字阅读大概需要4分钟。
内容图文
![JAVA_SE基础知识——设计模式、Lambda表达式](/upload/InfoBanner/zyjiaocheng/713/1348e8cfddf54176a8dcb0b8a8c21a6b.jpg)
1、设计模式:
是一套被反复使用、多人知晓的、经过分类编目的、代码设计经验的总结
a、单例模式 ---> 只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有
一个实例而且该实例易于外界访问。如果在系统中某个类的对象只能存在一个,可以
用单例模式。
单例的实现:提供一个私有的构造方法;提供一个公开的静态方法返回类的对象。
好处:1、某些类创建比较频繁,对于大型的对象,是一笔很大的开销
2、省去了new的操作,降低了内存的使用频率,减轻GC压力
3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话
系统就乱了;
分为:饿汉式和懒汉式
eg:饿汉式---线程安全
public class SingleTon {
// 私有静态的属性
private static SingleTon singleTon = new SingleTon();
// 私有的构造方法
private SingleTon() {
}
// 公开的静态方法,返回一个对象的实例
public static SingleTon getSingleTon() {
return singleTon;
}
}
懒汉式---线程不安全,多线程不能正常访问
public class SingleTon2 {
// 私有静态的属性
private static SingleTon2 singleTon2 = null;
// 私有的构造方法
private SingleTon2() {
}
// 公开的静态方法,返回一个对象的实例
public static SingleTon2 getSingleTon() {
if (singleTon2 == null) {
singleTon2 = new SingleTon2();
}
return singleTon2;
}
}
测试类
SingleTon singleTon=SingleTon.getSingleTon();
SingleTon2 singleTon2=SingleTon2.getSingleTon();
b、工厂模式---用工厂方法代替new操作的一种模式
eg:public class FruitFactory {
public Fruit make(String name) {
Fruit f = null;
if (name.equalsIgnoreCase("apple")) {
f = new Apple();
} else if (name.equalsIgnoreCase("Watermelon")) {
f = new Watermelon();
}
return f;
}
}
测试类:FruitFactory ff=new FruitFactory();
Apple apple= (Apple) ff.make("apple");
c、代理模式---代理主题来操作真实主题,真实主题执行具体的任务操作
2、Lambda表达式—通过表达式来代替功能接口
基本语法:(parameters)->expression 或者 (parameters)->{statements;}
可以用来遍历列表:
List<String> li=new ArrayList<>();
li.add("aaa");
li.add("bbb");
li.add("ccc");
li.add("ddd");
li.forEach((l)->{
if (l.endsWith("d")) {
System.out.println(l);
}else {
System.out.print(l+";");
}
});
3、对象比较器—用来给对象排序(加泛型)
a、comparable 接口
此接口强行给每一个类的对象进行整体排序。实现该接口 重写compareTo方法
b、comparator 接口
类已经定义好时,不用修改类,做一个比较器类实现该接口,重写compare方法
内容总结
以上是互联网集市为您收集整理的JAVA_SE基础知识——设计模式、Lambda表达式全部内容,希望文章能够帮你解决JAVA_SE基础知识——设计模式、Lambda表达式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。