- stm32学习笔记——TIM定时中断
算法萌新——1
stm32学习笔记
一、TIM定时中断的基本概念TIM定时中断是嵌入式系统中一种重要的功能,它基于定时器(TIM)实现。定时器可以对内部时钟或外部事件进行计数,当计数值达到预设的阈值时,会触发一个中断信号。这个中断信号会使CPU暂停当前正在执行的主程序,转而执行预先编写好的中断服务程序(ISR),执行完中断服务程序后,CPU再返回到主程序继续执行。TIM定时中断的核心在于“定时”,它可以实现精确的时间控制,为系统提供
- STM32学习笔记
实现按键控制LED灯前置知识:基本的GPIO输入模式:读取外部信号(如按键、传感器状态)。——主要用到上拉输入输出模式:向外部输出信号(如控制LED、继电器)。——主要用到推挽输出其他模式:模拟输入、复用功能(如USART、I2C)等。按键的知识与常识按键未按下:GPIO引脚通过上拉电阻连接到VCC,读取为高电平(1)。按键按下:按键将GPIO引脚直接接地,读取为低电平(0)。有关LED的代码部分
- 野火STM32学习笔记--调试技巧
人群多像羊群
stm32学习笔记
/*信息输出*/#defineEEPROM_DEBUG_ON0含义:定义一个调试开关EEPROM_DEBUG_ON,值为0。作用:当EEPROM_DEBUG_ON为0时,调试信息(EEPROM_DEBUG宏)不会输出。当修改为1时,启用调试信息输出。这是一个全局控制,用于在开发和生产环境中切换是否打印调试日志。#defineEEPROM_INFO(fmt,arg...)printf(">"fmt"
- STM32学习笔记:IIC接口使用深度解析
爱睡觉的王宇昊
STM32stm32学习笔记
一、引言:嵌入式世界的“神经末梢”I²C(Inter-IntegratedCircuit)总线由飞利浦(现恩智浦)于1982年设计,已成为低速设备通信的工业标准。在STM32开发中,IIC因仅需两根线即可连接128个设备(7位地址)的特性,被广泛用于传感器、EEPROM、RTC等外设。本文将带您从协议本质出发,深入剖析STM32硬件IIC与软件模拟方案,并分享解决总线锁死、时序配置等核心难题的实战
- STM32学习笔记 & 高级定时器TIM1&TIM8 14
勤奋小胡
STM32_HAL库stm32
高级定时器TIM1&TIM8TIM1和TIM8简介高级控制定时器(TIM1和TIM8)由一个16位的自动装载计数器组成,它由一个可编程的预分频器驱动它适合多种用途,包含测量输入信号的脉冲宽度(输入捕获),或者产生输出波形(输出比较、PWM、嵌入死区时间的互补PWM等)使用定时器预分频器和RCC时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节高级控制定时器(TIM1和TIM8)
- STM32学习笔记:定时器应用开发
爱睡觉的王宇昊
STM32单片机嵌入式硬件stm32ide
前言定时器是微控制器中的一种重要外设,用于测量时间间隔或生成精确的时间延迟。在STM32微控制器中,定时器具有多种功能和应用,是嵌入式系统开发中的基础内容。一、定时器基本介绍1.STM32定时器STM32微控制器提供了多种类型的定时器,包括基本定时器、通用定时器和高级控制定时器。这些定时器可以用于定时、计数、PWM输出等多种应用。2.通用定时器功能和特点通用定时器具有以下功能和特点:多种计数模式(
- STM32学习笔记-大小端模式详解
C君莫笑
STM32入门学习stm32学习arm
最低有效字节在最前端的方式——小端法最高有效字节在最前端的方式——大端法小端模式(LittleEndian)小端模式(LittleEndian),也称为Intel顺序。最低有效字节,首先存储。例如:int16数据0x0123467在地址单元中的存储顺序为例如:int32数据0x57415244在地址单元中的存储顺序为大端模式(BigEndian)大端模式(BigEndian),也称为Motorol
- STM32学习笔记之硬件I2C读取MPU6050
meiki不爱学
stm32学习笔记嵌入式硬件
程序步骤:第一步:配置I2C外设,对I2C2外设进行初始化(初始化配置:开启I2C外设和对应GPIO口的时钟;把I2C外设对应的GPIO口初始化为复用开漏模式;使用结构体,对整个I2C进行配置;I2C_Cmd,使能I2C)第二步;控制外设电路,实现指定地址写的时序第三步:控制外设电路,实现指定地址读的时序(读取一个字节:在EV6_1事件之后,需要立刻提前把ACK置0,同时设置停止位STOP,时序不
- STM32学习笔记之串口协议
meiki不爱学
stm32学习笔记嵌入式硬件
通信接口通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统通信协议:制定通信的规则,通信双方按照协议规则进行数据收发双工:全双工:通信双方能够同时进行双向通信,有俩根通信线,比如USART(SPI)一根TX发送、一根RX接收。半双工:只有一根数据线。单工:数据只能从一个设备到另一个设备,不能反着来。—————————————————————时钟:同步:I2C和SPI都有单独的时钟线,接受方
- Stm32学习笔记(五)Systick定时器
savage_hurricane
stm32入门笔记stm32学习笔记
目录前言一、SysTick_Init()二、设置节拍程序三、加入延时函数前言在之前直接操作I/O口的输出来控制LED实现流水灯的时候,让LED灯以一定的时间间隔来变化,比如0.5秒变化一个LED灯。但之前没有刻意地要求这个时间间隔很精确,所以采用了软件跑空循环来延时的方式,这样虽然很简单,但是精度会比较低。这次通过Systick定时器来实现精确定时,控制LED灯交替闪烁。一、SysTick_Ini
- 嵌入式开发之STM32学习笔记day09
小程同学>o<
嵌入式学习之STM32stm32学习笔记经验分享
STM32C8T6TIM定时器中断配置全解析——手把手实现精准定时任务一、TIM定时器基础概念TIM(Timer)是STM32中用于定时、计数、PWM生成的核心外设。通过中断机制,TIM可在特定时间点(如计数器溢出)触发中断,执行用户定义的任务(如数据采集、状态检测等)。TIM(Timer)定时器定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断16位计数器、预分频器、自动重装寄存器的
- 嵌入式开发之STM32学习笔记day03
小程同学>o<
嵌入式学习之STM32单片机笔记学习stm32嵌入式硬件
STM32之ADC(模拟数字转换器)1ADC简述2ADC转换时间3ADC转化结果存放机制4ADC转化结果存放机制5ADC电压转换1ADC简述ADC(Analog-DigitalConverter)模拟—数字转换器;ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁;12位ADC是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信
- 【STM32】自定义打印函数
hallo-ooo
STM32学习笔记stm32
STM32学习笔记:理解my_printf与va_start在嵌入式开发中,我们常常需要实现类似标准C中printf的调试输出功能。为了支持“任意数量参数”的传递,C语言提供了对可变参数(variablearguments)的支持。其中,va_start是这一机制中的核心宏之一。以下我们将结合一个实际的自定义打印函数my_printf,详细讲解其工作原理,并深入解析va_start在其中的作用。一
- STM32学习笔记---串口中断(寄存器版本)
冰&可乐
STM32学习笔记串口通信stm32uart
串口设置流程设置GPIO口模式为复用,并复用GPIO口为串口(AFR寄存器),顺便使能串口时钟【AFR寄存器为数组AFR[1]就是AFEH,AFR[0]就是AFEL】RCC->AHB1ENR|=1MODER&=~(0x3MODER|=0x2MODER&=~(0x3MODER|=0x2AFR[1]&=~(0xfAFR[1]|=0x7AFR[1]&=~(0xfAFR[1]|=0x7APB2ENR|=1
- stm32单片机c语言入门 pdf,STM32学习笔记(初学者快速入门).pdf
都灵Turin
stm32单片机c语言入门pdf
STM32学习笔记从51开始,单片机玩了很长时间了,有51,PIC,AVR等等,早就想跟潮流玩玩ARM,但一直没有开始,原因不知道玩了ARM可以做什么(对我自己而言)。如果为学习而学习,肯定学不好。然后cortex-m3出来了,据说,这东西可以替代单片机,于是马上开始关注。也在第一时间开始学习,可惜一开始就有点站错了队,选错了型(仍是对我自己而言)。我希望这种芯片应该是满大街都是,随便哪里都可以买
- STM32学习笔记之常见外设汇总(原理篇)
望闻问嵌
#SoCstm32学习笔记
:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】:文章若有幸对你有帮助,可点赞收藏⭐不迷路:内容若有错误,敬请留言指正!原创文,转载注明出处文章目录踏入STM32的世界,就像进入一个充满神奇机关的城堡。每一个常见外设都是一把独特的钥匙,能解锁不同的功能领域。接下来,就为大家详细介绍这些神奇
- STM32学习笔记-SPI-11
长街千雪丶
stm32学习笔记
1.SPI通信是一种通用数据总线相比I2C,传输更快,最大科大80MHZ,设计简单粗暴,通信线个数多,容易资源浪费四根通信线:SCK(串口时钟),MOSI(主出从入),MISO(主入从出),SS(从机选择)同步,全双工支撑总线挂在多设备(一主多从)SPI没有应答机制的设计2.硬件电路所有SPI设备的SCK,MOSI,MISO分别接在一起主机两外引出多条SS控制线,分别接到各从机的SS引脚输出引脚配
- STM32学习笔记之:第1章 Cortex-M4基础
繁华烟雨
笔记stm32学习嵌入式硬件c语言
毕竟是从零开始的小白,第一次学习STM32还是得从最基础的概念开始学起。1.1Cortex-M4介绍M代表什么意思:M0M3M4M7内核,从小到大按照性能排序1.1.1何谓单片机单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写“MCU”表示单片机。实际上,单片机是一种集成电路芯片(硅片),是采用超大规模集成电路技术把具有数据处理能力的中央处理器FPU(C
- STM32学习笔记
李兆源—电子工程师
stm32学习笔记
STM32系列(HAL库)——内部FLASH读写实验_简约版在此篇文章前,写过另外一篇关于STM32内部FLash读写的文章——点击跳转。之前那篇文章的代码是移植于正点原子的,比较复杂,因为它考虑了写入字节大于1K或2K时需要换页写入的问题。但是在实际使用过程中,我们需要写入的数据常常远小于1K,因此本篇文章的代码适用于写入小量数据使用(即小于1K或2K——取决于单片机最小写入页)。本次代码是借鉴
- 嵌入式开发之STM32学习笔记day06
小程同学>o<
嵌入式学习之STM32stm32学习笔记
基于STM32F103C8T6的开发实践——从入门到精通011.引言STM32系列微控制器是STMicroelectronics推出的一款高性能、低功耗的32位微控制器,广泛应用于嵌入式系统中。STM32F103C8T6是其中非常受欢迎的一款,凭借其强大的性能、丰富的外设接口和低廉的价格,成为了开发者的首选之一。本文将通过实例,详细介绍如何基于STM32F103C8T6进行开发,并带领读者完成从简
- 零基础快速上手STM32开发(手把手保姆级教程)-转载学习
曹瑞曹瑞
stm32学习嵌入式硬件
安装详细教程:零基础快速上手STM32开发(手把手保姆级教程)-CSDN博客部件详细教程:【STM32】江科大STM32学习笔记汇总(已完结)_stm32江科大笔记-CSDN博客
- Stm32学习笔记2-中断系统-对射式红外传感器计次
Anon_Tokoyo
stm32学习笔记
一.中断系统:1.中断条件:当主程序运行时,出现了特点的中断条件,此时程序暂停运行当前直到处理完中断程序后再继续执行操作。2.中断优先级:当有多个中断时,cpu会根据中断轻重优先选择加急的中断程序。3.参考nvic基本结构:可以看出stm32中的许多外设像EXTI、TIM等都有中断通道。通过NVIC统一管理。经过NVIC裁决后可向中断CPU当前程序转而执行这些外设的中断程序。二.EXTI外设:1.
- STM32学习笔记——TIM_Period 和 TIM_Prescaler
优雅的造轮狮
嵌入式学习笔记单片机嵌入式硬件
概念TIM_TimeBaseStructure.TIM_Period和TIM_TimeBaseStructure.TIM_Prescaler是STM32定时器(Timer)的两个重要参数。TIM_Period:这个参数代表的是定时器的自动重装载值(Auto-reloadvalue)。当定时器的计数值达到这个值时,定时器就会产生一个中断或更新事件。这个参数可以用来控制定时器中断的间隔时间。例如,如果
- STM32学习笔记(四)丨TIM定时器及其应用(定时中断、内外时钟源选择)_tim时钟
2401_87557120
stm32学习笔记
一、TIM定时器1.1TIM定时器简介TIM(Timer)定时器,它的基本功能是对输入的时钟进行计数,并在计数值达到定值时触发中断,即定时触发中断定时器就是一个计数器,当计数器的输入是一个准确可靠的基准时钟时,对基准时钟进行计数的过程就是计时的过程。在STM32中,定时器的基准时钟一般都是72MHz。 定时器最核心的部分称为时基单元,它由以下三个16位的寄存器组成:计数器(Counter):用来
- STM32学习笔记(二、初识stm32单片机)
藏,捉
单片机stm32学习
一、stm32的含义是什么?首先stm32是意法半导体公司(ST)使用ARM公司的Cortex-M为核心生产的32位的单片机。其中,ST---意法半导体公司,即SOC厂商。M---为Microelectronics的缩写,即微型处理器。32---表示控制器为32位的。103---表示F系列的子系列。二、stm32的分类CPU位数内核系列描述32Cortex--M0STM32F0入门级STM32L0
- STM32学习笔记(七) —— DMA传输(MTM)
SSS&10&01
STM32学习笔记stm32
DMA,全称是DirectMemoryAccess(直接内存访问)。可以在存储器和存储器之间或者外设和存储器之间传输数据,而不需要CPU的干预,这样可以节省CPU的资源,提高工作效率。1.功能框图STM32F103RCT6有两个DMA控制器,需要DMA传输的时候,外设会向DMA发送请求,DMA也会进行应答,随后会进行DMA传输。2.DMA通道两个DMA控制器一共有12个通道(DMA1有7个,DMA
- STM32学习笔记7 正点原子miniSTM32通用定时器中断实验
超能算不算
stm32单片机学习
初学者学习总结,如有错误,请大神指正一、STM32通用定时器1.1通用定时器简介1)通用定时器(在stm32中包括(TIM2、TIM3、TIM4、TIM5)是一个通过可编程预分频器驱动的16位自动装载计数器构成。2)它适用于多种场合,包括测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和PWM)。3)使用定时器预分频器和RCC时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫
- STM32学习笔记——中断
通大侠
stm32学习笔记嵌入式硬件单片机
目录一、中断概述1、中断系统2、EXTI二、外部中断相关寄存器1、EXTI_IMR(ExternalInterrupt/EventController_InterruptMaskRegister)中断屏蔽寄存器2、EXTI_EMR(ExternalInterrupt/EventController_EventMaskRegister)事件屏蔽寄存器3、EXTI_RTSR(ExternalInter
- STM32学习笔记——GPIO
通大侠
stm32学习笔记嵌入式硬件单片机
目录一、GPIO概述1、带上拉电阻的输入(输入上拉)2、带下拉电阻的输入(输入下拉)3、浮空输入4、模拟输入5、带上下拉电阻的推挽输出(推挽式输出)6、带上下拉电阻的开漏输出(开漏输出)7、带上下拉电阻的推挽复用输出(推挽式复用功能)8、带上下拉电阻的开漏复用输出(开漏复用功能)二、GPIO相关寄存器三、GPIO输出配置一、GPIO概述“GPIO(GeneralPurposeInputOutput
- STM32学习笔记——定时器
通大侠
stm32学习笔记
目录一、定时器功能概述1、基本定时器(TIM6&TIM7)工作原理时序2、通用计时器(TIM2&TIM3&TIM4&TIM5)时钟源外部时钟源模式1&2外部时钟源模式2外部时钟源模式1定时器的主模式输出输入捕获3、高级定时器(TIM1&TIM8)重复计数器DTG(DeadTimeGenerate)死区生成刹车输入二、定时器相关寄存器1、TIMx_CR1/2(TIMx_ControlRegister
- 算法 单链的创建与删除
换个号韩国红果果
c算法
先创建结构体
struct student {
int data;
//int tag;//标记这是第几个
struct student *next;
};
// addone 用于将一个数插入已从小到大排好序的链中
struct student *addone(struct student *h,int x){
if(h==NULL) //??????
- 《大型网站系统与Java中间件实践》第2章读后感
白糖_
java中间件
断断续续花了两天时间试读了《大型网站系统与Java中间件实践》的第2章,这章总述了从一个小型单机构建的网站发展到大型网站的演化过程---整个过程会遇到很多困难,但每一个屏障都会有解决方案,最终就是依靠这些个解决方案汇聚到一起组成了一个健壮稳定高效的大型系统。
看完整章内容,
- zeus持久层spring事务单元测试
deng520159
javaDAOspringjdbc
今天把zeus事务单元测试放出来,让大家指出他的毛病,
1.ZeusTransactionTest.java 单元测试
package com.dengliang.zeus.webdemo.test;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import
- Rss 订阅 开发
周凡杨
htmlxml订阅rss规范
RSS是 Really Simple Syndication的缩写(对rss2.0而言,是这三个词的缩写,对rss1.0而言则是RDF Site Summary的缩写,1.0与2.0走的是两个体系)。
RSS
- 分页查询实现
g21121
分页查询
在查询列表时我们常常会用到分页,分页的好处就是减少数据交换,每次查询一定数量减少数据库压力等等。
按实现形式分前台分页和服务器分页:
前台分页就是一次查询出所有记录,在页面中用js进行虚拟分页,这种形式在数据量较小时优势比较明显,一次加载就不必再访问服务器了,但当数据量较大时会对页面造成压力,传输速度也会大幅下降。
服务器分页就是每次请求相同数量记录,按一定规则排序,每次取一定序号直接的数据
- spring jms异步消息处理
510888780
jms
spring JMS对于异步消息处理基本上只需配置下就能进行高效的处理。其核心就是消息侦听器容器,常用的类就是DefaultMessageListenerContainer。该容器可配置侦听器的并发数量,以及配合MessageListenerAdapter使用消息驱动POJO进行消息处理。且消息驱动POJO是放入TaskExecutor中进行处理,进一步提高性能,减少侦听器的阻塞。具体配置如下:
- highCharts柱状图
布衣凌宇
hightCharts柱图
第一步:导入 exporting.js,grid.js,highcharts.js;第二步:写controller
@Controller@RequestMapping(value="${adminPath}/statistick")public class StatistickController { private UserServi
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
springmvcSpring 教程spring3 教程Spring 入门
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
- TLS java简单实现
antlove
javasslkeystoretlssecure
1. SSLServer.java
package ssl;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.security.KeyStore;
import
- Zip解压压缩文件
百合不是茶
Zip格式解压Zip流的使用文件解压
ZIP文件的解压缩实质上就是从输入流中读取数据。Java.util.zip包提供了类ZipInputStream来读取ZIP文件,下面的代码段创建了一个输入流来读取ZIP格式的文件;
ZipInputStream in = new ZipInputStream(new FileInputStream(zipFileName));
&n
- underscore.js 学习(一)
bijian1013
JavaScriptunderscore
工作中需要用到underscore.js,发现这是一个包括了很多基本功能函数的js库,里面有很多实用的函数。而且它没有扩展 javascript的原生对象。主要涉及对Collection、Object、Array、Function的操作。 学
- java jvm常用命令工具——jstatd命令(Java Statistics Monitoring Daemon)
bijian1013
javajvmjstatd
1.介绍
jstatd是一个基于RMI(Remove Method Invocation)的服务程序,它用于监控基于HotSpot的JVM中资源的创建及销毁,并且提供了一个远程接口允许远程的监控工具连接到本地的JVM执行命令。
jstatd是基于RMI的,所以在运行jstatd的服务
- 【Spring框架三】Spring常用注解之Transactional
bit1129
transactional
Spring可以通过注解@Transactional来为业务逻辑层的方法(调用DAO完成持久化动作)添加事务能力,如下是@Transactional注解的定义:
/*
* Copyright 2002-2010 the original author or authors.
*
* Licensed under the Apache License, Version
- 我(程序员)的前进方向
bitray
程序员
作为一个普通的程序员,我一直游走在java语言中,java也确实让我有了很多的体会.不过随着学习的深入,java语言的新技术产生的越来越多,从最初期的javase,我逐渐开始转变到ssh,ssi,这种主流的码农,.过了几天为了解决新问题,webservice的大旗也被我祭出来了,又过了些日子jms架构的activemq也开始必须学习了.再后来开始了一系列技术学习,osgi,restful.....
- nginx lua开发经验总结
ronin47
使用nginx lua已经两三个月了,项目接开发完毕了,这几天准备上线并且跟高德地图对接。回顾下来lua在项目中占得必中还是比较大的,跟PHP的占比差不多持平了,因此在开发中遇到一些问题备忘一下 1:content_by_lua中代码容量有限制,一般不要写太多代码,正常编写代码一般在100行左右(具体容量没有细心测哈哈,在4kb左右),如果超出了则重启nginx的时候会报 too long pa
- java-66-用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。颠倒之后的栈为{5,4,3,2,1},5处在栈顶
bylijinnan
java
import java.util.Stack;
public class ReverseStackRecursive {
/**
* Q 66.颠倒栈。
* 题目:用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。
* 颠倒之后的栈为{5,4,3,2,1},5处在栈顶。
*1. Pop the top element
*2. Revers
- 正确理解Linux内存占用过高的问题
cfyme
linux
Linux开机后,使用top命令查看,4G物理内存发现已使用的多大3.2G,占用率高达80%以上:
Mem: 3889836k total, 3341868k used, 547968k free, 286044k buffers
Swap: 6127608k total,&nb
- [JWFD开源工作流]当前流程引擎设计的一个急需解决的问题
comsci
工作流
当我们的流程引擎进入IRC阶段的时候,当循环反馈模型出现之后,每次循环都会导致一大堆节点内存数据残留在系统内存中,循环的次数越多,这些残留数据将导致系统内存溢出,并使得引擎崩溃。。。。。。
而解决办法就是利用汇编语言或者其它系统编程语言,在引擎运行时,把这些残留数据清除掉。
- 自定义类的equals函数
dai_lm
equals
仅作笔记使用
public class VectorQueue {
private final Vector<VectorItem> queue;
private class VectorItem {
private final Object item;
private final int quantity;
public VectorI
- Linux下安装R语言
datageek
R语言 linux
命令如下:sudo gedit /etc/apt/sources.list1、deb http://mirrors.ustc.edu.cn/CRAN/bin/linux/ubuntu/ precise/ 2、deb http://dk.archive.ubuntu.com/ubuntu hardy universesudo apt-key adv --keyserver ke
- 如何修改mysql 并发数(连接数)最大值
dcj3sjt126com
mysql
MySQL的连接数最大值跟MySQL没关系,主要看系统和业务逻辑了
方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可
方法二:MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppass
- 单一功能原则
dcj3sjt126com
面向对象的程序设计软件设计编程原则
单一功能原则[
编辑]
SOLID 原则
单一功能原则
开闭原则
Liskov代换原则
接口隔离原则
依赖反转原则
查
论
编
在面向对象编程领域中,单一功能原则(Single responsibility principle)规定每个类都应该有
- POJO、VO和JavaBean区别和联系
fanmingxing
VOPOJOjavabean
POJO和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Plain Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比POJO复杂很多,JavaBean是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被
- SpringSecurity3.X--LDAP:AD配置
hanqunfeng
SpringSecurity
前面介绍过基于本地数据库验证的方式,参考http://hanqunfeng.iteye.com/blog/1155226,这里说一下如何修改为使用AD进行身份验证【只对用户名和密码进行验证,权限依旧存储在本地数据库中】。
将配置文件中的如下部分删除:
<!-- 认证管理器,使用自定义的UserDetailsService,并对密码采用md5加密-->
- mac mysql 修改密码
IXHONG
mysql
$ sudo /usr/local/mysql/bin/mysqld_safe –user=root & //启动MySQL(也可以通过偏好设置面板来启动)$ sudo /usr/local/mysql/bin/mysqladmin -uroot password yourpassword //设置MySQL密码(注意,这是第一次MySQL密码为空的时候的设置命令,如果是修改密码,还需在-
- 设计模式--抽象工厂模式
kerryg
设计模式
抽象工厂模式:
工厂模式有一个问题就是,类的创建依赖于工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则。我们采用抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。
总结:这个模式的好处就是,如果想增加一个功能,就需要做一个实现类,
- 评"高中女生军训期跳楼”
nannan408
首先,先抛出我的观点,各位看官少点砖头。那就是,中国的差异化教育必须做起来。
孔圣人有云:有教无类。不同类型的人,都应该有对应的教育方法。目前中国的一体化教育,不知道已经扼杀了多少创造性人才。我们出不了爱迪生,出不了爱因斯坦,很大原因,是我们的培养思路错了,我们是第一要“顺从”。如果不顺从,我们的学校,就会用各种方法,罚站,罚写作业,各种罚。军
- scala如何读取和写入文件内容?
qindongliang1922
javajvmscala
直接看如下代码:
package file
import java.io.RandomAccessFile
import java.nio.charset.Charset
import scala.io.Source
import scala.reflect.io.{File, Path}
/**
* Created by qindongliang on 2015/
- C语言算法之百元买百鸡
qiufeihu
c算法
中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁,母,雏各几何?
代码如下:
#include <stdio.h>
int main()
{
int cock,hen,chick; /*定义变量为基本整型*/
for(coc
- Hadoop集群安全性:Hadoop中Namenode单点故障的解决方案及详细介绍AvatarNode
wyz2009107220
NameNode
正如大家所知,NameNode在Hadoop系统中存在单点故障问题,这个对于标榜高可用性的Hadoop来说一直是个软肋。本文讨论一下为了解决这个问题而存在的几个solution。
1. Secondary NameNode
原理:Secondary NN会定期的从NN中读取editlog,与自己存储的Image进行合并形成新的metadata image
优点:Hadoop较早的版本都自带,