- 基于STC89C52的8255并行口拓展实验
@小张要努力
mongodb数据库学习单片机proteus嵌入式硬件51单片机
摘要本文围绕基于STC89C52单片机的8255并行口扩展实验展开,详细阐述实验原理、硬件设计、软件编程及Proteus仿真实现过程。通过扩展8255芯片,实现单片机I/O口资源的灵活应用,完成对LED阵列的控制,验证8255并行口扩展在单片机系统中的实用性,为单片机外围接口扩展应用提供实践参考。一、引言STC89C52作为经典的51系列单片机,在工业控制、嵌入式系统等领域应用广泛。然而,其内部I
- stc89c51单片机音乐盒系统设计_基于单片机STC89C52的数字音乐盒设计
Fax Caelestis
基于单片机STC89C52的数字音乐盒设计1基于单片机STC89C52的数字音乐盒设计一、引言1.1设计的目的通过课程设计,让学生熟悉单片机微机应用系统开发、研制的过程,软硬件设计的工作方法、工作内容、工作步骤。对学生进行基本技能训练,例如:组成系统、编程、调试、查阅资料、焊接电路板等。使学生理论联系实际,提高动手能力和分析问题、解决问题的能力。1.2设计的基本要求(1)利用I/O口产生一定频率的
- [AI速读]CHISEL vs. SystemVerilog:用RISC-V核心对比两种硬件设计语言
iccnewer
risc-v设计语言
在硬件设计领域,选择合适的语言对开发效率、维护成本和最终性能都至关重要。最近,一项研究对比了两种硬件描述语言——CHISEL(基于Scala的嵌入式语言)和传统的SystemVerilog,它们分别实现了同一款RISC-V核心(SweRV-EL2)。以下是关键发现和结论。为什么选择CHISEL?CHISEL是一种基于Scala的高级硬件构造语言,它结合了面向对象和函数式编程的特性。与传统的Syst
- 嵌入式硬件设计 — 智能设备背后的隐形架构大师
m0_74825238
面试学习路线阿里巴巴嵌入式硬件架构
目录引言?一、嵌入式硬件设计概述(一)需求分析(二)硬件选型(三)电路设计(四)PCB制作与焊接(五)硬件调试与测试(六)软件移植与开发二、嵌入式硬件选型(一)微控制器(MCU)/微处理器(MPU)(二)存储器(三)传感器与执行器(四)电源管理芯片(五)通信接口芯片三、嵌入式硬件代码开发(一)开发环境搭建(二)底层驱动程序开发引言嵌入式系统已经渗透到我们生活的方方面面,从智能手机、智能家居到工业自
- 机身越「有型」,生态越开「阔」!华为Pura X带来全新应用市场
harmonyos
3月20日,华为Pura先锋盛典及鸿蒙智行新品发布会如期举行,正式推出首款搭载HarmonyOS5的新形态阔折叠手机PuraX,硬件设计实现突破性创新。生态上,鸿蒙应用市场(AppGallery)也完成全新升级,整合了生活、娱乐、办公、金融等多元场景,精准满足用户需求,实现应用高效获取与流畅操作体验。鸿蒙应用市场(AppGallery)打出“找应用,上AppGallery”的口号,通过本次升级,打
- 基于STC89C52的温度检测系统(DS18B20)
@小张要努力
嵌入式硬件51单片机单片机proteusmcu
引言在现代电子应用中,温度检测系统扮演着至关重要的角色。从工业生产到日常生活,准确的温度监测为各种设备的稳定运行和环境调控提供了有力保障。本文将介绍一种基于STC89C52单片机的温度检测系统,该系统利用DS18B20温度传感器进行温度数据采集,并通过LCD1602液晶显示屏实时显示温度数值。同时,借助Proteus仿真软件对整个系统进行设计与验证,确保其可行性和稳定性。系统硬件设计STC89C5
- 宇树科技纯技能要求总结
极梦网络无忧
杂谈科技
一、嵌入式开发与硬件设计核心技能嵌入式开发:精通C/C++,熟悉STM32、ARM开发熟悉LinuxBSP开发及驱动框架(SPI/UART/USB/FLASH/Camera/GPS/LCD)掌握主流平台(英伟达、全志、瑞芯微等)硬件设计:精通数字/模拟电路设计,熟悉PCB绘制工具(Altium等)掌握MOS驱动电路、变压器设计及EMC优化熟悉制板/贴片流程及焊接扩展技能电机控制:熟悉有感FOC算法
- 【从零开始学习计算机科学】硬件设计与FPGA原理
贫苦游商
【从零开始学习计算机】硬件设计fpga开发学习数字逻辑verilogHDL硬件设计硬件工程
硬件设计硬件设计流程在设计硬件电路之前,首先要把大的框架和架构要搞清楚,这要求我们搞清楚要实现什么功能,然后找找有否能实现同样或相似功能的参考电路板(要懂得尽量利用他人的成果,越是有经验的工程师越会懂得借鉴他人的成果)。如果你找到了的参考设计,最好还是先看懂并理解,这一方面能提高我们的电路理解能力,而且能避免设计中的错误。在开始做硬件设计前,根据自己的项目需求,可以去找能够满足硬件功能设计的,有很
- 嵌入式硬件设计 — 智能设备背后的隐形架构大师
begei
面试学习路线阿里巴巴嵌入式硬件架构
目录引言?一、嵌入式硬件设计概述(一)需求分析(二)硬件选型(三)电路设计(四)PCB制作与焊接(五)硬件调试与测试(六)软件移植与开发二、嵌入式硬件选型(一)微控制器(MCU)/微处理器(MPU)(二)存储器(三)传感器与执行器(四)电源管理芯片(五)通信接口芯片三、嵌入式硬件代码开发(一)开发环境搭建(二)底层驱动程序开发引言嵌入式系统已经渗透到我们生活的方方面面,从智能手机、智能家居到工业自
- 【51单片机】程序实验17.红外遥控
-一杯为品-
51单片机51单片机mongodb嵌入式硬件
主要参考学习资料:B站【普中官方】51单片机手把手教学视频开发资料下载链接:http://www.prechin.cn/gongsixinwen/208.html单片机套装:普中STC51单片机开发板A4标准版套餐7目录红外遥控介绍红外线简介红外遥控原理红外发射装置红外接收装置硬件设计实验17红外遥控红外接收头驱动主函数红外遥控介绍红外线简介可见光按波长从长到短排列依次为红橙黄绿青蓝紫,其中红光波
- 我与DeepSeek读《大型网站技术架构》(6)- 上
诺亚凹凸曼
架构
永无止境:网站的伸缩性架构伸缩性定义与实现目标网站的伸缩性指通过增减服务器数量灵活调整服务能力,而无需改变软硬件设计。核心目标是实现线性扩容,即新增服务器数量与系统处理能力成正比。两种基本伸缩设计手段(1)物理分离功能实现伸缩纵向分层:将系统按功能分层(如应用层、数据层),分离到不同服务器集群。例如:将数据库服务与应用程序服务器分离。横向分业务:将不同业务模块(如用户系统、支付系统)部署到独立的服
- 使用DeepSeek完成一个简单嵌入式开发
大牛攻城狮
AI能替换码农DeepSeekAI嵌入式AI替代码农STM32流水灯
开启DeepSeek对话请帮我使用AltiumDesigner设计原理图、PCB,使用keil完成代码编写;要求:使用stm32F103RCT6为主控芯片,控制3个流水灯的原理图这里需要注意,每次DeepSeek的回答都不太一样。DeepSeek回答以下是使用STM32F103RCT6控制3个流水灯的完整设计流程,分为硬件设计和软件开发两部分:一、硬件设计(AltiumDesigner)1.原理图
- 基于物联网的幼儿看护辅助系统设计方案
神经网络15044
算法网络物联网
以下是一个基于物联网的幼儿看护辅助系统设计方案,包含系统概述、系统架构、硬件设计、软件设计、通信协议、系统功能以及安全与隐私等方面。系统概述基于物联网的幼儿看护辅助系统旨在利用传感器、网络通信和数据处理技术,实时监测幼儿的状态和环境信息,为家长和看护人员提供远程监控和预警功能,提高幼儿看护的安全性和效率。系统架构该系统主要由感知层、网络层、平台层和应用层组成。感知层:包括各种传感器,如体温传感器、
- OLED屏幕开发全解析:从硬件设计到物联网显示实战 | 零基础入门STM32第五十二步
触角01010001
STM32入门教程(100步)stm32嵌入式硬件驱动开发物联网单片机
主题内容教学目的/扩展视频OLED显示屏重点课程电路原理,手册分析,驱动程序。初始化,清屏,ASCII字库,显示分区。调用显示函数。做带有加入图形和汉字显示的RTC时钟界面。讲字库的设计原理。师从洋桃电子,杜洋老师文章目录一、OLED屏幕核心特性解析二、OLED模块电路设计要点2.1硬件接口设计2.2电源设计规范三、OLED驱动开发关键技术3.1初始化流程设计3.2显示控制功能四、OLED字库生成
- 电机控制常见面试问题(二)
小雀丝
嵌入式硬件单片机
文章目录一、小电感对电机的影响二、转子位置识别1.传感器法2.无传感器三.选择电机和驱动器时通常考虑哪些关键参数四.介绍下mpc(模型预测控制)五.对于电机控制硬件设计的理解六.参数辨识在电机控制系统中扮演什么角色一、小电感对电机的影响电感越小,相同电流下储存的磁场能量越少,导致扭矩输出降低。但同时响应速度会更快,电机对电压突变更敏感,带宽提升有利于高频控制。二、转子位置识别1.传感器法霍尔传感器
- 【嵌入式DIY实例-Arduino篇】-最大功率点跟踪 (MPPT) 太阳能充电控制器
视觉与物联智能
物联网全栈开发实战嵌入式硬件嵌入式电子工程物联网单片机
最大功率点跟踪(MPPT)太阳能充电控制器文章目录最大功率点跟踪(MPPT)太阳能充电控制器1、应用介绍2、硬件准备3、太阳能充电控制器介绍4、硬件设计5、驱动代码实现1、应用介绍在这个应用中,我们将使用Arduino并结合许多主动-被动电子设备构建我们自己的MPPT太阳能充电控制器。MPPT表示最大功率点跟踪控制器(MaximumPowerPointTrackingController)。大多数
- 储能变流器硬件工程师能力提升路径
DOMINICHZL
硬件能源硬件工程
储能变流器(PCS,PowerConversionSystem)作为储能系统的核心部件,其硬件设计涉及电力电子、控制理论、热管理、电磁兼容(EMC)等多领域技术。以下是储能变流器行业硬件工程师需要具备的核心能力,以及技术提升的路径建议:一、储能变流器硬件工程师的核心能力电力电子基础能力拓扑设计与分析:熟悉Boost/Buck、双向DC-DC、三相逆变器、LLC谐振变换器等拓扑结构,并能根据效率、成
- 百兆网络变压器和RJ45接线应该参考那些原理
Hqst_Kevin
网络
在涉及百兆网络变压器(如100BASE-TX以太网)和RJ45接线相关的硬件设计时,需参考以下核心原理和规范:一、网络变压器(MagneticsModule)原理1.信号隔离(电气隔离)-网络变压器通过磁耦合隔离设备端(PHY芯片)与外部物理线缆(RJ45),防止静电(ESD)、浪涌或其他共模干扰损坏芯片。-高压耐压要求**:变压器绕组间的绝缘需满足安规标准(如2kV/1分钟或更高)。2.阻抗匹配
- 基于STM32的低功耗遥控器设计详解与实践
红钻头机
本文还有配套的精品资源,点击获取简介:本设计聚焦于电子工程领域中,通过应用STM32微控制器技术、无线通信技术和电源管理策略,实现一个高效、可靠的低功耗远程控制解决方案。文章介绍了如何选择合适的STM32型号、无线通信模块的选择与优化、电源管理策略的设计,以及嵌入式软件的开发。同时,还详细探讨了硬件设计、测试和调试以及安全性和隐私保护的必要措施,最终提供了关于创建此类遥控器产品的全面指导。1.ST
- 机器视觉3D线激光轮廓仪的精度为什么高
视觉人机器视觉
杂说3d机器人opencv人工智能视觉检测
3D激光轮廓仪的高精度源于其硬件设计、光学系统、软件算法及环境控制等多方面的协同优化,以下是具体原因的分点解析:激光光源的高性能单色性与方向性:激光具有极好的单色性和准直性,光束发散角小,能形成稳定的光斑,减少光路偏差。高稳定性:激光器输出功率和波长稳定,避免因光源波动导致的测量误差。短波长优势:部分激光采用短波长(如蓝光),可检测更微小的表面细节,提升分辨率。高分辨率传感器CMOS/CCD传感器
- 51单片机学习笔记——第二天:蜂鸣器
bit__bit
51单片机学习单片机
大家好!今天是51单片机学习的第二天,今天学习了如何使用蜂鸣器,学习笔记如下:蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。压电式蜂鸣器,也叫做无源蜂鸣器。这里的源不是指“电源”,而是振荡源。因为没有振荡源,所以软件设计的时候需要自己添加振荡源。电磁式蜂鸣器,也叫做有源蜂鸣器。因为内部有振荡源,所以只需要通电的时候,蜂鸣器就会响。硬件设计:软件设计:#include"reg52.h"typed
- 学单片机能从事什么工作?
华清远见成都中心
单片机嵌入式硬件
学单片机能从事什么工作?学习单片机技术可以为你打开多个职业方向的大门,尤其是在电子工程、自动化控制和嵌入式系统开发领域。以下是学习单片机后可以从事的一些工作:嵌入式软件工程师:负责编写、测试和维护嵌入式系统的软件。这包括底层驱动程序的开发、实时操作系统(RTOS)的应用以及应用程序的编写。硬件设计工程师:专注于电路板的设计与实现,使用单片机作为核心组件来构建各种电子产品。固件开发工程师:专门针对单
- 普中51单片机和金沙滩51单片机的对比分析
晓风伴月
单片机开发51单片机嵌入式硬件单片机
普中51单片机和金沙滩51单片机是国内常见的两种51单片机开发板品牌,各有特点,适合不同需求的用户。以下是两者的对比分析:1.价格与性价比普中51单片机价格相对较低(通常在几十元到百元之间),适合预算有限的初学者。开发板功能集成度高,外设丰富(如LED、数码管、按键、LCD接口等),性价比较高。金沙滩51单片机价格稍高(百元左右或更高),但硬件设计更注重稳定性和扩展性。配套的《手把手教你学51单片
- 基于STM32单片机的红外测温仪设计
程序员杨弋
嵌入式开发单片机嵌入式硬件嵌入式
红外测温仪是一种常用于非接触式温度测量的设备,可以广泛应用于医疗、工业、安防等领域。本文将介绍基于STM32单片机的嵌入式红外测温仪的设计过程,并提供相应的源代码。1、硬件设计首先,我们需要选择适合的硬件平台。在本设计中,我们选择了STM32系列单片机作为主控芯片,因其具有强大的计算能力和丰富的外设接口。此外,我们还需要选择一款具有红外传感器功能的模块,用于接收目标物体发出的红外辐射并转换为温度值
- 485 多路信号采集,校验干扰问题
A_nanda
c#多系统间通信信号干扰
在RS-485总线中同时采集多路信号时,若某一路出现CRC校验失败,通常由总线冲突、信号干扰或硬件设计缺陷引起。以下是具体影响分析和解决方案:一、多路信号同时采集的影响1.总线冲突风险现象:多路信号同时发送时,485总线(半双工)无法区分信号,导致数据叠加损坏。后果:接收端数据错乱,CRC校验失败概率增加。示例:csharp复制//错误示例:未轮询直接多路请求Task.Run(()=>ReadDe
- 【硬件设计】DDR与HBM的功能、区别及未来发展分析
RunningCamel
硬件开发硬件设计DDRHBM
目录一、功能与技术特性二、核心区别点对比三、未来发展趋势四、总结与展望一、功能与技术特性DDR的功能与演进DDR(DoubleDataRate)是一种动态随机存取存储器(DRAM),采用双倍数据传输率技术,每个时钟周期内可传输两次数据,显著提升传输效率。自1998年DDR1问世以来,其技术迭代至DDR5,带宽从2.1GB/s(DDR1)提升至6.4Gbps(DDR5),同时电压从2.5V降至1.1
- 基于STM32的智能健康监测手环系统
STM32发烧友
stm32嵌入式硬件单片机
1.引言传统健康监测设备存在功能单一、数据孤立等问题,难以满足现代健康管理的个性化需求。本文设计了一款基于STM32的智能健康监测手环系统,通过多生理参数采集、AI健康评估与云端协同技术,实现人体健康状态的实时监测与预警,推动主动健康管理模式的普及。2.系统设计2.1硬件设计主控芯片:STM32L476RG,超低功耗设计(7天)无线充电(Qi标准,2小时充满)2.2软件架构生理信号处理:小波变换消
- H100生成式AI效能跃升指南
智能计算研究中心
其他
内容概要作为NVIDIAHopper架构的旗舰产品,H100GPU通过革命性的硬件设计与计算范式重构,为生成式AI工作负载提供了前所未有的加速能力。本文将从芯片架构创新出发,首先解析第四代TensorCore如何通过FP8精度支持与动态指令调度机制,实现矩阵运算效率的指数级提升;继而探讨显存子系统在带宽扩容与智能缓存分配上的突破,揭示其突破生成式AI内存墙的关键路径。在技术实践层面,文章系统梳理了
- 基于plc音乐喷泉的电气控制设计
weixin_112233
电气工程毕业设计自动化
机电一体化专业设计交流文章目录一、摘要二、绪论1.1研究背景1.2研究意义二、音乐喷泉的设计2.1PLC控制系统2.2音乐喷泉设计方案2.2.1音乐喷泉示意图2.2.2音乐喷泉控制要求2.2.3音乐喷泉控制接线三、基于PLC的音乐喷泉控制系统的硬件设计3.1整体设计3.2控制系统硬件的选择3.2.1主控制器3.2.2变频器3.3控制系统的组成3.4PLC控制电路四基于PLC的音乐喷泉控制系统软件设
- 嵌入式软件架构设计分层思路
轻松学C语言
嵌入式单片机ubootframeworkqt
在正规的项目开发中,项目往往是并行开发的,也就是说硬件设计、底层软件设计、应用软件设计等是同步进行的。比如说在开发板上调试模块驱动,在其他平台上调试应用程序再移植到目前这个平台等。嵌入式专栏1为什么很少看见嵌入式软件架构师职位在招聘网站搜索架构师,会出现各种系统架构师:web架构师,后台服务端架构师等等,但是唯独很难看到嵌入式软件架构师。嵌入式软件不需要架构吗,驱动不需要架构吗?答案当然是需要,不
- 深入浅出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,
-- 姓