最后
本人也收藏了一份Java面试核心知识点来应付面试,借着这次机会可以送给我的读者朋友们
目录:
Java面试核心知识点
一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!
Java面试核心知识点
已经有读者朋友靠着这一份Java面试知识点指导拿到不错的offer了
Retrofit源码学习五:Retrofit中同步、异步请求解析
1、构建者模式
=======
作用:将复杂对象的构建和表示相分离。
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(“http://www.baidu.com/”)//设置网络请求的URL地址
.addConverterFactory(GsonConverterFactory.create())//设置数据解析器
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())//支持RxJava平台
.build();
除了Retrofit,还有ServiceMethod也用到了构建者模式。
2、工厂模式
======
第一个例子,工厂模式,就是CallAdapter中的Factory类
public interface CallAdapter {
Type responseType();
T adapt(Call call);
abstract class Factory {
public abstract CallAdapter<?> get(Type returnType, Annotation[] annotations,
Retrofit retrofit);
protected static Type getParameterUpperBound(int index, ParameterizedType type) {
return Utils.getParameterUpperBound(index, type);
}
protected static Class<?> getRawType(Type type) {
return Utils.getRawType(type);
}
}
}
第二个例子,静态工厂方法,就是Platform类
class Platform {
private static final Platform PLATFORM = findPlatform();
static Platform get() {
return PLATFORM;
}
//静态工厂方法
private static Platform findPlatform() {
try {
Class.forName(“android.os.Build”);
if (Build.VERSION.SDK_INT != 0) {
return new Android();
}
} catch (ClassNotFoundException ignored) {
}
try {
Class.forName(“java.util.Optional”);
return new Java8();
} catch (ClassNotFoundException ignored) {
}
try {
Class.forName(“org.robovm.apple.foundation.NSObject”);
return new IOS();
} catch (ClassNotFoundException ignored) {
}
分享
这次面试我也做了一些总结,确实还有很多要学的东西。相关面试题也做了整理,可以分享给大家,了解一下面试真题,想进大厂的或者想跳槽的小伙伴不妨好好利用时间来学习。学习的脚步一定不能停止!
Spring Cloud实战
Spring Boot实战
面试题整理(性能优化+微服务+并发编程+开源框架+分布式)
性能优化+微服务+并发编程+开源框架+分布式)