- 详解FreeRTOS:FreeRTOS列表和列表项 (基础篇—13)
不脱发的程序猿
详解FreeRTOSFreeRTOS列表和列表项FreeRTOSRTOS
目录1、列表和列表项是什么?1.1、列表1.2、列表项2、初始化列表和列表项2.1、初始化列表2.2、初始化列表项3、列表项插入3.1、列表项插入过程原理3.2、列表项插入源码4、列表项末尾插入4.1、列表项末尾插入过程原理4.2、列表项末尾插入源码5、删除列表项6、遍历列表7、实验:列表项的插入和删除本篇博文是《详解FreeRTOS》专栏基础篇最后一篇,下篇博文将进入进阶篇阶段。列表和列表项是直
- 6,FreeRTOS临界区代码保护与任务调度器的挂起与恢复
自激振荡器
FreeRTOS学习笔记单片机stm32嵌入式硬件freeRTOSFreeRTOS
一、临界区代码保护如果我们想在执行某段代码时不被中断打断,此时需要进行临界区代码保护。在临界区内关闭中断,临界区结束后开启中断。需要注意的是临界区的进入和退出需要成对出现,如果进入两次,那么需要退出两次才可以成功开启中断。注:本实验基于正点原子FreeRTOS教程的学习总结。1..所需API函数介绍taskENTER_CRITICAL函数用来进入临界区。在任务中调用。#definetaskENTE
- 7,FreeRTOS列表与列表项的插入删除
自激振荡器
FreeRTOS学习笔记单片机stm32嵌入式硬件freeRTOSFreeRTOS
一、实验目标创建三个动态任务,栈空间大小均为128字。startTask、Task1、Task2。startTask仅运行一次,负责task1、task2任务的创建,startTask任务的删除。Task1负责初始化列表、列表项123,并进行列表项的插入实验与删除实验。Task2负责5S闪烁一次LED0,用于指示系统的运行状态。注:本实验基于正点原子FreeRTOS教程的学习总结。二、实验准备1.
- Linux——搭建嵌入式Linux开发环境步骤总结(虚拟机、Ubuntu、JDK、库文件、GCC)
Winter_world
搭建嵌入式Linux开发环境虚拟机Ubuntu安装JDK安装库文件GCC版本更新
目录0前言1主机软件环境2Linux系统下安装编译组件3Linux系统下安装库文件和JDK0前言回顾一直以来做的嵌入式项目方向,从如ST的单片机裸机开发,SOC开发,到STM32裸机开发,基于uCOSII的开发,基于freeRTOS的开发等,在实时操作系统层面的应用开发停留了一段时间了,一直想再突破下自我,去年做了一个基于工控机方案的Linux系统应用开发项目,对于Linux一直没有系统性的学习整
- 结合 STM32CubeMX 使用 FreeRTOS 实时操作系统
麻辣长颈鹿Sir
FreeRTOS嵌入式开发C/C++stm32单片机FreeRTOSSTM32CubeMX实时操作系统C/C++
前言在STM32CubeMX软件出现以后,创建嵌入式项目变得简洁了许多,开发者无需重复编写MCU的外设初始化配置,只需在STM32CubeMX软件中动动鼠标配置完毕,就可以自动生成基于HAL/LL库的Keil项目文件,提高了开发效率。最近想要学习一下FreeRTOS操作系统,发现在STM32CubeMX中可以直接在项目中生成FreeRTOS系统源码,非常方便,而目前网上有关使用STM32CubeM
- 鸿蒙OH南向开发 小型系统内核(LiteOS-A)【概述】
yx525623
鸿蒙开发openharmony鸿蒙南向鸿蒙开发openharmonyharmonyos鸿蒙南向嵌入式硬件
简介OpenHarmony轻量级内核是基于IoT领域轻量级物联网操作系统HuaweiLiteOS内核演进发展的新一代内核,包含LiteOS-M和LiteOS-A两类内核。LiteOS-M内核主要应用于轻量系统,面向的MCU(MicroprocessorUnit)一般是百K级内存,可支持MPU(MemoryProtectionUnit)隔离,业界类似的内核有FreeRTOS或ThreadX等;Lit
- FreeRTOS中的任务调度
boringhex.top
MCUFreeRTOSc嵌入式
引言FreeRTOS是一个流行的小型开源实时操作系统,广泛应用于嵌入式系统领域。本文旨在详细介绍FreeRTOS的任务调度机制,我们将探讨其调度算法的原理,分析调度器的源码,并通过图表帮助理解调度过程。FreeRTOS基础实时操作系统简介实时操作系统(RTOS)是为了能在规定的时间内完成特定任务的操作系统。与通用操作系统不同,实时性是其最重要的特征。FreeRTOS的特点轻量级:占用资源少,适合资
- 深度解析:FreeRTOS在ESP32S3双核架构下的抢占式调度机制与性能优化策略
SlientICE
架构性能优化嵌入式硬件单片机
FreeRTOS在ESP32S3上的作用之进程调度文章总结(帮你们节约时间)FreeRTOS的抢占式调度机制让ESP32S3能够实现真正的多任务并发,通过优先级和时间片轮转确保系统响应性和公平性。ESP32S3双核架构下的SMP调度实现了任务在两个CPU核心间的智能分配,通过负载均衡和核间同步机制最大化系统性能。任务调度器通过精密的数学模型和算法,能够在微秒级别内完成上下文切换,为嵌入式系统提供了
- 【FreeRTOS】第二课:创建第一个多任务系统
仰泳之鹅
FreeRTOSstm32
目录一、前言二、以创建动态任务为例1.参数介绍2.举例一、前言嵌入式领域有多种RTOS例如FreeRTOS、RT-Thread等操作系统两个操作系统任务创建函数如下FreeRTOS:xTaskCreate()RT-Thread:rt_thread_creat()CMSIS_OS为此创建了统一的接口osThreadNew(),只要输入对应的函数变量便可以区分使用不同的操作系统二、以创建动态任务为例1
- Keil中 L6406E: No space in execution regions with .ANY selector matching heap_4.o(.bss) 错误分析简述
lixzest
stm32C
链接器错误L6406E:Nospaceinexecutionregionswith.ANYselectormatchingheap_4.o(.bss)表明内存分配已超出预期范围,通常与全局/静态变量(.bss段)或堆(Heap)配置有关。以下是逐步解决方案:1.理解错误原因.bss段:存储未初始化的全局变量和静态变量。heap_4.o:通常与FreeRTOS的堆管理(Heap4)相关,Heap4需
- FreeRTOS创建任务时的堆栈大小问题
嵌入式码农驿站
单片机程序freertosstm32单片机
FreeRTOS创建任务函数BaseType_txTaskCreate(TaskFunction_tpxTaskCode,constchar*constpcName,constconfigSTACK_DEPTH_TYPEusStackDepth,void*constpvParameters,UBaseType_tuxPriority,TaskHandle_t*constpxCreatedTask)
- 【rtos】-队列
追心嵌入式
开发语言mcu
在FreeRTOS中,消息队列(Queue)和信号量(Semaphore)是实现任务间通信与同步的核心机制。对于多个发送者与接收者的对应关系、应用场景及封装方法,以下是详细解答:一、多发送者与接收者的对应机制基于队列的广播模式多个发送者可向同一个队列发送数据,而接收者通过队列接收所有消息,无需关心具体发送者。这实现了一对多或多对多通信。c运行//创建一个队列供多个任务使用QueueHandle_t
- STM32和树莓派的分工
⚙️修正版:典型硬件组合与通信流程(以移动机器人为例)1.硬件分工:大脑vs四肢角色硬件运行软件核心任务是否直接运行ROS决策大脑树莓派4B/JetsonNanoUbuntu+ROS运行SLAM、导航、视觉识别等复杂算法✅是实时四肢STM32F4FreeRTOS/裸机读取电机编码器、控制电机PWM❌否传感器/执行器电机、激光雷达、IMU-执行动作/采集数据-2.为什么需要STM32?树莓派无法直接
- esp32+IDF V5.1.1版本编译freertos报错
嵌入式软硬件叶玄
ESP32入门教程esp32
error:'portTICK_RATE_MS'undeclared(firstuseinthisfunction);didyoumean'portTICK_PERIOD_MS解决方法:使用命令idf.pymenuconfig打开配置界面配置freeRtos使能configENABLE_BACKWARD_COMPATIBLITY
- FreeRTOS启动流程以及任务调度
想当钓鱼佬
单片机嵌入式硬件
FreeRTOS启动流程概述FreeRTOS的启动流程通常分为硬件初始化和操作系统初始化两个阶段。以下是典型启动流程:硬件初始化阶段由用户完成,包括时钟配置、外设初始化、堆栈设置等。通常需要在main()函数中调用硬件相关的初始化函数。操作系统初始化阶段由FreeRTOS完成。调用vTaskStartScheduler()启动调度器,此函数会初始化内核组件(如任务列表、空闲任务、定时器任务等),并
- FreeRTOS任务通知使用以及例程
想当钓鱼佬
FreeRTOSstm32
一.FreeRTOS任务通知简介任务通知是FreeRTOS提供的一种轻量级通信机制,允许任务间直接发送事件或数据,无需创建队列、信号量等中间对象。每个任务拥有独立的通知值(32位)和状态标志,效率高且节省内存。任务通知通常用于替代二值信号量或事件标志组,提供了更轻量级的任务间通信方式。大多数任务间通信方法通过中间对象,如队列、信号量或事件组。发送任务写入通信对象,接收任务从通信对象读取。使用任务通
- FreeRTOS任务切换,现场保护(M3,M4内核)
想当钓鱼佬
FreeRTOSstm32
一.寄存器和栈FreeRTOS在任务切换或中断发生时需要保存当前任务的上下文(寄存器状态、程序计数器等),确保任务恢复时能继续执行。上下文保存分为被动保存和主动保存两种场景。保存现场下图为三种切换现场的情况(现场就是寄存器存储值):(1).经典的main函数中调用fun1函数,现场的保存:绿色部分为切换到fun1函数时保存的main函数的现场,SP和FP被保存说明fun1中用到了栈,LR和PC被保
- FreeRTOS源码分析:heap
想当钓鱼佬
FreeRTOSstm32
FreeRTOS堆内存管理机制分析FreeRTOS提供5种堆内存管理方案(heap_1.c至heap_5.c),每种方案针对不同应用场景设计,源码位于FreeRTOS/Source/portable/MemMang目录。标准C库malloc()和free()函数分配堆空间有以下缺点:它们在嵌入式系统上并不总是可用。它们占用了宝贵的代码空间。它们不是线程安全的。它们不是确定性的(执行函数所需时间将因
- STM32Cube高效开发教程<高级篇><FreeRTOS>(九)-----信号量及二值量例程
致虚守静~归根复命
1024程序员节STM32嵌入式FreeRTOS信号量
声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。 本专栏博客参考《STM32Cube高效开发教程(高级篇)》,有意向的读者可以购买正版书籍辅助学习,本书籍由王维波老师、鄢志丹老师、王钊老师倾力打造,书籍内容干货满满。 本专栏在前面介绍了队列,队列的功能是将进程间需要传递的数据存在其中,所以在有的RTOS系统里,队列也被称为“邮箱”。有的时候,进程间需要传递的
- FreeRTOS中断管理
憧憬一下
freeRtosFreeRTOS嵌入式中断
目录1.中断2.为什么使用两套API2.1为什么2.2优势2.3第三方库3.两套API列表4.pxHigherPriorityTaskWoken参数和portYIELD_FROM_ISR宏5.中断处理拆分6.屏蔽中断6.1核心原理6.2在任务中屏蔽中断6.3在中断服务程序(ISR)中屏蔽中断6.4高优先级中断不允许调用FreeRTOS的API7.暂停调度器(SchedulerSuspension)
- FreeRTOS定时器的介绍和使用
风吟物语
单片机嵌入式硬件
目录1,常见定时器高级控制定时器(TIM1)通用定时器(TIM2、TIM3、TIM4、TIM5、TIM15、TIM16、TIM17)基本定时器(TIM6、TIM7)低功耗定时器(LPTIM1)2,以TIM6定时器为例,介绍定时器的使用1,定时器实例选择2,配置所需定时器3,设置频率4,中断回调函数3,TIM6定时器代码(初始化后自动生成)4,使用示例定时器本质上是对时钟信号进行计数。系统时钟会产生
- NXP iMX8MM Cortex-M4 核心 GPT Capture 测试
toradexsh
ARMNXPFreeRTOSGPTiMX8MM
ByToradex秦海1).简介NXPi.MX8系列处理器均为异构多核架构SoC,除了可以运行Linux等复杂操作系统的Cortax-A核心,还包含了可以运行实时操作系统比如FreeRTOS的Cortex-M核心,本文就演示通过NXPi.MX8MM处理器集成的Cortex-M4核心来运行GPT(GeneralPurposeTimer)输入采集功能模块的测试。I.MX8MMini处理器GPT模块硬件
- 【Zephyr基础开发系列】01_Ubuntu搭建Zephyr环境
jz-炸芯片的zero
Zephyr基础linux物联网iot驱动开发mcu
一、Zephyr实时系统的优势前言:Zephyr是专为资源受限设备设计的开源实时系统,常用在物联网终端、小型SOC芯片等设备上。与常见的小型嵌入式RTOS相比,Zephyr继承了Linux驱动开发的优点,即采用了驱动(driver)-应用(app)分离的开发方式。----什么叫驱动与应用分离?在常见没有MMU的32位MCU,搭配其他实时系统(UCOS、FreeRTOS)开发来看,完整的一套开发流程
- ESP32入门(三)使用 FreeRTOS 多任务系统实现 LED 点灯控制
乄夜
ESP32入门单片机物联网51单片机嵌入式硬件
在之前的博客中,我们已经学习了ESP32的基础点灯操作以及通过WiFi和浏览器实现远程控制。今天我们将进一步探索ESP32的强大性能,引入FreeRTOS实时操作系统,通过多任务机制实现更复杂的LED控制场景。FreeRTOS作为嵌入式领域应用广泛的实时操作系统,能够帮助我们更高效地管理ESP32的资源,实现多个任务的并行执行。一、FreeRTOS基础概念与ESP32集成优势1.1FreeRTOS
- ESP32 入门 (九) 使用FreeRtos创建任务并使用信号量和互斥量通信
乄夜
ESP32入门单片机stm32物联网iot嵌入式硬件mcu
在ESP32开发中,随着项目复杂度的提升,多任务协同工作变得愈发普遍。为了确保任务之间的同步与共享资源的安全访问,FreeRTOS提供了信号量(Semaphore)和互斥量(Mutex)等强大工具。本文将深入讲解如何在ESP32上使用FreeRTOS创建任务,并借助信号量和互斥量实现高效、安全的任务间通信,助力你进一步掌握ESP32的高级开发技巧。一、信号量与互斥量基础概念(一)信号量信号量是一种
- FreeRTOS队列
憧憬一下
freeRtos嵌入式FreeRTOS
目录1.特性2.传输数据的两种方法3.队列的阻塞访问4.函数4.1创建4.2复位4.3删除4.4写操作4.4.1写入到尾部4.4.2写入到头部4.5读操作4.6覆盖操作(Overwrite)4.7窥视操作(Peek)4.8队列状态查询5.常规使用6.队列集6.1概念6.2相关函数6.3示例7.队列的好处7.1实现互斥访问7.2休眠唤醒_提高CPU利用率8.队列的内部源码分析8.1结构体8.2创建函
- FreeRTOS同步和互斥
憧憬一下
freeRtos嵌入式FreeRTOS
目录1.概念**1.1同步(Synchronization)**缺陷**1.2互斥(MutualExclusion)**缺陷**1.3同步与互斥的关系**2.各类方法对比疑问疑问11.概念1.1同步(Synchronization)同步是指多个任务之间存在依赖关系,一个任务需要等待另一个任务完成某个操作后,才能继续执行。现实生活例子:在团队合作中,同事A先写完报表,经理B才能向领导汇报。经理B必须
- ESP32开发之freeRTOS的事件组
湮雨塵飛
esp32freertoseventsgroup事件组
什么是事件组事件组的应用场景事件组的API函数事件组应用举例总结什么是事件组概念:事件组就是一个整数,高8位给内核使用,其他位用来表示事件。在ESP32的IDFfreeRTOS中,这个整数是32位的,低24位用来供事件组使用。举一个生活中的例子:你在等快递,有三个包裹来自不同平台:Bit0:淘宝快递到了Bit1:京东快递到了Bit2:拼多多快递到了你告诉前台:“等这三个快递都到了再通知我。”(这就
- 四款主流物联网操作系统(FreeRTOS、LiteOS、RT-Thread、AliOS)的综合对比分析
scoone
嵌入式
以下是四款主流物联网操作系统(FreeRTOS、LiteOS、RT-Thread、AliOS)的综合对比分析,基于技术架构、资源占用、生态支持及应用场景等维度:核心特性对比特性FreeRTOSLiteOSRT-ThreadAliOSThings背景/主导方亚马逊AWS(开源)华为(开源)睿赛德科技(开源+商业)阿里巴巴(开源)内核架构微内核(仅基础调度)轻量级分层内核混合内核(微内核+组件化)基于
- 嵌入式学习笔记 - freeRTOS关于空闲任务的理解
Lester_1101
嵌入式stm32
由于freeRTOS的任务延时都是阻塞延时,阻塞延时是当任务进入延时后,该任务的CPU使用权被剥夺进入阻塞状态(阻塞状态可以理解为保持状态不变),可以理解为任务不运行时PC停止了。使用阻塞延时的好处就是可以让CPU充分的得到利用,不会空耗在软件延时上。但是所有任务都处在阻塞延时时,相当于PC停止了,很明显这是不合理的,而且会产生硬件错误,所以会有一个空闲任务,作为保底空闲任务的优先级是最低的。而且
- Hadoop(一)
朱辉辉33
hadooplinux
今天在诺基亚第一天开始培训大数据,因为之前没接触过Linux,所以这次一起学了,任务量还是蛮大的。
首先下载安装了Xshell软件,然后公司给了账号密码连接上了河南郑州那边的服务器,接下来开始按照给的资料学习,全英文的,头也不讲解,说锻炼我们的学习能力,然后就开始跌跌撞撞的自学。这里写部分已经运行成功的代码吧.
在hdfs下,运行hadoop fs -mkdir /u
- maven An error occurred while filtering resources
blackproof
maven报错
转:http://stackoverflow.com/questions/18145774/eclipse-an-error-occurred-while-filtering-resources
maven报错:
maven An error occurred while filtering resources
Maven -> Update Proje
- jdk常用故障排查命令
daysinsun
jvm
linux下常见定位命令:
1、jps 输出Java进程
-q 只输出进程ID的名称,省略主类的名称;
-m 输出进程启动时传递给main函数的参数;
&nb
- java 位移运算与乘法运算
周凡杨
java位移运算乘法
对于 JAVA 编程中,适当的采用位移运算,会减少代码的运行时间,提高项目的运行效率。这个可以从一道面试题说起:
问题:
用最有效率的方法算出2 乘以8 等於几?”
答案:2 << 3
由此就引发了我的思考,为什么位移运算会比乘法运算更快呢?其实简单的想想,计算机的内存是用由 0 和 1 组成的二
- java中的枚举(enmu)
g21121
java
从jdk1.5开始,java增加了enum(枚举)这个类型,但是大家在平时运用中还是比较少用到枚举的,而且很多人和我一样对枚举一知半解,下面就跟大家一起学习下enmu枚举。先看一个最简单的枚举类型,一个返回类型的枚举:
public enum ResultType {
/**
* 成功
*/
SUCCESS,
/**
* 失败
*/
FAIL,
- MQ初级学习
510888780
activemq
1.下载ActiveMQ
去官方网站下载:http://activemq.apache.org/
2.运行ActiveMQ
解压缩apache-activemq-5.9.0-bin.zip到C盘,然后双击apache-activemq-5.9.0-\bin\activemq-admin.bat运行ActiveMQ程序。
启动ActiveMQ以后,登陆:http://localhos
- Spring_Transactional_Propagation
布衣凌宇
springtransactional
//事务传播属性
@Transactional(propagation=Propagation.REQUIRED)//如果有事务,那么加入事务,没有的话新创建一个
@Transactional(propagation=Propagation.NOT_SUPPORTED)//这个方法不开启事务
@Transactional(propagation=Propagation.REQUIREDS_N
- 我的spring学习笔记12-idref与ref的区别
aijuans
spring
idref用来将容器内其他bean的id传给<constructor-arg>/<property>元素,同时提供错误验证功能。例如:
<bean id ="theTargetBean" class="..." />
<bean id ="theClientBean" class=&quo
- Jqplot之折线图
antlove
jsjqueryWebtimeseriesjqplot
timeseriesChart.html
<script type="text/javascript" src="jslib/jquery.min.js"></script>
<script type="text/javascript" src="jslib/excanvas.min.js&
- JDBC中事务处理应用
百合不是茶
javaJDBC编程事务控制语句
解释事务的概念; 事务控制是sql语句中的核心之一;事务控制的作用就是保证数据的正常执行与异常之后可以恢复
事务常用命令:
Commit提交
- [转]ConcurrentHashMap Collections.synchronizedMap和Hashtable讨论
bijian1013
java多线程线程安全HashMap
在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK1.0的一部分。 Hashtable提供了一种易于使用的、线程安全的、关联的map功能,这当然也是方便的。然而,线程安全性是凭代价换来的――Hashtable的所有方法都是同步的。此时,无竞争的同步会导致可观的性能代价。Hashtable的后继者HashMap是作为JDK1.2中的集合框架的一部分出现的,它通过提供一个不同步的
- ng-if与ng-show、ng-hide指令的区别和注意事项
bijian1013
JavaScriptAngularJS
angularJS中的ng-show、ng-hide、ng-if指令都可以用来控制dom元素的显示或隐藏。ng-show和ng-hide根据所给表达式的值来显示或隐藏HTML元素。当赋值给ng-show指令的值为false时元素会被隐藏,值为true时元素会显示。ng-hide功能类似,使用方式相反。元素的显示或
- 【持久化框架MyBatis3七】MyBatis3定义typeHandler
bit1129
TypeHandler
什么是typeHandler?
typeHandler用于将某个类型的数据映射到表的某一列上,以完成MyBatis列跟某个属性的映射
内置typeHandler
MyBatis内置了很多typeHandler,这写typeHandler通过org.apache.ibatis.type.TypeHandlerRegistry进行注册,比如对于日期型数据的typeHandler,
- 上传下载文件rz,sz命令
bitcarter
linux命令rz
刚开始使用rz上传和sz下载命令:
因为我们是通过secureCRT终端工具进行使用的所以会有上传下载这样的需求:
我遇到的问题:
sz下载A文件10M左右,没有问题
但是将这个文件A再传到另一天服务器上时就出现传不上去,甚至出现乱码,死掉现象,具体问题
解决方法:
上传命令改为;rz -ybe
下载命令改为:sz -be filename
如果还是有问题:
那就是文
- 通过ngx-lua来统计nginx上的虚拟主机性能数据
ronin47
ngx-lua 统计 解禁ip
介绍
以前我们为nginx做统计,都是通过对日志的分析来完成.比较麻烦,现在基于ngx_lua插件,开发了实时统计站点状态的脚本,解放生产力.项目主页: https://github.com/skyeydemon/ngx-lua-stats 功能
支持分不同虚拟主机统计, 同一个虚拟主机下可以分不同的location统计.
可以统计与query-times request-time
- java-68-把数组排成最小的数。一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的。例如输入数组{32, 321},则输出32132
bylijinnan
java
import java.util.Arrays;
import java.util.Comparator;
public class MinNumFromIntArray {
/**
* Q68输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。
* 例如输入数组{32, 321},则输出这两个能排成的最小数字32132。请给出解决问题
- Oracle基本操作
ccii
Oracle SQL总结Oracle SQL语法Oracle基本操作Oracle SQL
一、表操作
1. 常用数据类型
NUMBER(p,s):可变长度的数字。p表示整数加小数的最大位数,s为最大小数位数。支持最大精度为38位
NVARCHAR2(size):变长字符串,最大长度为4000字节(以字符数为单位)
VARCHAR2(size):变长字符串,最大长度为4000字节(以字节数为单位)
CHAR(size):定长字符串,最大长度为2000字节,最小为1字节,默认
- [强人工智能]实现强人工智能的路线图
comsci
人工智能
1:创建一个用于记录拓扑网络连接的矩阵数据表
2:自动构造或者人工复制一个包含10万个连接(1000*1000)的流程图
3:将这个流程图导入到矩阵数据表中
4:在矩阵的每个有意义的节点中嵌入一段简单的
- 给Tomcat,Apache配置gzip压缩(HTTP压缩)功能
cwqcwqmax9
apache
背景:
HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,
- SpringMVC and Struts2
dashuaifu
struts2springMVC
SpringMVC VS Struts2
1:
spring3开发效率高于struts
2:
spring3 mvc可以认为已经100%零配置
3:
struts2是类级别的拦截, 一个类对应一个request上下文,
springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应
所以说从架构本身上 spring3 mvc就容易实现r
- windows常用命令行命令
dcj3sjt126com
windowscmdcommand
在windows系统中,点击开始-运行,可以直接输入命令行,快速打开一些原本需要多次点击图标才能打开的界面,如常用的输入cmd打开dos命令行,输入taskmgr打开任务管理器。此处列出了网上搜集到的一些常用命令。winver 检查windows版本 wmimgmt.msc 打开windows管理体系结构(wmi) wupdmgr windows更新程序 wscrip
- 再看知名应用背后的第三方开源项目
dcj3sjt126com
ios
知名应用程序的设计和技术一直都是开发者需要学习的,同样这些应用所使用的开源框架也是不可忽视的一部分。此前《
iOS第三方开源库的吐槽和备忘》中作者ibireme列举了国内多款知名应用所使用的开源框架,并对其中一些框架进行了分析,同样国外开发者
@iOSCowboy也在博客中给我们列出了国外多款知名应用使用的开源框架。另外txx's blog中详细介绍了
Facebook Paper使用的第三
- Objective-c单例模式的正确写法
jsntghf
单例iosiPhone
一般情况下,可能我们写的单例模式是这样的:
#import <Foundation/Foundation.h>
@interface Downloader : NSObject
+ (instancetype)sharedDownloader;
@end
#import "Downloader.h"
@implementation
- jquery easyui datagrid 加载成功,选中某一行
hae
jqueryeasyuidatagrid数据加载
1.首先你需要设置datagrid的onLoadSuccess
$(
'#dg'
).datagrid({onLoadSuccess :
function
(data){
$(
'#dg'
).datagrid(
'selectRow'
,3);
}});
2.onL
- jQuery用户数字打分评价效果
ini
JavaScripthtmljqueryWebcss
效果体验:http://hovertree.com/texiao/jquery/5.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery用户数字打分评分代码 - HoverTree</
- mybatis的paramType
kerryg
DAOsql
MyBatis传多个参数:
1、采用#{0},#{1}获得参数:
Dao层函数方法:
public User selectUser(String name,String area);
对应的Mapper.xml
<select id="selectUser" result
- centos 7安装mysql5.5
MrLee23
centos
首先centos7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。
#列出所有被安装的rpm package rpm -qa | grep mariadb
#卸载
rpm -e mariadb-libs-5.
- 利用thrift来实现消息群发
qifeifei
thrift
Thrift项目一般用来做内部项目接偶用的,还有能跨不同语言的功能,非常方便,一般前端系统和后台server线上都是3个节点,然后前端通过获取client来访问后台server,那么如果是多太server,就是有一个负载均衡的方法,然后最后访问其中一个节点。那么换个思路,能不能发送给所有节点的server呢,如果能就
- 实现一个sizeof获取Java对象大小
teasp
javaHotSpot内存对象大小sizeof
由于Java的设计者不想让程序员管理和了解内存的使用,我们想要知道一个对象在内存中的大小变得比较困难了。本文提供了可以获取对象的大小的方法,但是由于各个虚拟机在内存使用上可能存在不同,因此该方法不能在各虚拟机上都适用,而是仅在hotspot 32位虚拟机上,或者其它内存管理方式与hotspot 32位虚拟机相同的虚拟机上 适用。
- SVN错误及处理
xiangqian0505
SVN提交文件时服务器强行关闭
在SVN服务控制台打开资源库“SVN无法读取current” ---摘自网络 写道 SVN无法读取current修复方法 Can't read file : End of file found
文件:repository/db/txn_current、repository/db/current
其中current记录当前最新版本号,txn_current记录版本库中版本