- Linux驱动开发——(五)内核中断
KarudoLee
Linux设备驱动开发linux驱动开发
目录一、内核中断简介1.1中断号1.2中断API函数1.2.1irq_of_parse_and_map函数1.2.2gpio_to_irq函数1.2.3request_irq函数1.2.4free_irq函数1.2.5中断处理函数1.2.6中断使能与禁止函数二、上半部(顶半部)与下半部(底半部)2.1上半部与下半部简介2.2软中断2.3tasklet2.4工作队列三、驱动代码一、内核中断简介1.1
- Linux驱动开发IO操作之阻塞与非阻塞
暗夜之眼007
Linux驱动驱动开发
阻塞IO当应用程序通过read读取或write写入设备文件的某些数据时,就会调用驱动程序的read或者write函数,此时可能会遇到没有数据可读或者写满的情况,这时如果驱动程序会进入睡眠,当有数据可读或者可写的时候唤醒再返回,我们称这种操作为阻塞IO。下图是阻塞式IO访问示意图:阻塞IO相关函数init_waitqueue_head函数init_waitqueue_head是Linux内核中用于
- Linux驱动开发之中断处理
暗夜之眼007
Linux驱动驱动开发
中断处理介绍在驱动程序中我们不乏使用中断机制,中断属于异常的一种,一般用于打断当前线程,进而去执行比较紧急的事件,当紧急事件处理完成再回来继续执行前面线程工作的一种机制。中断的应用在驱动程序中比较常见,比如按键驱动、触摸屏驱动都用到中断机制。中断还有底半部机制,用来处理耗时较长的任务,可以提高驱动执行效率。中断的底半部有多种实现方式比如tasklet机制与工作队列机制(workqueue)以及中断
- Linux驱动学习--V4L2框架
文艺小少年
linux运维服务器V4L2
一、引言V4L2是Videoforlinux2的简称,为linux中关于视频设备的内核驱动。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video0下。V4L2在设计时,是要支持很多广泛的设备的,它们之中只有一部分在本质上是真正的视频设备。主要有以下几种几种接口视频采集接口(videocaptureinterface):这种应用的设备可以是高频头或者摄
- linux驱动开发-(expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘chrdevbase_init’ 5 | static)
加点油。。。。
Linuxlinux驱动开发Ubuntu
最近刚开始接触Linux驱动,根据正点原子的视频教程编译“第一个Linux驱动”,但是make编译后出现:expected‘=’,‘,’,‘;’,‘asm’or‘__attribute__’before‘chrdevbase_init’5|staticint__initchrdevbase_init(void)一个很低级的错误:Makefile文件中:obj-m:=chrdevbase.o写成了o
- Linux驱动开发(1.基础创建)
Th!nker
linux驱动开发
序言:从高层逻辑到底层硬件的回归在当今的软件开发中,我们习惯于用高级语言构建抽象层——通过框架、库和云服务快速实现功能。这种“软逻辑”的便利性让开发效率倍增,却也逐渐模糊了我们对计算机本质的认知:一切代码终将落地为硬件行为。BjarneStroustrup(C++之父)曾言:“TheWebisafleaonthetailofthedogcalledIT.”(万维网不过是信息技术狗尾巴上的一只跳蚤)
- 正点原子imx6ull-mini-Linux驱动之Linux I2C 驱动实验(21)
NEWEVA__zzera22
imx6ulllinux驱动编写2024年linux
I2C是很常用的一个串行通信接口,用于连接各种外设、传感器等器件,在裸机篇已经对I.MX6U的I2C接口做了详细的讲解。本章我们来学习一下如何在Linux下开发I2C接口器件驱动,重点是学习Linux下的I2C驱动框架,按照指定的框架去编写I2C设备驱动。本章同样以I.MX6U-ALPHA开发板上的AP3216C这个三合一环境光传感器为例,通过AP3216C讲解一下如何编写Linux下的I2C设备
- python和单片机能一块学吗_现在学单片机还有前途吗
weixin_39927288
python和单片机能一块学吗
0培训班现状观察如今的软件职业培训行业发展如火如荼,变着花样推出各种前端定向就业班,Python就业班,UI设计班等培训课程,这样的广告更是铺天盖地,席卷整个网络世界。它给很多人的感觉就是做程序员真赚钱。做前端、互联网的程序员更赚钱,我要立刻报名改变自身的处境,哪怕以一头如黑珍珠般亮丽的秀发为代价。而我从事的单片机行业,前几年的培训风还是吹起了浪,似于Linux驱动开发,安卓底层开发等,但是这阵风
- linux驱动开发 编译内核模块生成ko驱动文件
嵌入式_笔记
Linux驱动linux
1.加载内核简介Linux内核的整体架构本就非常庞大,其包含的组件也非常多。而我们怎样把需要的部分都包含在内核中呢?一种方法是把所有需要的功能都编译到Linux内核中。这会导致两个问题,一是生成的内核会很大,二是如果我们要在现有的内核中新增或删除功能,将不得不重新编译内核。Linux提供了这样的机制,这种机制被称为模块(Module)。可使得编译出的内核本身并不需要包含所有功能,而在这些功能需要被
- linxu驱动入门基础课一(GPIO控制LED灯)基于RK3568
石头嵌入式
RK35X8RK3568linux驱动GPIOLED设备树pinctrl
虽然GPIO控制LED是最简单的linux驱动,但是是初学者入门必须跨过的门槛,里面很多基础知识点,有GPIO的控制原理,字符设备驱动,设备树,gpio和pinctrl子系统,内核模块原理等等,这些知识点非常重要,都是linux驱动入门的基础。下面我们就可以一步步来写一个GPIO控制LED的驱动。在RK3568平台上从零开始编写LED驱动,可以按照以下步骤进行:1.原理图led灯利用I2C3_SD
- 2024年linux——环境基础开发工具使用_gcc test file(4),2024年最新程序设计+Linux运维+Web+数据库+框架+分布式
2401_83740189
程序员运维linux前端
最全的Linux教程,Linux从入门到精通======================linux从入门到精通(第2版)Linux系统移植Linux驱动开发入门与实战LINUX系统移植第2版Linux开源网络全栈详解从DPDK到OpenFlow第一份《Linux从入门到精通》466页====================内容简介====本书是获得了很多读者好评的Linux经典畅销书**《Linu
- Linux驱动开发: USB驱动开发
DS小龙哥
Linux系统编程与驱动开发linuxUSB驱动嵌入式
一、USB简介1.1什么是USB?USB是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品,USB就是简写,中文叫通用串行总线。最早出现在1995年,伴随着奔腾机发展而来。自微软在Windows98中加入对USB接口的支持后,USB接口才推广开来,USB设备也日渐增多,如数码相机、摄像头、扫描仪、游戏杆、打印机、键盘、鼠标等
- Linux驱动:关于Linux权限的概念(我觉得很全面)
随便取个六字
linux运维服务器
本文仅作为学习,如果有错误欢迎指正,有雷同算我抄他,我认错如果涉及侵权立马删除全文近4000字一、Linux用户与权限管理在Linux系统中,用户分为两种主要类型root(超级用户):具有系统中最高的权限,可以执行任何操作,不受系统限制。提示符:当以root用户登录时,命令行的提示符通常是#,表示你有超级用户权限。普通用户:具有有限的权限,不能随意操作系统关键文件,主要用来执行日常任务。提示符:普
- Linux驱动开发13个实用案例
linux驱动
以下为你提供20个Linux驱动开发的实用案例,涵盖字符设备驱动、块设备驱动、网络设备驱动等不同类型,包含应用场景、技巧、代码示例和操作步骤。先赞再看后评论,腰缠万贯财进门。1.简单字符设备驱动应用场景用于实现基本的设备文件读写操作,例如模拟一个简单的传感器设备。技巧使用cdev结构体来注册字符设备,实现file_operations结构体中的读写函数。代码示例#include#include#i
- 嵌入式LINUX驱动开发(三)-设备树驱动led
Lllongroad
linux驱动开发运维
1)添加pinctrl节点使用开发板自带的LED灯进行操作,打开dts文件,在iomuxc_snvs下创建一个“pinctrl_led的子节点”```pinctrl_leds:ledgrp{fsl,pins=;};```2)添加LED设备节点在根节点"/"创建LED灯节点,节点名称为**"gpioled"**,节点内容如下:```gpioled{#address-cells=;#size-cell
- 闪存驱动器_仅使用闪存驱动器即可测试Linux
cumo3681
网络javapythonlinux操作系统
闪存驱动器也许您听说过Linux,并对它感兴趣。如此有趣,您想尝试一下。但是您可能不知道从哪里开始。您可能已经在网上做了一些研究,并且遇到了双重引导和虚拟化等术语。这些术语对您可能毫无意义,而且您肯定还不准备牺牲当前正在尝试Linux的操作系统。所以,你可以做什么?如果周围有USB闪存驱动器,则可以通过创建实时USB来测试Linux驱动器。这是一个USB闪存驱动器,其中包含可以从该闪存驱动器启动的
- Linux 驱动开发之WIFI设备分析2
ListQueue
Linux内核子系统linux驱动开发运维
Linux驱动开发之WIFI设备分析2(基于Linux6.6)---简要介绍一、什么是wifi模块WiFi模块是一种用于提供无线局域网(WLAN)连接的硬件组件,它允许设备通过Wi-Fi网络进行通信。WiFi模块通常集成了WiFi功能,使得嵌入式设备或物联网(IoT)设备能够与互联网或本地局域网(LAN)进行无线数据传输。1.WiFi模块的组成部分WiFi模块通常包含以下几个主要组成部分:无线通信
- 国产化板卡设计原理图:2288-基于FMC接口的JFM7K325T PCIeX4 3U VPX接口卡
hexiaoyan827
3UVPXFMC子卡JFM7K325T板卡软件无线电处理平台数据采集IO卡
基于FMC接口的JFM7K325TPCIeX43UVPX接口卡一、板卡概述标准VPX3U板卡,基于JFM7K325T芯片,pin_to_pin兼容FPGAXC7K410T-2FFG900,支持PCIeX8、64bitDDR3容量2GByte,HPC的FMC连接器,板卡支持各种接口输入,软件支持windows,Linux驱动。可应用于高性能计算,频域算法,如与FFT的加速等;配合AD,DAFMC子卡
- Linux驱动简介及分类
ora___
嵌入式ARMlinux驱动字符设备驱动块设备驱动网络设备驱动
1.Linux驱动简介在介绍Linux驱动之前,我们首先来看Linux系统分层关系:图1-1Linux系统分层关系Linux驱动主要具有如下几点作用:系统调用是应用程序和内核之间的接口,驱动程序是内核和硬件之间的接口;驱动程序接受上层软件(应用程序、内核)的请求,完成对硬件的操作,屏蔽了硬件的细节;驱动程序将硬件设备抽象成一个文件,应用程序操作文件即操作硬件,符合Linux“一切皆文件”的思想。2
- 嵌入式Linux驱动学习_简单了解Cortex-A7 MPCore架构
Les maths
linux运维服务器
Cortex-A7MPcore处理器支持1~4核,通常是和Cortex-A15组成big.LITTLE架构的,Cortex-A15作为大核负责高性能运算,比如玩游戏啥的,Cortex-A7负责普通应用,因为CortexA7省电。Cortex-A7本身性能也不弱,不要看它叫做Cortex-A7但是它可是比Cortex-A8性能要强大,而且更省电。Cortex-A7MPCore支持在一个处理器上选配1
- 嵌入式知识点总结 Linux驱动 (四)-中断-软硬中断-上下半部-中断响应
7yewh
【嵌入式知识点总结】linuxmcustm32物联网嵌入式硬件驱动开发硬件工程
针对于嵌入式软件杂乱的知识点总结起来,提供给读者学习复习对下述内容的强化。目录1.硬中断,软中断是什么?有什么区别?2.中断为什么要区分上半部和下半部?3.中断下半部一般如何实现?4.linux中断的响应执行流程?中断的申请何时执行(何时执行中断处理函数)?1.硬中断,软中断是什么?有什么区别?硬中断:由硬件设备触发,响应时间要求非常快,通常用于紧急事件的处理。软中断:由软件(操作系统)触发,通常
- Linux驱动开发—IIO子系统
飞奔的小蜗牛~
Linux驱动驱动开发
一、IIO子系统简介IIO全称为IndustrialI/O,该驱动框架常常用于ADC/DAC传感器,如陀螺仪、加速度计、电压/电流测量芯片、光照传感器、压力传感器等,他们通过内部ADC将原始的模拟数据转换为数字量,然后通过其他的通信接口,如IIC、SPI等将数据传递给SOC,IIO驱动框架就是服务于这些数据的。IIO驱动框架基于设备和通道架构。设备代表传感器芯片本身,位于整个层次结构的顶层;通道代
- Linux驱动设备--IIO驱动
玮玮豆豆
linuxlinuxc语言ubuntu
一、简介加速度计、陀螺仪、电流/电压测量芯片、光传感器、压力传感器等都属于IIO系列设备IIO模型基于设备和通道架构:设备代表芯片本身,它位于整个层次结构的顶层通道表示设备的单个采集线,设备可能有一个或多个通道。例如,加速度计是具有3个通道的设备,每个轴(X、Y和Z)都有一个通道。用户空间与IIO驱动程序进行交互的两种方式:/sys/bus/iio/iio:deviceX:代表传感器及其通道/de
- 基于ARM的智能灯光控制系统(1)项目介绍
国产化创客
嵌入式项目Linux应用Linux驱动armhtmlc语言linux驱动网络编程
基于ARM的智能灯光控制系统(1)项目介绍项目实践说明:本实践项目是嵌入式开发培训(阶段2)底层系统开发视频课程的综合实践项目。项目开发使用的技术知识点包括:C语言编程,文件编程,串口编程,网络编程,多线程编程,进程间通信,嵌入式交叉开发,嵌入式Web服务器开发,HTML编程,Linux驱动程序开发。嵌入式开发培训(阶段2)底层系统开发视频地址智能灯光控制系统视频地址系统功能智能灯光系统是对灯光进
- icm20608 linux驱动 regmap spi的方式读写寄存器
Embedded-Alien
linuxkernellinuxdriverarmlinux
开发版芯片imx6ull驱动测量了系统调用read10000次的时间验证了开启硬件浮点和不开启硬件浮点的运算浮点数时间基本相同1.驱动代码#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#in
- linux驱动开发详解 光盘,LINUX设备驱动开发详解(附光盘)
何谨
linux驱动开发详解光盘
摘要:本书全面而详细地讲解了Linux设备驱动开发中涉及的理论以及多种设备驱动的框架.本书将字符设备,块设备,TTY设备,I2C设备,LCD设备,Flash设备,网络设备,音频设备,USB设备,PCI设备等复杂设备驱动的框架作为核心内容,讲解了大量Linux驱动开发的大量实例.并且书中还对Linux设备驱动开发环境建设,驱动的调试,驱动的移植等进行了讲解.在讲解驱动的同时,本书还给出了用户空间的验
- Linux驱动学习--DRM框架介绍及基于DRM框架的HDMI开发
文艺小少年
linuxandroidhdmi驱动程序drm
目录一、引言二、DRM框架介绍三、DRM框架的使用四、源码分析一、引言Android4开始,hdmi等视频输出框架开始由framebuffer想DRM迁移,今天我们就来简单分析下DRM框架二、DRM框架介绍DRM是一个内核级的设备驱动,具体的说是显卡驱动的一种架构源码位置因为Linuxkernel内部接口和数据结构可能随时发生变化,所以DRI模块要针对特定的内核版本进行编译。kernel2.6.2
- Linux驱动-字符设备驱动
Vis-Lin
Linux驱动linux驱动开发运维单片机物联网
Linux驱动-字符设备驱动前言一、预备知识1、file_operations结构体2、地址映射二、涉及的API函数1、字符设备驱动1.1、设备号1.1.1、register_chrdev_region函数1.1.2、alloc_chrdev_region函数1.1.3、unregister_chrdev_region函数1.2、字符设备1.2.1、cdev_init函数1.2.2、dev_add
- Linux驱动开发-字符设备驱动开发
可能只会写BUG
linuxlinux驱动开发c语言linux驱动开发运维
linux驱动开发1.驱动程序的类型2.驱动开发流程字符设备驱动1.基本概念2.字符设备驱动的基本结构架构字符设备驱动开发中常用的API示例以下代码加入了设备类和设备实例的创建linux驱动开发1.驱动程序的类型在Linux中,驱动程序主要有以下几种类型:字符设备驱动:处理字节流的设备,如串口、键盘等。它们通过字符设备接口(如/dev/tty)与用户空间进行交互。块设备驱动:处理块存储设备,如硬盘
- shell 笔记_s1=abc,s2=def,[-z‘‘‘]&;&;echo‘$s1‘ echo‘$s2‘的输出是什么
2024云技术
运维linux面试
最全的Linux教程,Linux从入门到精通======================linux从入门到精通(第2版)Linux系统移植Linux驱动开发入门与实战LINUX系统移植第2版Linux开源网络全栈详解从DPDK到OpenFlow第一份《Linux从入门到精通》466页====================内容简介====本书是获得了很多读者好评的Linux经典畅销书**《Linu
- springmvc 下 freemarker页面枚举的遍历输出
杨白白
enumfreemarker
spring mvc freemarker 中遍历枚举
1枚举类型有一个本地方法叫values(),这个方法可以直接返回枚举数组。所以可以利用这个遍历。
enum
public enum BooleanEnum {
TRUE(Boolean.TRUE, "是"), FALSE(Boolean.FALSE, "否");
- 实习简要总结
byalias
工作
来白虹不知不觉中已经一个多月了,因为项目还在需求分析及项目架构阶段,自己在这段
时间都是在学习相关技术知识,现在对这段时间的工作及学习情况做一个总结:
(1)工作技能方面
大体分为两个阶段,Java Web 基础阶段和Java EE阶段
1)Java Web阶段
在这个阶段,自己主要着重学习了 JSP, Servlet, JDBC, MySQL,这些知识的核心点都过
了一遍,也
- Quartz——DateIntervalTrigger触发器
eksliang
quartz
转载请出自出处:http://eksliang.iteye.com/blog/2208559 一.概述
simpleTrigger 内部实现机制是通过计算间隔时间来计算下次的执行时间,这就导致他有不适合调度的定时任务。例如我们想每天的 1:00AM 执行任务,如果使用 SimpleTrigger,间隔时间就是一天。注意这里就会有一个问题,即当有 misfired 的任务并且恢复执行时,该执行时间
- Unix快捷键
18289753290
unixUnix;快捷键;
复制,删除,粘贴:
dd:删除光标所在的行 &nbs
- 获取Android设备屏幕的相关参数
酷的飞上天空
android
包含屏幕的分辨率 以及 屏幕宽度的最大dp 高度最大dp
TextView text = (TextView)findViewById(R.id.text);
DisplayMetrics dm = new DisplayMetrics();
text.append("getResources().ge
- 要做物联网?先保护好你的数据
蓝儿唯美
数据
根据Beecham Research的说法,那些在行业中希望利用物联网的关键领域需要提供更好的安全性。
在Beecham的物联网安全威胁图谱上,展示了那些可能产生内外部攻击并且需要通过快速发展的物联网行业加以解决的关键领域。
Beecham Research的技术主管Jon Howes说:“之所以我们目前还没有看到与物联网相关的严重安全事件,是因为目前还没有在大型客户和企业应用中进行部署,也就
- Java取模(求余)运算
随便小屋
java
整数之间的取模求余运算很好求,但几乎没有遇到过对负数进行取模求余,直接看下面代码:
/**
*
* @author Logic
*
*/
public class Test {
public static void main(String[] args) {
// TODO A
- SQL注入介绍
aijuans
sql注入
二、SQL注入范例
这里我们根据用户登录页面
<form action="" > 用户名:<input type="text" name="username"><br/> 密 码:<input type="password" name="passwor
- 优雅代码风格
aoyouzi
代码
总结了几点关于优雅代码风格的描述:
代码简单:不隐藏设计者的意图,抽象干净利落,控制语句直截了当。
接口清晰:类型接口表现力直白,字面表达含义,API 相互呼应以增强可测试性。
依赖项少:依赖关系越少越好,依赖少证明内聚程度高,低耦合利于自动测试,便于重构。
没有重复:重复代码意味着某些概念或想法没有在代码中良好的体现,及时重构消除重复。
战术分层:代码分层清晰,隔离明确,
- 布尔数组
百合不是茶
java布尔数组
androi中提到了布尔数组;
布尔数组默认的是false, 并且只会打印false或者是true
布尔数组的例子; 根据字符数组创建布尔数组
char[] c = {'p','u','b','l','i','c'};
//根据字符数组的长度创建布尔数组的个数
boolean[] b = new bool
- web.xml之welcome-file-list、error-page
bijian1013
javaweb.xmlservleterror-page
welcome-file-list
1.定义:
<welcome-file-list>
<welcome-file>login.jsp</welcome>
</welcome-file-list>
2.作用:用来指定WEB应用首页名称。
error-page1.定义:
<error-page&g
- richfaces 4 fileUpload组件删除上传的文件
sunjing
clearRichfaces 4fileupload
页面代码
<h:form id="fileForm"> <rich:
- 技术文章备忘
bit1129
技术文章
Zookeeper
http://wenku.baidu.com/view/bab171ffaef8941ea76e05b8.html
http://wenku.baidu.com/link?url=8thAIwFTnPh2KL2b0p1V7XSgmF9ZEFgw4V_MkIpA9j8BX2rDQMPgK5l3wcs9oBTxeekOnm5P3BK8c6K2DWynq9nfUCkRlTt9uV
- org.hibernate.hql.ast.QuerySyntaxException: unexpected token: on near line 1解决方案
白糖_
Hibernate
文章摘自:http://blog.csdn.net/yangwawa19870921/article/details/7553181
在编写HQL时,可能会出现这种代码:
select a.name,b.age from TableA a left join TableB b on a.id=b.id
如果这是HQL,那么这段代码就是错误的,因为HQL不支持
- sqlserver按照字段内容进行排序
bozch
按照内容排序
在做项目的时候,遇到了这样的一个需求:
从数据库中取出的数据集,首先要将某个数据或者多个数据按照地段内容放到前面显示,例如:从学生表中取出姓李的放到数据集的前面;
select * fro
- 编程珠玑-第一章-位图排序
bylijinnan
java编程珠玑
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Random;
public class BitMapSearch {
- Java关于==和equals
chenbowen00
java
关于==和equals概念其实很简单,一个是比较内存地址是否相同,一个比较的是值内容是否相同。虽然理解上不难,但是有时存在一些理解误区,如下情况:
1、
String a = "aaa";
a=="aaa";
==> true
2、
new String("aaa")==new String("aaa
- [IT与资本]软件行业需对外界投资热情保持警惕
comsci
it
我还是那个看法,软件行业需要增强内生动力,尽量依靠自有资金和营业收入来进行经营,避免在资本市场上经受各种不同类型的风险,为企业自主研发核心技术和产品提供稳定,温和的外部环境...
如果我们在自己尚未掌握核心技术之前,企图依靠上市来筹集资金,然后使劲往某个领域砸钱,然
- oracle 数据块结构
daizj
oracle块数据块块结构行目录
oracle 数据块是数据库存储的最小单位,一般为操作系统块的N倍。其结构为:
块头--〉空行--〉数据,其实际为纵行结构。
块的标准大小由初始化参数DB_BLOCK_SIZE指定。具有标准大小的块称为标准块(Standard Block)。块的大小和标准块的大小不同的块叫非标准块(Nonstandard Block)。同一数据库中,Oracle9i及以上版本支持同一数据库中同时使用标
- github上一些觉得对自己工作有用的项目收集
dengkane
github
github上一些觉得对自己工作有用的项目收集
技能类
markdown语法中文说明
回到顶部
全文检索
elasticsearch
bigdesk elasticsearch管理插件
回到顶部
nosql
mapdb 支持亿级别map, list, 支持事务. 可考虑做为缓存使用
C
- 初二上学期难记单词二
dcj3sjt126com
englishword
dangerous 危险的
panda 熊猫
lion 狮子
elephant 象
monkey 猴子
tiger 老虎
deer 鹿
snake 蛇
rabbit 兔子
duck 鸭
horse 马
forest 森林
fall 跌倒;落下
climb 爬;攀登
finish 完成;结束
cinema 电影院;电影
seafood 海鲜;海产食品
bank 银行
- 8、mysql外键(FOREIGN KEY)的简单使用
dcj3sjt126com
mysql
一、基本概念
1、MySQL中“键”和“索引”的定义相同,所以外键和主键一样也是索引的一种。不同的是MySQL会自动为所有表的主键进行索引,但是外键字段必须由用户进行明确的索引。用于外键关系的字段必须在所有的参照表中进行明确地索引,InnoDB不能自动地创建索引。
2、外键可以是一对一的,一个表的记录只能与另一个表的一条记录连接,或者是一对多的,一个表的记录与另一个表的多条记录连接。
3、如
- java循环标签 Foreach
shuizhaosi888
标签java循环foreach
1. 简单的for循环
public static void main(String[] args) {
for (int i = 1, y = i + 10; i < 5 && y < 12; i++, y = i * 2) {
System.err.println("i=" + i + " y="
- Spring Security(05)——异常信息本地化
234390216
exceptionSpring Security异常信息本地化
异常信息本地化
Spring Security支持将展现给终端用户看的异常信息本地化,这些信息包括认证失败、访问被拒绝等。而对于展现给开发者看的异常信息和日志信息(如配置错误)则是不能够进行本地化的,它们是以英文硬编码在Spring Security的代码中的。在Spring-Security-core-x
- DUBBO架构服务端告警Failed to send message Response
javamingtingzhao
架构DUBBO
废话不多说,警告日志如下,不知道有哪位遇到过,此异常在服务端抛出(服务器启动第一次运行会有这个警告),后续运行没问题,找了好久真心不知道哪里错了。
WARN 2015-07-18 22:31:15,272 com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(84)
- JS中Date对象中几个用法
leeqq
JavaScriptDate最后一天
近来工作中遇到这样的两个需求
1. 给个Date对象,找出该时间所在月的第一天和最后一天
2. 给个Date对象,找出该时间所在周的第一天和最后一天
需求1中的找月第一天很简单,我记得api中有setDate方法可以使用
使用setDate方法前,先看看getDate
var date = new Date();
console.log(date);
// Sat J
- MFC中使用ado技术操作数据库
你不认识的休道人
sqlmfc
1.在stdafx.h中导入ado动态链接库
#import"C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","end")2.在CTestApp文件的InitInstance()函数中domodal之前写::CoIniti
- Android Studio加速
rensanning
android studio
Android Studio慢、吃内存!启动时后会立即通过Gradle来sync & build工程。
(1)设置Android Studio
a) 禁用插件
File -> Settings... Plugins 去掉一些没有用的插件。
比如:Git Integration、GitHub、Google Cloud Testing、Google Cloud
- 各数据库的批量Update操作
tomcat_oracle
javaoraclesqlmysqlsqlite
MyBatis的update元素的用法与insert元素基本相同,因此本篇不打算重复了。本篇仅记录批量update操作的
sql语句,懂得SQL语句,那么MyBatis部分的操作就简单了。 注意:下列批量更新语句都是作为一个事务整体执行,要不全部成功,要不全部回滚。
MSSQL的SQL语句
WITH R AS(
SELECT 'John' as name, 18 as
- html禁止清除input文本输入缓存
xp9802
input
多数浏览器默认会缓存input的值,只有使用ctl+F5强制刷新的才可以清除缓存记录。如果不想让浏览器缓存input的值,有2种方法:
方法一: 在不想使用缓存的input中添加 autocomplete="off"; eg: <input type="text" autocomplete="off" name