- LDD3读书笔记----中断处理
wuye110
linuxDriver
一个中断不过是一个硬件在它需要处理器的注意时能够发出的信号.Linux处理中断非常类似它处理用户空间信号的方式.对大部分来说,一个驱动只需要为它的设备中断注册一个处理函数,并且当它们到来时正确处理它们.中断注册intrequest_irq(unsignedintirq,irqreturn_t(*handler)(int,void*,structpt_regs*),unsignedlongflags
- ldd3学习笔记--环境搭建(构建linux2.6.10源码树)
买柴火的小火柴
驱动开发ldd3内核gcc-2-95-3linux-2-6
ldd3(《linux设备驱动程序》)里面使用的正是Linux2.6.10内核,如果内核不同,使用课本里的代码会出现各种问题,所以搭建与课本一样内核版本的环境,用来学习。尝试过使用ubuntu14.04、fedora21直接编译2.6.10内核,结果都是gcc版本太高,尝试过给gcc降级,各种失败。尝试在ubuntu9.04,10.04编译他们各自的内核版本,构建内核源码树,结果Ldd3给的代码会
- Concurrency and Race Conditions [LDD3 05]
scutth
LinuxLDD3驱动多线程
TableofContentsConcurrencyandItsManagementSemaphoresandMutexesTheLinuxSemaphoreImplementationReader/WriterSemaphoresCompletionsSpinlockIntroductiontotheSpinlockAPISpinlocksandAtomicContextTheSpinlockF
- 一文彻底讲清Linux tty子系统架构及编程实例
Leon_George
Linux3.4.2驱动开发linuxLinux驱动开发tty子系统串口设备驱动
【摘要】本文详细解读了linux系统下的tty子系统的深层次原理和架构,并参考了LDD3中的代码实例讲述了无硬件下实现一个简单的tty设备驱动模块的编写。对了解tty子系统及下部串口驱动模块的学习有较好的参考价值。1、tty设备简介tty一词源于Teletypes,或Teletypewriters,它是最早出现的一种终端设备,类似电传打字机,由Teletype公司生产。最初tty是指连接到Unix
- 块设备驱动示例程序
流水石板路
Linux驱动开发linux
参考LDD3块驱动章节、及附带的示例程序。另外找到了讲解块驱动、附示例程序的例子供参考:关于Linux内核——块设备驱动这一块-知乎
- 利用qemu触发short设备/dev/shortint中断的方法
leoufung
驱动虚拟化
记得2007年的时候,第一次开始学习ldd3这本书,到书的后面需要设计到真实硬件才可以验证学习的内容,当时废了好大的力气。为了验证书里面并口的内容,专门买了电脑、LED灯、电焊、锡、面包板什么的,然后把LED灯焊接在并口的9号和10号引脚并接到面包板上,通过拉高电平触发并口中断,看输出也要看LED灯的闪烁,费死劲了。这几天叫我弟驱动变成,突然想到用虚拟化设备来触发中断,让他验证short设备,于是
- PCI设备的DMA映射操作详解
kerneler_
driverdebugsummarylinuxkernel
上周认真学习了LDD3第15章直接内存访问部分,这周调试PCI的网卡和视频采集卡,结合代码对DMA映射有了进一步的理解,这里按照LDD315章的顺序总结一下,记一下笔记,以后忘了再来翻,本人刚毕业1年菜鸟,理解不到的地方还希望大神指点!根据LDD3说法,DMA是一种硬件机制,是说硬件具有这种仲裁能力,在cpu不干预的情况下设备可以作为主设备来对内存的直接读写访问,这样可以大大提高大数据流的传输速度
- LDD3示例代码sbull编译问题
liuuq
Linux块设备设备驱动LDD
编译块设备驱动程序实例代码sbull遇到的问题示例代码版本为2.6.10,编译时的内核版本为2.6.39。内核中许多函数和结构发生变化,造成了编译问题,记录如下:error:unknowntypename‘request_queue_t’原因:新版内核中已经没有request_queue_t的定义解决方法:可在代码所在文件添加如下定义:typedefstructrequest_queuereque
- *dev=filp->private_data;这一句的理解
浩瀚之水_csdn
嵌入式Linux相关知识汇总
ldd3中说到open应完成以下工作:1.检查设备特定的错误(注入设备未就绪或类似的硬件问题)。2.如果设备是首次打开,则对其进行初始化。3.如有必要,更新f_op指针。4.分配并填写置于filp->private_data里的数据结构。关于第4点,一直心存余虑,不明白是什么意思,看网上写的很多其他的例子,也没有做第4点的操作。其实ldd3上面已经在release方法里面做了说明,“并不是每个cl
- Linux 设备驱动练习---模块 加载卸载
_借我你的一生_
Linux设备驱动程序学习Linux模块
看来一段时间的LDD3感觉看是看得懂,理论性比较强,还是得自己动手实践啊.今天自己动手实践了下,错误百出,遇到各种问题,在此作下记录,大家一起学习.很简单的一个加载模块的驱动--Hello.虚拟机下的Linux系统下:开始我在虚拟机下的Linux系统下实践.下面是代码--hello.c:#include#includeMODULE_LICENSE("DualBSD/GPL");staticinth
- shell中的反引号与$()区别
dahai19800703
shellcharacter
今天在现在了ldd3的代码,运行scull中的scull_load的时候弹出如下错误:[root@localhostscull]#./scull_loadawk:cmd.line:1:/=="scull"{print/}awk:cmd.line:1:^backslashnotlastcharacteronlinemknod:wrongnumberofarguments因为代码是刚刚从书中推荐的ft
- 如何解决Linux下USB设备节点名不固定问题
kangear
Linux设备驱动
如何解决Linux下USB设备节点名不固定问题以USB转串口为例,通常设备节点名为ttyUSBx(x为0~n),Linux内核会根据插入设备的先后顺序进行编号的分配,比如第一个插入的设备编号为0,然后依此加1。如果仅仅以设备节点ttyUSBn来区别具体是哪个设备,因为末位的编号是随时会变的,所以就会造成混乱。无法保证A设备就是0,B设备就是1。其实这个问题在LDD3上已经提到过,目前的内核早已经解
- 关于SpinLock的更深入理解
时行居正
Linux驱动
0前言之前转载过一篇阐述spin_lock的博文,但始终理解不深入,记忆不深刻。今天,花了半天阅读完LDD3的相关章节,有种顿悟的感觉,遂简要记下自己的理解。Btw,LDD3真心是字字珠玑,没有半句废话,而且从这边书可以看出外国人写书非常注重前后的呼应,而国内大多数书都是就事论事,没有体系的感觉,也难以启发人深入思考。(一不小心又吐嘈了一遍,罪过罪过……)另外,关于LDD3真心适合有一定基础的人阅
- PCI bar 空间可预取与不可预取概念
ykqnjust
PCIBAR空间分为两类:IORESOURCE_IO(非可预取)和IORESOURCE_MEM(可预取),一般来说,对于BAR为寄存器空间,都要设置为IORESOURCE_IO;对于BAR为存储器空间,要设置为IORESOURCE_MEM;那么为什么要区分两种类型的空间呢?所谓预取,重点在“取”字,这要从读取IO寄存器和RAM内存的区别来看。LDD3如果这个内存区被标识为可预取的,CPU可缓存它的
- PCIE的prefetchable和nonprefetchable的理解
redseazhaojianertao
在PCI设备驱动开发过程中,处理板载I/O和内存空间时,常常会遇到prefetchable和nonprefetchable两词,直译为可预取和不可预取。但是两者具体究竟是什么含义呢?在LDD3,Chapter12:PCIDrivers一章找到了不错的解释,姑且一边翻译一边解读如下(原文:LDD3影印版p316,AccessingtheI/OandMemorySpaces下面一段):PCI设备会实现
- Linux设备驱动程序学习(14)
Slancer
Unix/Linux
通过一个设备在内核中生命周期的各个阶段,可以更好地理解Linux设备模型。我将通过分析lddbus和sculld的源码来了解Linux设备模型中各环节的整合。《LDD3》中的(PCI总线)各环节的整合这部分内容作为参考资料,因为嵌入式Linux比较少用到PCI总线。看这部分内容一定要先熟悉一下lddbus和sculld的源码。一、lddbus模块:添加总线、导出总线设备和设备驱动的注册函数。ldd
- 设备模型7之固件开发(实例)
Linux_Drv
设备模型
这个主题主要说的就是固件文件的读写,它为我们提供了一个把用户文件读入内核的机制。前面的实例代码在实际的一些驱动中可能很少见到,但这一节所说的东西就比较实用了。首先说一下固件文件。Ldd3:作为一个驱动作者,你可能发现你面对一个设备必须在它能支持工作前下载固件到它里面.硬件市场的许多地方的竞争是如此得强烈,以至于甚至一点用作设备控制固件的EEPROM的成本制造商都不愿意花费.因此固件发布在随硬件一起
- 中断处理
Tynew
中断设备控制
作者:刘昊昱博客:http://blog.csdn.net/liuhaoyutz编译环境:Ubuntu10.10内核版本:2.6.32-38-generic-paeLDD3源码路径:examples/short/ 本分析LDD3第9和第10章的示例代码short。short涉及的主要知识点有通过I/O端口或I/O内存操作设备寄存器及设备内存,注册中断处理函数处理中断。本来第9和第10章的代码应该分
- down_interruptible如何理解
fristkey2
linux驱动
ldd3中的p70p72页介绍了scull设备驱动方法的read和write的实现,在中间有两句是这样写的:if(down_interruptible(&dev->sem))return-ERESTARTSYS;但这里没有给出任何解释,这里在csdn上面找了一些资料,并且百度了一下信号量的概念,加上大学课堂的回忆PV操作这里把资料给整合起来,方便以后复习总结。1.提问贴参见:http://bbs.
- Linux-2.6.32 下 块设备驱动的编写 与 相关问题解决
cgsz1992
在LDD3书中,其中的有些块设备操作函数已经在Linux-2.6.32有了很大的变动,需要自己重新根据新定义的一些函数进行适当的移植,以解决编译时报出的各种错误,主要时在do_request请求处理函数中修改,笔者修改的结果如下:staticvoidubuntu_do_ramblock_requset(structrequest_queue*q){staticintcnt=0;structrequ
- Xilinx SOC驱动
everseeker
1.CustomerDrivers必读LDD3Chapter15static.lwn.net/images/pdf/LDD3/ch15.pdf2.UIOLinuxUserSpaceDeviceDrivers3.DirectMMAPfpga.org/2013/05/28/how-to-design-and-access-a-memory-mapped-device-part-two/如有可能最优方式
- Linux设备模型(总线、设备、驱动程序和类)
信长的野望
无人驾驶相关知识
文章的例子和实验使用《LDD3》所配的lddbus模块(稍作修改)。提示:在学习这部分内容是一定要分析所有介绍的源代码,知道他们与上一部分内容(kobject、kset、attribute等等)的关系,最好要分析一个实际的“flatformdevice”设备,不然会只学到表象,到后面会不知所云的。总线总线是处理器和一个或多个设备之间的通道,在设备模型中,所有的设备都通过总线相连,甚至是内部的虚拟"
- LDD3源码分析之poll分析
liuhaoyutz
LDD3源码分析LDD3源码分析
作者:刘昊昱博客:http://blog.csdn.net/liuhaoyutz编译环境:Ubuntu10.10内核版本:2.6.32-38-generic-paeLDD3源码路径:examples/scull/pipe.cexamples/scull/main.c本文分析LDD3第6章的poll(轮询)操作。要理解驱动程序中poll函数的作用和实现,必须先理解用户空间中poll和select函数
- 自旋锁使用的注意点
lihaoweiV
LinuxKernel
1.自旋锁保护的临界区里,不能有引起睡眠的函数,如kmalloc,copy_from_user等。因为如果某进(线)程获得锁并进入了临界区,但它却在临界区里睡着了,那么别的需要这把锁的进(线)程将可能要等待一段很久的时间,最坏的情况是死锁。所以,在自旋锁里的临界区代码应是原子性的,不可睡眠的。2.在LDD3里说到这样的一种情况:在单CPU环境里,如果某进(线)程获得了锁并准备对它的设备进行存取,此
- kernel module编程(九):通过用户程序的strace检查内核模块调用情况
恺风
读书笔记程序设计嵌入式Linux
本文也即《LinuxDeviceDrivers》,LDD3的第四章DebugingTechniques的读书笔记之四,但我们不限于此内容。由于最近比较忙,赶文档,这么多天没看两页纸。前两天来个老外,forgivemypoorEnglish。和他到我们饭堂吃饭,还有几个同事坐在一起,一同六个人,5个人拿匙羹,一个人用筷子,用筷子的人是老外……在前面我们学习了两种通过/proc的方法来获取device
- 【原创】【专栏】《Linux设备驱动程序》--- LDD3源码目录结构和源码分析经典链接
GENGLUT
Linux---内核驱动Linux设备驱动程序学习
【原创】【专栏】《Linux设备驱动程序》---LDD3源码目录结构和源码分析经典链接【专栏】Linux设备驱动程序学习(总目录)【专栏】LDD3源码分析链接(总目录)1.LDD3源码分析之hello.c与Makefile模板2.LDD3源码分析之字符设备驱动程序其他错误:我的Linux内核为3.2.0-65-generic-pae,在scull目录下make时,除了文中的错误之外,还有如下错误。
- Linux设备驱动程式学习(13)-Linux设备模型(总线、设备、驱动程式和类)
luckdog01
Linux相关
文章的例子和实验使用《LDD3》所配的lddbus模块(稍作修改)。总线总线是处理器和一个或多个设备之间的通道,在设备模型中,任何的设备都通过总线相连,甚至是内部的虚拟"platform"总线。总线能够相互插入。设备模型展示了总线和他们所控制的设备之间的实际连接。在Linux设备模型中,总线由bus_type结构表示,定义在:structbus_type{constchar*name;/*总线类型
- 内核的定时和延迟
aotasu7207
1.定时:一般是通过在当前jiffies上加上一个delay得到目标jiffies,然后比较目标jiffies实现定时。2.延时:短延时(一般通过忙等待实现),长延时(一般通过使进程让出处理器的方式实现)。3.系统中记录时间的计数器:(1)jiffies,(2)处理器特定的寄存器4.内核定时器:内核定时器常常作为"软件中断"而异步运行。实例:参考ldd3//jittimer.c//#include
- Linux设备驱动程序学习(12)
Slancer
Unix/Linux
-Linux设备模型(底层原理简介)以《LDD3》的说法:Linux设备模型这部分内容可以认为是高级教材,对于多数程序作者来说是不必要的。但是我个人认为:对于一个嵌入式Linux的底层程序员来说,这部分内容是很重要的。以我学习的ARM9为例,有很多总线(如SPI、IIC、IIS等等)在Linux下已经被编写成了子系统,无需自己写驱动;而这些总线又不像PCI、USB等在《LDD3》上有教程,有时还要
- Linux那些事儿之我是Sysfs(4)举例一lddbus
fudan_abc
Linux那些事儿之我是Sysfs
对了,你得把ldd3的examples代码下下来。不然没法继续了。接下来我们从例子着手,localhost:/home/XX/examples/lddbus#insmodlddbus.ko此时再看/sys/bus/这时就多了一个文件夹ldd。里面的文件构成是这样的/sys/bus/ldd/|--device|--driver`--versionlocalhost:/sys/bus/ldd#catv
- PHP,安卓,UI,java,linux视频教程合集
cocos2d-x小菜
javaUIPHPandroidlinux
╔-----------------------------------╗┆
- 各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
bozch
.net.net mvc
在.net mvc5中,在执行某一操作的时候,出现了如下错误:
各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
经查询当前的操作与错误内容无关,经过对错误信息的排查发现,事故出现在数据库迁移上。
回想过去: 在迁移之前已经对数据库进行了添加字段操作,再次进行迁移插入XXX字段的时候,就会提示如上错误。
&
- Java 对象大小的计算
e200702084
java
Java对象的大小
如何计算一个对象的大小呢?
 
- Mybatis Spring
171815164
mybatis
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
CustomerService userService = (CustomerService) ac.getBean("customerService");
Customer cust
- JVM 不稳定参数
g21121
jvm
-XX 参数被称为不稳定参数,之所以这么叫是因为此类参数的设置很容易引起JVM 性能上的差异,使JVM 存在极大的不稳定性。当然这是在非合理设置的前提下,如果此类参数设置合理讲大大提高JVM 的性能及稳定性。 可以说“不稳定参数”
- 用户自动登录网站
永夜-极光
用户
1.目标:实现用户登录后,再次登录就自动登录,无需用户名和密码
2.思路:将用户的信息保存为cookie
每次用户访问网站,通过filter拦截所有请求,在filter中读取所有的cookie,如果找到了保存登录信息的cookie,那么在cookie中读取登录信息,然后直接
- centos7 安装后失去win7的引导记录
程序员是怎么炼成的
操作系统
1.使用root身份(必须)打开 /boot/grub2/grub.cfg 2.找到 ### BEGIN /etc/grub.d/30_os-prober ### 在后面添加 menuentry "Windows 7 (loader) (on /dev/sda1)" { 
- Oracle 10g 官方中文安装帮助文档以及Oracle官方中文教程文档下载
aijuans
oracle
Oracle 10g 官方中文安装帮助文档下载:http://download.csdn.net/tag/Oracle%E4%B8%AD%E6%96%87API%EF%BC%8COracle%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3%EF%BC%8Coracle%E5%AD%A6%E4%B9%A0%E6%96%87%E6%A1%A3 Oracle 10g 官方中文教程
- JavaEE开源快速开发平台G4Studio_V3.2发布了
無為子
AOPoraclemysqljavaeeG4Studio
我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V3.2版本已经正式发布。大家可以通过如下地址下载。
访问G4Studio网站
http://www.g4it.org
G4Studio_V3.2版本变更日志
功能新增
(1).新增了系统右下角滑出提示窗口功能。
(2).新增了文件资源的Zip压缩和解压缩
- Oracle常用的单行函数应用技巧总结
百合不是茶
日期函数转换函数(核心)数字函数通用函数(核心)字符函数
单行函数; 字符函数,数字函数,日期函数,转换函数(核心),通用函数(核心)
一:字符函数:
.UPPER(字符串) 将字符串转为大写
.LOWER (字符串) 将字符串转为小写
.INITCAP(字符串) 将首字母大写
.LENGTH (字符串) 字符串的长度
.REPLACE(字符串,'A','_') 将字符串字符A转换成_
- Mockito异常测试实例
bijian1013
java单元测试mockito
Mockito异常测试实例:
package com.bijian.study;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.
- GA与量子恒道统计
Bill_chen
JavaScript浏览器百度Google防火墙
前一阵子,统计**网址时,Google Analytics(GA) 和量子恒道统计(也称量子统计),数据有较大的偏差,仔细找相关资料研究了下,总结如下:
为何GA和量子网站统计(量子统计前身为雅虎统计)结果不同?
首先:没有一种网站统计工具能保证百分之百的准确出现该问题可能有以下几个原因:(1)不同的统计分析系统的算法机制不同;(2)统计代码放置的位置和前后
- 【Linux命令三】Top命令
bit1129
linux命令
Linux的Top命令类似于Windows的任务管理器,可以查看当前系统的运行情况,包括CPU、内存的使用情况等。如下是一个Top命令的执行结果:
top - 21:22:04 up 1 day, 23:49, 1 user, load average: 1.10, 1.66, 1.99
Tasks: 202 total, 4 running, 198 sl
- spring四种依赖注入方式
白糖_
spring
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我
- angular.injector
boyitech
AngularJSAngularJS API
angular.injector
描述: 创建一个injector对象, 调用injector对象的方法可以获得angular的service, 或者用来做依赖注入. 使用方法: angular.injector(modules, [strictDi]) 参数详解: Param Type Details mod
- java-同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待
bylijinnan
Integer
public class PC {
/**
* 题目:生产者-消费者。
* 同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待。
*/
private static final Integer[] val=new Integer[10];
private static
- 使用Struts2.2.1配置
Chen.H
apachespringWebxmlstruts
Struts2.2.1 需要如下 jar包: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging-1.0.4.jar freemarker-2.3.16.jar javassist-3.7.ga.jar ognl-3.0.jar spring.jar
struts2-core-2.2.1.jar struts2-sp
- [职业与教育]青春之歌
comsci
教育
每个人都有自己的青春之歌............但是我要说的却不是青春...
大家如果在自己的职业生涯没有给自己以后创业留一点点机会,仅仅凭学历和人脉关系,是难以在竞争激烈的市场中生存下去的....
&nbs
- oracle连接(join)中使用using关键字
daizj
JOINoraclesqlusing
在oracle连接(join)中使用using关键字
34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FRO
- NIO示例
daysinsun
nio
NIO服务端代码:
public class NIOServer {
private Selector selector;
public void startServer(int port) throws IOException {
ServerSocketChannel serverChannel = ServerSocketChannel.open(
- C语言学习homework1
dcj3sjt126com
chomework
0、 课堂练习做完
1、使用sizeof计算出你所知道的所有的类型占用的空间。
int x;
sizeof(x);
sizeof(int);
# include <stdio.h>
int main(void)
{
int x1;
char x2;
double x3;
float x4;
printf(&quo
- select in order by , mysql排序
dcj3sjt126com
mysql
If i select like this:
SELECT id FROM users WHERE id IN(3,4,8,1);
This by default will select users in this order
1,3,4,8,
I would like to select them in the same order that i put IN() values so:
- 页面校验-新建项目
fanxiaolong
页面校验
$(document).ready(
function() {
var flag = true;
$('#changeform').submit(function() {
var projectScValNull = true;
var s ="";
var parent_id = $("#parent_id").v
- Ehcache(02)——ehcache.xml简介
234390216
ehcacheehcache.xml简介
ehcache.xml简介
ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信
- junit 4.11中三个新功能
jackyrong
java
junit 4.11中两个新增的功能,首先是注解中可以参数化,比如
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runn
- 国外程序员爱用苹果Mac电脑的10大理由
php教程分享
windowsPHPunixMicrosoftperl
Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒。那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因:
1、Mac OS X 是基于 Unix 的
这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到。如果你是个 wi
- 位运算、异或的实际应用
wenjinglian
位运算
一. 位操作基础,用一张表描述位操作符的应用规则并详细解释。
二. 常用位操作小技巧,有判断奇偶、交换两数、变换符号、求绝对值。
三. 位操作与空间压缩,针对筛素数进行空间压缩。
&n
- weblogic部署项目出现的一些问题(持续补充中……)
Everyday都不同
weblogic部署失败
好吧,weblogic的问题确实……
问题一:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [zip:E:/weblogic/user_projects/domains/base_domain/serve
- tomcat7性能调优(01)
toknowme
tomcat7
Tomcat优化: 1、最大连接数最大线程等设置
<Connector port="8082" protocol="HTTP/1.1"
useBodyEncodingForURI="t
- PO VO DAO DTO BO TO概念与区别
xp9802
javaDAO设计模式bean领域模型
O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。
它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。这样,PO独立出来,数据持