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

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Java中HashMap的实现原理

Java中HashMap的实现原理

问:Java 的 HashMap是怎么实现的?答:通过键值对的形式保存需要存储的值。很显然这个答案不是面试官要的,这个答案也引起了我的回忆。曾经我在面试时也被几次问道过这个问题,我当时也是类似的回答。所以今天抽空大致研究了下HashMap的源码。HashMap其实也是一个线性的数组实现的,所以可以理解为其存储数据的容器就是一个线性数组。这可能让我们很不解,一个线性的数组怎么实现按键值对来存取数据呢?这里HashMap有做一些处理。1.首先HashMap里面...
Android 面试题分享

Android 面试题分享

DVM 指dalivk 的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik 虚拟机实例。而每一个DVM 都是在Linux 中的一个进程,所以说可以认为是同一个概念。1、sim卡的EF 文件有何作用sim卡的文件系统有自己规范,主要是为了和手机通讯,sim本 身可以有自己的操作系统,EF就是作存储并和手机通讯用的嵌入式操作系统内存管理有哪几种, 各有何特性页式,段式,段页,用到了MMU,虚拟空间等技术2、什么是嵌入式实...
Android 中性能测试 Monkey的用法

Android 中性能测试 Monkey的用法

简介Monkey是一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流,实现对正在开发的应用程序进行压力测试。Monkey包括许多选项,它们大致分为四大类:· 基本配置选项,如设置尝试的事件数量。· 运行约束选项,如设置只对单独的一个包进行测试。· 事件类型和频率。· 调试选项。在Monkey运行的时候,它生成事件,并把它们发给系统。同时,Monkey还对测试中的系统进行监测,对下列三种情况进行特殊处理:· 如果限定了Monkey...
Android 中音频视频开发

Android 中音频视频开发

视频录制功能正在走来。在Android SDK中有与之相关的类:android.media.MediaRecorder当然,因为模拟器上没有提供必要的硬件设施,所以在学习过程中并不能实现。Media能够播放来自任何地方的文件:一个实际的文件资源、系统中的一个文件或者是一个可用的网络链接。下面介绍如何在自己应用程序中播放一个可用的media音频:1、将文件放到你的工程的res/raw文件夹中,在这个文件夹中,Eclipse插件将会找到它,同时,会将这个资源与...
S3C2410的Linux下DMA驱动程序开发

S3C2410的Linux下DMA驱动程序开发

网上介绍Linux下的一般驱动程序开发示例浩如烟海,或是因为简单,关于DMA驱动的介绍却寥寥无几;近期因工作需要,花了几日时间开发了某设备在S3C2410处理器Linux下DMA通信的驱动程序,有感于刚接手时无资料借鉴的茫然,故写点介绍,期待能给有DMA开发任务的网友们一点帮助。本文将包括如下内容:DMA驱动主要函数功能 驱动中关键技术分析 具体的DMA实例分析 申明:本DMA驱动开发介绍仅适合S3C2410处理器类型,分析源码为韩国MIZI研究中心维护的...
G++ 编译 C++ 方法以及 Linux 编程环境

G++ 编译 C++ 方法以及 Linux 编程环境

很是简单,今天用到,暂做标记,以供初学查阅://编译生成可执行文件g++ -o hello hello.cpp//运行./helloGCC编译命令gcc -v 查看版本查找g++的命令帮助 键入 info g++,会显示出gcc的帮助信息,g++大部分参数和gcc命令相同选项 解释-ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色,例如 asm 或 typeof 关键词。-c -o只编译并生成目标文件。-DMACRO 以...
使用C++实现JNI接口需要注意的事项

使用C++实现JNI接口需要注意的事项

Android NDK带的jni例子都是使用C定义JNI接口,但是在项目中,因为Native代码是用C++编写的,所以我就使用C++定义JNI接口。没有想到,问题来了,现将问题总结如下:1、JNIEnv *env参数的使用所有JNI接口的第一个参数是JNIEnv *env, 在C中,使用方法是(*env)->NewStringUTF(env, "Hello from JNI!");但在C++中,其调用方法是env->NewStringUTF("...
Linux平台上GPIO模拟I2C

Linux平台上GPIO模拟I2C

GPIO模拟I2C是嵌入式中较为常用的一种应用。各个地方有各种不同的做法,按照我自己的个人理解,最好是把I2C的各种状态分割开来,比如起始条件终止条件,读数据和写数据,然后根据具体的使用场合组合起来。这里需要注意两点:一是SCL的波形并不规律,不能将它理解为方波,它本身只是一段段独立的波形。二是每段操作时,之前和之后的SCL和SDA波形是可以不用计较的;通常情况下I2C开始之前和I2C结束之后,两者都是高电平,而在正常工作时两者不受控制的情况下都是默认低电...
关于Linux内核中多进程(线程)间同步和互斥

关于Linux内核中多进程(线程)间同步和互斥

Linux设备驱动中必须解决的一个问题是多个进程对共享资源的并发访问,并发访问会导致竞态,linux提供了多种解决竞态问题的方式,这些方式适合不同的应用场景。Linux内核是多进程、多线程的操作系统,它提供了相当完整的内核同步方法。内核同步方法列表如下:中断屏蔽原子操作自旋锁读写自旋锁顺序锁信号量读写信号量BKL(大内核锁)Seq锁一、并发与竞态:定义:并发(concurrency)指的是多个执行单元同时、并行被执行,而并发的执行单元对共享资源(硬件资源和...
Qt在Linux环境下应用程序字体模糊的解决方法

Qt在Linux环境下应用程序字体模糊的解决方法

这两天一直在用Qt实现一个跨平台的软件。软件之前在Windows上编写的,后来放到里Ubuntu 10.10下编译。程序运行时遇到一个很棘手的问题,界面文本非常模糊。后来在网上查阅了好几天的资料,经历了无数次实验,最终解决了这一问题。下面以一个Demo程序来重现这一问题。 本文中的编译平台为:Ubuntu 10.10 x86版, g++ 4.4.5, Qt 4.7.3自己编译的首先看看我的Demo程序文本模糊时的截图: 一个软件界面的文本要是这样子,根本无...
Qt中QFtp获取带有中文的文件名称出现乱码的解决方法

Qt中QFtp获取带有中文的文件名称出现乱码的解决方法

今天研究了一下QFtp这个类,发现访问得到的文件名称中一旦出现中文,不管怎么转换编码格式,最终显示出来的始终都是乱码。于是我深入地对这一现象进行了研究。这里先简单介绍一下我的分析过程:FTP服务器在收到List指令后,会把当前文件夹的所有项目(包括文件夹和文件的名称,大小,时间,所有者等相关信息)列举出来并返回给FTP客户端。曾经在网上看到有人说过这样一句话:“ftp 在编码问题上相当笨,笨到对编码一无所知”。确实,多数FTP服务器在返回这些名称时采用的文...
关于Qt信号与槽机制的传递方向性研究

关于Qt信号与槽机制的传递方向性研究

最近由于项目的需求,一直在研究Qt。信号与槽机制是Qt的一大特色,该机制允许两者间传递参数,依次来实现对象间的通信。这个参数会分别存在于信号的参数列表和槽函数的参数列表中。需要注意的是,若将槽函数绑定至信号,槽函数的参数列表元素数目只能少于等于信号的参数列表元素数目。而且顺序和类型不能改变。至于缺少的参数应从信号参数尾部开始缺少。突然今天想起来一个问题,如果一个对象发出信号,将内部的一个成员变量(非简单类型)作为参数向外发送,槽函数就可以接收到这个对象,那...
<< 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 >>