- 博客(4)
- 资源 (27)
- 收藏
- 关注
转载 java多态实现原理
众所周知,多态是面向对象编程语言的重要特性,它允许基类的指针或引用指向派生类的对象,而在具体访问时实现方法的动态绑定。C++ 和 Java 作为当前最为流行的两种面向对象编程语言,其内部对于多态的支持到底是如何实现的呢,本文对此做了全面的介绍。注意到在本文中,指针和引用会互换使用,它们仅是一个抽象概念,表示和另一个对象的连接关系,无须在意其具体的实现。Java 的实现方式J
2016-12-22 19:45:19 358
原创 判断链表中有环
如何判断单链表中是否有环思路:找两个指针,一个一下走一步,一个一下走两步。证明:如果两个指针能够碰到一块表示这个链表一定有环。 本质上而言,无非只有三种情况:1.fast和slow指向同一个结点2.fast在slow之前的一个结点3.fast在slow之后的一个结点 fast指针是定要超过,slow指针的,怎么超过呢,超过的前提是两个指针在指向同一个结点之上的。
2016-12-17 20:54:44 324
原创 排序的最好和最坏的时间复杂度问题
排序时间复杂度问题面试时被问到冒泡排序,选择排序和快速排序的时间复杂度问题,由于自己基础不扎实,当场懵逼,这件事一直让我反思了好几天。可能你会正确地写出这几种排序,可能你会背过别人给你说的时间复杂度。我也是这样。先说冒泡排序:冒泡排序不管序列是怎样,都是要比较n(n-1)/2 次的,O(N2),而对于交换次数来说,如果是数组是有序的则,只不需要交换。如果数组是逆序的则需要交换n
2016-12-17 16:16:59 21298 3
转载 阻塞、非阻塞、异步、同步以及select/poll和epoll
转自针对IO,总是涉及到阻塞、非阻塞、异步、同步以及select/poll和epoll的一些描述,那么这些东西到底是什么,有什么差异?一般来讲一个IO分为两个阶段:等待数据到达把数据从内核空间拷贝到用户空间现在假设一个进程/线程A,试图进行一次IO操作。A发出IO请求,两种情况: 1)立即返回 2)由于数据未准备好,需要等待,让出CPU给别的线程,自
2016-12-16 15:05:30 474
重构_改善既有代码的设计
2017-03-20
Android 4.1 ARM EABI v7a System Image
2016-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人