- 国产Cortex-M0单片机HR8P506,用于小家电,玩具模型,快充电源,报警器等
andyyao003
单片机国产单片机Cortex-M0
国产单片机HR8P506,48MHZ的Cortex-M0内核架构,超高性价比国产单片机MCU。厂家:上海东软件载波,原先是上海海尔。海尔是搞家电的,世界闻名,他们的芯片也是很牛的!已经补华为充电宝等等广泛使用,安全性高,可靠稳定。此芯片已经量产了二年多了。宽电压2.5-5.5V,还支持LCD液晶屏、LED屏直接驱动,华为充电宝用。芯片简介:已被“华为”用在安全级别高的充电宝上了。品质超群,性价比高
- Linux系统总结
小马不敲代码
后端linux服务器
Linux基础操作系统操作系统OperatingSystem简称OS,是软件的一部分,它是硬件基础上的第一层软件,是硬件和其它软件沟通的桥梁。操作系统会控制其他程序运行,管理系统资源,提供最基本的计算功能,如管理及配置内存、决定系统资源供需的优先次序等,同时还提供一些基本的服务程序。什么是LinuxLinux系统内核与Linux发行套件的区别Linux系统内核指的是由LinusTorvalds负责
- Linux移植加载内核、设备树、根文件系统的几种方法总结(TFTP、nfs、SD卡、eMMC)
HelloTonyGo
linuxubuntu驱动开发嵌入式硬件
Linux移植加载kernelimage、dtb、rootfs文件系统的几种方法总结前言一、TFTP1、u-boot移植DM9000A2、宿主机安装TFTP服务器3、复制rootfs到SD卡4、tftp的使用二、NFS1、Ubuntu安装nfs服务器2、把rootfs配置为nfs服务的专有文件夹3、nfs的使用三、fatload命令加载内核四、制作ramdisk到SD卡五、根文件系统的几种加载方式
- 揭秘Linux:从内核到发行版,一文读懂开源操作系统的核心奥秘
寒水馨
Linux问题解决方案linux开源运维
揭秘Linux:从内核到发行版,一文读懂开源操作系统的核心奥秘文章目录揭秘Linux:从内核到发行版,一文读懂开源操作系统的核心奥秘引言:Linux的魅力与挑战Linux内核:操作系统的心脏内核版本命名规则内核版本的演进历史主流内核分支解析Linux发行版:为什么如此多样化?发行版的定义与组成主流发行版深度对比如何选择适合自己的发行版内核与发行版的关系:解开"版本"之谜发行版如何选择和定制内核内核
- HarmonyOS-面试整理
大众筹码
harmonyos面试华为
目录为什么选择HarmonyOS/优点/特点鸿蒙系统的权限有哪些授权方式区别:说一说鸿蒙系统的安全机制说一说鸿蒙系统的微内核与安卓的内核区别鸿蒙操作系统的微内核架构有哪些优势分布式能力在鸿蒙系统中如何实现请解释一下鸿蒙系统中的分布式软总线技术如何在鸿蒙操作系统中进行多设备协同开发?鸿蒙操作系统如何保障系统的安全性?请描述一下鸿蒙操作系统的用户界面开发框架鸿蒙操作系统支持哪些编程语言请解释一下鸿蒙操
- 学习OpenEuler的经验分享
leegong23111
学习华为
学习OpenEuler的实用经验分享想要精通OpenEuler,扎实的基础是首要前提。建议从官方网站下载并研读技术文档,这些文档涵盖内核原理、系统架构和网络模型等关键知识,为后续学习筑牢根基。官方文档不仅全面,还紧密贴合最新版本特性,能让你紧跟技术前沿。比如,在理解OpenEuler内核调度机制时,官方文档详细阐述了任务分配和资源管理原则,让对系统底层运行逻辑有了清晰认知。同时,参考专业书籍也极为
- OpenEuler学习感悟
leegong23111
学习华为
在初次接触OpenEuler时,我深感其学习难度较大。它与我之前熟悉的操作系统存在诸多差异,学习过程中,需要理解复杂的内核机制、掌握独特的系统配置方法。但正是这种挑战,激发了我深入探索的热情。从理论学习入手,我发现官方文档是最宝贵的资源。其中详细阐述的内核原理、系统架构知识,为我构建了对OpenEuler的初步认知框架。然而,仅靠理论难以真正掌握这一系统。于是,我借助VirtualBox搭建了本地
- php linux 常用命令,Linux常用命令大全
潘儒锋
phplinux常用命令
Linux常用命令大全,以前收集的系统信息arch显示机器的处理器架构(1)uname-m显示机器的处理器架构(2)uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件-(SMBIOS/DMI)hdparm-i/dev/hda罗列一个磁盘的架构特性hdparm-tT/dev/sda在磁盘上执行测试性读取操作cat/proc/cpuinfo显示CPUinfo的信息cat/pro
- linux操作命令comm,史上最全的Linux常用命令
云小牙
linux操作命令comm
系统信息arch显示机器的处理器架构(1)uname-m显示机器的处理器架构(2)uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件-(SMBIOS/DMI)hdparm-i/dev/hda罗列一个磁盘的架构特性hdparm-tT/dev/sda在磁盘上执行测试性读取操作cat/proc/cpuinfo显示CPUinfo的信息cat/proc/interrupts显示中断c
- c#视觉应用开发中如何在C#中进行图像颜色空间转换?
openwin_top
C#视觉应用开发问题系列c#开发语言计算机视觉视觉检测.net
microPythonPython最小内核源码解析NI-motion运动控制c语言示例代码解析python编程示例系列python编程示例系列二python的Web神器Streamlit如何应聘高薪职位在C#中进行图像颜色空间转换,通常涉及将图像从一种颜色空间转换到另一种颜色空间,例如从RGB转换到灰度、HSV或YUV等。为了实现这些转换,您可以使用多种库和技术,包括.NET自带的System.D
- [Linux 基础] -- 内核探究:regmap 机制
BestW2Y
Linux基础linuxregmap
前言:regmap机制是在Linux3.1加入的新特性。主要目的是减少I/O驱动上的重复逻辑代码,提供一种通用的接口来操作底层硬件上的寄存器。比如,之前如果要操作i2c设备的寄存器,我们要调用i2c_transfer接口,要操作spi设备的寄存器,就要调用spi_write/spi_read等接口,如果把它们抽象为regmap结构,那么只要调用regmap_read/regmap_write就可以
- 基于STM32设计的WiFi语音播报日程表
DS小龙哥
智能家居与物联网项目实战stm32单片机嵌入式硬件
1.前言近年来,随着电子产品的发展,数字日程表这项应用在人们工作和生活中起到越来越重要的作用。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间,忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,遇上重要事务,一时的耽误可能酿成大祸。因此从人们的日常生活到公司办公,从台式电脑到便携式智能手机,都要求标配上日程表的作用。人们要求随时随地都能快速准确的提醒当前事务,
- 【STM32F1例程5】RT-THREAD实验
不会计算机的g_c__b
嵌入式开发stm32嵌入式硬件单片机
解释说明这个概念还是想唠叨一下(个人总结,仅供参考)!!!RT-Thread是一个开源的、中英文双语的、面向嵌入式系统领域的实时操作系统(RTOS)。它具备以下特点:1.轻量级:RT-Thread的内核非常小,整个内核的代码量不足3K,可以运行在各种资源受限的嵌入式硬件上。2.可伸缩性:RT-Thread可以运行在从几百字节内存的8051到大型的ARM7以及更高性能的处理器上。3.实时性:作为一个
- Python框架-Flask
flylr^
Pythonflaskpython后端
1.Flask介绍Flask作为主流的框架之一,是每个程序员必不可少掌握的,使用python语言基于Werkzeug工具箱编写的轻量级Web开发框架;本身相当于一个内核,其他几乎所有的功能都要用到扩展;核心在于Werkzeug(路由模块),Jinja2模板引擎。相比于django,flask比较轻,轻不代表它的功能不够强大,而是它拥有丰富的扩展,依赖于扩展给应用添加功能2.环境搭建1.安装Flas
- 最全复习嵌入式STM32知识点总结
One Kb
STM32入门基础stm32嵌入式硬件单片机
STM32F103系列STM32:芯片系列F:芯片类型103:芯片子系列R:引脚数目B:FLASH容量T:封装信息6:工作温度范围STM32:系统内核小、专用性强、系统精简Lx系列:低功耗F0/1/3系列:均衡型F2/4/7系列:高性能ARMCortex-M3处理器系列基于ARMv7架构的产品STM32F103ZET6有7个端口(A、B、C、D、E、F、G),每个端口16个引脚(0~15)采用哈佛
- Ubuntu系统docker安装步骤
小白--AI
docker容器ubuntudockerlinux
一、使用docker有些什么好处轻量化和快速启动:Docker容器与传统虚拟机相比更为轻量,因为它们共享主机操作系统的内核。这使得容器可以快速启动和停止,节省了资源和时间。一致的开发和部署环境:Docker容器可以在不同的环境中(开发、测试、生产)提供一致的运行环境。这消除了由于环境差异导致的开发和部署问题,有助于确保应用在不同阶段的一致性。隔离性和安全性:每个Docker容器都是独立的,有自己的
- 【Docker安装】Ubuntu系统下离线部署Docker环境教程
江湖有缘
Docker小白快速入门dockerubuntu容器
【Docker安装】Ubuntu系统下离线部署Docker环境教程前言一、本次实践介绍1.1本次实践规划1.2本次实践简介二、检查本地环境2.1检查操作系统版本2.2检查内核版本2.3更新软件源三、卸载Docker四、下载安装包4.1创建目录4.2官网下载五、部署Docker环境5.1解压安装包5.2复制文件5.3查看Docker版本5.4设置Docker服务5.5配置Docker镜像加速5.7启
- Linux 内核中的 InfiniBand 核心模块:drivers/infiniband/core/device.c 分析
109702008
#linux系统编程网络网络linux人工智能
InfiniBand是一种高性能、低延迟的网络互连技术,广泛应用于高性能计算(HPC)、数据中心和云计算等领域。Linux内核中的InfiniBand子系统提供了对InfiniBand设备的支持,而drivers/infiniband/core/device.c文件则是InfiniBand核心模块的重要组成部分。本文将对device.c文件的功能、数据结构、关键函数以及驱动核心入口进行详细分析。一
- IO与进线程
簏屿
1024程序员节linux
一、系统调用的概念OS负责管理和分配所有的计算机资源同时保护计算机硬件,为了更好地服务于应用程序,OS提供了一组特殊的接口,即系统调用。通过这组接口,用户程序可以使用OS内核提供的各种功能,如内存分配、进程创建、线程创建、进程间通信及线程间通信等。二、Linux文件类型拾遗Linux系统中,一切皆文件,操作设备时实际上是对文件进行操作。Linux文件类型:-:普通文件,linux中,如一般文件的文
- 杨建:网站加速--服务器编写篇
黄传通
服务器centosbufferservertcp多线程
杨建:网站加速--服务器编写篇(上)--提升性能的同时为你节约10倍以上成本From:http://blog.sina.com.cn/iyangjian一,如何节约CPU二,怎样使用内存三,减少磁盘I/O四,优化你的网卡五,调整内核参数六,衡量WebServer的性能指标七,NBAjs直播的发展历程八,新浪财经实时行情系统的历史遗留问题(7byte=10.68wRMB/year)---------
- 海尔 F231ZC 随身 WiFi 刷机升级全攻略
虎王科技
golang后端
随身WiFi相关(程序+源码+工具+调试部署+开发环境)总共500多GB以上,文章末尾可获取,在最后面了。技术来自酷安论坛本文进攻学习研究自娱自乐在快节奏的现代生活中,网络连接已成为我们不可或缺的一部分。无论是商务出行还是日常休闲,随身WiFi设备都能为我们提供随时随地的上网服务。而海尔F231ZC作为一款备受关注的随身WiFi产品,其性能与功能也在不断更新和优化。本文将为您详细介绍海尔F231Z
- Android 内核开发之—— repo 使用教程
ByteSaid
Android开发androidgit
前言repo是一个用于管理多个Git仓库的工具,特别适用于管理大型项目如Android的源码。它是由Google开发的,用于解决多个Git仓库的同步、管理和代码审查等问题。因此,做Android内核开发,首先要了解repo是什么,它是如何使用的?1repo的概念repo是一种代码版本管理工具,它是由一系列的Python脚本组成,封装了一系列的Git命令,用来统一管理多个Git仓库。2repo的作用
- WiFi 网络技术深度解析
微技术
随着移动互联网、物联网(IoT)以及智能家居等技术的快速发展,WiFi网络已成为现代生活中不可或缺的一部分。从家庭到办公室,从公共场所到工业场景,WiFi网络在提供高速数据传输、无缝连接等方面发挥着重要作用。本文将从WiFi的基本原理、标准演进、架构设计、性能优化及未来趋势等方面详细解析WiFi网络技术。1.WiFi基本原理WiFi(WirelessFidelity)是基于IEEE802.11标准
- 火山引擎数据飞轮2.0:聚焦Data+AI,驱动企业数智化转型
大数据
数字化浪潮席卷全球,数据与人工智能的融合正给各行各业带来巨大变革,不仅重塑数据处理流程,更在决策支持、业务优化、产品创新等多个维度上展现巨大的潜力。近期,火山引擎数智平台技术和产品专家受邀出席DataFun首届“数据与人工智能解决方案大会”,围绕数据飞轮2.0模式,及Data+AI领域热门话题ChatBI、多模态数据湖展开分享。据介绍,2023年4月火山引擎发布了数据飞轮,其内核为“以数据消费促资
- stop调度类
liqb365
Linuxlinux
摘自笔者原创的《Linux原理》草稿相关段落。本文基于5.15.133版本讨论。2.4.1stop2.4.1.1stop简介众所周知,Linux内核包含五个调度类。它们分别是stop,deadline,RT,CFS和Idle。每次调度,其调度的顺序按照排序先后进行。所以,stop调度类拥有每次调度的最高优先权。在stop机制中,可以借用经济学中消费者和生产者的概念来比喻该机制运行中非常重要的两部分
- dump_stack在ARM64架构的实现
liqb365
linux
dump_stack函数可以帮助我们回溯内核调用栈的先后顺序,比如:本文基于5.15.133版本讨论dump_stack在ARM64架构上的实现。dump_stack的实现与架构有关,但是原理都是通过回溯栈帧。在ARM64架构上,栈回溯的实现在arch/arm64/kernel/stacktrace.c的dump_backtrace函数中实现,其调用的流程是:编号函数文件1dump_stackli
- Linux内核中本地IRQ开关在ARM64架构上的实现
liqb365
Linuxlinux架构
A.1.1概述本文基于Linux5.15.133版本论述。本地CPU的IRQ关闭一般可以使用local_irq_save或者local_irq_disable,开启IRQ则相应的使用local_irq_restore和local_irq_enable。本文主要分析这些函数在ARM64架构上的实现。A.1.2开关中断首先看local_irq_disable。local_irq_disable本质上是
- 在 WiFi 连接的情况下,查找某一个 IP 地址所在位置
哥坐11路
智能路由器
通过专业数据库查询使用在线IP查询网站:有许多在线网站如ip66.net等,专门提供IP地址定位服务15。只要输入要查询的IP地址,网站就会利用其背后的地理IP数据库,返回该IP地址对应的大致地理位置,如城市、州/省、国家等信息。利用网络分析工具:一些专业的网络分析工具,如IP2Location、MaxMind等,除了提供基本的地理位置信息外,还可能提供更详细的信息,如经纬度、ISP(互联网服务提
- linux centos 7.6 搭建docker及安装环境部署项目
小猪与二哈
Javalinuxdockercentosjavamysql
linuxcentos7.6搭建docker及安装环境部署项目一.配置linux环境目前docker安装只支持centOS7、centOS6.5也就是说centOS7是需要3.1以上内核centOS6.5是需要2.6以上内核linux输出命令uname-a使用腾讯云服务centos7.6重装系统,重置实例的密码[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZG2SU
- gaussdb大表查询性能慢的解决思路
_Evelyn
大数据gaussdb
一、引言1.背景介绍数字化和智能化转型是经济发展的新动力。而面对国外对中国数据库市场的长期垄断,人们对于中国自研数据库的需求越来越普遍,高斯数据库成为许多企业的选择之一。在经营分析5G智慧加油站项目项目中,我接触到高斯数据库,并使用它来进行数据的存储和查询。高斯数据库是以PostgreSQL为内核进行开发的一款数据库产品,其具备了PostgreSQL的高并发特性,又具有很强的通用性,支持行和列两种
- 算法 单链的创建与删除
换个号韩国红果果
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较早的版本都自带,