evo

自强不息,厚德载物 ii 无人驾驶fans ^_^ Making others better! Making life better!

排序:
默认
按更新时间
按访问量

【Java】Java性能及垃圾回收

【以下内容出自《Java编程思想》一书】 1、性能 Java语言特别强调准确性,但可靠的行为要以性能作为代价。这一特点反映在自动收集垃圾、严格的运行期检查、完整的字节码检查以及保守的运行期同步等等方面。对于一个解释型的虚拟机来说,由于目前有大量平台可供选择,所以进一步阻碍了性能的发挥。 ...

2018-08-27 13:45:05

阅读数:64

评论数:0

【Java】Java编程规范

以下内容摘录自Java编程思想一书。 类名首字母应该大写,字段、方法以及对象(句柄)的首字母应该小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: ThisIsAClassName thisIsFieldOrMethodName 若在定义中出现了...

2018-08-26 17:05:45

阅读数:62

评论数:0

【Java】C++和Java的差异

注: 以下内容摘录自Java编程思想一书 1. 编程思想 1. 编程思想

2018-08-26 14:30:08

阅读数:47

评论数:0

【Android】SystemServer启动流程

1.SystemServer SystemServer是Android中一个很重要的系统服务,是连接Native与Java的桥梁,由Zygote进程fock而出。 SystemServer在启动过程中,启动了一些Service,这些Service根据时序及重要性分为Bootstrap、Core...

2018-07-05 21:33:02

阅读数:151

评论数:0

【SDC】揭开无人驾驶的神秘面纱

(纯文字版) 1、自动驾驶定义 自动驾驶,可以理解为在驾驶过程中司机与车的职责担当分配,从零自动化的全人工操作,到完全自动化的无人驾驶,美国国家公路交通安全管理局将自动驾驶分为5个等级,从Level0到Level4,内容如下。 Level0:无自动化。没有任何自动驾驶功能,完全由司机负责...

2018-04-21 01:25:03

阅读数:230

评论数:0

【LeetCode】3 无重复字符的最长子串

3 无重复字符的最长子串 题目描述—— 给定一个字符串,找出不含有重复字符的最长子串的长度。 示例—— 示例: 给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,...

2018-04-13 13:57:18

阅读数:1189

评论数:0

【LeetCode】2 两数相加

