![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试知识点
文章平均质量分 82
淼淼1111
这个作者很懒,什么都没留下…
展开
-
Java static与final详细讲解
目录一、staticstatic和final一块用二、final可修饰部分static:成员变量、方法、代码块(静态代码块)、内部类(静态内部类)final: 类、成员变量、方法、局部变量一、static 当设计某个class时,其实就是在描述其外观长相以及行为举措。除非以new 来产生对象,否则并不存在任何实质对象。产生对象之际,存储空间才会分配出来,其函数才可供外界使用。但是有两种情况上述方式无法解决。 第一种:你希望不论产生了多少对象...原创 2020-05-13 15:52:10 · 1440 阅读 · 0 评论 -
String详细讲解
String1、String字符串 实例化String对象: (1)直接赋值,如:String str="hello"; (2)使用关键字new,如:String str=new String("hello"); 由图可知:使用new的方式在堆内存中开辟了两个空间, 第一个 "hello",对象 str 没有指向,无用等...原创 2020-04-17 16:31:47 · 1174 阅读 · 0 评论 -
多线程两种实现方式的区别
面向对象三个特征:封装、继承、多态。 首先注意接口与抽象之间的区别实现与继承的区别表面的区别就是单继承多实现继承:如果多个...原创 2020-04-13 18:11:27 · 598 阅读 · 0 评论 -
ArrayList与LinkList对比
部分转载:https://blog.csdn.net/weixin_41657730/article/details/82462156?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3&utm_source=distribute.pc_relevant.none-task-blog...原创 2020-04-08 10:31:51 · 337 阅读 · 0 评论 -
LinkedList详解
转载:https://blog.csdn.net/qedgbmwyz/article/details/80108618一、源码解析1、 LinkedList类定义2、LinkedList数据结构原理3、私有属性4、构造方法5、元素添加add()及原理6、删除数据remove()7、数据获取get()8、数据复制clone()与toArray()9、遍历数据:Iterator()二、...原创 2020-04-07 16:42:50 · 832 阅读 · 0 评论 -
线程安全、数据同步之 synchronized 与 Lock
转载https://www.cnblogs.com/jycboy/p/5620691.html写在前面本篇文章讲的东西都是Android开源网络框架NoHttp的核心点,当然线程、多线程、数据安全这是Java中就有的,为了运行快我们用一个Java项目来讲解。为什么要保证线程安全/数据同步当多个子线程访问同一块数据的时候,由于非同步访问,所以数据可能被同时修改,所以这时候...原创 2020-04-02 14:02:54 · 197 阅读 · 0 评论 -
Activity和Fragment的三种通信以及EventBus通信
Activity和Fragment之间的通信,分为三种情况1、Actvity --> Fragemnt2、Fragment --> Activity3、Fragment --> Fragment第一种:Activity --> Fragment调用FragmentManager的findFragmentById()的方法 得到Fragment,然后,可以直接...转载 2018-11-14 10:38:50 · 1143 阅读 · 0 评论 -
HashMap和Hashtable比较 以及线程安全的集合
HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题。HashMap的工作原理、ArrayList与Vector的比较以及这个问题是有关Java 集合框架的最经典的问题。Hashtable是个过时的集合类,存在于Java API中很久了。在Java 4中被重写了,实现了Map接口,所以自此以后也成了Java...原创 2018-11-12 09:48:15 · 458 阅读 · 0 评论 -
Java:单例模式的七种写法
转载出处:http://cantellow.javaeye.com/blog/838473 第一种(懒汉,线程不安全): 1 public class Singleton { 2 private static Singleton instance; 3 private Singleton (){} 4 public static Singleton ...原创 2018-11-12 11:28:48 · 59 阅读 · 0 评论 -
java笔记--关于线程同步(7种同步方式)
为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用, 从而保证了该变量的唯一性和准确性。 1.同步方法 即有synchronized关键字修饰的方法。 由于java的每个对象都有一个...原创 2018-11-14 10:03:56 · 137 阅读 · 0 评论 -
图解Java中String、StringBuffer和StringBuilder的区别
图解Java中String、StringBuffer和StringBuilder的区别参考博客:https://blog.csdn.net/weixin_41101173/article/details/79677982一、Java中的 String 类——String 是字符串常量1、字符串广泛应用在Java 编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字...转载 2018-11-15 21:44:41 · 165 阅读 · 0 评论 -
Android View的绘制流程
View的绘制和事件处理是两个重要的主题,上一篇《图解 Android事件分发机制》已经把事件的分发机制讲得比较详细了,这一篇是针对View的绘制,View的绘制如果你有所了解,基本分为measure、layout、draw 过程,其中比较难理解就是measure过程,所以本篇文章大幅笔地分析measure过程,相对讲得比较详细,文章也比较长,如果你对View的绘制还不是很懂,对measure过程...转载 2018-11-15 20:42:50 · 103 阅读 · 0 评论 -
内存溢出和内存泄漏的区别、产生原因以及解决方案
内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导...转载 2018-11-15 20:41:48 · 131 阅读 · 0 评论 -
深入理解Message, MessageQueue, Handler和Looper
做过Android的都知道Message, MessageQueue, Handler和Looper,但知道不代表你理解它们。有时觉得用得很顺手,但Android怎么实现又说不上来,总觉得似懂非懂。不把它们攻破实在浑身不舒服。先让我们一句话总结,再开始分析。Looper不断获取MessageQueue中的一个Message,然后交给Hanlder处理。其实Message和Runnab...转载 2018-11-15 20:40:10 · 172 阅读 · 0 评论 -
android面试题
线程和进程的区别进程是资源分配的最小单位,线程是cpu调度的最小单位。 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线...转载 2018-11-15 20:38:51 · 217 阅读 · 0 评论 -
Android应用层View绘制流程与源码分析
1 背景还记得前面《Android应用setContentView与LayoutInflater加载解析机制源码分析》这篇文章吗?我们有分析到Activity中界面加载显示的基本流程原理,记不记得最终分析结果就是下面的关系:看见没有,如上图中id为content的内容就是整个View树的结构,所以对每个具体View对象的操作,其实就是个递归的实现。前面《Android触摸屏事件派发机制详...转载 2018-11-15 20:03:52 · 128 阅读 · 0 评论 -
对View绘制流程的一些理解
这里只是记录一下个人对View绘制这一块的理解,写的会比较粗糙,如果想要详细了解,请参考如下博客: http://blog.csdn.net/yanbober/article/details/46128379在view的绘制过程中,一般会分如下三个过程: measure() —— 测量view的大小 layout() —— 计算view在父view中的位置 draw() —— 绘制vi...转载 2018-11-15 19:48:10 · 112 阅读 · 0 评论 -
Android之Activity生命周期简介
概述有图有真相,所以先上图:上图是从Android官网截下的Activity的生命周期流程图,结构非常清晰,它描述了Activity在其生命周期中所有可能发生的情况以及发生的先后顺序,下面就将结合此图详细介绍一下Activity的生命周期。--- ---Activity四大基本状态Activity生命周期一般分为四个基本状态,分别是活动状态(running),暂停状态(pau...转载 2018-11-15 19:47:03 · 119 阅读 · 0 评论 -
我是如何讲清楚TCP协议是如何保证可靠传输的
1、UDP:(1)UDP,user datagram protocol,用户数据报协议,不提供复杂的控制机制,利用IP提供面向无连接的通信服务,并且它是将应用程序发送过来的数据包在收到的那一刻,立即按照原样发送到上的一种机制。(2)即使在网络拥堵的情况下,UDP也无法进行流量控制等避免网络拥塞的行为。此外,在传输过程中如果出现丢包,UDP也不负责重发,甚至当数据包的到达顺序乱掉之后也没有纠正...转载 2018-11-14 10:07:52 · 811 阅读 · 1 评论 -
C++面试问题记录
1、多态性都有哪些?(静态多态和动态多态,然后分别阐述虚函数和函数重载。)2、动态绑定是怎么实现的?(就是基类指针或者基类引用和派生类指针或者派生类引用的转换问题。)3、C++中的四种类型转换有哪些?(四种强制类型转换,分别举例子说明。)4、操作符重载(+操作符重载),具体的如何去定义?(让把操作符重载函数原型说一下。)5、内存对齐原则是什么?(原则是什么,举例子说明一下。)6...原创 2018-11-14 10:13:01 · 130 阅读 · 0 评论 -
泛型概述
泛型概述:JDK5的新特性——泛型1、泛型技术的引入(1)问题:ArrayList存储字符串并遍历,我们按照正常的写法来写这个程序, 结果确出错了。为什么呢?因为我们开始存储的时候,存储了String和Integer两种类型的数据。而在遍历的时候,我们把它们都当作String类型处理的,做了转换,所以就报错了。但是呢,它在编译期间却没有告诉我们。所以,我就觉得这个设计的不好。回想一...转载 2018-11-14 10:18:36 · 171 阅读 · 0 评论 -
关于N个数1--N数顺序入栈,有多少种出栈方式的问题
这是一个排列组合的问题,赫赫有名的卡特兰数举例说明,共有一个1,2,3,4四个数,入栈方式有1入,2入,3入,4入,4出,3出,2出,1出 故出栈顺序4,3,2,11入,1出,2入,3入,4入,4出,3出,2出 故出栈顺序1,4,3,21入,1出,2入,2出,3入,4入,4出,3出 故出栈顺序1,2,4,31入,1出,2入,2出,3入,3出,4入,4出 故出栈顺序1,2,3,41入,...转载 2018-11-19 16:20:18 · 1702 阅读 · 0 评论 -
HashTable、HashMap、TreeMap原理和区别?
HashTable、HashMap、TreeMap原理和区别?HashTable、HashMap、TreeMap原理和区别?HashMapHashMap的数据结构数组链表哈希表HashTableTreeMapHashMap总体结构: HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。数组数组存储区间是连续的,占用内存严重,...转载 2018-11-19 16:19:20 · 230 阅读 · 0 评论 -
【Java线程池】Java线程池汇总,看这一篇文章就够了
【Java线程池】Java线程池汇总,看这一篇文章就够了 (1)引言1:Java线程池 在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。如何利用已有对象来服务...转载 2018-11-21 11:30:59 · 253 阅读 · 0 评论 -
MessagePack 新型序列化反序列化方案
进入在学习redis的时候,在文中看到了关于MessagePack的简介,发现非常有意思,于是就花了点时间大致了解了下。MessagePack介绍:MessagePack is an efficient binary serialization format.It lets you exchange data among multiple languages like JSON. But ...转载 2018-11-21 11:22:26 · 1375 阅读 · 0 评论 -
关于Android Service真正的完全详解,你需要知道的一切
Service全部内容基本会在本篇涉及到,我们将围绕以下主要知识点进行分析:Service简单概述Service在清单文件中的声明Service启动服务实现方式及其详解Service绑定服务的三种实现方式关于启动服务与绑定服务间的转换问题前台服务以及通知发送服务Service与线程Thread的区别管理服务生命周期的要点Android 5.0以上的隐式启动问题及其解决方案保证...转载 2018-11-21 11:17:27 · 192 阅读 · 0 评论 -
Android 事件分发机制 图解
在Android 开发中事件分发是比较重要的,也是比较难理解的,之前看过这方面的东西,以为自己弄懂了,也就没太注意,最近面试呢,想着肯定要问到这一块的东西,回顾的时候发现又忘了,真是好记性不如烂笔头啊,长期没有用到这一块的东西,也就抛之脑后了,今天用了半天时间,看资料有了解了一下,把这块内容整理一下,省的以后在以后学习过程中,要不断温故一下,看的时候就不用那么麻烦了。 文章参考于:h...转载 2018-11-21 11:12:14 · 486 阅读 · 1 评论 -
Android Service的生命周期
Service作为Android四大组件之一,应用非常广泛。 和activity一样,service也有一系列的生命周期回调函数,你可以实现它们来监测service状态的变化,并且在适当的时候执行适当的工作。服务一般分为两种:1:本地服务, Local Service 用于应用程序内部。在Service可以调用Context.startService()启动,调用Context.sto...转载 2018-11-21 11:09:28 · 463 阅读 · 0 评论 -
Android开发:Fragment生命周期概述
2016年12月8日,Google中国开发者大会在京举行,同时正式上线了Google中国开发者网站Google Developers,查看官方学习资源再也不用爬梯子了简介 使用说明 生命周期简介Fragment就是小型的Activity,它是在Android3.0时出现的。Fragment是表现Activity中UI的一个行为或者一部分。可以把fragment想象成activity...转载 2018-11-21 11:05:16 · 1177 阅读 · 0 评论 -
Activity与Fragment,以及Fragment与Fragment之间的数据通讯
Activity和Fragment无疑是Android开发中使用最多的组件,如果Activity使用了多个Fragment,需要在Activity与Fragment,以及Fragment与Fragment之间进行数据通讯,这是开发时经常遇到的需求问题,其实在我没整理这篇blog前也遇到过这样的数据通讯需求,下面是后来整理的用接口回调的方式实现Fragment与Fragment之间,以及用Bundl...原创 2018-11-21 11:00:17 · 226 阅读 · 0 评论 -
Android 进阶13:几种进程通信方式的对比总结
读完本文你将了解:RPC 是什么IDL 是什么IPC 是什么Android 几种进程通信方式如何选择这几种通信方式ThanksRPC 是什么RPC 即 Remote Procedure Call (远程过程调用) 是一种计算机通讯协议,它为我们定义了计算机 C 中的程序如何调用另外一台计算机 S 的程序,让程序员不需要操心底层网络协议,使得开发包括网络分布式多程序在内的应用程序更...原创 2018-11-21 10:58:20 · 132 阅读 · 0 评论 -
终于明白了Handler的运行机制
前言Handler是一个Android SDK 提供给开发者方便进行异步消息处理的类。我们都知道在UI线程中不能进行耗时操作,例如数据读写、网络请求。Android 4.0开始,在主线程中进行网络请求甚至会抛出Android.os.NetworkOnMainThreadException。这个时候,我们就会开始依赖Handler。我们在子线程进行耗时操作后,将请求结果通过Handler的s...转载 2018-11-14 10:34:27 · 646 阅读 · 0 评论 -
handler机制
一、概念 背景:主线程不能进行耗时操作,耗时操作在子线程完成后需要更新ui,ui的更新在多线程读写且没有同步锁限制可能造成ui的错乱,android使用Handler机制实现线程间的通信。 概念: 英文:A Handler allows you to send and process {@link Message} and Runnable objects associated with a...转载 2018-11-14 10:33:40 · 84 阅读 · 0 评论 -
Java中的static关键字解析
Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一。下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题。以下是本文的目录大纲: 一.static关键字的用途 二.static关键字的误区 三.常见...转载 2018-11-15 19:27:30 · 80 阅读 · 0 评论 -
Activity和Fragment的三种通信以及EventBus通信
Activity和Fragment之间的通信,分为三种情况1、Actvity --> Fragemnt2、Fragment --> Activity3、Fragment --> Fragment第一种:Activity --> Fragment调用FragmentManager的findFragmentById()的方法 得到Fragment,然后,可以直接...转载 2018-11-15 19:26:07 · 412 阅读 · 0 评论 -
Singleton 单例模式(懒汉方式和饿汉方式)
笔者总结如下 懒汉 类加载的时候不初始化,需要同步 饿汉 类加载时候就已经完成了初始化,不需要同步 个人推荐饿汉,空间换时间,浪费一点空间储存初始化过的变量 单例模式的概念:单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。关键点:1)一个类只有一个实例 这是最基本的2)它必须自行创建这...原创 2018-09-17 16:46:27 · 89 阅读 · 0 评论 -
线程有两种实现方法的具体区别
Java中有两种实现多线程的方式。一是直接继承Thread类,二是实现Runnable接口。那么这两种实现多线程的方式在应用上有什么区别呢? 第一种方式:使用Runnable接口创建线程第二种方式:直接继承Thread类创建对象使用Runnable接口创建线程1.可以将CPU,代码和数据分开,形成清晰的模型2.线程体run()方法所在的类可以从其它类中继承一些有用的属性和方法3.有利于...原创 2018-09-17 16:42:02 · 280 阅读 · 0 评论 -
Android之四大组件、六大布局、五大存储
一.四大组件: Android四大组件分别为activity、service、content provider、broadcast receiver。一、android四大组件详解1、activity(1)一个Activity通常就是一个单独的屏幕(窗口)。(2)Activity之间通过Intent进行通信。(3)android应用中每一个Activit...原创 2018-08-29 11:18:20 · 185 阅读 · 0 评论 -
Android:Service生命周期最全面解析
前言 Service作为Android四大组件之一,应用非常广泛 本文将介绍Service最基础的知识:Service的生命周期 如果你对Service还未了解,建议先阅读我写的文章: Android四大组件:Service史上最全面解析目录1. 生命周期常用方法在Service的生命周期里,常用的有:4个手动调用的方法手动调用方法 作用 s...原创 2018-08-29 11:16:18 · 311 阅读 · 0 评论 -
Activity 生命周期详细解释
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34927117/article/details/524041151.启动Activity:系统会先调用onCreate方法,这是生命周期第一个方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。onCreate方法:一般做一些初始化工作,比...原创 2018-08-29 11:15:23 · 114 阅读 · 0 评论