- 串口协议解析方案对比:缓冲区滑窗与分层状态机
橘色的喵
性能优化功能优化嵌入式嵌入式硬件HSMFSM状态机分层串口
串口协议解析方案对比:缓冲区滑窗与分层状态机0.引言本文对比两种常见的串口协议解析实现方式:基于滑动缓冲区(RingBuffer)的扫描法与**基于分层状态机(HierarchicalStateMachine,HSM,推荐QP-nano框架)**的事件驱动法。内容涵盖协议格式、核心流程、结构细节、优缺点分析及适用场景。协议格式示例协议:0xAA(头)|LEN(1B)|CMD(1B)|DATA[LE
- 环形缓冲区原理与C语言实现ringbuffer
W说编程
嵌入式C/C++c语言开发语言嵌入式硬件数据结构
目录一、环形缓冲区(CircularBuffer)原理二、环形缓冲区结构示意图写入数据过程读取数据过程关键逻辑总结环形缓冲区的循环特性三、应用场景四、C语言实现环形缓冲区五、编程应用实例六、关键总结一、环形缓冲区(CircularBuffer)原理环形缓冲区(又称循环缓冲区)是一种线性数据结构,逻辑上首尾相连,通过读写指针或头尾索引管理数据的写入和读取。核心特性如下:固定容量:缓冲区大小预先分配,
- C语言环形缓冲区:原理、实现与图解详解 环形缓冲区实现
电科周杰伦
C语言yxyx学习记录网络环形缓冲区数据结构Cc语言
环形缓冲区(CircularBuffer),也称为循环队列或RingBuffer,是一种非常实用的数据结构,尤其在生产者-消费者模型中,用于解决数据传输速度不匹配的问题。本文将深入讲解C语言中环形缓冲区的实现原理、关键概念以及使用方法,并结合图解进行形象的解释。1.什么是环形缓冲区?想象一个首尾相连的管道,数据从一端流入,从另一端流出。这就是环形缓冲区的基本模型。它使用一段固定大小的内存空间,通过
- Linux高级--3.2.2.5 队列之 ringBuffer设计
忆源
javaapachephp
概念和使用场景RingBuffer(环形缓冲区)在Linux内核中有广泛的应用,尤其在处理高性能数据传输、日志管理和事件驱动系统等方面。环形缓冲区的优势在于其能够高效地进行数据的读写操作,避免了内存的频繁分配与释放,非常适合于实时或高吞吐量的系统。以下是几个Linux内核中使用RingBuffer的典型例子:1.日志系统(KernelLog)Linux内核的日志系统通常使用环形缓冲区来存储内核的日
- 好用的Linux指令--dmesg的多种用法以及源码
Liy_a_Chan
androidlinux
dmesg的功能:喷kernellogdmesg是一个用于显示系统内核环形缓冲区(ringbuffer)中的信息的命令工具。它可以输出内核在启动过程中或运行过程中产生的各种消息,这些消息通常用于调试、诊断系统问题、查看硬件设备状态和跟踪内核日志。dmesg输出的信息包括内核启动时的各种事件、硬件设备的加载、驱动程序的初始化、内核模块的加载、错误、警告信息等。dmesg的常用选项dmesg-C:清空
- disryptor和rabbitmq
蔡蓝
rabbitmq分布式
disryptor和rabbitmqDisruptor是什么?Disruptor是一个由LMAXExchange开发的高性能、低延迟的进程内(in-process)并发编程框架/库。它最初是为了解决金融交易系统中高吞吐量、低延迟消息传递的需求而设计的。核心特点和设计理念:RingBuffer(环形缓冲区):Disruptor的核心数据结构是一个预先分配的环形数组(RingBuffer)。所有事件(
- DMA+环形缓存区(Ring Buffer)
也许.没人在
笔记oracle学习
DMA+环形缓存区(RingBuffer)DMA解释DMA想象⼀下你家⾥有⼀个⼤厨房(这就像是你的计算机系统),厨房⾥有⼀个⼤厨(就像是CPU),还有⼀些厨房助⼿(就像是外设,⽐如UART、ADC等)。情景1:没有DMA的情况⼤厨负责所有的烹饪任务,包括切菜、炒菜、煮饭等等。⽽每次需要⼀些⻝材(数据)的时候,⼤厨都要亲⾃去冰箱(内存)拿⻝材,然后回到灶台继续烹饪。这种情况下,⼤厨要花很多时间来回跑
- STM32 模块化开发指南 · 最终篇打造你的通用 STM32 模块化项目模板(附 GitHub 项目结构设计)
damo王
嵌入式#stm32模块化实战指南stm32github嵌入式硬件系统架构设计规范设计模式单片机
本文是《STM32模块化开发实战指南》的收官篇,将把前7篇中积累的所有模块整合为一个“通用STM32模板工程”,可直接用于新项目快速起步,并可持续扩展、适配不同平台、用于教学、开源或商用项目搭建。一、本模板工程设计目标我们希望构建这样一个工程:✅结构清晰、可维护、易上手✅支持模块化、状态机、事件队列、RingBuffer等核心机制✅适配裸机+RTOS/STM32+PC测试/CLI控制等多场景✅具备
- io_uring 异步 socket 编程
DBWG
2025-C++开发语言c
文章目录简单理解过程代码sqecqe一个基本用法示例:简单理解网络IO时,数据拷贝并不是CPU在工作,所以我们可以不阻塞recvio_uring内部主要依赖环形队列(ringbuffer,也叫循环队列)来管理I/O请求和完成事件:提交队列(SubmissionQueue,SQ)应用程序向内核提交I/O请求时,这些请求会被放入提交队列中。//io_uring_get_sqe(),e:entry完成队
- KVM虚拟化进阶--KVM设备高级管理
懿朔
知识积累开发虚拟机相关内容云计算
KVM虚拟化进阶–KVM设备高级管理virtio:半虚拟化驱动优点:环形缓冲区实现前端多次请求后端批量处理,有较好的IO性能,提高了信息交换的效率限制:需要宿主机内核和客户机都支持virtio并按照virtio的规定格式进行数据传输virtio-ring实现了环形缓冲区(ringbuffer),用于保存前端驱动和后端处理程序执行的信息。该环形缓冲区可以一次性保存前端驱动的多次I/O请求,并且交由后
- 手把手教会你Disruptor的常用使用场景!(含详细代码示例)
后端
Disruptor常见使用场景与代码示例1.引言上期介绍到Disruptor是一个高性能的无锁并发队列,适用于需要极低延迟和高吞吐量的应用场景。它通过环形缓冲区(RingBuffer)和高效的事件处理机制,显著减少了CPU缓存失效和上下文切换的开销。今天介绍Disruptor的几个常见使用场景:事件处理、日志记录、消息传递、实时数据分析和并发任务调度,让你进一步加深对它的印象,下期将介绍Disru
- 高性能队列Disruptor的初体验
程序员
深入理解Disruptor1.概述Disruptor是一个高性能、低延迟的无锁队列替代方案,最初由LMAX公司开发,专为处理高吞吐量和低延迟的消息传递系统而设计。它利用环形缓冲区(RingBuffer)和无锁的生产者-消费者模型,大幅提升并发性能。相比传统的基于java.util.concurrent的队列(如ArrayBlockingQueue、LinkedBlockingQueue),Disr
- socket多线程和Ringbuffer详解
走别人不走的路
linuxc语言android
关注微信公众号:【快乐程序猿】查看更多篇章相信很多读者都知道多线程是什么,那RingBuffer可能就不太清楚了,那我们先来介绍下什么是RingBuffer。RingBuffer,也称为循环缓冲区,是一种固定大小的缓冲区,用于在生产者和消费者之间传递数据。它是一种数据结构,常用于需要缓冲数据流的场合,如音频处理、数据通信等。1.结构缓冲区大小:RingBuffer有一个固定的容量,即可以容纳的数据
- Linux网络包的收发流程
oywLearning
网络编程计算机网络linux网络网络协议
一、Linux接收网络包的流程1.网卡是计算机里的一个硬件,专门负责接收和发送网络包,当网卡接收到一个网络包后,会通过DMA技术,将网络包写入到指定的内存地址,也就是写入到RingBuffer,这个是一个环形缓冲区。2.接着网卡向CPU发起硬件中断,当CPU收到硬件中断请求后,根据中断表,调用已经注册的中断处理函数。硬件中断处理函数会做如下的事情:需要先「暂时屏蔽中断」,表示已经知道内存中有数据,
- 深入讲解Linux内核网络设备驱动(图例解析)
Linux加油站
linux网络服务器
1.接收数据包过程概述介绍数据包收包过程,有助于我们了解Linux内核网络设备在数据收包过程中的位置,下面从宏观的角度介绍数据包从被网卡接收到进入socket接收队列的整个过程:加载网卡驱动,初始化数据包从外部网络进入网卡网卡(通过DMA)将包拷贝到内核内存中的ringbuffer产生硬件中断,通知系统收到了一个包驱动调用NAPI,如果轮询(poll)还没有开始,就开始轮询ksoftirqd软中断
- 架构 高并发框架
请叫我刘星
数据库分布式springcloudspringjvmspringboot
一、Disruptor是什么Disruptor是一个开源的并发框架,能够在无锁的情况下实现网络的Queue并发操作。Disruptor是一个高性能的异步处理框架,或者可以认为是最快的消息框架(轻量级JMS),也可以认为是一个观察者模式的实现,或者事件监听模式的实现。二、Disruptor核心概念RingBuffer:被看做Disruptor最主要组件,然而从3.0开始RingBuffer仅仅负责存
- amdgpu内核中ringbuffer和indirect buffer
人间正道是沧桑a
IB(IndirectBuffer)间接缓冲特定引擎的命令缓冲区。与直接向队列中写入命令不同,您可以将命令写入一块内存,然后将指向该内存的指针放入队列中。然后,硬件将跟随指针并执行内存中的命令,然后返回到环中的其余命令。如图ringbuffer.drawio.png
- Disruptor介绍及原理讲解
作妖大鹅鹅
简介Disruptor是一个无锁有界内存队列开源框架,最大的特点就是性能非常高高高。很多知名项目都有用到它比如我们熟悉的Log4j2.本文主要介绍它如何做到高性能,以及具体的框架设计。为什么性能这么强大?主要是因为有这三个法宝:RingBuffer,无锁设计和缓存行填充。RingBufferDisruptor底层采用RingBuffer的结构,RingBuffer大家都知道,就是一个循环使用下标的
- ZLMediaKit 切换用于源的RingBuffer
mo4776
ZLMediaKit源码分析网络音视频架构
背景有这样一个需求,基于webrtc实现的web实时流播放器,有4分屏,最大同时显示4个图像rtsp摄像头的图像。布局是固定的4分屏,但是分屏所显示的摄像头图像可以变化。那么把它抽象为技术实现,就是web同时会与ZLMediaKit建立4个pc对象,这个4个pc对象建立后,就不会销毁(直到web播放器关闭),由ZLMediaKit根据web请求的rtsp摄像头标识,将不同摄像头的流转给web。在Z
- ESP8266 控制之 : 使用 RingBuffer USART1 和 USART3互传
听我一言
STM32F103C8T6stm32嵌入式硬件单片机
简介使用Buffer来避免数据的丢失,或许你自己在使用串口进行收发时会丢失数据,现在我们就来简单使用一下RingBuffer创建Rx、Tx的Buffer来避免发送接收丢包或数据丢失问题。扩展知识RingBuffer的介绍,看完大概也就知道了,实在不知道就看看下面的代码线路连接粗略描述USART1接USB转TTL线到PCUSART3接ESP8266实物步骤使用到的库WKJay的RingBuffer使
- alios thing 信号量_消息队列_消息队列_AliOS Things内核_API参考文档_AliOS Things 文档_IoT物联网操作系统 - 阿里云...
weixin_39575937
aliosthing信号量
多任务系统中,任务间互相同步等待共享资源,我们一般会使用信号量,如果需要互斥,则使用互斥量。而任务间互相收发消息则可以使用消息队列。消息队列(queue)使用类似信号量的机制进行任务间的同步,并使用环形缓冲池(ringbuffer)来进行消息的队列缓冲管理,以达到任务间收发消息的阻塞和通知管理。Queue的实现目的在于任务间互相收发消息。一般如果有信号量机制,用户就可以自己实现一套任务间的阻塞和通
- dmesg的详细用法
时光漫走
shell脚本语言LINUX
dmesg命令用于打印Linux系统开机启动信息,kernel会将开机信息存储在ringbuffer中。您若是开机时来不及查看信息,可利用dmesg来查看(printorcontrolthekernelringbuffer)。开机信息亦保存在/var/log/dmesg的文件里。某些硬件设备(比如七号信令卡、语音卡之类)在安装的时候,通常会安装驱动程序(内核模块),会打印一些信息,就可以通过dme
- 嵌入式流媒体消息分发队列设计
superxxd
c++webrtc物联网实时音视频
在流媒体系统设计中,经常会涉及多线程间的通信问题,需要相互分发消费一些信息以及实时音视频数据,如何才能高效安全的简洁的实现这一目标呢,可以采用ringbuffer,也可以采用链表等算法。我在实践中做了一个基于信号量和固定指针数组的方案,实现了简单的数据发布订阅,pMessage可以自定义为一个适配自己的消息传递数据结构指针,用于传递消息,如数据指向的指针,数据类型,时间戳,数据长度,或者信令,在嵌
- ringbuffer+log方式的调试串口
sscb0521
单片机
调试串口使用查询方式发送,发送buffer采用环形buffer,打印信息包含文件,函数名和行数。可以在中断中打印调试信息。
- Linux网络 - 数据包的接收
wufeng无峰
linux网络linux网络
目录大体流程网卡到内存内核的网络模块socketLinux网络协议栈是处理网络数据包的典型系统,它包含了从物理层直到应用层的全过程。大体流程数据包到达网卡设备。网卡设备依据配置进行DMA操作。(第1次拷贝:网卡寄存器->内核为网卡分配的缓冲区ringbuffer)网卡发送中断,唤醒处理器。驱动软件从ringbuffer中读取,填充内核skbuff结构(第2次拷贝:内核网卡缓冲区ringbuffer
- C++无锁队列的原理与实现
流星雨爱编程
#编程技巧开发语言c++
目录1.无锁队列原理1.1.队列操作模型1.2.无锁队列简介1.3.CAS操作2.无锁队列方案2.1.boost方案2.2.ConcurrentQueue2.3.Disruptor3.无锁队列实现3.1.环形缓冲区3.2.单生产者单消费者3.3.多生产者单消费者3.4.RingBuffer实现3.5.LockFreeQueue实现4.kfifo内核队列4.1.kfifo内核队列简介4.2.kfif
- linux内核协议栈接收数据流程(一)
krokodil98
android/linux源码linux网络c语言
linux网络接收数据第一站——网卡驱动linux网络接收数据流程的第一站为网卡驱动,网卡接收包流程大致为:网卡硬件接收到包,会将数据包通过DMA映射到预先分配好的ringbuffer内存环形缓存中,紧接着使用硬中断告知cpu新数据包的到来(初始化时用request_irq注册中断服务函数)。cpu触发软中断,唤醒ksoftirqd进程来处理新数据包,调用驱动注册的中断处理函数,进入中断处理下半部
- 网络IO模型
赵帅童学
网络包接收流程网络包接收流程.jpg01.当网络数据帧通过网络传输到达网卡时,网卡会将网络数据帧通过DMA拷贝的方式放到DMA环形缓冲区RingBuffer中;环形缓冲区RingBuffer是网卡在启动的时候分配和初始化的环形缓冲队列;当RingBuffer满的时候,新来的数据包就会被丢弃;我们可以通过ifconfig命令查看网卡收发数据包的情况,其中overruns数据项表示当RingBuffe
- 【tcp/udp】tcp/udp/icmp丢包分析
Bogon
一、Linux系统接收网络报文的过程Linux系统接收网络报文的过程:首先网络报文通过物理网线发送到网卡网络驱动程序会把网络中的报文读出来放到ringbuffer中,这个过程使用DMA(DirectMemoryAccess),不需要CPU参与内核从ringbuffer中读取报文进行处理,执行IP和TCP/UDP层的逻辑,最后把报文放到应用程序的socketbuffer中应用程序从socketbuf
- 【socket】网卡内部缓冲区、socket缓冲区、滑动窗口
一尘之中
网络linux编程网络linux
一、网卡内部缓冲区网卡内部的缓冲区,通常称为环形缓冲区(RingBuffer)。环形缓冲区是一种用于数据存储和数据传输的结构,它允许数据在网络接口卡(网卡)和计算机操作系统之间进行高效传输。当网卡接收到数据时,它会将数据暂存到其内部的环形缓冲区中。然后,操作系统可以从环形缓冲区中读取这些数据,并进行进一步的处理。这种机制允许网卡和操作系统之间实现高效的数据传输,同时减轻了CPU的负担。环形缓冲区的
- PHP,安卓,UI,java,linux视频教程合集
cocos2d-x小菜
javaUIlinuxPHPandroid
╔-----------------------------------╗┆
- zookeeper admin 笔记
braveCS
zookeeper
Required Software
1) JDK>=1.6
2)推荐使用ensemble的ZooKeeper(至少3台),并run on separate machines
3)在Yahoo!,zk配置在特定的RHEL boxes里,2个cpu,2G内存,80G硬盘
数据和日志目录
1)数据目录里的文件是zk节点的持久化备份,包括快照和事务日
- Spring配置多个连接池
easterfly
spring
项目中需要同时连接多个数据库的时候,如何才能在需要用到哪个数据库就连接哪个数据库呢?
Spring中有关于dataSource的配置:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
&nb
- Mysql
171815164
mysql
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI
TH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作
- CommonDAO(公共/基础DAO)
g21121
DAO
好久没有更新博客了,最近一段时间工作比较忙,所以请见谅,无论你是爱看呢还是爱看呢还是爱看呢,总之或许对你有些帮助。
DAO(Data Access Object)是一个数据访问(顾名思义就是与数据库打交道)接口,DAO一般在业
- 直言有讳
永夜-极光
感悟随笔
1.转载地址:http://blog.csdn.net/jasonblog/article/details/10813313
精华:
“直言有讳”是阿里巴巴提倡的一种观念,而我在此之前并没有很深刻的认识。为什么呢?就好比是读书时候做阅读理解,我喜欢我自己的解读,并不喜欢老师给的意思。在这里也是。我自己坚持的原则是互相尊重,我觉得阿里巴巴很多价值观其实是基本的做人
- 安装CentOS 7 和Win 7后,Win7 引导丢失
随便小屋
centos
一般安装双系统的顺序是先装Win7,然后在安装CentOS,这样CentOS可以引导WIN 7启动。但安装CentOS7后,却找不到Win7 的引导,稍微修改一点东西即可。
一、首先具有root 的权限。
即进入Terminal后输入命令su,然后输入密码即可
二、利用vim编辑器打开/boot/grub2/grub.cfg文件进行修改
v
- Oracle备份与恢复案例
aijuans
oracle
Oracle备份与恢复案例
一. 理解什么是数据库恢复当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数据库恢复。恢复过程大致可以分为复原(Restore)与
- JavaEE开源快速开发平台G4Studio v5.0发布
無為子
我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V5.0版本已经正式发布。
访问G4Studio网站
http://www.g4it.org
2013-04-06 发布G4Studio_V5.0版本
功能新增
(1). 新增了调用Oracle存储过程返回游标,并将游标映射为Java List集合对象的标
- Oracle显示根据高考分数模拟录取
百合不是茶
PL/SQL编程oracle例子模拟高考录取学习交流
题目要求:
1,创建student表和result表
2,pl/sql对学生的成绩数据进行处理
3,处理的逻辑是根据每门专业课的最低分线和总分的最低分数线自动的将录取和落选
1,创建student表,和result表
学生信息表;
create table student(
student_id number primary key,--学生id
- 优秀的领导与差劲的领导
bijian1013
领导管理团队
责任
优秀的领导:优秀的领导总是对他所负责的项目担负起责任。如果项目不幸失败了,那么他知道该受责备的人是他自己,并且敢于承认错误。
差劲的领导:差劲的领导觉得这不是他的问题,因此他会想方设法证明是他的团队不行,或是将责任归咎于团队中他不喜欢的那几个成员身上。
努力工作
优秀的领导:团队领导应该是团队成员的榜样。至少,他应该与团队中的其他成员一样努力工作。这仅仅因为他
- js函数在浏览器下的兼容
Bill_chen
jquery浏览器IEDWRext
做前端开发的工程师,少不了要用FF进行测试,纯js函数在不同浏览器下,名称也可能不同。对于IE6和FF,取得下一结点的函数就不尽相同:
IE6:node.nextSibling,对于FF是不能识别的;
FF:node.nextElementSibling,对于IE是不能识别的;
兼容解决方式:var Div = node.nextSibl
- 【JVM四】老年代垃圾回收:吞吐量垃圾收集器(Throughput GC)
bit1129
垃圾回收
吞吐量与用户线程暂停时间
衡量垃圾回收算法优劣的指标有两个:
吞吐量越高,则算法越好
暂停时间越短,则算法越好
首先说明吞吐量和暂停时间的含义。
垃圾回收时,JVM会启动几个特定的GC线程来完成垃圾回收的任务,这些GC线程与应用的用户线程产生竞争关系,共同竞争处理器资源以及CPU的执行时间。GC线程不会对用户带来的任何价值,因此,好的GC应该占
- J2EE监听器和过滤器基础
白糖_
J2EE
Servlet程序由Servlet,Filter和Listener组成,其中监听器用来监听Servlet容器上下文。
监听器通常分三类:基于Servlet上下文的ServletContex监听,基于会话的HttpSession监听和基于请求的ServletRequest监听。
ServletContex监听器
ServletContex又叫application
- 博弈AngularJS讲义(16) - 提供者
boyitech
jsAngularJSapiAngularProvider
Angular框架提供了强大的依赖注入机制,这一切都是有注入器(injector)完成. 注入器会自动实例化服务组件和符合Angular API规则的特殊对象,例如控制器,指令,过滤器动画等。
那注入器怎么知道如何去创建这些特殊的对象呢? Angular提供了5种方式让注入器创建对象,其中最基础的方式就是提供者(provider), 其余四种方式(Value, Fac
- java-写一函数f(a,b),它带有两个字符串参数并返回一串字符,该字符串只包含在两个串中都有的并按照在a中的顺序。
bylijinnan
java
public class CommonSubSequence {
/**
* 题目:写一函数f(a,b),它带有两个字符串参数并返回一串字符,该字符串只包含在两个串中都有的并按照在a中的顺序。
* 写一个版本算法复杂度O(N^2)和一个O(N) 。
*
* O(N^2):对于a中的每个字符,遍历b中的每个字符,如果相同,则拷贝到新字符串中。
* O(
- sqlserver 2000 无法验证产品密钥
Chen.H
sqlwindowsSQL ServerMicrosoft
在 Service Pack 4 (SP 4), 是运行 Microsoft Windows Server 2003、 Microsoft Windows Storage Server 2003 或 Microsoft Windows 2000 服务器上您尝试安装 Microsoft SQL Server 2000 通过卷许可协议 (VLA) 媒体。 这样做, 收到以下错误信息CD KEY的 SQ
- [新概念武器]气象战争
comsci
气象战争的发动者必须是拥有发射深空航天器能力的国家或者组织....
原因如下:
地球上的气候变化和大气层中的云层涡旋场有密切的关系,而维持一个在大气层某个层次
- oracle 中 rollup、cube、grouping 使用详解
daizj
oraclegroupingrollupcube
oracle 中 rollup、cube、grouping 使用详解 -- 使用oracle 样例表演示 转自namesliu
-- 使用oracle 的样列库,演示 rollup, cube, grouping 的用法与使用场景
--- ROLLUP , 为了理解分组的成员数量,我增加了 分组的计数 COUNT(SAL)
- 技术资料汇总分享
Dead_knight
技术资料汇总 分享
本人汇总的技术资料,分享出来,希望对大家有用。
http://pan.baidu.com/s/1jGr56uE
资料主要包含:
Workflow->工作流相关理论、框架(OSWorkflow、JBPM、Activiti、fireflow...)
Security->java安全相关资料(SSL、SSO、SpringSecurity、Shiro、JAAS...)
Ser
- 初一下学期难记忆单词背诵第一课
dcj3sjt126com
englishword
could 能够
minute 分钟
Tuesday 星期二
February 二月
eighteenth 第十八
listen 听
careful 小心的,仔细的
short 短的
heavy 重的
empty 空的
certainly 当然
carry 携带;搬运
tape 磁带
basket 蓝子
bottle 瓶
juice 汁,果汁
head 头;头部
- 截取视图的图片, 然后分享出去
dcj3sjt126com
OSObjective-C
OS 7 has a new method that allows you to draw a view hierarchy into the current graphics context. This can be used to get an UIImage very fast.
I implemented a category method on UIView to get the vi
- MySql重置密码
fanxiaolong
MySql重置密码
方法一:
在my.ini的[mysqld]字段加入:
skip-grant-tables
重启mysql服务,这时的mysql不需要密码即可登录数据库
然后进入mysql
mysql>use mysql;
mysql>更新 user set password=password('新密码') WHERE User='root';
mysq
- Ehcache(03)——Ehcache中储存缓存的方式
234390216
ehcacheMemoryStoreDiskStore存储驱除策略
Ehcache中储存缓存的方式
目录
1 堆内存(MemoryStore)
1.1 指定可用内存
1.2 驱除策略
1.3 元素过期
2 &nbs
- spring mvc中的@propertysource
jackyrong
spring mvc
在spring mvc中,在配置文件中的东西,可以在java代码中通过注解进行读取了:
@PropertySource 在spring 3.1中开始引入
比如有配置文件
config.properties
mongodb.url=1.2.3.4
mongodb.db=hello
则代码中
@PropertySource(&
- 重学单例模式
lanqiu17
单例Singleton模式
最近在重新学习设计模式,感觉对模式理解更加深刻。觉得有必要记下来。
第一个学的就是单例模式,单例模式估计是最好理解的模式了。它的作用就是防止外部创建实例,保证只有一个实例。
单例模式的常用实现方式有两种,就人们熟知的饱汉式与饥汉式,具体就不多说了。这里说下其他的实现方式
静态内部类方式:
package test.pattern.singleton.statics;
publ
- .NET开源核心运行时,且行且珍惜
netcome
java.net开源
背景
2014年11月12日,ASP.NET之父、微软云计算与企业级产品工程部执行副总裁Scott Guthrie,在Connect全球开发者在线会议上宣布,微软将开源全部.NET核心运行时,并将.NET 扩展为可在 Linux 和 Mac OS 平台上运行。.NET核心运行时将基于MIT开源许可协议发布,其中将包括执行.NET代码所需的一切项目——CLR、JIT编译器、垃圾收集器(GC)和核心
- 使用oscahe缓存技术减少与数据库的频繁交互
Everyday都不同
Web高并发oscahe缓存
此前一直不知道缓存的具体实现,只知道是把数据存储在内存中,以便下次直接从内存中读取。对于缓存的使用也没有概念,觉得缓存技术是一个比较”神秘陌生“的领域。但最近要用到缓存技术,发现还是很有必要一探究竟的。
缓存技术使用背景:一般来说,对于web项目,如果我们要什么数据直接jdbc查库好了,但是在遇到高并发的情形下,不可能每一次都是去查数据库,因为这样在高并发的情形下显得不太合理——
- Spring+Mybatis 手动控制事务
toknowme
mybatis
@Override
public boolean testDelete(String jobCode) throws Exception {
boolean flag = false;
&nbs
- 菜鸟级的android程序员面试时候需要掌握的知识点
xp9802
android
熟悉Android开发架构和API调用
掌握APP适应不同型号手机屏幕开发技巧
熟悉Android下的数据存储
熟练Android Debug Bridge Tool
熟练Eclipse/ADT及相关工具
熟悉Android框架原理及Activity生命周期
熟练进行Android UI布局
熟练使用SQLite数据库;
熟悉Android下网络通信机制,S