2 两数相加 题目描述—— 给定两个非空链表来代表两个非负整数,位数按照逆序方式存储,它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 示例—— 输入:(2 -> 4 -&g...

2018-04-12 21:15:14

阅读数:161

评论数:0

【LeetCode】1 两数之和

1 两数之和 题目描述—— 给定一个整数数列,找出其中和为特定值的那两个数。 你可以假设每个输入都只会有一种答案,同样的元素不能被重用。 示例—— 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = ...

2018-04-12 19:10:14

阅读数:157

评论数:0

【Python】numpy快速入门

1、基本概念 numpy的主要内容是齐次多维数组,是一张表,元素类型相同,通常是数字,索引为一个正整数构成的元组。在numpy中,数组的维叫做axes,axes的个数叫做rank。例如,[1,2,1]是3D空间中的一个坐标点,作为数组,它是一维的,有一个axes,rank的值为1,axes的长度...

2018-03-31 10:26:50

阅读数:250

评论数:0

【Kernel】内存管理

1、概述内存管理是内核最复杂同时也最重要的一部分,具体包括内存中的物理内存页的管理,分配大块内存的伙伴系统,分配较小块内存的slab、slub和slob分配器,分配非连续内存块的vmalloc机制,以及进程的地址空间。 内核一般将处理器的虚拟地址空间分为用户空间和内核空间,在两个用户进程之间切换...

2018-02-23 09:22:44

阅读数:164

评论数:0

【C++】C++11知识点串讲

1、long long类型C++11引入了long long类型,标准规定long long类型的长度至少是long类型的长度,即64bits,同其它类型一样,标准规定了各类型的最小长度,而编译器允许使用超过最小长度的限制。2、初始化列表int a = 0; int a(0); int a = {...

2017-12-30 15:51:18

阅读数:741

评论数:0

【OpenGL ES】同步对象和栅栏

OpenGL ES 3.0为客户-服务器模型,客户即应用程序,发送命令,服务器即OpenGL ES实现,处理命令,因为针对的是手持和嵌入平台,所以客户和服务器通常在同一个设备上。在客户-服务器模型中,一个常见的问题是,客户如何发送命令,每次发送一个命令还是缓存后批量发送,服务器如何处理命令,同步等...

2017-12-21 17:05:25

阅读数:871

评论数:0

【OpenGL ES】帧缓冲区对象FBO

1、FBO使用OpenGL ES,一般要通过EGL来配置本地窗口系统,关于EGL的介绍可参照“【OpenGL ES】EGL简介”http://blog.csdn.net/ieearth/article/details/71180457。默认情况下,OpenGL ES使用窗口系统提供的帧缓冲区作为绘...

2017-12-21 15:41:12

阅读数:796

评论数:0

【OpenGL ES】片段操作

在OpenGL ES 3.0的可编程管线中,片段操作在片断着色器之后,下一步是帧缓冲区。片段着色器执行之后,片断着色器的输出是片段的颜色和深度值,片段在前往帧缓冲区途中经历的测试和操作包括裁剪区域测试、模板缓冲区测试、深度缓冲区测试、混合、抖动,下面逐个介绍。1、缓冲区缓冲区包括颜色缓冲区、深度缓...

2017-12-20 16:26:31

阅读数:491

评论数:0

【OpenGL ES】片段着色器

1、管线片段着色器在OpenGL ES 3.0的可编程管线的位置如下图所示。 2、输入输出片段着色器为片段操作提供了通用功能的可编程方法,输入和输出如下图所示。 输入或者可变值,in,是顶点着色器生成的插值数据,顶点着色器输出跨图元进行插值,并作为输入传递给片段着色器。 统一变量,unifo...

2017-12-19 21:12:42

阅读数:734

评论数:0

【OpenGL ES】纹理

1、2D纹理2D纹理是OpenGL ES中最基本和最常用的纹理形式,它是一个图像数据的二维数组,纹理坐标(s, t)或(u, v)用作纹理图像中的索引,代表用于查找一个纹理贴图的规范化坐标。纹理图像的左下角由st坐标(0.0, 0.0)指定,右上角由坐标(1.0, 1.0)指定,在[0.0, 1....

2017-12-19 17:27:17

阅读数:781

评论数:0

【CS】(奇妙的)虚拟存储器

虚拟存储器,Virtual Machine,简称VM,是对主存(DRAM)的一种抽象,是计算机系统中最重要的概念之一。计算机中有各种存储器,而VM的存在,就是为了帮助我们有效地管理这些存储器,减少错误,提供一种简单的数据交互方法。VM,将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保...

2017-12-18 13:01:31

阅读数:384

评论数:0

【C++】深入理解模板

1、简介模板是一种代码复用方式,其它的代码复用方式还包括继承和组合。当我们使用模板时,参数由编译器来替换,这非常像原来的宏方法,但却更清晰、更容易使用。在C++中,模板实现了参数化类型的概念,放在一对尖括号中,通过template这个关键字,告诉编译器随后的定义将操作一个或更多未指明的类型,当由这...

2017-12-12 12:25:58

阅读数:427

评论数:0

【C++】 运算符重载

1、一元运算符运算符重载是C++的一大特色,以函数重载的形式出现,函数名为关键字operator后跟着一个运算符,这些函数可以作为类的成员函数实现,也可以作为类的友元函数以全局函数的形式实现,而有的操作符只能以其中一种方式实现,因为全局函数没有this指针,所以在参数列表中比成员函数多一个参数。可...

2017-12-08 13:33:15

阅读数:259

评论数:0

【C++】C++中的C

C++兼容C,但同样的东西,在C++和C中的表现可能不同,下面总结了一些。1、函数空参int f();函数空参时,C表示任意参数,C++表示没有参数。int f(void);C表示没有参数时使用void。2、函数参数标识符int f(int a); int f(int);声明函数时,C和C++都可...

2017-12-07 17:49:36

阅读数:482

评论数:0

【C++】深入理解C++的常见关键字

1、autovoid foo() { auto int f = 0; } void foo() { int f = 0; }auto变量即自动变量或局部变量,位于一个进程的地址空间的堆栈段,它们是局限于一个函数的,出现在一个作用域内,进入作用域时自动生成,离开作用域时自动消失,这种变量默认就是au...

2017-12-07 17:46:27

阅读数:421

评论数:0

【C++】链接器及undefined reference的秘密

1、链接器当C或C++要对函数和变量进行外部引用时,根据引用情况,链接器会选择不同的处理方法。如果还未遇到过这个函数或变量的定义,链接器会把它的标识符加到未解析的引用列表中,即undefined reference。如果链接器遇到过这个函数或变量的定义,那么这就是已解决的引用。如果链接器在目标模块...

2017-12-06 12:36:40

阅读数:377

评论数:0

【C】《C专家编程》核心知识点总结

1、穿越时空的迷雾编译器设计者的金科玉律:效率几乎就是一切,这包括两个方面,编译效率和运行效率,而后者起决定性作用。有很多编译优化措施会延长编译时间,但却能缩短运行时间;还有一些优化措施如清除误用代码和忽略运行时检查等,既能缩短编译时间,又能减少运行时间,同时还能减少内存的使用量,但有利就有弊,在...

2017-12-05 17:37:35

阅读数:648

评论数:0

【Algo】排序算法

1、冒泡简介—— 冒泡排序,可以想象成从水中冒出的气泡,从水中到水面气泡逐渐变大,近似有序排列。冒泡排序就是这个思想,对于给定的一组N个数据,从前往后或者从后往前,依次比较两个相邻数据的大小,不满足排序要求(从小到大或者从大到小)的就交换它们的位置,每轮比较可以冒出一个最大数或者最小数。因为是两...

2017-11-01 15:01:55

阅读数:407

评论数:0

【OpenGL ES】顶点着色器

1、输入输出顶点着色器可用于传统的基于顶点操作,例如通过矩阵变换位置、计算照明方程式以生成逐顶点的颜色以及生成或者变换纹理坐标。顶点着色器的输入、输出如下图所示。输入变量或属性:用顶点数组提供的逐顶点数据。 统一变量和统一变量缓冲区:顶点着色器使用的不变数据。 采样器:代表顶点着色器使用的纹理...

2017-10-24 20:36:54

阅读数:1067

评论数:0

【CS】软件测试概念Software Testing

1、定义 软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。行业标准IEEE/ANSI提出的软件工程术语中给软件测试下的定义是:使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期...

2017-09-23 12:56:02

阅读数:1085

评论数:0

【C++】cppcheck

1、简介cppcheck是一款用于C/C++的代码静态检查工具,与编译器和其它的分析工具不同,cppcheck不检查代码中的语法错误,主要目的是检查编译器在正常情况下发现不了的错误,即代码中真正的错误或者说运行时错误,也就是计算机术语中的zero false positives,如越界操作、内存泄...

2017-09-21 13:49:39

阅读数:863

评论数:1

【C++】cpplint

1、简介cpplint或cpplint.py是Google开发的一款代码静态检查工具,Python实现,用以检查C++代码是否遵循Google代码规范,还可以发现语法错误。2、示例test.cpp示例代码如下:int foo(int a) { if (a < 0) { ...

2017-09-21 13:48:32

阅读数:1029

评论数:0

【Bash百宝箱】doxygen

1、简介doxygen是一个用于多种编程语言的文档系统,支持C++、C、Java、Objective-C、Corba和Microsoft风格的IDL、PHP、C#、D等。在Linux下,doxygen是一个命令行工具,另外还有一个GUI工具doxywizard,下面简单介绍doxygen的用法。2...

2017-09-20 18:54:47

阅读数:518

评论数:0

【C】C语言内存函数

C语言内存函数向编程人员提供复制、比较与设置内存块的有效方式,这些函数属于字符串函数,放在库文头文件string.h中声明,C89增补1增加了5个操纵宽字符数组的新函数。string.h中的这些函数名称以mem开头,内存块在标准C语言中用void*类型指针指定,常用函数原型如下:void* mem...

2017-09-09 11:16:05

阅读数:751

评论数:0

【C】C语言字符处理函数

字符处理有两类函数:分类和转换,每个字符分类函数的名称以is开头,返回int类型的值,在参数为指定类时为非0值即真,否则为0即假,每个字符转换函数的名称以to开头,返回int类型的值,表示一个字符或EOF。字符处理函数在库头文件ctype.h中声明,另外,C89增补1定义了对宽字符进行运算的分类与...

2017-09-09 10:49:33

阅读数:676

评论数:0

【C】C语言核心知识点总结(Reference Manual)

1、词法(1)字符集——C语言字符集使用ISO/IEC 10646基本拉丁字符集,包括52个大小写拉丁字母,10个数字,空格,水平制表符HT,垂直制表符VT,换页符FF,以及29个特殊字符,它们是感叹号!,数字号#,百分号%,折音符^,和号&,星号*,左括号(,下划线_,右括号),连字符-...

2017-09-03 15:59:00

阅读数:1403

评论数:0

【C】表达式

C语言表达式——(1)可以作为左值的非数组表达式(2)要求某个操作数为左值的运算符(3)运算符的优先级与结合性(4)二元运算符表达式(5)按位运算符(6)建议复杂的表达式最好使用圆括号进行分组,而不要依靠默认的操作符优先级与结合性;使用逻辑与、逻辑或的短路特性是个很好的选择。

2017-09-03 14:52:50

阅读数:570

评论数:0

【QT】float double的范围与精度及Qt中的qfloat16

1、格式float和double都是浮点数据类型,前者为单精度占四个字节,后者为双精度占八个字节。浮点数的存储格式采用IEEE标准,float包括1个符号位、8个指数位和23个尾数位,double包括1个符号位、11个指数位和52个尾数位,其中符号位表示正负,为1时表示负数,为0时表示正数。2、范...

2017-08-25 18:12:37

阅读数:3284

评论数:0

【QT】QApplication简介

1、QApplicationQApplication类管理GUI程序的控制流和主要设置,是基于QWidget的,为此特化了QGuiApplication的一些功能,处理QWidget特有的初始化和结束收尾工作。 对于使用了Qt的任何GUI程序来说,不管何时何地有多少个Window,但只有一个QA...

2017-08-16 19:34:16

阅读数:3733

评论数:0

【QT】QObject简介

1、简介QObject类是所有Qt对象的基类,是Qt对象模型的核心,这个模型的主要特征为信号与槽,信号与槽是一个非常重要的机制,用于对象间的通信。连接信号与槽使用connect()函数,断开连接使用disconnect()函数,blockSignals()函数可以临时屏蔽信号,避免循环不断的通知,...

2017-08-16 19:33:26

阅读数:1103

评论数:0

【QT】Qt QFlags源码分析

QFlags是个模板类,目的是提供类型安全的enum,在头文件qflags.h中定义,传统上C++使用int或uint存储enum值,却没有作类型检查。1、QFlagQFlag是一个基础类,还用到了QTypeInfo类,定义如下:// 在C++11中Q_DECL_CONSTEXPR为constex...

2017-08-09 18:37:15

阅读数:1333

评论数:0

【QT】Qt对大小端字节序的处理

1、Endian Order什么是大小端字节序(Endian Order)?以四字节十六进制整型数0x12345678为例,按照书写习惯,从左到右,高位在前,低位在后,我们称0x12为最高有效字节,0x78为最低有效字节,在存储这个数字时,需要四字节的地址空间,比如说从0x00到0x03,地址空间...

2017-08-09 18:36:14

阅读数:2157

评论数:0

【QT】Qt Compiler Detection(编译)

1、Compiler&GNUQt是跨平台的,从下面的编译配置选项(宏)中可以看出Qt支持的编译环境。// qcompilerdetection.h /* The compiler, must be one of: (Q_CC_x) SYM - Digital...

2017-08-08 18:22:27

阅读数:1452

评论数:0

【QT】Qt 5.9 QWidget程序执行过程分析

一个最简单的QWidget程序可能是下面这个样子:int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget w; w.show(); return a.exec(); }首先是QAppl...

2017-08-08 12:30:44

阅读数:1356

评论数:0

【QT】QPA

1、QPAQPA即Qt Platform Abstraction,是Qt5里面的平台抽象层,用以取代Qt for Embedded Linux以及Qt4中的平台接口。QPA插件通过定义QPlatform开头的一系列类的子类实现,其中有两个根类,QPlatformIntegration和QPlatf...

2017-07-28 17:56:18

阅读数:2272

评论数:0

【QT】Qt for Embedded Linux Hardware Accelerated Graphics

1、硬件加速在嵌入式设备上设计应用程序时,通常要在图形特效与性能之间作出选择,不过在大多数设备上由于硬件特性,以及越来越多的设备上硬件能够很好地支持图形操作,可能不必担心这个问题。使用图形加速,不仅可以使用动态图形特效,还有其它两方面好处。一方面,图形硬件加速比CPU的电源使用率更高,当完成同样的...

2017-07-05 21:58:36

阅读数:894

评论数:0

【QT】Qt for Embedded Linux Architecture

1、简介Qt for Embedded Linux(Qt4.8),是用于嵌入式设备(Linux)的开发GUI和应用程序的C++框架,提供了一个轻量级的窗口系统(QWS)以及标准的Qt API,基本架构如下图所示。Qt for Embedded Linux程序直接向Framebuffer写数据,Fr...

2017-07-05 21:56:52

阅读数:1214

评论数:0

【QT】深入qt信号与槽实现原理

1、先上示例代码先上示例代码直观地感受一下qt信号与槽的用法,后面再详细解释。通过QtCreator创建一个Qt Widget工程(没有创建ui文件,其它选项为默认值),工程名为SS,最后在SS目录下会生成5个文件:main.cpp、mainwindow.cpp、mainwindow.h、SS.p...

2017-07-01 05:19:38

阅读数:4575

评论数:0

【Arch】Android input系统之input命令

1、简介在Android input系统中,包括一个input命令,用于模拟input事件,通过keycode或字符串向设备发送key事件。2、源码位置frameworks/base/cmds/input/3、结构input命令实际上就是一个shell脚本,真正执行的是app_process命令,...

2017-06-21 19:59:26

阅读数:886

评论数:0

【FUTURE】麻省理工科技评论-年度10大突破性技术-导读

《麻省理工科技评论》(MIT Technology Review)于1899年在美国麻省理工学院创刊,是历史悠久、影响极大的技术商业类杂志,内容覆盖广泛,涉及互联网、通讯、计算机技术、能源、新材料、生物医学和商务科技几大领域,重点关注新兴科技及其对商业和社会的巨大影响,为科技人士及商业领袖提供前瞻...

2017-06-21 19:58:14

阅读数:722

评论数:0

【Python】python逆向入门

1、开发环境我们在Windows 10上开始python逆向之旅,首先开始搭建开发环境,python解释器使用最新的3.6.1,IDE使用PyCharm社区版2017.1.3,下载地址如下所示,下载完成后直接双击安装包安装即可,随后设置PyCharm的Project Interpreter为刚才安...

2017-06-08 09:33:51

阅读数:6103

评论数:5

【Linux】深入解析Linux proc文件系统

在Linux上,proc是一个伪文件系统,提供了访问内核数据的方法,一般挂载在“/proc”目录,其中的大部分内容是只读的,挂载(mount)信息可能为:proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)proc文件系统支持如下挂载选...

2017-06-03 08:05:06

阅读数:5564

评论数:0

【Wayland】初识Wayland(X、Mir)

【声明】下图copy自wikipedia,如有侵权请告知。在介绍Wayland之前,先熟悉一下X与Mir,简单来说,同样作为显示服务,X是一个老派的庞然大物,Wayland是一颗节节高的芝麻,Mir是一个颇受争议的新秀,其它的显示服务还包括Android的SurfaceFlinger,MacOS家...

2017-05-28 09:41:04

阅读数:5374

评论数:0

【QT】Qt版本史

【Qt】https://www.qt.io/ 【Qt Developer】https://developer.android.com/index.html1、Qt 11995年5月20日,第一个公开发行的预览版,版本0.90。 1996年5月,版本0.97。 1996年9月24日,第一个稳定...

2017-05-28 05:46:12

阅读数:1765

评论数:0

提示
确定要删除当前文章?
取消 删除