- linux内核驱动:IIO子系统总结
So_shine
linux驱动开发嵌入式硬件
目录前言一、概念二、系统拓扑结构三、IIO子系统文件四、主要数据结构五、驱动使用iio子系统的步骤DHT11温湿度传感器直接模式其它类型传感器前言本笔记基于linux5.10.xx内核,dht11温湿度传感器总结对IIO驱动子系统的使用,基于运行linux内核的arm系列处理器soc;一、概念IIO为industrialI/O的简称,为一些传感器的数据采集提供了一套方便的软件框架,作为内核驱动子系
- Linux内核--定时器
阿常啊
Linux内核相关linux
内核版本:v4.14在Linux内核驱动开发过程中,定时器是我们经常用到的一个东西,我们可以使用定时器延时执行一个任务或者轮询执行某一任务。相关结构体:structtimer_list{/**Allfieldsthatchangeduringnormalruntimegroupedtothe*samecacheline*/structhlist_nodeentry;unsignedlongexpi
- 多种双链表设计_学以致用--Apple的学习笔记
applecai
一,前言上一篇C工程框架_学以致用--Apple的学习笔记是设计了框架,然后子模块中添加了单链表进行练手,今天是双链表的练手,重点是结构体的创建及添加,删除和遍历。里面搜索算法,排序算法先不使用。双链表使用很广泛,我今天自己建立了双链表结构test3.c,又模拟了linux内核驱动的双链表设计test4.c。二,实战篇我建立的双链表如下,首尾都是NULL,使用起来和单链表差不多,这里面尾插我就要从
- AndroidQ 从app到驱动 第一章 编写Linux内核驱动程序
赵继高
AndroidLinuxlinuxelasticsearch运维
一直以来都想从驱动一直到应用,添加一套新的调用流程,来进一步理解Android系统的架构流程。后面会连续写几篇文章,从Android系统的驱动一直到应用层一步一步添加接口,从驱动到应用。由于目前手头仅有Android9.0的全套代码,因此就直接在Android9.0上面适配了,手头仅有Android10的模拟器代码,因此没有在Android10上面适配。AndroidQ从app到驱动第一章编写Li
- rk3566-Android11 从驱动到 app 第一章添加驱动程序
baron-z
安卓从驱动到app的整体流程梳理驱动开发linuxandroidc语言嵌入式硬件
文章目录一、添加kernel驱动1.驱动编写2.验证驱动作者:baron由于一直从事驱动开发,一直想对整体流程有个了解,刚好看到这篇文章AndroidQ从app到驱动第一章编写Linux内核驱动程序.于是参考这篇文章在rk3566上面完成了从驱动到app的实验验证.文章记录用到的知识点以及遇到的问题和解决方法.整体框架大致分为如下5层.一、添加kernel驱动1.驱动编写驱动部分写一个misc设备
- Linux内核驱动初探(一) LVDS显卡
JGB_sucks
Linux内核驱动linux运维服务器
目录0.前言1.menuconfig2.编译报错与打补丁3.设备树与display-timings4.拓展:RGB240.前言这次的工作主要是把某项目设备上(iMX6DL)的内核版本从4.19.x升级到5.15.32,是作为该项目整个BSP升级计划的一部分。该内核升级工作移交给笔者的时候,其实5.15.32版本的内核已经初步移植好了,可以在设备上跑起来。只是显卡、声卡和网卡还未使能和配置,这便是笔
- Linux系统驱动要如何学习
内核笔记
linux运维服务器
1.你将获得:快速上手Linux操作系统;掌握Linux内核工作原理;掌握Linux内核调试手段;掌握复杂驱动:USB、PCIE、V4L2等这门课程旨在为你打开Linux内核驱动的大门,让你在探索Linux内核的旅程中获得前所未有的收获和体验!2.课程介绍《Linux内核驱动从入门到精通》是通往探索Linux核心运作机制的精彩之旅!我将深入剖析Linux操作系统的引擎,让你洞悉Linux系统的奥秘
- lv12 linux设备树、网卡驱动移植
4IOT
嵌入式开发linuxarm开发linux移植
目录1设备树1.1概念1.2设备树文件1.3设备树语法2Linux内核驱动移植2.1步骤3实验八网卡驱动移植3.1在内核源码的顶层目录下执行如下命令,修改内核配置3.2在设备树中添加网卡的硬件信息3.3修改时钟相关配置(忽略无用的时钟)3.4修改EMMC相关配置3.5编译内核和设备树3.6测试内核和设备树4练习1设备树1.1概念设备树是一种描述硬件信息的数据结构,Linux内核运行时可以通过设备树
- linux内核如何读写ddr,Linux内核驱动之DDR3(二)内存映射
weixin_39554021
linux内核如何读写ddr
一内存映射的概念上文中的内存寻址主要讲的是内存控制器如何去访问DDR3芯片基本存储单元本文中的内存映射主要讲的是如何将内存控制器管理的DDR3芯片地址空间映射到SOC芯片为DDR3预留的地址范围。比如基于ARM的SOC芯片,DDR3的预留地址一般都是0x80000000,如果没有使用内存映射,SOC去访问0x80000000地址时会造成整个系统崩溃,因为访问的地址并不存在实际的内存DDR3控制器有
- Linux驱动开发入门
Ricky_0528
Linux驱动开发linux驱动开发运维
文章目录Linux驱动开发入门什么是内核模块?第一个内核模块main.cMakefile编译和加载模块总结Linux驱动开发入门Linux内核驱动开发是一个高级话题,涉及到对操作系统核心部分的深入理解。这个系列的笔记旨在帮助初学者理解Linux驱动开发的基础知识。我们从最基本的部分开始:创建、编译和加载一个简单的内核模块。什么是内核模块?内核模块是Linux内核的一部分,可以在系统运行时动态加载和
- 系统移植-根文件系统
聪
linux运维服务器
驱动包括驱动的逻辑和硬件的信息逻辑信息放到了驱动的源代码硬件信息放到了设备树里面uimage裸机下没有设备树实验10只对内核的uart进行了配置,内核不会编译成功uboot支持网卡驱动,内核不支持网卡驱动设备树文件:一个开发板表示一个根根节点有很多子节点代表一个硬件Linux内核驱动移植步骤:1.在makemenuconfig界面中选中要安装的驱动2.在设备树中添加/修改相应的设备信息3.重新编译
- imx VPU解码分析5-Linux设备驱动hantro
huntenganw
音视频嵌入式Linuxfpga开发
vpu的使用依赖驱动,驱动名称是hantro,在设备节点中为/dev/mxc_hantro。本文看看其具体的实现。Linux内核驱动源文件在kernel/drivers/mxc下,在hantro库中也发现有这个驱动,文件在hantro/decoder_sw/software/linux/pcidriver。这里以内核中的驱动文件为主,后面再看二者的差别。驱动模块的注册与卸载:module_init
- Linux内核驱动之efi-rtc
多云转晴,适合debug
Linuxkernellinux
Linux内核驱动之efi-rtc1.UEFI与BIOS概述1.1.BIOS概述1.1.1.BIOS缺点:1.1.2.BIOS的启动流程1.2UEFI概述1.2.1BootSevices:1.2.2.RuntimeService:1.2.3.UEFI优点:1.2.4.UEFI启动过程:1.3Legacy和UEFI1.4GPT1.5MBR2.UEFI到操作系统的虚拟地址转换2.1物理地址与虚拟地址2
- Linux设备驱动移植
宇努力学习
系统移植系统移植Linux设备树根文件系统移植
目录一、设备树1.1设备树1.2设备树文件1.3设备树语法1.4Linux内核驱动移植二、网卡驱动2.1在makemenuconfig界面中选中要安装的驱动2.2在设备树中添加/修改相应的设备信息2.3修改时钟2.4修改eMMc2.5编译测试一、设备树1.1设备树设备树是一种描述硬件信息的数据结构,Linux内核运行时可以通过设备树将硬件信息直接传递给Linux内核,而不再需要在Linux内核中包
- linux内核模块编译makefile
(刘*牛)
linux驱动
linux内核可加载模块的makefile在开发linux内核驱动时,免不了要接触到makefile的编写和修改,尽管网上的makefile模板一大堆,做一些简单的修改就能用到自己的项目上,但是,对于这些基础的东西,更应该做到知其然并知其所以然。本篇文章中只讨论linux内核模块编译的makefile,linux内核makefile总览可以参考另一篇博客:linux内核makefile概览本篇博客
- 树莓派基于Linux内核驱动开发详解
星辰~念
树莓派linuxraspberrypi
一、驱动认知首先理解Linux内核框图文件系统认知,Linux内核框图1、什么是驱动linux内核驱动。软件层面上的驱动广义上是指:这一段代码操作了硬件去动,所以这一段代码就叫硬件的驱动程序。狭义上驱动程序就是专指操作系统中用来操控硬件的逻辑方法的部分代码。而我们这里讲的驱动就指的是这个狭义上的驱动。2、Linux驱动的体系架构分离、分层思想驱动的上面是系统调用API驱动的下面是硬件驱动本身的实现
- Linux内核驱动开发(一)
温逗死
linux驱动开发运维
Linux内核初探linux操作系统历史开发模式git分布式管理gitclone获取gitpush提交gitpull更新邮件组mailinglistpatch内核代码组成Makfilearch体系系统架构相关block块设备crypto加密算法drivers驱动(85%)atm通信bluetooth蓝牙firmware:外设fs文件系统include头文件init启动代码ipc进程通信代码kern
- linux内核驱动开发
第二层皮-合肥
驱动开发fpga开发
系列文章目录主要介绍linux系统下的驱动开发文章目录系列文章目录文章目录前言一、驱动是什么?二、主要分类2.读入数据3.代码示例总结前言对设备驱动最通俗的解释就是“驱使硬件设备行动”。驱动与底层硬件直接打交道,按照硬件设备的具体工作方式,读写设备的寄存器,完成设备的轮询、中断处理、DMA通信,进重行物理内存向虚拟内存的映射等,最终让通信设备能收发数据,让显示设备能显示文字和画面,让存储设备能记录
- Linux内核驱动的学习方法
代码改变世界ctw
学习方法linux内核驱动嵌入式arm
学习方法学习Linux内核驱动开发需要掌握一定的操作系统和编程知识,以及深入了解Linux内核的工作原理。以下是学习Linux内核驱动的一般方法:掌握C编程:Linux内核驱动是用C语言编写的,因此你需要熟悉C编程语言。如果你不熟悉C语言,首先学习C编程基础。理解操作系统基础知识:了解操作系统的基本概念,如进程、内存管理、文件系统等,这将有助于你理解Linux内核驱动的工作原理。学习Linux操作
- 五、Linux内核驱动gpio库函数编写
小仇学长
linux单片机运维
Linux内核驱动gpio库函数编写: Linux对于gpio口常用操作,提供了一套很便捷的驱动API,开发者不需要自己去映射寄存器,只需要调用内核提供的标准API函数即可完成对gpio口的方向配置,电平设置,状态读取,转换为外部中断编号等操作。一、gpio库函数API接口:(1)读取gpio电平状态:intgpio_get_value(unsignedintgpio); 返回值:成功:0/1
- 再识proc(linux seq_file 机制)
拱-卒
linuxlinuxapilinux
linux内核驱动模块经常要将一些信息通过/proc文件树暴露给用户,以方便用户直接能从文件系统中读取到驱动程序或者内核的一些状态信息,当这些信息比较短的时候编程比较容易,一旦过长并且用户有lseek相关的操作,那么在内核中编程就就会变得比较困难,需要维护很多状态。为了解决这个问题,linux内核提供了一种seq_file机制来简化编程的复杂性。 我们知道,如果想将一个文件作为从内核传递给用
- vs编译linux内核,VSCode远程开发Linux内核驱动
关山秋艇
vs编译linux内核
受够了Vim的换台电脑就要倒腾N天配置的折磨,受够了Windows下SourceInsight眼花的界面。这些软件虽然很多人在用,但是缺点也不少。然而Linux内核代码非常庞大,编译内核又需要在Linux下进行。有没有一种能在Windows下开发又能在Windows下“编译”的方法呢?答案就是:VSCode!首先介绍一下基本思路:——————————————————————————————-1、使
- 3. 编写linux内核驱动程序(Android 10)
dr0s3
Android驱动内核
本文是在上文2.编译安卓内核(pixel2,Android10)的基础上进行的,虚拟机环境就是上文结束时的环境。1)首先安装vscode,方便编辑代码。linux驱动程序简介2)在Linux系统中,一切皆文件。所以在Linux中,设备也被作为一种文件来操作。而实现这些操作的,就叫做设备驱动。在Linux中,设备被分为三类:-字符设备(如,鼠标,键盘==)-块设备(如硬盘)-网络设备(这里指网络接口
- 一种用于Linux内核驱动开发的Vim环境配置
Leon_George
Linux3.4.2驱动开发vim配置阅读内核ctagscscopetaglist
本文介绍一种用于linux内核驱动开发或linux内核源码阅读的vim环境配置。用到的几款插件包括:cags、cscope和taglist。其中,ctags主要用于查找函数的定义;taglist基于ctags和vim的一款插件,主要用于实现右侧的文件目录导航;cscope主要用于对函数的定义、调用关系等进行查找。下面详细介绍搭建过程:1.安装ctags源码下载:DownloadExuberantC
- 提高微星笔记本Linux下散热性能,MSI-EC 驱动新补丁发布
分享IT资源
linux电脑运维
导读近日消息,今年早些时候,Linux6.4中添加了MSI-EC驱动程序,允许对Linux系统微星笔记本电脑进行更多控制。MSI-EC驱动程序近日迎来新补丁,为微星笔记本带来CoolerBoost功能。该功能允许提高笔记本电脑的风扇转速,以增强散热性能。这是由社区开发的MSI-ECLinux内核驱动补丁,通过sysfs添加了一个简单的“cooler_boost”开关,用于切换是否提高风扇转速。当然
- 【嵌入式Linux内核驱动】内核模块三要素与验证测试
岁月歌者BC
嵌入式#嵌入式Linuxlinux嵌入式内核模块
内核模块Linux内核模块是一种可以动态加载和卸载的软件组件,用于扩展Linux操作系统的功能。Linux内核本身只包含了必要的核心功能,而内核模块则允许开发者在运行时向内核添加新的功能、驱动程序或文件系统支持,而无需重新编译整个内核或重新启动系统。内核模块是一段独立的代码,可以被编译为共享目标文件,并且遵循Linux内核的特定接口和标准。它们可以通过加载器(如insmod或modprobe)动态
- 怎么降低Linux内核驱动开发的风险?
天天进步2015
内核开发1024程序员节嵌入式
降低Linux内核驱动开发的风险是一个重要的目标,因为内核驱动开发可能会对系统的稳定性和安全性产生重要影响。以下是一些降低风险的建议:1.深入了解Linux内核:在开始内核驱动开发之前,建议深入学习Linux内核的工作原理和架构,包括内核模块、设备模型、调度机制等。这有助于更好地理解开发的上下文和潜在风险。2.选择合适的硬件:确保你的驱动开发目标硬件是在Linux内核中得到充分支持的。不同版本的内
- Linux内核驱动开发的步骤
天天进步2015
内核开发1024程序员节
Linux操作系统的内核是一个强大的、开源的操作系统内核,它为各种硬件设备提供支持。为了让硬件设备能够与Linux系统无缝协作,需要编写相应的内核驱动程序。本文将介绍Linux内核驱动开发的一般步骤,以帮助开发者了解如何创建自己的内核驱动。1.准备开发环境在开始Linux内核驱动开发之前,首先需要准备好开发环境。你需要一台运行Linux的计算机,并安装一些必要的工具,如编译器、头文件和内核源代码。
- Linux内核驱动开发的需要掌握的知识点
天天进步2015
内核开发1024程序员节
Linux内核驱动开发是一项复杂而有挑战性的任务,需要掌握多方面的知识和技能。下面是一些需要掌握的关键知识点,这些知识将有助于你成功地开发Linux内核驱动程序。1.Linux内核基础知识首先,了解Linux内核的基础知识至关重要。这包括Linux内核的体系结构、模块系统、进程管理、内存管理等方面的知识。你需要理解Linux内核的工作原理,以便更好地编写与之交互的驱动程序。2.C编程Linux内核
- Linux内核驱动开发:技能、应用和挑战
枪哥玩转嵌入式
单片机编程嵌入式linux
Linux内核驱动开发:技能、应用和挑战 Linux内核驱动开发所需技能包括C语言和汇编语言编程、Linux系统编程接口、内核原理和机制、设备驱动开发和调试技术等。同时,熟悉常用的开发环境和工具如GNU工具链、make、gcc、gdb等也是必要的。Linux内核驱动开发涵盖以下方面:驱动程序框架设计、设备驱动编写、编译、连接和装载、调试和测试。深入理解和实践这些方面能帮助开发者编写高质量
- linux系统服务器下jsp传参数乱码
3213213333332132
javajsplinuxwindowsxml
在一次解决乱码问题中, 发现jsp在windows下用js原生的方法进行编码没有问题,但是到了linux下就有问题, escape,encodeURI,encodeURIComponent等都解决不了问题
但是我想了下既然原生的方法不行,我用el标签的方式对中文参数进行加密解密总该可以吧。于是用了java的java.net.URLDecoder,结果还是乱码,最后在绝望之际,用了下面的方法解决了
- Spring 注解区别以及应用
BlueSkator
spring
1. @Autowired
@Autowired是根据类型进行自动装配的。如果当Spring上下文中存在不止一个UserDao类型的bean,或者不存在UserDao类型的bean,会抛出 BeanCreationException异常,这时可以通过在该属性上再加一个@Qualifier注解来声明唯一的id解决问题。
2. @Qualifier
当spring中存在至少一个匹
- printf和sprintf的应用
dcj3sjt126com
PHPsprintfprintf
<?php
printf('b: %b <br>c: %c <br>d: %d <bf>f: %f', 80,80, 80, 80);
echo '<br />';
printf('%0.2f <br>%+d <br>%0.2f <br>', 8, 8, 1235.456);
printf('th
- config.getInitParameter
171815164
parameter
web.xml
<servlet>
<servlet-name>servlet1</servlet-name>
<jsp-file>/index.jsp</jsp-file>
<init-param>
<param-name>str</param-name>
- Ant标签详解--基础操作
g21121
ant
Ant的一些核心概念:
build.xml:构建文件是以XML 文件来描述的,默认构建文件名为build.xml。 project:每个构建文
- [简单]代码片段_数据合并
53873039oycg
代码
合并规则:删除家长phone为空的记录,若一个家长对应多个孩子,保留一条家长记录,家长id修改为phone,对应关系也要修改。
代码如下:
- java 通信技术
云端月影
Java 远程通信技术
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇blog中我们将来
- string与StringBuilder 性能差距到底有多大
aijuans
之前也看过一些对string与StringBuilder的性能分析,总感觉这个应该对整体性能不会产生多大的影响,所以就一直没有关注这块!
由于学程序初期最先接触的string拼接,所以就一直没改变过自己的习惯!
- 今天碰到 java.util.ConcurrentModificationException 异常
antonyup_2006
java多线程工作IBM
今天改bug,其中有个实现是要对map进行循环,然后有删除操作,代码如下:
Iterator<ListItem> iter = ItemMap.keySet.iterator();
while(iter.hasNext()){
ListItem it = iter.next();
//...一些逻辑操作
ItemMap.remove(it);
}
结果运行报Con
- PL/SQL的类型和JDBC操作数据库
百合不是茶
PL/SQL表标量类型游标PL/SQL记录
PL/SQL的标量类型:
字符,数字,时间,布尔,%type五中类型的
--标量:数据库中预定义类型的变量
--定义一个变长字符串
v_ename varchar2(10);
--定义一个小数,范围 -9999.99~9999.99
v_sal number(6,2);
--定义一个小数并给一个初始值为5.4 :=是pl/sql的赋值号
- Mockito:一个强大的用于 Java 开发的模拟测试框架实例
bijian1013
mockito单元测试
Mockito框架:
Mockito是一个基于MIT协议的开源java测试框架。 Mockito区别于其他模拟框架的地方主要是允许开发者在没有建立“预期”时验证被测系统的行为。对于mock对象的一个评价是测试系统的测
- 精通Oracle10编程SQL(10)处理例外
bijian1013
oracle数据库plsql
/*
*处理例外
*/
--例外简介
--处理例外-传递例外
declare
v_ename emp.ename%TYPE;
begin
SELECT ename INTO v_ename FROM emp
where empno=&no;
dbms_output.put_line('雇员名:'||v_ename);
exceptio
- 【Java】Java执行远程机器上Linux命令
bit1129
linux命令
Java使用ethz通过ssh2执行远程机器Linux上命令,
封装定义Linux机器的环境信息
package com.tom;
import java.io.File;
public class Env {
private String hostaddr; //Linux机器的IP地址
private Integer po
- java通信之Socket通信基础
白糖_
javasocket网络协议
正处于网络环境下的两个程序,它们之间通过一个交互的连接来实现数据通信。每一个连接的通信端叫做一个Socket。一个完整的Socket通信程序应该包含以下几个步骤:
①创建Socket;
②打开连接到Socket的输入输出流;
④按照一定的协议对Socket进行读写操作;
④关闭Socket。
Socket通信分两部分:服务器端和客户端。服务器端必须优先启动,然后等待soc
- angular.bind
boyitech
AngularJSangular.bindAngularJS APIbind
angular.bind 描述: 上下文,函数以及参数动态绑定,返回值为绑定之后的函数. 其中args是可选的动态参数,self在fn中使用this调用。 使用方法: angular.bind(se
- java-13个坏人和13个好人站成一圈,数到7就从圈里面踢出一个来,要求把所有坏人都给踢出来,所有好人都留在圈里。请找出初始时坏人站的位置。
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class KickOutBadGuys {
/**
* 题目:13个坏人和13个好人站成一圈,数到7就从圈里面踢出一个来,要求把所有坏人都给踢出来,所有好人都留在圈里。请找出初始时坏人站的位置。
* Maybe you can find out
- Redis.conf配置文件及相关项说明(自查备用)
Kai_Ge
redis
Redis.conf配置文件及相关项说明
# Redis configuration file example
# Note on units: when memory size is needed, it is possible to specifiy
# it in the usual form of 1k 5GB 4M and so forth:
#
- [强人工智能]实现大规模拓扑分析是实现强人工智能的前奏
comsci
人工智能
真不好意思,各位朋友...博客再次更新...
节点数量太少,网络的分析和处理能力肯定不足,在面对机器人控制的需求方面,显得力不从心....
但是,节点数太多,对拓扑数据处理的要求又很高,设计目标也很高,实现起来难度颇大...
- 记录一些常用的函数
dai_lm
java
public static String convertInputStreamToString(InputStream is) {
StringBuilder result = new StringBuilder();
if (is != null)
try {
InputStreamReader inputReader = new InputStreamRead
- Hadoop中小规模集群的并行计算缺陷
datamachine
mapreducehadoop并行计算
注:写这篇文章的初衷是因为Hadoop炒得有点太热,很多用户现有数据规模并不适用于Hadoop,但迫于扩容压力和去IOE(Hadoop的廉价扩展的确非常有吸引力)而尝试。尝试永远是件正确的事儿,但有时候不用太突进,可以调优或调需求,发挥现有系统的最大效用为上策。
-----------------------------------------------------------------
- 小学4年级英语单词背诵第二课
dcj3sjt126com
englishword
egg 蛋
twenty 二十
any 任何
well 健康的,好
twelve 十二
farm 农场
every 每一个
back 向后,回
fast 快速的
whose 谁的
much 许多
flower 花
watch 手表
very 非常,很
sport 运动
Chinese 中国的
- 自己实践了github的webhooks, linux上面的权限需要注意
dcj3sjt126com
githubwebhook
环境, 阿里云服务器
1. 本地创建项目, push到github服务器上面
2. 生成www用户的密钥
sudo -u www ssh-keygen -t rsa -C "
[email protected]"
3. 将密钥添加到github帐号的SSH_KEYS里面
3. 用www用户执行克隆, 源使
- Java冒泡排序
蕃薯耀
冒泡排序Java冒泡排序Java排序
冒泡排序
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年6月23日 10:40:14 星期二
http://fanshuyao.iteye.com/
- Excle读取数据转换为实体List【基于apache-poi】
hanqunfeng
apache
1.依赖apache-poi
2.支持xls和xlsx
3.支持按属性名称绑定数据值
4.支持从指定行、列开始读取
5.支持同时读取多个sheet
6.具体使用方式参见org.cpframework.utils.excelreader.CP_ExcelReaderUtilTest.java
比如:
Str
- 3个处于草稿阶段的Javascript API介绍
jackyrong
JavaScript
原文:
http://www.sitepoint.com/3-new-javascript-apis-may-want-follow/?utm_source=html5weekly&utm_medium=email
本文中,介绍3个仍然处于草稿阶段,但应该值得关注的Javascript API.
1) Web Alarm API
&
- 6个创建Web应用程序的高效PHP框架
lampcy
Web框架PHP
以下是创建Web应用程序的PHP框架,有coder bay网站整理推荐:
1. CakePHP
CakePHP是一个PHP快速开发框架,它提供了一个用于开发、维护和部署应用程序的可扩展体系。CakePHP使用了众所周知的设计模式,如MVC和ORM,降低了开发成本,并减少了开发人员写代码的工作量。
2. CodeIgniter
CodeIgniter是一个非常小且功能强大的PHP框架,适合需
- 评"救市后中国股市新乱象泛起"谣言
nannan408
首先来看百度百家一位易姓作者的新闻:
三个多星期来股市持续暴跌,跌得投资者及上市公司都处于极度的恐慌和焦虑中,都要寻找自保及规避风险的方式。面对股市之危机,政府突然进入市场救市,希望以此来重建市场信心,以此来扭转股市持续暴跌的预期。而政府进入市场后,由于市场运作方式发生了巨大变化,投资者及上市公司为了自保及为了应对这种变化,中国股市新的乱象也自然产生。
首先,中国股市这两天
- 页面全屏遮罩的实现 方式
Rainbow702
htmlcss遮罩mask
之前做了一个页面,在点击了某个按钮之后,要求页面出现一个全屏遮罩,一开始使用了position:absolute来实现的。当时因为画面大小是固定的,不可以resize的,所以,没有发现问题。
最近用了同样的做法做了一个遮罩,但是画面是可以进行resize的,所以就发现了一个问题,当画面被reisze到浏览器出现了滚动条的时候,就发现,用absolute 的做法是有问题的。后来改成fixed定位就
- 关于angularjs的点滴
tntxia
AngularJS
angular是一个新兴的JS框架,和以往的框架不同的事,Angularjs更注重于js的建模,管理,同时也提供大量的组件帮助用户组建商业化程序,是一种值得研究的JS框架。
Angularjs使我们可以使用MVC的模式来写JS。Angularjs现在由谷歌来维护。
这里我们来简单的探讨一下它的应用。
首先使用Angularjs我
- Nutz--->>反复新建ioc容器的后果
xiaoxiao1992428
DAOmvcIOCnutz
问题:
public class DaoZ {
public static Dao dao() { // 每当需要使用dao的时候就取一次
Ioc ioc = new NutIoc(new JsonLoader("dao.js"));
return ioc.get(