Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Java使用反射来获取泛型信息

Java使用反射来获取泛型信息

Java通过指定类对应的Class对象,程序可以获得该类里包括的所有Field,不管该Field使用private修饰,还是使用public修饰。获得了Field对象后,就可以很容易的获得该Field的数据类型,例如,下面的代码便是获得该Field对象foeld的类型:Class<?> type = field.getType();但是通过这种方式只对普通类型的Field有效,如果该Field的类型是有泛型限制的类型,如Map<Strin...
Linux的动态定时器--时间轮

Linux的动态定时器--时间轮

Linux的定时器—有时也称为动态定时器或内核定时器—是管理内核时间的基础。定时器是一种软件功能,即允许在将来的某个时刻,函数在给定的时间间隔用完时被调用。注意的是定时器并不会周期运行,它在超时后就自行销毁,这也是定时器被称为动态定时器的一个原因。动态定时器不断地创建和销毁,而且它的运行次数也不受限制。定时器在内核代码中属于一个基础组件。要想完全弄清楚linux2.6中内核定时器的实现,得先从初始化开始。在start_kernel(void)-->i...
Linux 内核定时器 timer_list详解

Linux 内核定时器 timer_list详解

Linux内核2.4版中去掉了老版本内核中的静态定时器机制,而只留下动态定时器。相应地在timer_bh()函数中也不再通 过run_old_timers()函数来运行老式的静态定时器。动态定时器与静态定时器这二个概念是相对于Linux内核定时器机制的可扩展功能而言的,动态定时器是指内核的定时器队列是可以动态变化的,然而就定时器本身而言,二者并无本质的区别。考虑到静态定时器机制的能力有限,因此Linux内核2.4版中完全去掉了以前的静态定时器机制。7.6....
Android系统的应用开发与运行环境构建

Android系统的应用开发与运行环境构建

当我们选择基于Android系统的移动应用开发,如何构架其应用开发与运行环境呢?本文围绕这问题展开了细致的讲解。首先让我们一起想想如下问题。 P1:构建环境准备工作是什么? P2:软件安装的顺序是什么? P3:如何进行环境变量的配置以及测试软件是否成功安装? 俗语说,“工欲善其事,必先利其器”,做一件事情之前,必要而正确的准备工作尤为重要。我们在构建环境时,准备工作是下载需要的软件开发包(SDK)、集成开发环境(IDE)以及插件,具体就是JDK1.6或以上...
Android之图片异步加载并缓存到本地

Android之图片异步加载并缓存到本地

在Android项目中访问网络图片是非常普遍性的事情,如果我们每次请求都要访问网络来获取图片,会非常耗费流量,而且图片占用内存空间也比较大,图片过多且不释放的话很容易造成内存溢出。针对上面遇到的两个问题,首先耗费流量我们可以将图片第一次加载上面缓存到本地,以后如果本地有就直接从本地加载。图片过多造成内存溢出,这个是最不容易解决的,要想一些好的缓存策略,比如大图片使用LRU缓存策略或懒加载缓存策略。今天首先介绍一下本地缓存图片。首先看一下异步加载缓存本地代码...
ARM 如何实现绝对地址的跳转

ARM 如何实现绝对地址的跳转

基于 b跳转指令,ldr伪指令,ldr加载指令分析有以下场景需用到1.实现从Stepingstone中执行部分指令后,需跳转到SDRAM中执行,前提是必须先将NAND FLASH中代码copy到SDRAM,然后才能跳转到SDRAM去执行。跳转到SDRAM 需使用LDR伪指令LDR PC,=SDRAM 来实现分析:b指令是相对跳转指令,可以看到起反汇编代码是完全一样的,它依赖于当前PC寄存器的值,不管此代码链接地址如何,b指令都可以跳转到正确位置,这类指令称...
基于S3C2410 的MDK 例程移植

基于S3C2410 的MDK 例程移植

移植所关注的要点如下所示:1.分散加载文件关于散加载文件的具体内容介绍,可参考附录1“Realview MDK 中链接脚本详细解析”,这里只针对S3C2410 以及开发板的特点,给出具体的代码参考。之前提到的S3C2410 及其开发板的一些基本参数 (参考:http://www.linuxidc.com/Linux/2012-06/62484.htm),这里我们要关心的是SDRAM 和Nor Flash 的编址问题。通过阅读S3C2410 用户指南可知,地...
Realview MDK 中调试脚本的详细解析

Realview MDK 中调试脚本的详细解析

和其他集成开发环境一样,Realview MDK 中也使用了调试脚本。调试脚本除了可以初始化软硬件的调试环境以外,还可以初始化Flash 的烧写环境,甚至可以提供信号函数模拟片上外围设备。所以在使用Realview MDK 调试和烧写的过程中,到处都有调试脚本的身影。下面将分三个方面详细地研究调试脚本的编写和使用。在介绍调试脚本之前,先必须了解Realview MDK 预定义的一些常用命令和函数的用法。1. 常用预定义命令的说明及注意事项:下表是一些常用的...
Objective-C在LLVM 3.1中的新特性

Objective-C在LLVM 3.1中的新特性

与C和C++不同,Objective-C中不是由一个标准组织控制的,它一开始完全被Stepstone公司掌控,然而现在却被Apple公司取代了。 这种完全被一个公司掌控的模式可以算是一个优点和或者缺点。例如,C++规范的新版本的C + +11,历时13年完成。相比之下,Objective-C中可以发展地非常迅速,无需由委员会设计的问题所限制。但对应的缺点是在整个设计过程中,因为没有监督,所以基本上无法被标准化的程序语言所接纳。 好了,让我们来看看 LLVM...
2012 年 6 月份编程语言排行榜

2012 年 6 月份编程语言排行榜

亮点:Haskell迅速接近前20上个月我们问道哪种语言将会成为下一个新的热门语言?我们提出了Scala,Erlang和Clojure。很明显,新语言来自函数式编程领域。一 种面向过程的语言,Haskell没有被明显得提及。这个月它从35名上升到25名。从Tiobe趋势图来看,从2006年到2010年,再到2012 年,它再不断的上升,看起来很有前景。obj-c上升势头依然很猛。1–20名:21--50名:...
使用WPF来创建 Metro UI

使用WPF来创建 Metro UI

当我第一次运行Zune时,我为这些美丽的UI所折服。当时就说这肯定不是用WPF做的,因为这些字体是如此的清晰而且UI反映的也非常快速。。而且我从维基百科上也了解到Zune的第一个版本是2006年发布的,而WPF与.NET 3.0却是 2006 年11月发布的。 那么问题来了,如果它不是WPF做的,那它是用什么技术做到的呢?为了找到答案,我使用Process Explorer工具来看看Zune是如何启动的,默认情况下,.NET应用程序都是被用黄色高亮显示的。...
在C++中通过模板去除强制转换

在C++中通过模板去除强制转换

C++与C语言相比是一个强类型语言,即对数据类型的匹配程度较C更为严格,这有助于避免程序员在编程过程中由于粗心所犯之错。由于历史原因,C++中仍保留了reinterpret_ cast、static_cast等用于强制类型转换的关键字,但从语言向强类型发展的趋势来看,我们在编程工作中应尽量少使用强制类型转换,模板有助于我们实现这一目的。减少使用强制类型转换的另一个好处,是程序的可维护性更强。下面让我们通过例子来了解如何通过模板减少程序中的强制转换。图1以简...
<< 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 >>