Welcome 微信登录

首页 / 操作系统 / Linux

Java中的策略模式

Java中的策略模式

策略模式是对算法的包装,把使用算法的责任和算法本身分隔开,委派给不同的对象管理。 策略模式通常把一系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。 何时使用策略模式: 1.如果在一个系统里面有许多类,他们之间的区别仅在于他们的行为,那么使用策略类可以动态的让一个对象在许多行为中选择一种行为。 2.如果系统需要动态的在几种算法中选择一种,那么这些算法可以具体的包装到一个个算法类里面,而这些算法类都是一个抽象类的子类。换言之这些具体的算法...
PC Ubuntu下编译 Linux2.6 内核总结

PC Ubuntu下编译 Linux2.6 内核总结

在X86, Ubuntu 上编译Linux2.6内核,总结如下:基础知识在介绍如何编译内核之前, 需要对内核相关概念有一定的了解. 关于Linux kernel的介绍浩如烟海, 这里只介绍系统中相关的目录, 文件及命令./boot/boot/vmlinuz- : 用于启动的压缩内核镜像, 它也就是/arch//boot中的压缩镜像./boot/system.map- : 存储内核符号地址./boot/initrd.img- : 初始化RAM硬盘时, 用来存...
Ubuntu Linux下写的第一个代码

Ubuntu Linux下写的第一个代码

这句话不是我说的,是一个刚被我拉到Ubuntu部落的舍友说的,觉的颇为经典。这几天,Ubuntu 9.10 因为硬件的原因,水土不服,给我闹别扭、耍小脾气,令到Gnome环境下下,甚至在Terminal 中用 VIM 编辑纯文本文件(PHP),都反应极端的不流畅、不是一个慢字可以概括描述。泥菩萨尚有三分土性,Ubuntu 不发威你当我是 XP ?于是,不是翻箱倒柜,也不是掘地三尺,总之是经过一番折腾后,找出了曾几何时刻录的、尘封已久的 Ubuntu 8.0...
Linux下串口通信示例程序

Linux下串口通信示例程序

