- RT_Thread 学习笔记 之 Env使用环境安装
BigAntHome
RT_ThreadENV学习笔记Env使用环境安装RT-ThreadEnv工具包括配置器和包管理器,用来对内核和组件的功能进行配置,对组件进行自由裁剪,对线上软件包进行管理,使得系统以搭积木的方式进行构建,简单方便首先登录RT_Thread官网,网址是https://www.rt-thread.org/图1RT_Thread官网如上图所示为RT_Thread官网,点击菜单“资源”中的“下载”,跳转
- RT_Thread学习--线程间同步
醉月阁
RT-Thread学习操作系统
在之前的博客中,我们学习了线程管理以及时钟管理,在这一篇博客中,开始线程间同步的学习。线程间同步多线程实时系统中,线程间同步使得多个线程之间相互配合,共同完成一项工作。例如:要将一个温度传感器获取到的信息打印输出到显示器上,那么,需要有一个线程从传感器中接收数据并将数据写到共享内存,同时需要另外一个线程周期性的从共享内存中读取数据并发送到显示器输出。大致流程如图所示:这个时候我们思考一个问题:以上
- RT_thread(四)线程间同步之信号量
L加号
RT_Thread学习之路网络
文章目录线程间同步1.信号量1.信号量机制2.信号量控制块3.信号量管理方式1.判断是否使用信号量2.初始化和脱离3.创建和删除3.获取信号量4.释放信号量信号量使用例子线程间同步在多线程实时系统中,一项工作的完成往往可以通过多个线程协调的方式共同来完成,而通过这三种方式:信号量、互斥量、事件集可以保证多个线程之间同步。线程的同步方式有很多种,其核心思想都是:在访问临界区的时候只允许一个(或一类)
- RT_Thread 调试笔记:信号量,互斥量,事件集 的创建和使用流程
yutian0606
RT-Thread笔记RT-Threadstm32
说明:记录日常使用RT_Thread开发时做的笔记。持续更新中,欢迎收藏。1.信号量1.使用流程/*信号量的定义和使用流程*//*step1:定义用于接收消息的信号量*/staticstructrt_semaphorerx_sem;或者staticrt_sem_trx_sem;/*step2:初始化信号量*/rt_sem_init(&rx_sem,"rx_sem",0,RT_IPC_FLAG_FI
- RT_Thread 调试笔记:时间相关,时钟管理函数,延时,定时器、 毫秒转换为时分秒 等
yutian0606
RT-Thread笔记RT-Threadstm32
说明:记录日常使用RT_Thread开发时做的笔记。持续更新中,欢迎收藏。1.延时函数1.us延时函数rt_hw_us_delay(rt_uint32_tus);//输如数据是usrt_hw_us_delay(200);//输入数据是us2.ms延时函数rt_thread_mdelay(1000);//输入数据是ms2.定时器函数官网资料:https://www.rt-thread.org/doc
- RT_Thread 调试笔记:串口打印、MSH控制台 相关
yutian0606
RT-Thread笔记stm32RT-Thread
说明:记录日常使用RT_Thread开发时做的笔记。持续更新中,欢迎收藏。1.打印相关1.打印宏定义,可以打印打印所在文件,函数,行数。#definePRINT_TRACE()printf("-------%s:%s:%d------\r\n",__FILE__,__FUNCTION__,__LINE__);__FILE__:正在编译文件的路径及文件名__LINE__:正在编译文件的行号__DAT
- RT_thread 独立看门狗 watchdog 不断自动复位的解决方法
yl浪迹天涯
RT_ThreadRT_ThreadWATCHDOG看门狗
记录一下,这个问题把我坑惨了,搞了3天都没有解决,甚至都有点怀疑人生了。本着学习的态度跑一遍官网给的各种案例,再慢慢学习用到项目上,结果上来就闷头一棒。可能是这点坑了自己,我并没有直接从官网上去下载最新源码。我用了之前RT_thread来重庆培训的时候拷贝给我的源码。我一看这不有个v4.0.1版本的吗,一想现在不也就最高v4.0.2。从这里开始我就入坑了,之前利用的那些串口、IIC、SPI都没出现
- 【嵌入式】开源shell命令行的移植和使用(1)——nr_micro_shell
公子无缘
嵌入式开源嵌入式硬件单片机shell命令模式
目录一背景说明二移植准备三移植过程四实际使用一背景说明在进行调试和维护时,常常需要与单片机进行交互,获取、设置某些参数或执行某些操作,nr_micro_shell正是为满足这一需求,针对资源较少的MCU编写的基本命令行工具。虽然RT_Thread组件中已经提供了强大的finsh命令行交互工具,但对于ROM、RAM资源较少的单片机,finsh还是略显的庞大,在这些平台上,若仍想保留基本的命令行交互功
- 嵌入式软件分层模块封装例子
m0_61687959
php开发语言
一、前言以STM32为例,打开网络上下载的例程或者是购买开发板自带的例程,都会发现应用层中会有stm32f10x.h或者stm32f10x_gpio.h,这些文件严格来时属于硬件层的,如果软件层出现这些文件会显得很乱。使用过Linux的童鞋们肯定知道linux系统无法直接操作硬件层,打开linux或者rt_thread代码会发现代码中都会有device的源文件,没错,这就是驱动层。二、实现原理原理
- μC/OS-II——软件定时器
Jackson Qin
ARM嵌入式c语言osrtos嵌入式
uCOS-ii软件定时器最近学习嵌入式操作系统,见过了很多RTOS之后,最本质的东西也就那点东西。无论是FreeRTOS还是μC/OS-II-III、鸿蒙、RT_Thread等等,内核层面的实现机制大同小异。想从最基本的底层原理学习一个OS的设计思想和实现原理。μC/OS-II是最好的学习对象。μC/OS-II嵌入式操作系统属于微内核的RTOS,1992年由美国人推出。Todate,μC/OS-I
- RT-Thread学习笔记,创建线程及启动过程
乐乐爱学习1
笔记stm32rtos
一、RT-Thread初始化函数1.RT_thread的初始化函数是:rt_hw_board_init();可将外设初始化放在其中,这时候还未运行操作系统。二、RT-ThreadGPIO初始化函数2.RT_thread的GPIO初始化函数为:rt_pin_mode(GET_PIN(G,13),PIN_MODE_OUTPUT);三、RT_thread创建静态线程的过程1.创建线程入口函数(实现功能,
- RT_Thread基于STM32F407 FAL组件使用(片内FLASH+W25Q128)
嵌入式啊
RT-ThreadFAL组件嵌入式物联网rtosflash
备注:RT_Thread版本为V4.0.2,使用芯片型号为STM32F407VGT6,基于官方例程中stm32f407_st_discovery例程实现。目录第一部分(片内FLASH)一、Kconfig配置二、menuconfig配置三、CubMX引脚配置四、工程内部配置第二部分(片外FLASHW2Q128)一、menuconfig配置二、CubeMx配置三、工程内部配置第一部分(片内FLASH)
- 【STM32&RT-Thread零基础入门】8. 基于 CubeMX 移植 RT-Thread Nano
ZRob
STM32RT-Thread操作系统入门stm32嵌入式硬件单片机
硬件:STM32F103ZET6、ST-LINK、usb转串口工具、4个LED灯、1个蜂鸣器、4个1k电阻、2个按键、面包板、杜邦线文章目录前言一、cubemx配置二、board.c文件修改2.rtconfig.h文件修改三、主程序1.main函数2.task函数总结前言利用RT_Thread操作系统实现三种不同的LED等闪烁提示:以下是本篇文章正文内容,下面案例可供参考一、cubemx配置cub
- RT_Thread时钟管理
爱花的程序员
rt-thread开发语言
一.时钟节拍任何操作系统都需要提供一个时钟节拍,以供系统处理所有和时间有关的事件,如线程的延时、线程的时间片轮转调度以及定时器超时等。RT-Thread中,时钟节拍的长度可以根据RT_TICK_PER_SECOND的定义来调整。rtconfig.h配置文件中定义:获取时钟节拍#include#defineDBG_TAG"main"#defineDBG_LVLDBG_LOG#includeintma
- RT_Thread内核机制学习(四)队列
Caramel_biscuit
RT-Thread学习RT-Thread
队列队列中每个消息块都有一个头部,指向下一个消息块。消息块的内存是连在一起的,但是是用链表组织的。structrt_messagequeue{structrt_ipc_objectparent;/**parent.parent.flag=flag;/*initializeipcobject*/rt_ipc_object_init(&(mq->parent));/*initializemessage
- RT_Thread内核机制学习(六)信号量
Caramel_biscuit
RT-Thread学习RT-Thread
要传输较大数据时,使用队列。传输较小数值时,使用邮箱。队列、邮箱用来传递数据。如果只是用来传递资源的个数,可以使用信号量。A车与B车只需要传递信号量(代表资源)。信号量获取信号量如果value>0,value–,returnOK;如果value0,timeout0,return-ETIMEOUT;如果value==0,timeout>0,从就绪链表移除(挂起),把自己记录在信号量的等待链表。被唤醒
- RT_Thread内核机制学习(六)互斥量
Caramel_biscuit
RT-ThreadRT-Thread
互斥量互斥量是特殊的信号量,资源个数只能是0、1,实现了优先级继承。互斥量优点:谁拥有谁释放,优先级继承。信号量的缺点:谁都可以释放信号量、优先级反转。HP被MP抢占,优先级反转。互斥量实现了优先级继承。提升了拥有者的优先级,使其尽快释放资源。互斥量结构体structrt_mutex{structrt_ipc_objectparent;/**parent));mutex->value=1;//初始
- RT_Thread内核机制学习(五)邮箱
Caramel_biscuit
RT-Thread学习windowsRT-Thread
之所以引入线程间通信,是为了实现互斥,休眠-唤醒。队列可以指定消息的大小、个数,存放消息,取出消息时都是由rt_memcpy()实现。邮箱保存数据的核心在于数组,只能存放unsignedlong类型数据,数据存取、读出,直接赋值即可,使传递小数据时,效率更高。核心是链表、定时器、环形Buffer避免两个线程同时写:关中断。定时器超时函数,设置线程的错误码为ETIMEOUT,并将自己重新放入就绪链表
- RT_Thread内核机制学习(一)
Caramel_biscuit
RT-Thread学习RT-Thread
ARM架构及汇编ARM芯片属于精简指令集计算机(RISC:ReducedInstructionSetComputer),它所使用的指令比较简单,有如下特点:对内存只有读、写指令。对于数据的运算实在CPU内部实现。使用RISC指令的CPU复杂度小一点,易于设计。读a的值存放在CPU哪里?读b的值存放在CPU哪里?a+b的值保存在哪里?CPU内部有寄存器,用来存放上述所说的值。我们所写的代码保存在Fl
- RT_Thread内核机制学习(二)
Caramel_biscuit
RT-Thread学习网络
对于RTT来说,每个线程创建时都自带一个定时器rt_err_trt_thread_sleep(rt_tick_ttick){registerrt_base_ttemp;structrt_thread*thread;/*settocurrentthread*/thread=rt_thread_self();RT_ASSERT(thread!=RT_NULL);RT_ASSERT(rt_object_
- RTT(RT-Thread)时钟管理
竹烟淮雨
RT-Threadrt-thread实时操作系统嵌入式stm32
目录时钟管理时钟节拍RTT工程目录结构介绍配置文件:rtconfig.h获取系统节拍获取系统节拍数函数实例定时器RT_Thread定时器介绍定时器源码分析(了解即可)rt_system_timer_init(硬件定时器初始化)rt_system_timer_thread_init(软件定时器初始化)总结定时器工作机制定时器相关接口启动和停止定时器动态创建定时器创建定时器删除定时器实例静态创建定时器
- RT_Thread入门系列1--创建RT_Thread Studio和STM32CubeMX联合开发
tianyaeged
RT_Threadstm32单片机
文章目录1.软硬件介绍2.配置STM32CubeMX3.配置RT_ThreadStudio4.操作LED的GPIO1.软硬件介绍1.1硬件平台使用STM32F103RET8开发板,并使用板载LED的原理图:1.2软件平台版本:RT_ThreadStudio2.2.32.RT_ThreadStudio创建工程1.2点击:文件->新建->RT-Thread项目1.2选择基于芯片的项目,填写工程名字,芯
- [攻城狮计划]如何优雅的在RA2E1上运行RT_Thread
花园宝宝小点点
rt-thread单片机物联网嵌入式硬件keilRT-Thread
文章目录[攻城狮计划]|如何优雅的在RA2E1上运行RT_Thread准备阶段开发板开发环境下载BSP编译烧录连接串口总结[攻城狮计划]|如何优雅的在RA2E1上运行RT_Thread开启攻城狮的成长之旅!这是我参与的由CSDN博客专家架构师李肯和瑞萨MCU联合发起的「致敬未来的攻城狮计划」的第1天,点击查看活动计划详情首先非常感谢李老师能给我参加这个计划的机会,让我有机会接触到许多的开发板,同时
- RT_thread空闲线程及两个常用的钩子函数
The endeavor
RTthread单片机stm32mcu
一、空闲线程空闲线程是一个比较特殊的系统线程,它具备最低的优先级。当系统中无其他就绪线程可运行,调度器将调度到空闲线程。空闲线程还负责一些系统资源回收以及将一些处于关闭台的线程从线程调度列表中移除的动作;空闲线程在形式上是一个无限循环结构,且永远不被挂起;在RT_thread实时操作系统中空闲线程向用户提供了钩子函数,空闲线程钩子函数可以让系统在空闲的时候执行一些非紧急事务,例如系统运行指示灯闪烁
- rt_thread hc32f460开发四:pwm驱动移植
lishen_
RT-ThreadHC32F460iotmcu单片机stm32物联网
RT-Thread驱动开发简介RT-Thread驱动开发最开始应该是要阅读官方的文档,理解驱动的运行原理和使用方法。PWM部分的文档在这里https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/pwm/pwm。通常情况下PWM都是作为定时器的一部
- RT-Thread使用WIFI模块通过Paho MQTT协议连接阿里云
嵌入式啊
RT-Thread嵌入式开发物联网mqtt阿里云wifi
备注:RT_Thread版本为V4.0.2,使用芯片型号为STM32F407VGT6,使用wifi模块为安信可esp8266系列的esp-01s,使用stm32f407_st_discovery例程实现。目录一、CubeMX配置配置串口二、menuconfig相关配置Kconfig文件更改menuconfig配置三、程序内部配置一、CubeMX配置配置串口通过串口2与wifi模块进行通信,现在Cu
- STM32F103C8移植RT_Thread
春风浅作序
stm32单片机arm
目录一、RT-Thread概述1、国产RT-Thread操作系统的特点和优势2、RTTNano的功能框架二、准备工作1、CubeMX安装Nanopack(1)获取软件包地址(2)打开CubeMX(3)下载安装完成后如下,前面的勾选框变为绿色2、KeilMDK安装RT-Thread(1)打开MDK软件,点击工具栏的PackInstaller图标(2)点击右侧的Pack三、CubuMX新建文件1、芯片
- 超详细 STM32移植RT_thread 以及RT-Thread介绍
熬鱼不放汤
stm32物联网rtosfreertos
转载自:https://blog.csdn.net/qq_36958104/article/details/111604665既然我们要移植Rt-thread首先就要了解RT-threadRT-ThreadNano简介RT-ThreadNano是一个极简版的硬实时内核,它是由C语言开发,采用面向对象的编程思维,具有良好的代码风格,是一款可裁剪的、抢占式实时多任务的RTOS。其内存资源占用极小,功能
- RT_threadのIO设备学习笔记
百里之外
rtthread笔记stm32单片机arm
总结:RT_thread有一套I/O设备模型框架,如下图:图1I/O设备模型框架 设备驱动通过函数rt_device_register将自己注册到IO设备管理器。应用程序可以使用函数rt_device_find查找设备;使用函数rt_device_open打开设备;使用函数rt_device_read读取设备数据;使用函数rt_device_close关闭设备。 RT_thread的设备模型是建立
- 【国产MCU移植】移植RT-Thread到国产芯片FM33LC026
开源程序员芯片嵌入式操作系统
本文由RT-Thread论坛用户@jiao96原创发布:https://club.rt-thread.org/ask/article/3020.html摘要因为项目需要,使用了复旦微FM33LC026单片机,移植了RT_Thread系统。正好赶上rt官方的【国产MCU移植】活动,顺路参与一下。芯片参数:硬件描述CPUCortex-M0主频64MHzSRAM24KBFlash128KB移植主要步骤:
- 算法 单链的创建与删除
换个号韩国红果果
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较早的版本都自带,