![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题总结
文章平均质量分 79
Mr1_liu
这个作者很懒,什么都没留下…
展开
-
一列数字的规则如下;1,1,2,3,5,8,13,21,34........ 求第30位数字是多少,用递规和非递归两种方法算法实现
一列数字的规则如下;1,1,2,3,5,8,13,21,34........ 求第30位数字是多少,用递规和非递归两种方法算法实现斐波纳契数列(Fibonacci Sequence),又称黄金分割数列。在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有原创 2017-12-22 13:59:34 · 1558 阅读 · 0 评论 -
HashMap原理详解
HashMap原理详解1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特原创 2017-12-29 11:02:24 · 420 阅读 · 0 评论 -
HashMap,LinkedMap,TreeMap的区别
HashMap,LinkedMap,TreeMap的区别HashMap,LinkedHashMap,TreeMap都属于MapMap 主要用于存储键(key)值(value)对,根据键得到值,因此键不允许键重复,但允许值重复。 HashMap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一原创 2017-12-29 10:59:02 · 796 阅读 · 0 评论 -
java面试题
1. Java中的原始数据类型都有哪些,它们的大小及对应的封装类是什么?(1)boolean boolean数据类型非true即false。这个数据类型表示1 bit的信息,但是它的大小并没有精确定义。 《Java虚拟机规范》中如是说:“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,J原创 2017-12-29 09:43:03 · 432 阅读 · 1 评论 -
Java三大特性
java的三大特性Java语言的三大特性即是:封装、继承、多态封装(1)封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。继承(1)继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。(2)原创 2017-12-29 09:33:16 · 466 阅读 · 0 评论 -
进程和线程关系及区别
进程和线程关系及区别1.定义进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.原创 2017-12-29 09:28:56 · 258 阅读 · 0 评论 -
Android 冷启动 热启动 测试
Android 冷启动 热启动 测试热启动呢:就是你已经打开过APP但是实际上面你使用home键等。就是还存在后台的应用。再次打开的时候算是属于热启动了。冷启动呢:属于你第一次打开APP,系统在给你开一个进程。 这个时候我在说明一下热启动的作用。我这边公司想知道他APP开了几次。而且需要准确的数据。这个时候,使用热启动。其实热启动很多地方都可以使用到。一、应用的启动原创 2017-12-29 09:04:11 · 3869 阅读 · 0 评论 -
Android-线程通讯设计模式-Handler消息模型
Android-线程通讯设计模式-Handler消息模型问题思考:1) Android中的工作线程获取数据以后如何传递给主线程? 例如: 例如工作线程通过网络下载一张图片,通过主线程将图片更新到页面上。 所有的耗时操作在工作线程,工作线程不能操作UI 2) Android 中主线程的数据如何传递给工作线程? 例如: 主线程将要下载的文件的名字传递给工作线程。原创 2017-12-27 16:35:08 · 523 阅读 · 0 评论 -
Android APK反编译 详解
Android APK反编译就这么简单 详解在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。下面是我参考了一些文章后简单的教程详解。测试环境: win 7 使用工具:原创 2017-12-23 11:46:01 · 208 阅读 · 0 评论 -
Android异步和同步的区别
Android异步和同步的区别答案一:1、同步执行的话,就是程序会呆板地从头执行到尾,耗时间的东西不执行完,程序不会继续往下走,等待时间长的话,有时候就会造成失去响应了。2、异步的好处,就是把一些东西,特别是耗时间的东西扔到后台去运行了(doInBackground),程序可以继续做自己的事情,防止程序卡在那里失去响应。答案二:1、同步是指两个线程的运行是相关的,其中一个线原创 2017-12-23 11:40:39 · 670 阅读 · 0 评论 -
Android多线程的四种方式
Android多线程的四种方式当我们启动一个App的时候,Android系统会启动一个Linux Process,该Process包含一个Thread,称为UI Thread或Main Thread。通常一个应用的所有组件都运行在这一个Process中,当然,你可以通过修改四大组件在Manifest.xml中的代码块()中的android:process属性指定其运行在不同的process原创 2017-12-23 10:52:08 · 809 阅读 · 0 评论 -
Heap和Stack的区别
Heap和Stack的区别1 内存分配策略按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的.静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允许有可变数据结构 (比如可变数组)的存在,也不允许有嵌套或者递归的结构出现,因为它们都会导致编译程序无法计算准原创 2017-12-22 14:30:47 · 5334 阅读 · 0 评论 -
abstract class和interface的区别
abstract class和interface的区别在Java语言中,abstract class和interface是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class原创 2017-12-22 14:13:49 · 205 阅读 · 0 评论 -
Activity的四种启动模式
Activity的四种启动模式Activity启动方式有四种,分别是:standard singleTop singleTask singleInstance activity android:name=".MainActivity" android:launchMode="standard" />1.standard默认模式,可以不用写配置。在原创 2017-12-22 14:03:07 · 163 阅读 · 0 评论 -
Handler内存泄露原理及解决方法
Handler内存泄露原理及解决方法前言因为Android采取了单线程UI模型,开发者无法在子线程中更新UI,为此Android为我们提供了Handler这个工具,可以开发者切换到主线程更新UI。示例首先看一段示例代码public class LeakCanaryActivity extends AppCompatActivity private Handler mHa原创 2018-01-09 20:44:13 · 318 阅读 · 0 评论