- STM32MP157 Linux系统移植开发篇3:设备树详解
华清远见IT开放实验室
stm32mp157教程嵌入式linux开发stm32linuxSTM32MP157
本文章为《STM32MP157Linux系统移植开发篇》系列中的一篇,笔者使用的开发平台为华清远见FS-MP1A开发板(STM32MP157开发板)。stm32mp157是ARM双核,2个A7核,1个M4核,A7核上可以跑Linux操作系统,M4核上可以跑FreeRTOS、RT-Thread等实时操作系统,STM32MP157开发板所以既可以学嵌入式linux,也可以学stm32单片机。针对FS-
- riscv运行linux,首款基于RISC-V,支持Linux的PC——HiFive Unleashed已诞生!
扎伊德
riscv运行linux
对于常在开源硬件界混的小伙伴,相信对市面上的一些单板计算机都不陌生,什么树莓派、香蕉派、BeagleBoneBlack、UpBoard等等,这些大多数都是采用ARMCoretx-A系列应用处理器或者更高端一些会采用x86系列处理器,无论性能或是功能都基本上可以满足现在小伙伴的需求。但是,不觉得少了点什么吗?整个被ARM围绕的世界是如此单一,我们就没有更好或者更别具一格的选择了吗?有!HiFiveU
- 一文了解riscv软件系列之linux内核编译运行
Linux加油站
linux服务器运维
一、交叉编译工具链的安装【推荐阅读文章】代码大佬的【Linux内核开发笔记】分享,前人栽树后人乘凉!一篇长文叙述Linux内核虚拟地址空间的基本概括一文了解Linux内核的Oops需要多久才能看完linux内核源码?详细讲解磁盘及文件系统管理(图例解析)交叉编译工具链可以通过源码进行编译安装:1.下载工具链源码:该仓库包含多个submodules,因此需要添加--recursive选项来下载所有子
- RISC-V 快速中断控制器(CLIC)项目常见问题解决方案
gitblog_00881
RISC-V快速中断控制器(CLIC)项目常见问题解决方案riscv-fast-interruptProposalforaRISC-VCore-LocalInterruptController(CLIC)项目地址:https://gitcode.com/gh_mirrors/ri/riscv-fast-interrupt项目基础介绍RISC-V快速中断控制器(CLIC)项目是一个开源项目,旨在为R
- RT-Thread I2C 驱动框架学习笔记
DgHai
RT-Threadmcu单片机
RT-ThreadI2C驱动框架(5.1.0)II2C驱动包括两大部分,I2C驱动总线驱动和I2C设备驱动。I2C总线驱动负责控制I2C总线的硬件,包括发送和接收数据的时序控制,以及处理总线冲突等。它与嵌入式系统的硬件层交互,实现对I2C总线的底层操作,使得应用程序可以通过I2C总线与外部设备进行通信。I2C设备驱动负责管理和控制连接在I2C总线上的具体外部设备。它与I2C总线驱动和嵌入式系统的驱
- m1处理器macbook使用qemu模拟运行RT-Thread
想学rtos的带土
m1macrt-threadiot物联网macosrisc-v
最近准备深入学习一下RTOS,好巧不巧的是在前几天换了m1的macbookair,于是想要在电脑上配置一下RT-Thread的开发环境,网上搜了一大堆,没有看到符合需求的相关教程(真的很少很少,哭了,给我整崩溃!)。不过在几天的东平西凑后,成功在我的电脑上完成了RT-Thread的编译与运行。现在分享出来,有需要的可以参考一下。1.工具python3.11.5.我这里应该是用的苹果自带的,这里不用
- M1 Mac双系统搭建qemu riscv linux仿真
灰灰h
操作系统经验分享linuxrisc-vmacos
前言实验需要riscv仿真,网上没有针对m1的配置教程,故在此整理下。本人用的m1macbookpro,系统12.3。参考到的链接:https://github.com/AsahiLinuxhttps://risc-v-getting-started-guide.readthedocs.io/en/latest/linux-qemu.htmlhttps://zhuanlan.zhihu.com/p
- [008] [RT-Thread学习笔记] 求结构体首地址rt_list_entry函数与字节对齐RT_ALIGN宏
柯西的彷徨
RT-Threadlist数据结构rtos
RT-Thread学习笔记rt_list_entry函数源码分析应用示例RT_ALIGN宏源码分析应用示例RT-Thread版本:4.0.5MCU型号:STM32F103RCT6(ARMCortex-M3内核)1rt_list_entry函数rt_list_entry函数的作用是根据已知成员的地址,算出其结构体的首地址。函数定义如下(在rtservice.h中):1.1源码分析#definert_
- Run-On-Arch GitHub Action:跨架构CI/CD的利器
怀创宪
Run-On-ArchGitHubAction:跨架构CI/CD的利器run-on-arch-actionAGithubActionthatexecutesjobs/commandsonnon-x86cpuarchitectures(ARMv6,ARMv7,aarch64,s390x,ppc64le,riscv64)viaQEMU项目地址:https://gitcode.com/gh_mirror
- 使用RT-Thread Studio DIY 迷你桌面时钟(三)| 获取NTP时间(at_device软件包 + netutils软件包)----基于stm32f103rct6
杜嗨皮
c语言
先参考官方的文章使用RT-ThreadStudioDIY迷你桌面时钟(三)|获取NTP时间(at_device软件包+netutils软件包)_Mculover666的博客-CSDN博客1.项目进度桌面Mini时钟项目用来演示如何使用RT-ThreadStduio开发项目,整个项目的架构如下:在上一篇博文中简单的介绍了RT-ThreadStudio一站式工具,基于STM32L431RCT6这个芯片
- RISCV AIA (一)
啊节奏不对
AIASPECrisc-v
概述riscvAIAspecv1.0包含如下三个方面:a、卷二riscv特权架构规范的扩展,b、两种标准的中断控制器---APLIC和IMSIC,c、对与中断相关的其他系统的要求。该aia规范相对于原有的plic规范,增加了msi消息中断的支持,可以更好的应用于多核NoC的网络中。中断的pending置位,表示中断控制器已经响该中断,并将中断送到处理器,在pending=1时,中断控制器不会再响应
- MIT-6.s081-OS lab cow: Copy-on-Write Fork for xv6
RedemptionC
操作系统内存管理
代码:https://github.com/RedemptionC/xv6-riscv-6s081/tree/cow本实验仍然是虚拟内存,所以暂且跳过了中间的内容(指lec和课本)分析copyonwritefork:在之前的codewalkthrough(https://blog.csdn.net/RedemptionC/article/details/107709618)中提到了,fork的实现
- Docker Ubuntu 20.04执行CI任务交叉编译riscv64-linux-gcc时no such file or directory
Wentao Wu
第一次接触rsicv64的交叉编译环境(其他交叉编译环境也基本没接触过,只是知道概念和原理),目前的需求是需要在gitlab上给一套rsicv64-linux-gcc执行CI任务,默认直接在本地服务器执行交叉编译,需要经常清理服务器文件,且成熟的开发环境不适合作为测试环境来运行,因此考虑将CI任务直接在Docker中执行,也需要配置最小化且测试环境最干净的Docker镜像。手工在服务器执行,全套流
- 【STM32F1例程5】RT-THREAD实验
不会计算机的g_c__b
嵌入式开发stm32嵌入式硬件单片机
解释说明这个概念还是想唠叨一下(个人总结,仅供参考)!!!RT-Thread是一个开源的、中英文双语的、面向嵌入式系统领域的实时操作系统(RTOS)。它具备以下特点:1.轻量级:RT-Thread的内核非常小,整个内核的代码量不足3K,可以运行在各种资源受限的嵌入式硬件上。2.可伸缩性:RT-Thread可以运行在从几百字节内存的8051到大型的ARM7以及更高性能的处理器上。3.实时性:作为一个
- 龙芯+FreeRTOS+LVGL实战笔记(新)——05部署主按钮
南耿先生
嵌入式开发龙芯FreeRTOSLVGL
本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了改进和优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以前往本人在B站的视频合集(图2所示)观看所有演示视频,合集首个视频链接为:借助RT-Thread和LVGL,在龙芯板上搞定两个
- 龙芯+FreeRTOS+LVGL实战笔记(新)——02准备工程和驱动文件
南耿先生
嵌入式开发龙芯FreeRTOSLVGL
本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了完善与优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以前往本人在B站的视频合集(图2所示)观看所有演示视频,合集首个视频链接为:借助RT-Thread和LVGL,在龙芯板上搞定两个
- 睿赛德科技携手先楫共创RISC-V生态|RT-Thread EtherCAT主从站方案大放异彩
RT-Thread物联网操作系统
科技risc-v人工智能物联网大数据
日前,在先楫HPM6E00技术日上,睿赛德科技(RT-Thread)向广大工业用户展示了多年来双方在RISC-V生态领域的合作历程和成果,同时睿赛德科技携手先楫半导体首次推出了基于HPM6800处理器的EtherCAT主站解决方案,吸引了现场大量工业用户的关注。该方案不仅展示了卓越的性能和可靠性,还体现了双方在嵌入式系统领域的深入合作和技术领先优势。目前先楫半导体所有开发板已上RT-Thread主
- 一键教会OpenHarmony-4.1-Release的small系统的rootfs制作过程
wenfei11471
itopen组织1、提供OpenHarmony优雅实用的小工具2、手把手适配riscv+qemu+linux的三方库移植3、未来计划riscv+qemu+ohos的三方库移植+小程序开发4、一切拥抱开源,拥抱国产化一、rootfs制作命令small系统的rootfs制作脚本为build/ohos/packages/fs_process.py,制作的命令为build/ohos/packages/fs
- RT-Thread GD32F4xx RTC设备驱动
madao1024
RT-Thread学习记录实时音视频单片机嵌入式硬件
目录1、RTC2、软件模拟RTC2.1配置软件模拟RTC2.2soft_rtc.c3、GD32F4xxRTC驱动3.1创建RTC设备3.2实现RTC设备的操作方法3.3注册RTC设备3.4添加配置4、应用测试4.1应用测试程序4.2软件模拟RTC驱动测试结果4.3硬件RTC驱动测试结果1、RTC RTC(Real-TimeClock,实时时钟)是嵌入式设备中的常用功能,它可以提供精确的实时时间,
- 关于单片机的 json解析
休眠师
AIOT单片机网络
因为项目使用到了网络,与服务进行http通讯,所以选择了使用json方式。单片机通过串口与wifi模块,获取网络上的数据包,根据字符串处理拿到传输的json字符。在单片机上处理json的方式简单发现了3种,开始用了frozen,在使用过程发现总在调用free()函数的时候卡死;百度了一通,发现要把head的大小设置大一点。从512到8196,发现都不行,进而想是不是rt-thread嵌太深,把栈撑
- RT-Thread GD32F4xx HWTIMER驱动
madao1024
RT-Thread学习记录RT-ThreadGD32F4xxHWTIMER驱动开发
目录1、RT-ThreadHWTIMER2、HWTIMER驱动2.1创建HWTIMER设备2.2实现rt_hwtimer_ops2.3注册HWTIMER设备2.4HWTIMER中断处理3、驱动配置4、应用测试1、RT-ThreadHWTIMER RT-Thread中将定时器分为硬件定时器(HWTIMER)和软件定时器。HWTIMER硬件定时器和硬件MCU的定时器是一一绑定的,可用的定时器数量受限
- 物联网毕业设计 - 基于单片机的自动写字机器人
DD学长
物联网毕设毕业设计单片机物联网机器人自动写字机器人毕业设计
⭐️基于STM32+AB32VG1单片机的写字机运动控制系统⭐️STM32F4单片机AB32VG1单片机RT-Thread物联网操作系统SD卡文件读取与发送速度前馈、折角优化、加速处理等算法源码:https://blog.csdn.net/m0_71369066/article/details/126415022
- 【RISC-V 指令集】RISC-V 向量V扩展指令集介绍(八)- 向量整数算术指令
瑶光守护者
RISC-V指令集分析risc-v人工智能机器学习
1.引言以下是《riscv-v-spec-1.0.pdf》文档的关键内容:这是一份关于向量扩展的详细技术文档,内容覆盖了向量指令集的多个关键方面,如向量寄存器状态映射、向量指令格式、向量加载和存储操作、向量内存对齐约束、向量内存一致性模型、向量算术指令格式、向量整数和浮点算术指令、向量归约操作、向量掩码指令、向量置换指令、异常处理以及标准向量扩展等。首先,文档定义了向量元素和向量寄存器状态之间的映
- 探索RISC-V架构测试:一个开源的硬件验证工具链
钟洁祺
探索RISC-V架构测试:一个开源的硬件验证工具链riscv-arch-test项目地址:https://gitcode.com/gh_mirrors/ri/riscv-arch-test在软件开发领域,我们常说“测试是质量的保证”。而在硬件设计中,这一原则同样适用。项目就是一个致力于RISC-V架构验证的开源工具链,它可以帮助开发者确保其RISC-V处理器实现正确地遵循了指令集体系结构(ISA)
- riscv简单常用汇编指令xv6
耶耶耶耶耶~
操作系统操作系统
文章目录前言entry.Smretasmvolatilereadcsrwritecsrriscv常见csr寄存器ecall,系统调用指令cpu执行异常处理指令的三种事件异常处理相关寄存器用户态trapsret指令页表切换操作用户态系统调用过程总结内核态trap缺页异常中断与设备驱动Locking调度文件系统操作系统拥有的资源xv6系统启动过程1.准备C代码执行环境2.进入mainchar*argv
- 【ARMv8M Cortex-M33 系列 2.4 -- JFlash 烧写之链接脚本介绍】
主公CodingCos
#【ARMv8MM33专栏】嵌入式硬件arm开发
文章目录JFlash烧写之链接脚本介绍MEMORY区段示例SECTIONS区段示例符号定义启动代码实际使用ARMBCC指令介绍BCC指令使用举例JFlash烧写之链接脚本介绍在RT-Thread实时操作系统中,链接脚本(LinkerScript)定义了如何将代码和数据映射到微控制器的内存中。链接脚本通常以.ld为扩展名。对于特定的微控制器,如RenesasR7FA4M2AC3C,链接脚本中的MEM
- RT-Thread设备驱动框架
sscb0521
RT-Thread单片机
RT-Thread设备驱动框架1、什么是I/O设备?I/O设备是input/output设备,串口,定时器,adc,i2c,spi,flash,SD,USB等都是I/O设备。2、rt-thread怎么管理I/O设备?RT-Thread设计了I/O设备框架。从上到下共有3层。应用设备管理层设备驱动框架层设备驱动硬件2.1设备管理层设备管理层统一定义了6个设备操作接口,具体到某类设备的话,可能只用到其
- [嵌入式系统-14]:常见实时嵌入式操作系统比较:RT-Thread、uC/OS-II和FreeRTOS、Linux
文火冰糖的硅基工坊
嵌入式系统架构嵌入式操作系统
目录一、实时嵌入式操作系统1.1概述1.2什么“实时”1.3什么是硬实时和软实时1.4什么是嵌入式1.5什么操作系统二、常见重量级操作系统三、常见轻量级嵌入式操作系统3.1概述3.2FreeRTOS3.3uC/OS-II3.4RT-Thread3.5RT-Thread、uC/OS-II、FreeRTOS比较3.6RT-Thread、uC/OS-II和FreeRTOS应用场景比较3.7RT-Thre
- 从RT-Thread RTOS接触到的3个算法
云会宾
rt-threadRTTRT-Thread野火MDK仿真
——基于[野火®]《RT-Thread内核实现与应用开发实战—基于STM32》第一部分的学习,6-12章,是为mdk仿真,了解了RT-Thread的基础。感谢野火。可能理解有不对的地方请大神指教。1.给出结构体的成员,反推结构体的起始地址。这个算法是把数字0强制转换成这个结构体类型,然后取出这个结构体成员,这就是这个结构体成员的在结构体中偏移量。有了这个偏移量再根据这个成员的地址,就算出了结构体的
- rtt面向对象oopc——3.对官方IO设备模型框架图的补充绘图
云会宾
rt-threadc语言linuxpython
该补充图有幸得到rtthread官方认可,gitee上已提交PR,且通过了官方评审,已被合并到《IO设备模型》章节末尾的《补充说明》小节里了rt-thread官方文档gitee链接网址:https://gitee.com/rtthread/docs-online/blob/master/rt-thread-version/rt-thread-standard/programming-manual/
- 算法 单链的创建与删除
换个号韩国红果果
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较早的版本都自带,