- stm32之GPIO寄存器
luofengmacheng
嵌入式stm32嵌入式硬件单片机
文章目录1背景2GPIO寄存器的类型2.1端口配置寄存器2.2设置/清除寄存器和位清除寄存器3总结1背景C51单片机在进行数据的输入输出时,是直接操作与外部引脚关联的内部寄存器,例如,当设置P2_1为0时,就是将外部引脚的P21引脚设置为低电平,当读取P2_1时,就是读取P21的电平。与之类似,stm32芯片内部也有很多用于输入输出的寄存器,这些寄存器也是用于操作外部引脚,但是比C51单片机复杂很
- STM32 消息队列处理串口发送的报文
S安东尼
stm32嵌入式硬件单片机
文章目录概要整体流程具体实现小结概要本文写自正在做的项目,需要使用串口2处理EasyModBus传输的报文,原本采用中断处理的方式,在屏幕,按键,感应器同时传输下,产生了丢包现象,偶发性的死机问题,所以改用消息队列进行缓存,逐条处理。整体流程创建队列串口中断接收报文,简易判别添加入队列解包任务,从队列中取出报文解包做相应处理具体实现创建队列结构体#defineQUEUE_LENGTH20struc
- freertos3
地中海的小岛
java开发语言
CMSIS的作用:1.提供了接口标准,便于移植和管理。2.提供了很多第三方固件,便于业务开发。3.因为统一了接口,使底层硬件和上层应用耦合降低,更换硬件平台时只需开发人员改变底层硬件的驱动即可,上层业务应用程序无需做改动。创建任务函数:osThreadId_tosThreadNew(osThreadFunc_tfunc,void*argument,constosThreadAttr_t*attr)
- 【智能家居入门2】(MQTT协议、微信小程序、STM32、ONENET云平台)
geeoni
智能家居微信小程序stm32
此篇智能家居入门与前两篇类似,但是是使用MQTT协议接入ONENET云平台,实现微信小程序与下位机的通信,这里相较于使用http协议的那两篇博客,在主程序中添加了独立看门狗防止程序卡死和服务器掉线问题。后续还有使用MQTT协议连接MQTT服务器的智能家居项目。前言一、硬件模块二、连接服务器测试三、两个协议的对比分析1、代码结构上:2、获取服务器数据上:3、架构上:四、下位机主要代码1、接收并解析云
- STM32 LL库 定时器捕获NEC红外解码
xiaoqi976633690
stm32嵌入式硬件单片机
/*USERCODEBEGINHeader*//*********************************************************************************@filestm32f1xx_it.c*@briefInterruptServiceRoutines.********************************************
- 嵌入式单片机高级篇(一)Stm32F103电容触摸按键
lostlll
嵌入式嵌入式单片机高级篇电容触摸按键单片机stm32电容触摸按键
Stm32F103电容触摸按键一、电容触摸按键原理:1、电容触摸按键电路是如何组成的?回答:电容触摸按键的电路由一个上拉电阻、一个开关以及杂散电容组成,开关断开时,杂散电容充电,开关闭合时,杂散电容放电2、电容触摸按键如何判别按键是否被触摸?回答:根据电容的充电时间,当按键没有触摸时,电源只给杂散电容充电,充电时间较短,记为tcs,当按键被触摸时,相当于与杂散电容并联了一个额外的电容,此时电容充电
- STM32移植SFUD
无聊到发博客的菜鸟
stm32嵌入式硬件单片机
简介项目地址:https://github.com/armink/SFUD.gitSFUD是一款开源的串行SPIFlash通用驱动库。由于现有市面的串行Flash种类居多,各个Flash的规格及命令存在差异,SFUD就是为了解决这些Flash的差异现状而设计,让我们的产品能够支持不同品牌及规格的Flash,提高了涉及到Flash功能的软件的可重用性及可扩展性,同时也可以规避Flash缺货或停产给产
- FreeRTOS入门基础
石头嵌入式
freertosfreertos创建任务信号量定时器事件组队列
RTOS是为了更好地在嵌入式系统上实现多任务处理和时间敏感任务而设计的系统。它能确保任务在指定或预期的时间内得到处理。FreeRTOS是一款免费开源的RTOS,它广泛用于需要小型、预测性强、灵活系统的嵌入式设备。创建第一个任务任务函数:任务是通过函数来定义的。函数通常看起来像这样的无限循环voidvTaskFunction(void*pvParameters){for(;;){//任务代码}}创建
- 不怕没项目做!github上的STM32 优秀开源项目和初学者项目
石头嵌入式
STM32stm32学习嵌入式硬件githubSTM32项目
优秀开源项目TinyGo-Go语言编译器,适用于微控制器、WebAssembly、命令行工具,基于LLVM。语言:Go星标数:14,267+描述:TinyGo带来了Go语言在嵌入式系统的实现,使得STM32等微控制器编程更加多样化。FlipperZeroFirmware-FlipperZero的固件源码。语言:C星标数:10,699+描述:为FlipperZero多功能设备提供固件支持,包含了许多
- stm32的SysTick外设介绍——学习笔记
Linux嵌入式木子
学习笔记stm32学习笔记
简介:SysTick即系统定时器是一个内核外设,而不是片上外设,寄存器手册说明需要查看《Cortex-M3编程手册》,具体是哪一款内核就查哪一款内核的手册,我用的stm32f103所以我查的Cortex-M3。其实就是个24位递减计数器,计一个数时间是1/SYSCLK,stm32f103里面SYSCLK=72MHZ,所以其计数周期是1/72*10^6s=1/72us。(1s=10^6us),当从初
- STM32基础--RCC—使用 HSE/HSI 配置时钟
吟诗六千里
STM32stm32嵌入式硬件单片机
这玩意很重要,就这么给你说吧,这玩意就像是北方吃席的肘子。RCC:resetclockcontrol复位和时钟控制器。本章我们主要讲解时钟部分,特别是要着重理解时钟树,理解了时钟树,STM32的一切时钟的来龙去脉都会了如指掌。RCC主要作用—时钟部分设置系统时钟SYSCLK、设置AHB分频因子(决定HCLK等于多少)、设置APB2分频因子(决定PCLK2等于多少)、设置APB1分频因子(决定PCL
- 【ARMv8M Cortex-M33 系列 2.4 -- JFlash 烧写之链接脚本介绍】
主公CodingCos
#【ARMv8MM33专栏】嵌入式硬件arm开发
文章目录JFlash烧写之链接脚本介绍MEMORY区段示例SECTIONS区段示例符号定义启动代码实际使用ARMBCC指令介绍BCC指令使用举例JFlash烧写之链接脚本介绍在RT-Thread实时操作系统中,链接脚本(LinkerScript)定义了如何将代码和数据映射到微控制器的内存中。链接脚本通常以.ld为扩展名。对于特定的微控制器,如RenesasR7FA4M2AC3C,链接脚本中的MEM
- 新手入门stm32F407用寄存器点亮一个led灯过程分享
uint64
学习stm32单片机嵌入式硬件
纪录一下自己的学习stm32寄存器点灯的过程看完这个过程可能不会让你点灯成功但是会让大家对寄存器点灯更加透彻1.我觉得寄存器点灯是stm32中非常需要学习的东西2.直接上手库函数的话可能就不知道自己用的东西是怎么回事(底层一点的知识)3.库函数是建立在寄存器的基础上的先来类比一下:大家试想一家酒店有很多家房间,房间都有门牌号,我们可以将这个门牌号看成c语言中的指针。房间这个实体看成寄存器,我们就可
- GPT对话代码库——基于STM32F103 1,标志位切换模式 & 2,串口的接受和发送
玄奕子
单片机stm32嵌入式硬件GPT
目录1,问:1,答:2,问:2,答:1.初始化LED灯相应的GPIO口2.初始化USART33.实现发送功能4.实现接收字符串功能5.主函数3,问:3,答:1.配置NVIC以使能USART3中断2.在USART3初始化函数中开启接收中断3.编写USART3的中断服务函数来处理接收到的字节提问模型:GPT-4-TURBO-PREVIEW提问时间:2024.03.091,问:使用stm32f103C8
- STM32采用串口DMA方式向上位机连续发送数据
亚大贼
stm32arm嵌入式硬件
目录前言一、DMA简介1.1DMA功能框图1.1.1DMA请求1.1.2通道1.1.3仲裁器1.2DMA数据配置1.2.1数据传输方向:1.2.2数据传输大小和单位1.2.3什么时候传输完成1.3DMA库函数配置过程二、串口DMA方式向上位机发送数据2.1新建工程2.2设置RCC2.3打开USART1及DMA模式
- 【智能家居入门1之环境信息监测】(STM32、ONENET云平台、微信小程序、HTTP协议)
geeoni
智能家居stm32微信小程序
作为入门本篇只实现微信小程序接收下位机上传的数据,之后会持续发布如下项目:①可以实现微信小程序控制下位机动作,真正意义上的智能家居;②将网络通讯协议换成MQTT协议再实现上述功能,此时的服务器也不再是ONENET,可以是公用的MQTT服务器也可以自己搭建或者租最终效果一、下位机模块测试与分析1、MQ系列传感器2、DHT11温湿度传感器3、Esp8266-01s4、oled液晶屏二、微信小程序三、项
- ATmega328P、STM32F103C8T6和nRF52832三款微控制器的比较
知行好事
可穿戴电子stm32单片机嵌入式硬件
以下是从嵌入式系统设计的角度,对ATmega328P、STM32F103C8T6、和nRF52832三款微控制器的比较。这份比较覆盖了核心性能参数、外设功能、封装尺寸等,特性/参数ATmega328PSTM32F103C8T6nRF52832核心AVR8位ARMCortex-M332位ARMCortex-M4F32位最大时钟频率20MHz72MHz64MHz程序存储空间32KBFlash64KBF
- 初学者学习51还是STM32
达西西66
学习stm32嵌入式硬件
初学者学习51还是STM32在嵌入式系统领域,51和STM32是两种常见的单片机架构。对于初学者来说,选择学习哪种架构可能会成为一个难题。本文将对初学者学习51和STM32进行比较,以帮助读者做出明智的选择。1.51架构51架构是指Intel8051系列单片机。由于其历史悠久,许多教材和示例代码都基于51架构。以下是51架构的一些特点:简单易懂:51架构拥有简单的指令集和寄存器结构,因此适合初学者
- holidaywork13
专写bug的屑
命令模式
任务调度算法:FreeRTOS采用抢占式优先级调度算法。每个任务都有一个优先级,优先级越高的任务将优先执行。当一个优先级更高的任务就绪时,FreeRTOS会暂停当前正在运行的任务,并将CPU分配给优先级更高的任务。任务的调度是基于任务的优先级,而不是基于任务的时间片。优先级越高的任务将获得更多的CPU时间,但在系统中仍然存在优先级反转的情况,这可以通过互斥信号量和其他机制来解决。空闲任务:空闲任务
- 基于STM32的人体感应灯设计制作
科创工作室li
STM32stm32嵌入式硬件单片机
基于STM32的人体感应灯设计制作摘要:随着物联网和智能家居的快速发展,人体感应灯作为一种智能照明设备,逐渐受到人们的青睐。本文首先介绍了人体感应灯的背景和意义,随后详细阐述了基于STM32的人体感应灯的设计与制作过程,包括硬件选择、软件编程和整体系统测试。最后,对制作的人体感应灯进行了性能评估,并展望了其未来的应用前景。关键词:STM32;人体感应;智能照明;智能家居一、引言人体感应灯是一种能够
- GPT对话知识库——FreeRTOS中寄存器BASEPRI的作用
玄奕子
stm32嵌入式软件FreeRTOS单片机嵌入式硬件
提问模型:GPT-4-TURBO-PREVIEW提问时间:2024.03.021,问:举例详细说明寄存器BASEPRI在freertos中作用1,答:在使用FreeRTOS这样的实时操作系统时,确保系统的实时性和响应能力至关重要。其中一个关键因素就是中断管理,尤其是在基于ARMCortex-M系列的微控制器上。BASEPRI寄存器在这一背景下发挥着重要作用。Cortex-M的中断优先级Cortex
- FreeRTOS学习笔记-基于STM32(1)基础知识
芊寻(嵌入式)
FreeRTOS学习笔记stm32
一、裸机与RTOS我们使用的32板子是裸机,又称前后台系统。裸机有如下缺点:1、实时性差。只能一步一步执行任务,比如在一个while循环中,要想执行上一个任务,就必须把下面的任务执行完,循环一遍后才能执行这个任务;2、浪费资源。在程序delay延时的时候会进入空等待,此时CPU不执行其他代码;3、结构臃肿。实现的功能都放在无限循环中。但RTOS(RealTimeOS),实时操作系统就可以解决这些问
- FreeRTOS队列
sscb0521
FreeRTOS单片机
FreeRTOS队列1、队列简介队列用在任务与任务,任务与中断之间传递消息。队列类型有普通队列,二值信号量队列,计数信号量队列,互斥信号量队列等。队列项:可以是各种数据类型队列长度:队列项的数量队列通常采用先进先出的方式,即FIFO,从队列尾部入队,从队列头部出队。入队是将数据拷贝到队列,数据量大时需要的时间就多。入队,出队可以设置阻塞时间。0是不阻塞,portMAX_DELAY是一直阻塞。读队列
- FreeRTOS知识点
风且行
FreeRTOS
一.FreeRTOS系统概念FreeRTOS是RTOS(实时操作系统)的其中一种,类似的还有uc/OS,RTX等,区别于linux&window系统;二.FreeRTOS的基本概念1.任务:被称为task,可看做linux系统中的线程,是一个简单的程序。每个任务被赋予一定的优先级,有它自己的一套CPU寄存器的值和自己的栈空间。典型的,每个任务都是一个无限循环,每个任务都处于以下五个状态下:运行态,
- STM32使用PB3, PB4引脚的注意事项
潇洒的电磁波
嵌入式软硬件设计stm32PB3PB4
STM32的PB3,PB4引脚作为GPIO引脚需要注意,因为他们默认分别是JTDO和NJTRST引脚。 笔者在设计可调增益增益放大器(VGA)的时候,使用4个GPIO读取外部控制电压,根据约定的编码格式设定DAC的输出电压,从而设置VGA的增益,然而在测试发现,DAC的输出电压不稳定,并不是设想的数值。经过多次实验、代码分析,发现并不是DAC的问题,而是GPIO的问题,4个GPIO中使用了P
- Linux第64步_编译移植好的虚拟机文件
LaoZhangGong123
产品研发linux服务器STM32MP157经验分享根文件系统编译挂载
最好还是认真了解linux系统移植的整个过程,否则,可能会让你误入歧途。1、编译移植好的tf-a1)、编译生成“tf-a-stm32mp157d-atk-trusted.stm32”输入“cd/home/zgq/linux/atk-mp1/tfa/my-tfa/tf-a-stm32mp-2.2.r1/回车”,切换到“/home/zgq/linux/atk-mp1/tfa/my-tfa/tf-a-s
- 有方机器人 STM32智能小车 项目学习笔记1
枫-琳
stm32学习有方机器人单片机笔记Keil
今天开始学习有方机器人--智能小车项目,正点原子部分的学习先放一放,还是小车更有吸引力哈哈。新建工程及工程模板搭建新建工程须知目前常用的STM32的开发方式主要有基于寄存器编程、基于标准库函数编程、基于HAL库编程这三种。寄存器版本---最高效,最直接,需要对STM32内部结构十分了解,难度系数大,新手学习不推荐。标准库函数版本--直接使用ST官方提供的封装好的库函数进行编程,库函数把配置寄存器的
- TinyUSB 基本使用
czy8787475
DDM单片机
由于早期时候我们产品基于STM32开发,自然而然的用了STM32的USB库,这个本身没什么问题,库也很完善,而且有官方在完善,这本来是个不错的东西,但是随着ST的缺货,问题就越来越多,比如别人的芯片可不会兼容ST的库,如果是标准设备那还好,如果像我们还做HOTPKey这样的,移植起来就相当的麻烦.一开始他们推荐我使用RL-USB,但是RL-USB始终是挂载RTX上的,至于哪一天RTX也出毛病,这就
- STM32H7 系列 MCU 内部 SRAM
MCU_wb
单片机stm32
通过参看《STM32H7参考手册》“2.4EmbeddedSRAM”章节知道TheSTM32H743/53xxandSTM32H750xB内存特性:Upto864KbytesofSystemSRAM128KbytesofdataTCMRAM64KbytesofinstructionTCMRAM4KbytesofbackupSRAM1.1TCMSRAMTCM:Tightly-CoupledMemor
- (十)STM32——Systick滴答定时器
花园宝宝小点点
STM32笔记stm32单片机嵌入式硬件
目录Systick定时器基础知识Systick寄存器库函数CTRLLOADVALCALIBSysTick_CLKSourceConfig()SysTick_Config()delay延时函数voiddelay_init()delay_us()delay_ms()delay_xms()Systick定时器基础知识Systick定时器常用来做延时,或者实时系统的心跳时钟。这样可以节省MCU资源,不用浪
- SQL的各种连接查询
xieke90
UNION ALLUNION外连接内连接JOIN
一、内连接
概念:内连接就是使用比较运算符根据每个表共有的列的值匹配两个表中的行。
内连接(join 或者inner join )
SQL语法:
select * fron
- java编程思想--复用类
百合不是茶
java继承代理组合final类
复用类看着标题都不知道是什么,再加上java编程思想翻译的比价难懂,所以知道现在才看这本软件界的奇书
一:组合语法:就是将对象的引用放到新类中即可
代码:
package com.wj.reuse;
/**
*
* @author Administrator 组
- [开源与生态系统]国产CPU的生态系统
comsci
cpu
计算机要从娃娃抓起...而孩子最喜欢玩游戏....
要让国产CPU在国内市场形成自己的生态系统和产业链,国家和企业就不能够忘记游戏这个非常关键的环节....
投入一些资金和资源,人力和政策,让游
- JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
商人shang
jvm内存
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。
HotSpot虚拟机GC算法采用分代收
- 页面上调用 QQ
oloz
qq
<A href="tencent://message/?uin=707321921&Site=有事Q我&Menu=yes">
<img style="border:0px;" src=http://wpa.qq.com/pa?p=1:707321921:1></a>
- 一些问题
文强chu
问题
1.eclipse 导出 doc 出现“The Javadoc command does not exist.” javadoc command 选择 jdk/bin/javadoc.exe 2.tomcate 配置 web 项目 .....
SQL:3.mysql * 必须得放前面 否则 select&nbs
- 生活没有安全感
小桔子
生活孤独安全感
圈子好小,身边朋友没几个,交心的更是少之又少。在深圳,除了男朋友,没几个亲密的人。不知不觉男朋友成了唯一的依靠,毫不夸张的说,业余生活的全部。现在感情好,也很幸福的。但是说不准难免人心会变嘛,不发生什么大家都乐融融,发生什么很难处理。我想说如果不幸被分手(无论原因如何),生活难免变化很大,在深圳,我没交心的朋友。明
- php 基础语法
aichenglong
php 基本语法
1 .1 php变量必须以$开头
<?php
$a=” b”;
echo
?>
1 .2 php基本数据库类型 Integer float/double Boolean string
1 .3 复合数据类型 数组array和对象 object
1 .4 特殊数据类型 null 资源类型(resource) $co
- mybatis tools 配置详解
AILIKES
mybatis
MyBatis Generator中文文档
MyBatis Generator中文文档地址:
http://generator.sturgeon.mopaas.com/
该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。
本文使用Markdown进行编辑,但是博客显示效
- 继承与多态的探讨
百合不是茶
JAVA面向对象 继承 对象
继承 extends 多态
继承是面向对象最经常使用的特征之一:继承语法是通过继承发、基类的域和方法 //继承就是从现有的类中生成一个新的类,这个新类拥有现有类的所有extends是使用继承的关键字:
在A类中定义属性和方法;
class A{
//定义属性
int age;
//定义方法
public void go
- JS的undefined与null的实例
bijian1013
JavaScriptJavaScript
<form name="theform" id="theform">
</form>
<script language="javascript">
var a
alert(typeof(b)); //这里提示undefined
if(theform.datas
- TDD实践(一)
bijian1013
java敏捷TDD
一.TDD概述
TDD:测试驱动开发,它的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完全部功能的开发。
- [Maven学习笔记十]Maven Profile与资源文件过滤器
bit1129
maven
什么是Maven Profile
Maven Profile的含义是针对编译打包环境和编译打包目的配置定制,可以在不同的环境上选择相应的配置,例如DB信息,可以根据是为开发环境编译打包,还是为生产环境编译打包,动态的选择正确的DB配置信息
Profile的激活机制
1.Profile可以手工激活,比如在Intellij Idea的Maven Project视图中可以选择一个P
- 【Hive八】Hive用户自定义生成表函数(UDTF)
bit1129
hive
1. 什么是UDTF
UDTF,是User Defined Table-Generating Functions,一眼看上去,貌似是用户自定义生成表函数,这个生成表不应该理解为生成了一个HQL Table, 貌似更应该理解为生成了类似关系表的二维行数据集
2. 如何实现UDTF
继承org.apache.hadoop.hive.ql.udf.generic
- tfs restful api 加auth 2.0认计
ronin47
目前思考如何给tfs的ngx-tfs api增加安全性。有如下两点:
一是基于客户端的ip设置。这个比较容易实现。
二是基于OAuth2.0认证,这个需要lua,实现起来相对于一来说,有些难度。
现在重点介绍第二种方法实现思路。
前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGe
- jdk环境变量配置
byalias
javajdk
进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置:
1、下载jdk(http://java.sun.com/javase/downloads/index.jsp),我下载的版本是:jdk-7u79-windows-x64.exe
2、安装jdk-7u79-windows-x64.exe
3、配置环境变量:右击"计算机"-->&quo
- 《代码大全》表驱动法-Table Driven Approach-2
bylijinnan
java
package com.ljn.base;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.uti
- SQL 数值四舍五入 小数点后保留2位
chicony
四舍五入
1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位。
2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。
例如:
select cast(round(12.5,2) as numeric(5,2))  
- c++运算符重载
CrazyMizzz
C++
一、加+,减-,乘*,除/ 的运算符重载
Rational operator*(const Rational &x) const{
return Rational(x.a * this->a);
}
在这里只写乘法的,加减除的写法类似
二、<<输出,>>输入的运算符重载
&nb
- hive DDL语法汇总
daizj
hive修改列DDL修改表
hive DDL语法汇总
1、对表重命名
hive> ALTER TABLE table_name RENAME TO new_table_name;
2、修改表备注
hive> ALTER TABLE table_name SET TBLPROPERTIES ('comment' = new_comm
- jbox使用说明
dcj3sjt126com
Web
参考网址:http://www.kudystudio.com/jbox/jbox-demo.html jBox v2.3 beta [
点击下载]
技术交流QQGroup:172543951 100521167
[2011-11-11] jBox v2.3 正式版
- [调整&修复] IE6下有iframe或页面有active、applet控件
- UISegmentedControl 开发笔记
dcj3sjt126com
// typedef NS_ENUM(NSInteger, UISegmentedControlStyle) {
// UISegmentedControlStylePlain, // large plain
&
- Slick生成表映射文件
ekian
scala
Scala添加SLICK进行数据库操作,需在sbt文件上添加slick-codegen包
"com.typesafe.slick" %% "slick-codegen" % slickVersion
因为我是连接SQL Server数据库,还需添加slick-extensions,jtds包
"com.typesa
- ES-TEST
gengzg
test
package com.MarkNum;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation
- 为何外键不再推荐使用
hugh.wang
mysqlDB
表的关联,是一种逻辑关系,并不需要进行物理上的“硬关联”,而且你所期望的关联,其实只是其数据上存在一定的联系而已,而这种联系实际上是在设计之初就定义好的固有逻辑。
在业务代码中实现的时候,只要按照设计之初的这种固有关联逻辑来处理数据即可,并不需要在数据库层面进行“硬关联”,因为在数据库层面通过使用外键的方式进行“硬关联”,会带来很多额外的资源消耗来进行一致性和完整性校验,即使很多时候我们并不
- 领域驱动设计
julyflame
VODAO设计模式DTOpo
概念:
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对
- 单例设计模式
hm4123660
javaSingleton单例设计模式懒汉式饿汉式
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
&nb
- logback
zhb8015
loglogback
一、logback的介绍
Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-class
- 整合Kafka到Spark Streaming——代码示例和挑战
Stark_Summer
sparkstormzookeeperPARALLELISMprocessing
作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管。本文,Michael详细的演示了如何将Kafka整合到Spark Streaming中。 期间, Michael还提到了将Kafka整合到 Spark Streaming中的一些现状,非常值得阅读,虽然有一些信息在Spark 1.2版
- spring-master-slave-commondao
王新春
DAOspringdataSourceslavemaster
互联网的web项目,都有个特点:请求的并发量高,其中请求最耗时的db操作,又是系统优化的重中之重。
为此,往往搭建 db的 一主多从库的 数据库架构。作为web的DAO层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数