高级知识点

1.OKHttp同步和异步的区别

    同步:execute()方法

        请求网络数据要在子线程中完成操作,然后发送到主线程

        同一时间只允许跑一个线程任务,是耗时操作

    异步:enqueue()方法

        允许多线程任务,效率高

    同步是阻塞式的,是在当前线程执行

异步是并发式的,它会自动启动一个新的线程处理逻辑

2.简述OKHttp的使用步骤

    添加网络配置

    导入OKHttp依赖                               

创建请求对象(get请求不需要此步骤)

    创建FormBody

    创建请求体

    请求对象.newCall(请求体)

    绑定

    调用同步execute()或异步enqueue()处理数据

3.OKHttp使用了哪些设计模式

    单例模式   

原型模式

外观模式

代理模式

策略模式

亨元模式

桥接模式

组合模式

创建者模式

建造者模式

责任链模式

观察者模式

装饰器模式

    适配器模式

过滤器模式

工厂发放模式

模板方法模式

抽象工厂模式


4.HttpURLConnection及OKHttp3的对比分析


    HttpURLConnection:是一种多用途、轻量极的HTTP客户端,请求到的数据是流,使用它来进行HTTP操作可以适用于大多数的应用程序;

      按照层级来说。


    OkHttp和HttpUrlConnection是一级的,用socket实现了网络连接,OkHttp进行网络请求封装,优化了网络请求效率,使用方便简单。

5.Retrofit2常用注解

      @GET             GET请求

      @POST             POST请求

      @Headers             添加请求头

      @Path             替换路径

      @Query             替代参数值,通常是结合get请求的

      @QueryMap            参数值以HashMap的形式传入,结合get使用

      @Field             替换参数值,是结合post请求的

      @FieldMap            参入值以HashMap的形式传入,结合post使用

      @FormUrlEncoded      用表单数据提交

6.Retrofit2发送get、post请求的方式

网络权限

导依赖

定义API接口

添加@GET 或 @POST注解

初始化retrofit

构建retrofit

调用同步或异步请求网络数据

7.Retrofit2发送同步异步请求

    网络权限

导依赖

定义API接口

初始化retrofit

构建retrofit

调用同步或异步请求网络数据

8.Retrofit和OKHttp的区别

  Retrofit底层是使用OKHttp封装的,网络请求的工作本质上是OkHttp完成,而Retrofit 负责网络请求接口的封装,使用接口和注解形式请求网络数据,使用方便简单。

  Okhttp通过创建okhttpclient,request,和call对象进行同步异步数据请求。

9.Overload和Override的区别

    重载(Overload)是重载,在同一个类中可以有多个名称相同的方法,参数类型和参数个数不同

    重写(Override)是重写,表示子类中的方法可以与父类中的某个方法的名称和参数完全相同(多态性)

10.String、Stringbuffer、Stringbuilder的区别

    String为常量,长度不可变,Stringbuffer和Stringbuilder长度可变

    Stringbuffer为变量,线程安全,效率低

    Stringbuilder为变量,线程不安全效,效率高

11.实现字符串倒叙

    ①使用数组循环

    ③Stringbuffer的循环 

    ②String的reverse方法

    ④栈的先进后出 

    ⑤迭代完成 


12.集合

Collection单列:(1)list:有序可重复

                      ①ArrayList:底层数组,查询快,增删慢,线程不安全,效率高 

                          ②Vector:底层数组,查询快,增删慢,线程安全,效率低

                          ③LinketList:底层链表,查询慢,增删快,线程不安全,效率高


              (2)set: 无序唯一

                          ①HashSet:底层哈希表 

                          ②TreeSet:底层红黑树

                          ③LinketHashSet:链表保证元素有序

                  哈希表保证元素唯一


Map双列:(1)HashMap:线程不安全效率高

①LinketHashMap:有序唯一

        (2)HashTable:线程安全效率低

(3)TreeMap:底层红黑树


13.抽象类和接口的区别

抽象类:抽象类用来抽象具体对象,可以有具体的方法和属性,抽象类只能单独继承

接  口:接口  用来抽象具体对象,主要用来抽象功能,可继承接口,并可多继承接口,也有抽象方法和不可变常量

14.线程的几种状态

    新建(new)

可运行(runable)

运行(running)

阻塞(block)

死亡(dead)

15. final/finally\finanlize()的区别?

    final:被修饰的类,不能被继承,方法不能重写,变量变成常量,

  finally:用于异常处理,执行清除操作。

finanlize:在垃圾收集器删除,对象之前调用此方法

16. 使用GreentDao的时候,会在Gen文件下生成的文件有什么?

      DaoMaster:    GreenDao的数据库对象。

      DaoSession:  管理所有的Dao数据对象

      以及对应的数据对象的Dao类,封装了对应数据对象的表操作。


17. GreenDao的常用注解,以及增删改查的方法?

    @Entity

@Id

@Property

@NotNull

@Transient

@Unique

@Generated

插入:Insert

删除:delete

修改:update

查询:query 

18. 简述GreenDao的优缺点

      优点:性能大,

    内存开源最小化

    对Android进行高度优化

      缺点:文档为英文

19.常用的排序方式

选择排序

冒泡排序

二分查找排序

快速排序

插入排序

归并排序

20.Java中的引用类型都有哪些?

    强引用:不会被回收

    弱引用:gc回收器触发会被回收

    软引用:系统检测内存不足时会被回收

    虚引用:等于null

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353

推荐阅读更多精彩内容

  • 前言 注解式的框架非常火,注解以其轻量,简洁等特性被人们所喜爱者,关键是它解藕。网络请求的框架非常多,比较受欢迎的...
    萨达哈鲁酱阅读 580评论 0 5
  • Retrofit 2 源码解析 关于Retrofit 2的使用请看上一篇https://www.jianshu.c...
    gogoingmonkey阅读 517评论 0 1
  • Retrofit是Square出品的Android Http请求框架,是基于Okhttp的(Okhttp也是该机构...
    Uprising阅读 11,401评论 1 60
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,097评论 1 32
  • 春风吹十里,游人独陶醉。 凤凰花未开,木棉依然红。 阳光暖雨后,夕阳恋黄昏。 炊烟袅袅时,相邀约美酒。
    追风少年爱回家阅读 212评论 2 5