0%

Android O EventBus 源码分析

相关文件

frameworks\base\packages\SystemUI\src\com\android\systemui\recents\events\EventBus.java

frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\StatusBar.java

frameworks\base\packages\SystemUI\src\com\android\systemui\recents\events\activity\UndockingTaskEvent.java

frameworks\base\packages\SystemUI\src\com\android\systemui\stackdivider\DividerView.java

阅读全文 »

​ Boss 是一辆可以在城市环境中自动驾驶的汽车,它使用车载传感器(全球定位系统、激光、雷达和摄像机)跟踪其他车辆,探测静态障碍物,并根据道路模型定位自身。它使用一个结合了任务、行为和运动规划的三层的规划系统。任务规划层考虑走哪条街道来实现任务目标。行为层决定何时在十字路口切换到优先级更高的车道和执行错误校正操作。运动规划层在向局部目标前进时选择动作以避开障碍物。该系统是使用一个螺旋系统开发流程,并着重于定期的、回归的系统测试,以满足 DARPA 城市挑战赛的需求。在全国资格赛和 85 公里城市挑战赛决赛中,Boss 证明了它的能力,获得了资格赛第一名并且赢得了挑战赛决赛的冠军。

阅读全文 »

​ 这篇文章将介绍在 2005 DARPA 超级挑战赛 中获得冠军的自动驾驶车辆 Stanley。Stanley 是为了能在无人干预的情况下于沙漠中高速行驶而开发的。它的软件系统主要依赖于最先进的人工智能技术,比如机器学习和概率推理等。本文主要阐述该架构的主要组成部分,并对超级挑战赛的结果进行讨论。

简介

​ 超级挑战赛是由美国国防高级研究计划局 DARPA(Defense Advanced Research Projects Agency)在 2003 年发起的,以此促进自动驾驶技术的创新。挑战赛的目标是开发出一款能够自行通过未经预演的越野地形的自动驾驶汽车。第一届比赛于 2004 年 3 月 13 日举行,奖金为 100 万美元。它要求自动驾驶车辆在不超过10小时的时间内完成 142 英里长的 莫哈韦沙漠 路线。

阅读全文 »

本来博客是部署在Github上的,但是由于访问速度较慢,特别是文章有图片的时候,特别影响体验,于是乎就将其迁移至腾讯云服务器上,特此记录该过程中遇到的问题。

阅读全文 »

本文主要使用 Java 语言实现《剑指Offer》中的问题;

更加详细的代码可以访问 GitHub

Array/String

数组和链表的区别

数组是连续的;链表是不连续的;

数组是存放在栈区的,由系统自动分配;链表存方在堆区,由程序员动态分配内存;

数组的访问元素速度快,时间复杂度是O(1),链表访问元素速度慢,时间复杂度是O(n);

数组的插入或删除时间复杂度是O(n),链表的时间复杂度是O(1);

阅读全文 »

Java核心技术 卷I

Java的程序设计结构

3.1 第一个Java程序

1
2
3
4
5
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello world");
}
}
  1. Java区分大小写;

  2. Java使用骆驼命名法(CamelCase);

  3. Java中的main方法必须是静态的 static;

  4. Java中的注释可以使用 //, 也可以使用/* */,但是后者不能嵌套;

阅读全文 »

外设接口

IIC

​ IIC(Inter-Integrated Circuit/集成电路总线),这种总线类型是一种简单、双向二线制同步串行总线。它只需要两根线(SDA(串行数据线)和SCL(串行时钟线))即可在连接于总线上的器件之间传送信息。 串行的8位双向数据传输位速率在标准模式下可达100Kbit/s,快速模式下可达400Kbit/s,高速模式下可达3.4Mbit/s。速度不快,但通用性强,适合于各种传感器、小IC,小MCU,控制指令以及小数据量的传输。

阅读全文 »