- RK3576 Yolo 部署
1.开发背景Ubuntu下实现yolo计算比较常见,现实中我们需要在各种嵌入式板卡上实现yolo模型,在板卡上运行yolo也是常态。主要参考官方github和野火教程。2.开发需求在RK3576上运行yolov8的官方例程3.开发环境Ubuntu20.04+Conda+Yolov8+RK35764.实现步骤4.1PyTorch文件转ONNX4.1.1下载权重文件下载官方权重文件yolov8n.pt
- 【ARM】解决ArmDS的工程没有生成Map文件的问题
亿道电子Emdoor
ARMARMarm开发
1、文档目标在嵌入式开发过程中,使用ArmDevelopmentStudio(简称ArmDS)进行项目构建时,Map文件的生成是调试和分析代码的重要环节。Map文件不仅记录了程序中各个段(sections)的内存分布情况,还提供了符号地址、函数调用关系等关键信息,对优化代码性能、排查问题具有不可替代的作用。然而,在某些情况下,开发者可能会发现ArmDS工程并未如预期生成Map文件。这一问题可能源于
- 嵌入式开发学习日志Day14(ARM体系架构——RTC及ADC)
一、RTCRTC(实时时钟):非易失性在IMX6ULL内部SNVS(安全的非易失性存储器)提供RTC功能;原理图:二、ADC2.1基本概念ADC(模拟数字转换器):用于将连续变化的模拟信号转换为离散的数字信号以便数字系统对它进行处理;模拟信号:一般指连续变化的电压信号,其值在一定范围内变化;数字信号:由一系列离散数字表示仅取有限值,通常以二进制表示;2.2工作原理将模拟信号分割成一系列离散的取样,
- 嵌入式SoC多线程架构迁移多进程架构开发技巧
不脱发的程序猿
嵌入式嵌入式
目录1、架构迁移步骤2、架构迁移的关键点3、迁移实例将嵌入式SoC开发从单进程多线程架构迁移多进程架构是一项需要谨慎规划和实施的任务,尤其在资源有限的嵌入式系统中。这种架构转变通常是为了提高系统的稳定性、隔离性、安全性和并发处理能力。在单进程多线程架构中,多个线程共享相同的内存空间、文件描述符和全局变量,适合处理轻量级任务并发。然而,这种架构的缺点在于:共享资源管理复杂:线程之间共享内存,容易引发
- 两个点 定位_基于双天线的北斗定位系统设计与实现
weixin_39697096
两个点定位
前期实际北斗模块定位误差统计分析中得出了北斗模块的定位误差分布服从正态分布,根据北斗模块定位误差分布的规律,利用在同一块电路板上的双天线模块接收北斗定位信号,将定位信息传给TMS320F28335DSP芯片,DSP对北斗模块给出的定位信息做实时算法处理,并将处理后的定位信息传给嵌入式ARM芯片,ARM芯片在TFT液晶屏上更新定位信息,同时根据用户要求来设置北斗模块的工作模式。在接收不到北斗定位信息
- Linux 2.6 内核的嵌入式系统应用
anxiongshan
linux嵌入式多媒体系统嵌入式操作系统h.264任务
摘要:在分析Linux2.6内核新特性的基础上,在S3C2410开发板上移植了2.6内核和新的文件系统,并成功地对H.264编解码多媒体系统提供了支持。关键词:Linux内核嵌入式系统S3C2410随着多媒体技术与通讯技术相结合的信息技术的快速发展和互联网的广泛应用,PC时代也过渡到了后PC时代。在数字信息技术和网络技术高速发展的后PC时代,嵌入式技术越来越与人们的生活紧密结合。操作系统为用户使用
- 轻量级FTP服务器应用——开箱即用
antzou
办公软件效率工具FTPeclipsercp
文章目录背景目标实现下载背景快速搭建测试环境程序员在开发文件上传/下载、FTP集成等功能时,需要快速验证代码逻辑,但连接生产环境或公共测试服务器存在风险且效率低下。环境隔离与安全性在本地或内网启动专属FTP服务,避免污染公共环境,同时防止敏感测试数据外泄。低成本资源占用无需部署完整的FTP服务软件(如vsftpd、FileZillaServer),通过轻量级嵌入式方案节省系统资源。自定义配置灵活性
- 用鸿蒙打造真正的跨设备数据库:从零实现分布式存储
网罗开发
HarmonyOS实战源码实战harmonyos数据库分布式
网罗开发(小红书、快手、视频号同名) 大家好,我是展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、HarmonyOS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。图书作者:《ESP32-C3物联网工程开发实战》图书作者:《SwiftUI入门,进阶与实战》超级个体:CO
- 基于STM32的智能农业灌溉系统设计与实现
STM32发烧友
stm32嵌入式硬件单片机
目录引言环境准备2.1硬件准备2.2软件准备系统架构与基础3.1控制系统架构3.2功能描述代码实现:实现智能农业灌溉系统4.1环境监测模块4.2灌溉控制模块4.3通信与远程监控实现4.4用户界面与数据可视化应用场景:农业灌溉与节水控制问题解决方案与优化收尾与总结1.引言随着农业现代化进程的推进,传统的灌溉方式逐渐无法满足节水、高效的需求。智能农业灌溉系统通过集成传感器、嵌入式控制技术和无线通信模块
- STM32 驱动矩阵键盘详解与完整示例
深入黑暗
单片机开发stm32矩阵嵌入式硬件单片机驱动开发
STM32驱动矩阵键盘详解与完整示例矩阵键盘在嵌入式开发中是一种常见的输入设备,广泛应用于工业控制、人机界面、消费电子等领域。本文将详细介绍如何在STM32平台上驱动一个4x4矩阵键盘,涵盖原理分析、硬件连接、软件编程、防抖处理、问题排查与优化技巧等,适合初学者和进阶用户参考。一、矩阵键盘基本原理1.1什么是矩阵键盘?矩阵键盘是将按键按行列排布形成网格状结构的键盘,通过行线(Row)和列线(Col
- 嵌入式AI模型压缩技术:让大模型变小
AI智能探索者
AIAgent智能体开发实战人工智能ai
嵌入式AI模型压缩技术:让大模型变小关键词:嵌入式AI、模型压缩、剪枝、量化、知识蒸馏、轻量化网络、端侧部署摘要:当我们用手机拍照时,AI能瞬间识别出“这是一只猫”;智能摄像头能在0.1秒内检测到“有人闯入”。这些“快如闪电”的AI功能背后,藏着一项关键技术——嵌入式AI模型压缩。本文将用“给盆栽修剪枝叶”“用简笔画代替油画”等生活类比,带您一步步理解模型压缩的核心技术(剪枝、量化、知识蒸馏、轻量
- .wgt 是一种用于打包 Web 应用的标准格式,主要应用于 W3C Widgets 规范中。它是一种轻量级的打包方式,特别适用于移动设备和嵌入式系统中的小型 Web 应用程序
爱的叹息
开发运维架构前端
.wgt是一种用于打包Web应用的标准格式,主要应用于W3CWidgets规范中。它是一种轻量级的打包方式,特别适用于移动设备和嵌入式系统中的小型Web应用程序。一、什么是.wgt包?.wgt是一个压缩包(本质是ZIP格式),包含运行一个Widget所需的所有资源文件。它遵循W3C的WidgetsPackagingandConfiguration规范。可以被支持的平台(如某些手机操作系统、车载系统
- X86和ARM架构的优缺点?
心对元&鑫鑫
arm开发架构
x86和ARM是当前主流的两种处理器架构,分别主导不同领域(如PC/服务器和移动/嵌入式设备)。它们的优缺点对比如下:1.x86架构(Intel/AMD)优点:高性能:复杂指令集(CISC)设计,单条指令功能强大,适合高吞吐量计算。强大的单线程性能,尤其在浮点运算和多媒体处理(如视频编辑、游戏)。软件生态成熟:主导PC和服务器市场,兼容Windows、Linux等主流操作系统。支持大量专业软件(如
- 【ISAQB大纲解读】软件密集型系统的三大分类
小马哥编程
系统架构架构
软件密集型系统的类型划分为信息系统、嵌入式系统和移动系统,主要基于其应用场景、功能定位、硬件依赖程度及软件设计逻辑的显著差异。以下从三类系统的核心特征、典型场景及分类逻辑展开分析:一、软件密集型系统的定义与分类逻辑软件密集型系统指软件在系统功能实现中起决定性作用的系统,其分类本质上反映了不同场景下软件与硬件、业务需求的耦合方式。三类系统的划分依据包括:应用领域:商业办公、设备控制、移动交互等不同场
- I2C子系统面试指南:基础原理、经典问答与答题技巧全解析
嵌入式Jerry
Linux+内核面试职场和发展linux服务器运维单片机java
I2C子系统面试指南:基础原理、经典问答与答题技巧全解析关于本篇博文,B站视屏讲解链接,点击进入深度学习一、引言:为什么要深入掌握I2C子系统?在嵌入式、驱动开发、BSP移植、甚至AIoT行业,I2C几乎是绕不开的“基础功”。不管你是应聘Linux驱动开发、嵌入式软件工程师、SoC底层支持,还是BSP/系统调试,I2C的核心架构和调试经验都是面试高频关注点。掌握I2C子系统,关键不止是能写驱动,更
- 鸿蒙(影音娱乐类)APP开发——在线短视频流畅切换
CTrup
HarmonyOS鸿蒙开发移动开发harmonyos娱乐音视频移动开发鸿蒙开发组件化ArkUI
往期推文全新看点鸿蒙(HarmonyOS)北向开发知识点记录~鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~鸿蒙应用开发与鸿蒙系统开发哪个更有前景?嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~对于大前端开发来说,转鸿蒙开发究竟是福还是祸?鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?记录一场鸿蒙开发岗位面试经历~持续更新中……简介为了帮助开发者解决在应用中在线短视频快速
- 开源 java android app 开发(十三)绘图定义控件、摇杆控件的制作
ajassi2000
linuxC到AndroidApp开发开源javaandroidlinuxpython
文章的目的为了记录使用java进行androidapp开发学习的经历。本职为嵌入式软件开发,公司安排开发app,临时学习,完成app的开发。开发流程和要点有些记忆模糊,赶紧记录,防止忘记。相关链接:开源javaandroidapp开发(一)开发环境的搭建-CSDN博客开源javaandroidapp开发(二)工程文件结构-CSDN博客开源javaandroidapp开发(三)GUI界面布局和常用组
- LevelDB、BoltDB 和 RocksDB区块链应用比较
MetaverseMan
区块链
LevelDB、BoltDB和RocksDB是三种常用的键值存储数据库,它们在区块链领域(如以太坊、比特币等)或其他高性能应用中有广泛应用。虽然它们都是嵌入式键值存储,但设计目标、性能特性、功能支持和适用场景有显著差异。以下是它们的详细对比,特别是结合区块链公链(如以太坊)中可能涉及的场景。1.LevelDB概述:LevelDB是由Google开发的一个轻量级嵌入式键值存储库,基于LSM树(Log
- lwIP协议栈深入应用与优化全攻略
lanjieying
本文还有配套的精品资源,点击获取简介:lwIP是一套用于嵌入式系统的轻量级TCP/IP协议栈,适用于资源受限的微控制器环境。本文档集锦提供了从基础到高级应用的全面介绍,包括lwIP的架构、协议实现、用户指南、多线程实现、网络编程技巧、实战教程以及性能优化策略。这些文档旨在帮助开发者深入理解lwIP,并有效地应用到网络开发中。1.lwIP架构与基础在嵌入式系统和网络编程中,lwIP(lightwei
- 嵌入式C语言常用的代码模块库
kaikaile1995
网络
在嵌入式系统开发中,C语言因其高效性、可移植性和对硬件的直接控制能力而广泛应用。随着嵌入式技术的不断发展,为了提高开发效率和软件质量,开发者们积累并共享了大量的代码模块库。这些库不仅涵盖了从底层硬件访问到高级应用开发的各个方面,还提供了丰富的功能组件和工具,极大地简化了嵌入式软件的开发过程。本文将介绍一些嵌入式C语言常用的代码模块库,并探讨它们在嵌入式开发中的应用。1.底层硬件访问库1.1GPIO
- 什么是嵌入式?一篇文章让你彻底搞懂!
欢乐熊嵌入式编程
嵌入式开发嵌入式硬件单片机学习单片机
什么是嵌入式?一篇文章让你彻底搞懂!一提起“嵌入式”,很多新手脑子里立刻浮现四个大字:听不懂!没关系,今天这篇文章,我们就用讲故事、打比方、怼术语的方式,让你一次搞懂嵌入式到底是啥玩意儿!先别急着查百度,告诉你啥是“嵌入式”百度百科的解释一般都长成这样:“嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。”——你是不是看
- onnx模型部署 python_深度学习模型转换与部署那些事(含ONNX格式详细分析)
weixin_39759270
onnx模型部署python
背景深度学习模型在训练完成之后,部署并应用在生产环境的这一步至关重要,毕竟训练出来的模型不能只接受一些公开数据集和榜单的检验,还需要在真正的业务场景下创造价值,不能只是为了PR而躺在实验机器上在现有条件下,一般涉及到模型的部署就要涉及到模型的转换,而转换的过程也是随着对应平台的不同而不同,一般工程师接触到的平台分为GPU云平台、手机和其他嵌入式设备对于GPU云平台来说,在上面部署本应该是最轻松的事
- STM32要学到什么程度才算合格?
作为一个在嵌入式领域摸爬滚打了快10年的老兵,今天看到这个问题时,脑海里瞬间闪过了无数个难忘的瞬间:第一次成功点亮LED时的狂欢、第一次调通串口通信时的激动、第一次做出完整项目时的成就感,当然还有无数次因为bug而彻夜难眠的焦虑…"合格"这个词,真的很难定义啊!说实话,刚看到这个问题的时候,我的第一反应是:这特么的怎么回答?什么叫合格?是能点亮LED就算合格,还是能做出产品才算合格?是会用库函数就
- Linux系统简介
strive颖先生
操作系统(OperatingSystem,简称OS):软件和硬件资源的管理者,他是宇宙中最复杂的软件,对下管理各种硬件,对上为应用程序的运行提供一个平台。主流操作系统PC:Windows,osx,Linux服务器(Server):Unix/Linux,WindowsServer,OSX嵌入式设备(EmbeddedDevice):Linxu,Android,VxWorks,ios,winCE,win
- 硬件工程师入门与进阶全攻略
攻城狮-鹏哥
单片机单片机stm32dsp开发fpga开发51单片机mcu嵌入式硬件
一、硬件工程师成长阶段划分(一)能力成长四象限模型(二)成长阶段对照表阶段理论要求实践技能项目经验典型岗位入门期数电模电基础万用表/示波器使用简单电路焊接硬件助理工程师成长期单片机/嵌入式系统原理图设计/PCBLayout功能模块开发初级硬件工程师成熟期高速电路设计/EMC理论信号完整性分析完整产品硬件开发资深硬件工程师专家期前沿技术跟踪系统级方案设计复杂系统架构设计硬件系统工程师二、入门阶段:夯
- 单片机开发全攻略:从零开始,迈向嵌入式开发高手之路
DTcode7
学习提升单片机mongodb嵌入式硬件
单片机开发全攻略:从零开始,迈向嵌入式开发高手之路一、单片机开发基础1.1单片机概述1.2开发环境搭建1.3编程语言与框架二、实战案例:LED闪烁2.1硬件准备2.2代码示例2.3解释三、高级应用:温度监控系统3.1硬件扩展3.2代码实现3.3解释四、开发技巧与问题排查4.1优化内存使用4.2问题排查思路4.3调试工具五、相关项目积分资源5.1在线学习资源5.2社区与论坛5.3开源项目结语与讨论在
- 提升首屏加载的秘密武器:一文讲透 CDN 加速核心逻辑
网罗开发
实战源码前端jsonjavascript
网罗开发(小红书、快手、视频号同名) 大家好,我是展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、HarmonyOS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。图书作者:《ESP32-C3物联网工程开发实战》图书作者:《SwiftUI入门,进阶与实战》超级个体:CO
- stm32为何在诸多的单片机中脱颖而出?
STM32为何在诸多单片机中脱颖而出?一个十年嵌入式老兵的深度解析看到这个问题,我忍不住想起了十年前刚入行时的那段经历。那时候我刚从机械专业转到嵌入式领域,面对市面上琳琅满目的单片机产品:51单片机、PIC、AVR、MSP430、ARM7、ARM9...每一种都有自己的拥趸,每一种都在宣称自己的优势。但是有一款芯片,却在我接触的短短几年时间里,以迅雷不及掩耳之势席卷了整个嵌入式市场,那就是STM3
- DS18B20温度传感器的Verilog初始化程序实战指南
北海有座岛
本文还有配套的精品资源,点击获取简介:DS18B20是一款适用于宽温度范围的高精度数字温度传感器,采用Verilog语言实现其初始化程序,以便能够正确地在系统中运行。本指南详细介绍了DS18B20的初始化过程,包括电源配置、分辨率选择、报警阈值设定等,并解释了如何使用Verilog来控制和通信DS18B20传感器,对于嵌入式系统设计和硬件描述语言的学习具有重要价值。1.DS18B20传感器概述1.
- 鲲鹏服务器的ARM架构
hid_clf-2oizpt7skaq
arm开发架构
ARM架构过去称作进阶精简指令集机器(AdvancedRISCMachine,更早称作:AcornRISCMachine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。在今日,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。ARM处理器
- 深入浅出Java Annotation(元注解和自定义注解)
Josh_Persistence
Java Annotation元注解自定义注解
一、基本概述
Annontation是Java5开始引入的新特征。中文名称一般叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。
更通俗的意思是为程序的元素(类、方法、成员变量)加上更直观更明了的说明,这些说明信息是与程序的业务逻辑无关,并且是供指定的工具或
- mysql优化特定类型的查询
annan211
java工作mysql
本节所介绍的查询优化的技巧都是和特定版本相关的,所以对于未来mysql的版本未必适用。
1 优化count查询
对于count这个函数的网上的大部分资料都是错误的或者是理解的都是一知半解的。在做优化之前我们先来看看
真正的count()函数的作用到底是什么。
count()是一个特殊的函数,有两种非常不同的作用,他可以统计某个列值的数量,也可以统计行数。
在统
- MAC下安装多版本JDK和切换几种方式
棋子chessman
jdk
环境:
MAC AIR,OS X 10.10,64位
历史:
过去 Mac 上的 Java 都是由 Apple 自己提供,只支持到 Java 6,并且OS X 10.7 开始系统并不自带(而是可选安装)(原自带的是1.6)。
后来 Apple 加入 OpenJDK 继续支持 Java 6,而 Java 7 将由 Oracle 负责提供。
在终端中输入jav
- javaScript (1)
Array_06
JavaScriptjava浏览器
JavaScript
1、运算符
运算符就是完成操作的一系列符号,它有七类: 赋值运算符(=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=)、算术运算符(+,-,*,/,++,--,%)、比较运算符(>,<,<=,>=,==,===,!=,!==)、逻辑运算符(||,&&,!)、条件运算(?:)、位
- 国内顶级代码分享网站
袁潇含
javajdkoracle.netPHP
现在国内很多开源网站感觉都是为了利益而做的
当然利益是肯定的,否则谁也不会免费的去做网站
&
- Elasticsearch、MongoDB和Hadoop比较
随意而生
mongodbhadoop搜索引擎
IT界在过去几年中出现了一个有趣的现象。很多新的技术出现并立即拥抱了“大数据”。稍微老一点的技术也会将大数据添进自己的特性,避免落大部队太远,我们看到了不同技术之间的边际的模糊化。假如你有诸如Elasticsearch或者Solr这样的搜索引擎,它们存储着JSON文档,MongoDB存着JSON文档,或者一堆JSON文档存放在一个Hadoop集群的HDFS中。你可以使用这三种配
- mac os 系统科研软件总结
张亚雄
mac os
1.1 Microsoft Office for Mac 2011
大客户版,自行搜索。
1.2 Latex (MacTex):
系统环境:https://tug.org/mactex/
&nb
- Maven实战(四)生命周期
AdyZhang
maven
1. 三套生命周期 Maven拥有三套相互独立的生命周期,它们分别为clean,default和site。 每个生命周期包含一些阶段,这些阶段是有顺序的,并且后面的阶段依赖于前面的阶段,用户和Maven最直接的交互方式就是调用这些生命周期阶段。 以clean生命周期为例,它包含的阶段有pre-clean, clean 和 post
- Linux下Jenkins迁移
aijuans
Jenkins
1. 将Jenkins程序目录copy过去 源程序在/export/data/tomcatRoot/ofctest-jenkins.jd.com下面 tar -cvzf jenkins.tar.gz ofctest-jenkins.jd.com &
- request.getInputStream()只能获取一次的问题
ayaoxinchao
requestInputstream
问题:在使用HTTP协议实现应用间接口通信时,服务端读取客户端请求过来的数据,会用到request.getInputStream(),第一次读取的时候可以读取到数据,但是接下来的读取操作都读取不到数据
原因: 1. 一个InputStream对象在被读取完成后,将无法被再次读取,始终返回-1; 2. InputStream并没有实现reset方法(可以重
- 数据库SQL优化大总结之 百万级数据库优化方案
BigBird2012
SQL优化
网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。
这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。
1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
2.应尽量避免在 where
- jsonObject的使用
bijian1013
javajson
在项目中难免会用java处理json格式的数据,因此封装了一个JSONUtil工具类。
JSONUtil.java
package com.bijian.json.study;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
- [Zookeeper学习笔记之六]Zookeeper源代码分析之Zookeeper.WatchRegistration
bit1129
zookeeper
Zookeeper类是Zookeeper提供给用户访问Zookeeper service的主要API,它包含了如下几个内部类
首先分析它的内部类,从WatchRegistration开始,为指定的znode path注册一个Watcher,
/**
* Register a watcher for a particular p
- 【Scala十三】Scala核心七:部分应用函数
bit1129
scala
何为部分应用函数?
Partially applied function: A function that’s used in an expression and that misses some of its arguments.For instance, if function f has type Int => Int => Int, then f and f(1) are p
- Tomcat Error listenerStart 终极大法
ronin47
tomcat
Tomcat报的错太含糊了,什么错都没报出来,只提示了Error listenerStart。为了调试,我们要获得更详细的日志。可以在WEB-INF/classes目录下新建一个文件叫logging.properties,内容如下
Java代码
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHa
- 不用加减符号实现加减法
BrokenDreams
实现
今天有群友发了一个问题,要求不用加减符号(包括负号)来实现加减法。
分析一下,先看最简单的情况,假设1+1,按二进制算的话结果是10,可以看到从右往左的第一位变为0,第二位由于进位变为1。
 
- 读《研磨设计模式》-代码笔记-状态模式-State
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类
状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况
把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化
如果在
- CUDA程序block和thread超出硬件允许值时的异常
cherishLC
CUDA
调用CUDA的核函数时指定block 和 thread大小,该大小可以是dim3类型的(三维数组),只用一维时可以是usigned int型的。
以下程序验证了当block或thread大小超出硬件允许值时会产生异常!!!GPU根本不会执行运算!!!
所以验证结果的正确性很重要!!!
在VS中创建CUDA项目会有一个模板,里面有更详细的状态验证。
以下程序在K5000GPU上跑的。
- 诡异的超长时间GC问题定位
chenchao051
jvmcmsGChbaseswap
HBase的GC策略采用PawNew+CMS, 这是大众化的配置,ParNew经常会出现停顿时间特别长的情况,有时候甚至长到令人发指的地步,例如请看如下日志:
2012-10-17T05:54:54.293+0800: 739594.224: [GC 739606.508: [ParNew: 996800K->110720K(996800K), 178.8826900 secs] 3700
- maven环境快速搭建
daizj
安装mavne环境配置
一 下载maven
安装maven之前,要先安装jdk及配置JAVA_HOME环境变量。这个安装和配置java环境不用多说。
maven下载地址:http://maven.apache.org/download.html,目前最新的是这个apache-maven-3.2.5-bin.zip,然后解压在任意位置,最好地址中不要带中文字符,这个做java 的都知道,地址中出现中文会出现很多
- PHP网站安全,避免PHP网站受到攻击的方法
dcj3sjt126com
PHP
对于PHP网站安全主要存在这样几种攻击方式:1、命令注入(Command Injection)2、eval注入(Eval Injection)3、客户端脚本攻击(Script Insertion)4、跨网站脚本攻击(Cross Site Scripting, XSS)5、SQL注入攻击(SQL injection)6、跨网站请求伪造攻击(Cross Site Request Forgerie
- yii中给CGridView设置默认的排序根据时间倒序的方法
dcj3sjt126com
GridView
public function searchWithRelated() {
$criteria = new CDbCriteria;
$criteria->together = true; //without th
- Java集合对象和数组对象的转换
dyy_gusi
java集合
在开发中,我们经常需要将集合对象(List,Set)转换为数组对象,或者将数组对象转换为集合对象。Java提供了相互转换的工具,但是我们使用的时候需要注意,不能乱用滥用。
1、数组对象转换为集合对象
最暴力的方式是new一个集合对象,然后遍历数组,依次将数组中的元素放入到新的集合中,但是这样做显然过
- nginx同一主机部署多个应用
geeksun
nginx
近日有一需求,需要在一台主机上用nginx部署2个php应用,分别是wordpress和wiki,探索了半天,终于部署好了,下面把过程记录下来。
1. 在nginx下创建vhosts目录,用以放置vhost文件。
mkdir vhosts
2. 修改nginx.conf的配置, 在http节点增加下面内容设置,用来包含vhosts里的配置文件
#
- ubuntu添加admin权限的用户账号
hongtoushizi
ubuntuuseradd
ubuntu创建账号的方式通常用到两种:useradd 和adduser . 本人尝试了useradd方法,步骤如下:
1:useradd
使用useradd时,如果后面不加任何参数的话,如:sudo useradd sysadm 创建出来的用户将是默认的三无用户:无home directory ,无密码,无系统shell。
顾应该如下操作:
- 第五章 常用Lua开发库2-JSON库、编码转换、字符串处理
jinnianshilongnian
nginxlua
JSON库
在进行数据传输时JSON格式目前应用广泛,因此从Lua对象与JSON字符串之间相互转换是一个非常常见的功能;目前Lua也有几个JSON库,本人用过cjson、dkjson。其中cjson的语法严格(比如unicode \u0020\u7eaf),要求符合规范否则会解析失败(如\u002),而dkjson相对宽松,当然也可以通过修改cjson的源码来完成
- Spring定时器配置的两种实现方式OpenSymphony Quartz和java Timer详解
yaerfeng1989
timerquartz定时器
原创整理不易,转载请注明出处:Spring定时器配置的两种实现方式OpenSymphony Quartz和java Timer详解
代码下载地址:http://www.zuidaima.com/share/1772648445103104.htm
有两种流行Spring定时器配置:Java的Timer类和OpenSymphony的Quartz。
1.Java Timer定时
首先继承jav
- Linux下df与du两个命令的差别?
pda158
linux
一、df显示文件系统的使用情况,与du比較,就是更全盘化。 最经常使用的就是 df -T,显示文件系统的使用情况并显示文件系统的类型。 举比例如以下: [root@localhost ~]# df -T Filesystem Type &n
- [转]SQLite的工具类 ---- 通过反射把Cursor封装到VO对象
ctfzh
VOandroidsqlite反射Cursor
在写DAO层时,觉得从Cursor里一个一个的取出字段值再装到VO(值对象)里太麻烦了,就写了一个工具类,用到了反射,可以把查询记录的值装到对应的VO里,也可以生成该VO的List。
使用时需要注意:
考虑到Android的性能问题,VO没有使用Setter和Getter,而是直接用public的属性。
表中的字段名需要和VO的属性名一样,要是不一样就得在查询的SQL中
- 该学习笔记用到的Employee表
vipbooks
oraclesql工作
这是我在学习Oracle是用到的Employee表,在该笔记中用到的就是这张表,大家可以用它来学习和练习。
drop table Employee;
-- 员工信息表
create table Employee(
-- 员工编号
EmpNo number(3) primary key,
-- 姓