已测试的结果是:可以正确发送数据,在接受的时候会存在问题。欢迎批评指正。参考资料:《linux串口通信入门教程》,作者:左锦/**说明:1.STR_NUM宏为需要发送的字符串的个数+1,这些字符串被存储在指针数组pstr中。2.如果只是需要发送数据而不读取数据,则取消DEGUB宏的定义。3.默认的串口设备是"/dev/ttyUSB0",可以修改宏DEFAULT_DEV的定义来设定需要的串口设备。4.如果需要发送main函数接受的参数而不是pstr指针数据中...
使用Qt编写Linux下的串口通信程序

使用Qt编写Linux下的串口通信程序

最近笔者参加一个比赛,需要在三星2410的板子上跑一个串口通信程序,使用Qt编写。之前虽有接触过Qt,然而只限于了解层面,在Windows上跑了一个hello world的程序罢了。前几天查资料发现了yafei同志的Windows上使用Qt编写串口通信的程序,获益匪浅。然而Linux下的实现方法并没有找到。只好自己编写。经过一番挣扎,完成效果如下:这是启动界面,只是为了好看,并没有load什么东西^_^虽然我的空间里没有什么有价值的东西,还是希望会有人路过...
Linux-2.6.18下开发SPI接口的WIFI驱动

Linux-2.6.18下开发SPI接口的WIFI驱动

目前业界使用的WIFI摸组其芯片都是使用的marvell sd8686 ,所以我从marvell 官方网站下载SPI 接口的驱动程序src_gspi8686,此驱动程序是基于PXA270的,所以需要自己移植到2440平台上,主要有如下工作要做:1.将src_gspi8686 下的 io 文件夹下的gspi.c和gspi.h 这两个文件修改,针对各个具体函数,按照2440 SPI 的时序来编写SPI 驱动,2.加载SPI 驱动 insmod gspi.ko3...
基于armLinux平台USB无线网卡的wifi驱动移植

基于armLinux平台USB无线网卡的wifi驱动移植

arm平台是三星2440,Linux内核是2.6.24,威盛VNT6656的USB无线网卡;开发平台是Fedora10,内核是2.6.27。遭遇的问题主要有如下几个:一、驱动程序的版本不对开始在网上找了个VNT6656的Linux驱动程序,直接先在本地机器上编译。结果错误太多太多,改了一批还有一大批,主要问题是很多的“结构体”不 对,而且开始还得把CFLAGS全部换成EXTRA_CFLAGS。最终才反应过来,可能下的驱动程序版本有问题。到http://ww...
Fedora 13下配置OpenGL开发环境

Fedora 13下配置OpenGL开发环境

Fedora下开发OpenGL我一直用的Mesa+freeglut ,免费的开源实现,在几乎所有的Linux发行版上都能用。下面说下我在Fedora 13下的配置过程,适用于各个Fedora版本。1.首先安装MesaMesa自从FC5就集成到了系统里,只是包不怎么全,我们需要一个完整的开发环境。root执行:yum list mesa* // 它会列出所有可用的mesa包yum install mesa* //安装所有可用的mesa包2.安装freeglu...
关于C#和Java平台的MD5

关于C#和Java平台的MD5

客户的Java平台,使用了spring框架自带的MD5方法来加密,我的是C#下面的MD5加密方法,我这边的加密方法只要穿字符串就行了,不要密钥,结果他那边Java平台里的MD5加密是有密钥的而且使用的是动态密钥,然后查了一下Spring的加密方式.Acegi 对于密码提供三种方式:明文及不采用任何加密方式、MD5加密方式、哈希算法加密方式。只需要在DAO的认证管理器中分别加入一下对应一下配置:第一种:不使用任何加密方式的配置Java代码 <beani...
Java的打印输出练习-画圈打印

Java的打印输出练习-画圈打印

最近复习Java,发现很多有意思的面试题,颇为经典,这些题目也是学习Java的比较有利于思考的练习题。关于Java的打印输出,今天就列举题一:把1、2、3 . . . n画圈打印出来,例如下图:据说这道题是深圳某家公司的面试题,网上有解。对此题我考虑再三发现除了用二维数组来解答外,实在想不出合适的办法,因为你只能把这些数据放在一个二维数据中,才好控制水平方向和垂直方向的增减,现列举一种答案供参考:1package org.j2se;2public clas...
Linux下如何用GCC编译动态库

Linux下如何用GCC编译动态库

本文主要解决以下几个问题1 为什么要使用库?2 库的分类3 创建自己的库或许大家对自己初学 Linux时的情形仍记忆尤新吧。如果没有一个能较好的解决依赖关系的包管理器,在Linux下安装软件将是一件及其痛苦的工作。你装a包时,可能会提示你要先装b包,当你费尽心力找到b包时,可能又会提示你要先安装c包。我就曾被这样的事搞的焦头烂额,至今一提起rpm仍心有余悸,头皮发麻。说是一朝被蛇咬,十年怕井绳怕也不为过。Linux下之所以有这许多的依赖关系,其中一个开发原...
Java中Date.getTime()在Windows和Linux(Redhat)中的取值差一天?

Java中Date.getTime()在Windows和Linux(Redhat)中的取值差一天?

今天无意中发现一个比较奇怪的问题,貌似相同日期时间情况下,Linux上取的时间戳比Windows上取的快了一天!!于是做了下简单的测试,写了个简单的输出java程序,编译好之后分别在Windows上和Linux上运行,结果如下:Windows: Current time is: 1277967475774Linux: Current time is: 1278021498865经过简单地计算,发现差了近一天!!由此可见时间戳在跨平台使用的时候要尤为小心。J...
Ubuntu下Arm-Linux-GCC交叉编译环境的搭建

Ubuntu下Arm-Linux-GCC交叉编译环境的搭建

今天终于把arm的交叉编译环境搭(Ubuntu)建起来了,其实挺简单的,但是用了不少的时间。网上看了一下,这方面的资料挺多的,可能都是那种比较通用的搭建方法,感觉比较繁琐。而且网上鱼龙混杂,大部分都是拷贝的一份资料。自己根据自己的需要进行了一些精简,这样看起来就简单多了。我用的是at91sam9261的芯片,属于ARM9内核。用的arm-linux-gcc交叉编译环境好像就支持V4 的内核架构,其中包含了ARM7和ARM9。好了,闲话少须,开始搭建编译环境...
<< 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 >>