- FreeRTOS第9篇:任务的“快捷消息”——任务通知
指尖动听知识库
单片机stm32freertos
文/指尖动听知识库-星愿文章为付费内容,商业行为,禁止私自转载及抄袭,违者必究!!!文章专栏:深入FreeRTOS内核:从原理到实战的嵌入式开发指南引言:嵌入式系统的“微信私聊”想象你身处一个繁忙的办公室:同事们(任务)需要频繁沟通,传递文件(数据)或确认进度(同步)。如果每次沟通都召开全员会议(队列/信号量),效率必然低下;但若改用即时消息(任务通知),则能精准直达,快速响应。FreeRTOS的
- 芯片与寄存器
jhb222
stm32
芯片与寄存器作为一个嵌入式开发人员,从接触第一块单片机的时候,就一定会听到一个此,叫做寄存器。单片机的很多功能都是通过配置修改寄存器来实现的。我们了解寄存器,也读写过很多的寄存器一、操作过得寄存器先回顾一下我们以前操作过得寄存器:这是一段51单片机初始化定时器的代码voidTIME_Init(){TMOD=0x11; TL0=0; TH0=0;TL1=0;
- STM32之SG90舵机控制
如愿小李
stm32嵌入式硬件单片机
目录前言:一、硬件准备与接线1.1硬件清单1.2接线二、SG90舵机简介1.1外观1.2基本参数1.3引脚说明1.4控制原理1.5特点1.6常见问题三、单片机简介四、程序设计4.1定时器配置4.2角度控制函数4.3主函数调用五、总结前言:STM32F103C8T6是一款性价比极高的ARMCortex-M3内核微控制器,广泛应用于嵌入式开发。SG90舵机则是小型舵机的代表,常用于机器人、智能家居等场
- 在BeagleBone AI上部署QT5:操作流程与示例代码
coolboyzk
人工智能qt开发语言ubuntu
引言BeagleBoneAI是一款基于TISitaraAM5729处理器的嵌入式开发板,具有强大的计算能力和丰富的外设接口,非常适合运行图形化应用程序。QT5是一个跨平台的C++图形用户界面框架,广泛用于嵌入式系统的GUI开发。本文将详细介绍如何在BeagleBoneAI上部署QT5,并提供必要的操作流程和示例代码。操作流程1.环境准备1.1硬件准备BeagleBoneAI开发板。MicroSD卡
- Raspberry Pi、Arduino 和ESP32对比
JNI_42020487
嵌入式硬件
RaspberryPi、Arduino和ESP32都是非常流行的嵌入式开发平台,各自具有不同的特点和优势。根据这些平台的硬件能力、功能、性能和生态环境,它们适用于不同类型的项目。以下是这三者适用的场景和特点比较:1.RaspberryPi适用场景:桌面计算和多媒体应用:操作系统:RaspberryPi能运行完整的Linux系统(如Raspbian或其他发行版),因此适合需要操作系统支持的应用,比如
- 嵌入式编译工具链比较
JNI_42020487
编译工具
在嵌入式开发中,编译工具链是开发过程中非常重要的一部分,它包含了一系列用于代码编译、调试、链接和打包的工具。一个完整的嵌入式编译工具链通常包括编译器、汇编器、链接器、调试器等。下面是常见的嵌入式编译工具链及相关工具:1.GCC(GNUCompilerCollection)GCC是最常用的开源编译器集合,广泛应用于嵌入式开发。GCC支持多种处理器架构,包括ARM、AVR、MIPS、RISC-V等,因
- 在 NXP Yocto 环境下实现 Qualcomm Wi-Fi Driver 的 GitLab CI/CD
思考的下一页
Wi-Fi经验YoctoGIT
在嵌入式开发中,Yocto被广泛用于定制Linux发行版,而GitLabCI/CD能够帮助我们自动化构建、测试和部署QualcommWi-Fi驱动(如ath11k)。本文将介绍如何在NXPi.MX8MP平台上,基于Yocto实现QualcommWi-Fi驱动的GitLabCI/CD,并进行自动化测试和远程部署。1.GitLabCI/CD在Yocto中的应用GitLabCI/CD主要包括构建(Bui
- 安全见闻(网络安全篇)
.Ayang
渗透测试学习笔记安全web安全网络安全网络计算机网络
笔记仅供学习,切勿触碰法律红线!以下笔记学习来自B站泷羽Sec:https://space.bilibili.com/350329294?spm_id_from=333.337.search-card.all.click如涉及侵权马上删除文章1.编程语言C语言:一种通用的、面向过程的编程语言,广泛应用于系统软件和嵌入式开发。C++:在C语言基础上发展而来,支持面向对象编程,常用于游戏开发、高性能计
- Ardiuno之esp32 st7789显示屏利用TJpg_Decoder库读取sd卡中的图片
wangjingsong_810
c++
前言:因为空闲时间比较多,看了不少嵌入式开发的教程,过年期间整了一块240*240的st7789屏幕,之前使用micropython开发,但是感觉图片加载速度慢,而且库非常少,没办法读取sd卡里面的图片。有个别大佬的教程倒是很详细,但不开源,所以转战Ardiuno,也算是零基础入门了。网上不少案例可以显示图片,但大多都是将图片转成数组,放入内存编译上传。以esp32的内存,根本存不了几张。那些教程
- 嵌入式开发:傅里叶变换(1):理论
魂兮-龙游
嵌入式开发人工智能傅里叶变换滤波离散傅里叶变换DFT
目录1.傅里叶变换的四种类型2.计算机处理的核心方法:离散傅里叶变换(DFT)3.实数DFT与复数DFT4.实际应用中的关键挑战傅立叶变换是一种分析信号的方法,它可分析信号的成分,也可用这些成分合成信号。傅里叶原理表明:任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加。而根据该原理创立的傅里叶变换算法利用直接测量到的原始信号,以累加方式来计算该信号中不同正弦波信号的频率、振幅和
- C语言中的共用体(Union):嵌入式开发中的节省内存利器
TNT_JQR
c语言嵌入式硬件单片机
在进行嵌入式开发时,我们常常会听到这样一句话:“内存就是金钱。”在嵌入式系统中,内存资源通常是非常稀缺的,尤其是在一些微控制器(如STM32、ESP32等)的开发中,我们需要尽可能地精打细算,优化内存的使用。那么,你是否知道在C语言中有一个超实用的工具,可以帮助我们在程序中节省内存?它就是我想要介绍的主角:共用体(Union)。一、什么是共用体?在C语言中,共用体(Union)是一种特殊的数据结构
- 专科生的嵌入式开发之路
lzs_blog
嵌入式开发之路嵌入式开发嵌入式开发经历专科生嵌入式开发
俗话说的好,高中不努力,大学指定没戏,哈哈,谁说的,当然是我说的。高考结束了,我成功以320分的优异成绩成为了一个地道的专科生,高中玩嗨了,这回选志愿就傻眼了,这点分可选的学校并不多,要不再复习一年??敖,还是算了吧。报志愿的时间到了,通过一番的筛选,第一志愿秦皇岛职业技术学院,为啥选这主要是看学校环境好啊,海边走路就到了,第二志愿邯郸学院,原因是这是个本科专科一体的学校,而且邯郸据说美女多,能和
- C++轻量级 线程间异步消息架构(向曾经工作的ROSA-RB以及共事的DOPRA的老兄弟们致敬)
潜水大王
架构c++
1啰嗦一番背景这么多年,换着槽位做牛做马,没有什么钱途手艺仍然很潮,唯有对于第一线的码农工作,孜孜不倦,其实没有啥进步,就是在不断地重复,刷熟练度,和同期的老兄弟们,那是千万不要有比较的想法,Q一把说各有各的活路。业务线,技术线,管理线,通通都无成就。唯有在一亩三分地上,辛勤耕耘,有了点成绩,聊以慰藉拉回正题当前部门的项目团队,并非纯粹嵌入式开发,偏向于ARM高性能芯片+unbuntu模式,中位机
- 芯片AON和NC
小米人er
我的博客mcuaon
在嵌入式开发中,AON(Always-OnDomain,始终开启域)指的是芯片或微控制器(MCU)中一个特殊的电源域或功能模块,它即使在系统进入低功耗模式时仍然保持运行。AON的主要作用是维持基本的系统功能,例如:AON的主要特点低功耗:AON设计的目标是尽量降低功耗,以保证系统在待机或睡眠模式下仍能运行关键功能。独立供电:通常,AON由一个独立的电源域供电,不受其他高功耗模块(如CPU、主存储器
- FreeRTOS简介
boringhex.top
开源MCU开源freertos嵌入式
导言在嵌入式系统的领域中,实时操作系统(RTOS)是非常重要甚至不可或缺的组成部分。FreeRTOS(Real-TimeOperatingSystem)是一款广泛使用的开源RTOS,为嵌入式开发提供了可靠、高效的实时调度和任务管理。本文将简要介绍FreeRTOS的发展历史、技术演进、技术特点,并介绍ESP-IDF对FreeRTOS的绑定,以及FreeRTOS在ESP32等芯片上的应用。FreeRT
- 探索程序员职业赛道:中国行业发展趋势与市场需求分析
theskylife
常用笔记需求分析程序员赛道
目录写在开头1.中国行业发展趋势与市场需求分析1.1.前端开发1.2.后端开发1.3.数据科学与人工智能1.4.区块链技术1.5软件工程与项目管理1.6嵌入式开发与物联网2.如何选择适合自己的职业赛道写在最后写在开头作为程序员,选择适合自己的职业赛道是至关重要的。随着中国科技行业的快速发展,不同的职业赛道呈现出不同的市场需求和发展趋势。本文将从中国行业的发展趋势、2023年中国行业的现状以及生成式
- Python语言的嵌入式系统
慕璃嫣
包罗万象golang开发语言后端
Python语言在嵌入式系统中的应用引言随着物联网(IoT)和智能设备的快速发展,嵌入式系统的应用日益广泛。从家用电器、汽车到工业设备,嵌入式系统无处不在。传统上,嵌入式系统大多使用C或C++等底层语言进行开发,但近年来,Python语言凭借其简洁易用和丰富的库生态,逐渐抢占了部分嵌入式开发市场的份额。本文将探讨Python在嵌入式系统中的应用、优缺点及发展前景。1.嵌入式系统概述1.1什么是嵌入
- macOS 下的 ARM 裸机嵌入式开发入门- 第三部分:简单仿真多个串口的系统案例
老猿讲编程
Rustmacosarm开发
QEMU能够模拟拥有多个串行端口的ARM系统,比如VersatilePB。它可以将这些串行端口定向到多种类型的主机资源,比如标准输入输出、伪终端或者telnet端口。在VersatilePB的手册中,有一个部分叫做“内存映射”,它包含了外围设备的绝对地址映射。例如,UART0、1和2接口分别位于地址0x101F1000、0x101F2000和0x101F3000。手册中提到,UART外围设备的程序
- Yocto项目速查表:一站式掌握嵌入式开发利器
乔媚倩June
Yocto项目速查表:一站式掌握嵌入式开发利器yoctoproject-cheatsheetOne-StopRepositoryforallthatwishtoskimthroughordeep-diveintoYoctoProject项目地址:https://gitcode.com/gh_mirrors/yo/yoctoproject-cheatsheet项目介绍在嵌入式开发领域,Yocto项目
- ubuntu直接运行arm环境qemu-arm-static
张文君
ubuntuarm开发linux
qemu-arm-static嵌入式开发有时会在ARM设备上使用ubuntu文件系统。开发者常常会面临这样一个问题,想预先交叉编译并安装一些应用程序,但是交叉编译的环境配置以及依赖包的安装十分繁琐,并且容易出错。想直接在目标板上进行编译和安装,但是ARM的资源和处理能力有限,会非常耗费时间。在这里给大家推荐一个ubuntu下好用的工具qemu-arm-static,这是QEMU用户模式下的ARM仿
- HarmonyOS 开发实践——常见预置应用的跳转方式
六号嘉宾
HarmonyOS移动开发鸿蒙开发harmonyos鸿蒙开发ArkUI前端移动开发界面布局组件化
往期学习笔录:鸿蒙(HarmonyOS)北向开发知识点记录~鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~鸿蒙应用开发与鸿蒙系统开发哪个更有前景?嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~对于大前端开发来说,转鸿蒙开发究竟是福还是祸?鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?记录一场鸿蒙开发岗位面试经历~持续更新中……场景描述三方应用实际使用过程中,可能需要跳转到
- Rust编程基础教程:嵌入式开发入门
AI天才研究院
AI大模型企业级应用开发实战编程实践一天一门编程语言大数据人工智能语言模型JavaPython架构设计
作者:禅与计算机程序设计艺术1.背景介绍Rust是一款开源、安全的系统编程语言,它支持运行在Linux、Windows和macOS操作系统上。近年来,Rust受到了越来越多的人的关注和追捧,它可以用来编写可靠和高效的代码,同时还能保证程序的内存安全。而且,它也拥有强大的生态系统,其中包括大量成熟的crate(库)。因此,Rust在嵌入式系统领域得到了广泛应用。本文将教授Rust编程知识,让读者对R
- 鸿蒙OH实战开发:基于webview拉起自定义键盘
彭家大少
鸿蒙开发移动开发HarmonyOSharmonyosArkUI鸿蒙开发openharmony移动开发
往期学习笔录:鸿蒙应用开发与鸿蒙系统开发哪个更有前景?嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?记录一场鸿蒙开发岗位面试经历~持续更新中……场景描述在特殊的H5场景下需要应用拉起自定义键盘进行输入。场景一:使用jsBridge拉起自定义弹窗写自定义键盘,再通过jsBridge传参实现输入。场景二:使用web的同层渲染将原生textI
- android嵌入式开发环境搭建,2024最新腾讯Android面试分享
2401_84414990
程序员android面试职场和发展
Android开发面试的几部分1、基础知识基础知识包括几个部分:Java(JDK、JVM)、Android、数据结构和算法、计算机基础、设计模式,有的还会问Flutter。Java部分:不太推荐这部分只看博客,因为很多博客并不系统也不完整,推荐完整看一遍《深入理解Java虚拟机》这本书,基本上这里面涵盖了JVM相关的所有面试问题,包括内存分区、GC机制、内存模型、锁、字节码、类加载等。JDK的部分
- 搞嵌入式开发,如何才能“小有所成”,获得更高的收入?
智驾
杂谈嵌入式职业规划
文章目录引言一、技术能力体系构建(金字塔模型)1.基础层(硬件理解)2.核心层(软件能力)3.扩展层(系统级能力)二、项目经验增值策略1.开源项目参与2.行业级项目实战3.专利布局三、高价值领域选择1.薪资溢价行业2.技术风口方向四、职业发展加速路径1.认证体系进阶2.收入增长策略3.职场跃迁节点五、持续进化方法论1.技术雷达维护2.工程能力量化3.跨界能力融合六、薪资谈判策略1.构建技术护城河:
- 嵌入式Rust小探
weixin_40437029
rust
说明现在很多项目都在从C++/C迁移到Rust,这是一种内存管理更安全的语言,从根本上可以防止一些指针操作的问题既然如此,那我们也尝试一下如何在嵌入式开发当中使用Rust,然后再慢慢迁移到更多代码https://doc.rust-lang.org/reference/introduction.htmlhttps://zhuanlan.zhihu.com/p/628575325https://www
- ESP32内存管理详解:从基础到进阶
又吹风_Bassy
ESP32内存管理PSRAMDRAMFLASH
最近在学习ESP32,下面整理了一些存储和内存相关知识点。ESP32作为一款功能强大的物联网芯片,广泛应用于各种嵌入式开发场景。有效管理ESP32的内存资源,对于提升应用性能和系统稳定性至关重要。本文将系统性地介绍ESP32的内存架构、存储硬件知识、内存分配机制、常见内存问题及解决方案,帮助新手开发者全面掌握ESP32的内存管理。一、内存系统概览1.1ESP32内存架构ESP32的内存架构复杂而灵
- vscode+cmake的STM32单片机调试开发环境
南波儿万
bcosvscode单片机
1.概述说实话我不是非常喜欢使用KeilMDK进行嵌入式开发。但是,对于STM32等单片机来说MDK的优秀的在线调试功能总是让人喜欢。最让我不喜欢的是MDK的编辑器以及配色。这让我不停的尝试使用VisualStudioCode进行编辑代码然后使用MDK进行编译和调试,就这样我在两个IDE之间来回切换。于是,我进一步厌烦了这种开发方式。于是我决定用cmake来管理和编译工程,在VisualStudi
- 解决Error:Flash Download failed -“Cortex-M3”异常的正确方法
梅菊林
各种问题解决方案开发语言
本文将详细介绍在嵌入式开发过程中可能遇到的“FlashDownloadfailed-Cortex-M3”错误,分析其产生的原因,并提供有效的解决方法,以帮助开发者顺利解决此类问题,继续开发工作。文章目录报错问题报错原因解决方法报错问题在进行嵌入式开发,尤其是使用基于Cortex-M3内核的微控制器时,有时会遇到“FlashDownloadfailed-Cortex-M3”的错误提示。这个错误通常发
- 基于ARM的智能灯光控制系统(1)项目介绍
国产化创客
嵌入式项目Linux应用Linux驱动armhtmlc语言linux驱动网络编程
基于ARM的智能灯光控制系统(1)项目介绍项目实践说明:本实践项目是嵌入式开发培训(阶段2)底层系统开发视频课程的综合实践项目。项目开发使用的技术知识点包括:C语言编程,文件编程,串口编程,网络编程,多线程编程,进程间通信,嵌入式交叉开发,嵌入式Web服务器开发,HTML编程,Linux驱动程序开发。嵌入式开发培训(阶段2)底层系统开发视频地址智能灯光控制系统视频地址系统功能智能灯光系统是对灯光进
- tomcat基础与部署发布
暗黑小菠萝
Tomcat java web
从51cto搬家了,以后会更新在这里方便自己查看。
做项目一直用tomcat,都是配置到eclipse中使用,这几天有时间整理一下使用心得,有一些自己配置遇到的细节问题。
Tomcat:一个Servlets和JSP页面的容器,以提供网站服务。
一、Tomcat安装
安装方式:①运行.exe安装包
&n
- 网站架构发展的过程
ayaoxinchao
数据库应用服务器网站架构
1.初始阶段网站架构:应用程序、数据库、文件等资源在同一个服务器上
2.应用服务和数据服务分离:应用服务器、数据库服务器、文件服务器
3.使用缓存改善网站性能:为应用服务器提供本地缓存,但受限于应用服务器的内存容量,可以使用专门的缓存服务器,提供分布式缓存服务器架构
4.使用应用服务器集群改善网站的并发处理能力:使用负载均衡调度服务器,将来自客户端浏览器的访问请求分发到应用服务器集群中的任何
- [信息与安全]数据库的备份问题
comsci
数据库
如果你们建设的信息系统是采用中心-分支的模式,那么这里有一个问题
如果你的数据来自中心数据库,那么中心数据库如果出现故障,你的分支机构的数据如何保证安全呢?
是否应该在这种信息系统结构的基础上进行改造,容许分支机构的信息系统也备份一个中心数据库的文件呢?
&n
- 使用maven tomcat plugin插件debug关联源代码
商人shang
mavendebug查看源码tomcat-plugin
*首先需要配置好'''maven-tomcat7-plugin''',参见[[Maven开发Web项目]]的'''Tomcat'''部分。
*配置好后,在[[Eclipse]]中打开'''Debug Configurations'''界面,在'''Maven Build'''项下新建当前工程的调试。在'''Main'''选项卡中点击'''Browse Workspace...'''选择需要开发的
- 大访问量高并发
oloz
大访问量高并发
大访问量高并发的网站主要压力还是在于数据库的操作上,尽量避免频繁的请求数据库。下面简
要列出几点解决方案:
01、优化你的代码和查询语句,合理使用索引
02、使用缓存技术例如memcache、ecache将不经常变化的数据放入缓存之中
03、采用服务器集群、负载均衡分担大访问量高并发压力
04、数据读写分离
05、合理选用框架,合理架构(推荐分布式架构)。
- cache 服务器
小猪猪08
cache
Cache 即高速缓存.那么cache是怎么样提高系统性能与运行速度呢?是不是在任何情况下用cache都能提高性能?是不是cache用的越多就越好呢?我在近期开发的项目中有所体会,写下来当作总结也希望能跟大家一起探讨探讨,有错误的地方希望大家批评指正。
1.Cache 是怎么样工作的?
Cache 是分配在服务器上
- mysql存储过程
香水浓
mysql
Description:插入大量测试数据
use xmpl;
drop procedure if exists mockup_test_data_sp;
create procedure mockup_test_data_sp(
in number_of_records int
)
begin
declare cnt int;
declare name varch
- CSS的class、id、css文件名的常用命名规则
agevs
JavaScriptUI框架Ajaxcss
CSS的class、id、css文件名的常用命名规则
(一)常用的CSS命名规则
头:header
内容:content/container
尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体布局宽度:wrapper
左右中:left right
- 全局数据源
AILIKES
javatomcatmysqljdbcJNDI
实验目的:为了研究两个项目同时访问一个全局数据源的时候是创建了一个数据源对象,还是创建了两个数据源对象。
1:将diuid和mysql驱动包(druid-1.0.2.jar和mysql-connector-java-5.1.15.jar)copy至%TOMCAT_HOME%/lib下;2:配置数据源,将JNDI在%TOMCAT_HOME%/conf/context.xml中配置好,格式如下:&l
- MYSQL的随机查询的实现方法
baalwolf
mysql
MYSQL的随机抽取实现方法。举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1。但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描。但是在MYSQL 3.23版本中,
- JAVA的getBytes()方法
bijian1013
javaeclipseunixOS
在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组。这个表示在不同OS下,返回的东西不一样!
String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示,如:
byte[] b_gbk = "
- AngularJS中操作Cookies
bijian1013
JavaScriptAngularJSCookies
如果你的应用足够大、足够复杂,那么你很快就会遇到这样一咱种情况:你需要在客户端存储一些状态信息,这些状态信息是跨session(会话)的。你可能还记得利用document.cookie接口直接操作纯文本cookie的痛苦经历。
幸运的是,这种方式已经一去不复返了,在所有现代浏览器中几乎
- [Maven学习笔记五]Maven聚合和继承特性
bit1129
maven
Maven聚合
在实际的项目中,一个项目通常会划分为多个模块,为了说明问题,以用户登陆这个小web应用为例。通常一个web应用分为三个模块:
1. 模型和数据持久化层user-core,
2. 业务逻辑层user-service以
3. web展现层user-web,
user-service依赖于user-core
user-web依赖于user-core和use
- 【JVM七】JVM知识点总结
bit1129
jvm
1. JVM运行模式
1.1 JVM运行时分为-server和-client两种模式,在32位机器上只有client模式的JVM。通常,64位的JVM默认都是使用server模式,因为server模式的JVM虽然启动慢点,但是,在运行过程,JVM会尽可能的进行优化
1.2 JVM分为三种字节码解释执行方式:mixed mode, interpret mode以及compiler
- linux下查看nginx、apache、mysql、php的编译参数
ronin47
在linux平台下的应用,最流行的莫过于nginx、apache、mysql、php几个。而这几个常用的应用,在手工编译完以后,在其他一些情况下(如:新增模块),往往想要查看当初都使用了那些参数进行的编译。这时候就可以利用以下方法查看。
1、nginx
[root@361way ~]# /App/nginx/sbin/nginx -V
nginx: nginx version: nginx/
- unity中运用Resources.Load的方法?
brotherlamp
unity视频unity资料unity自学unityunity教程
问:unity中运用Resources.Load的方法?
答:Resources.Load是unity本地动态加载资本所用的方法,也即是你想动态加载的时分才用到它,比方枪弹,特效,某些实时替换的图像什么的,主张此文件夹不要放太多东西,在打包的时分,它会独自把里边的一切东西都会集打包到一同,不论里边有没有你用的东西,所以大多数资本应该是自个建文件放置
1、unity实时替换的物体即是依据环境条件
- 线段树-入门
bylijinnan
java算法线段树
/**
* 线段树入门
* 问题:已知线段[2,5] [4,6] [0,7];求点2,4,7分别出现了多少次
* 以下代码建立的线段树用链表来保存,且树的叶子结点类似[i,i]
*
* 参考链接:http://hi.baidu.com/semluhiigubbqvq/item/be736a33a8864789f4e4ad18
* @author lijinna
- 全选与反选
chicony
全选
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>全选与反选</title>
- vim一些简单记录
chenchao051
vim
mac在/usr/share/vim/vimrc linux在/etc/vimrc
1、问:后退键不能删除数据,不能往后退怎么办?
答:在vimrc中加入set backspace=2
2、问:如何控制tab键的缩进?
答:在vimrc中加入set tabstop=4 (任何
- Sublime Text 快捷键
daizj
快捷键sublime
[size=large][/size]Sublime Text快捷键:Ctrl+Shift+P:打开命令面板Ctrl+P:搜索项目中的文件Ctrl+G:跳转到第几行Ctrl+W:关闭当前打开文件Ctrl+Shift+W:关闭所有打开文件Ctrl+Shift+V:粘贴并格式化Ctrl+D:选择单词,重复可增加选择下一个相同的单词Ctrl+L:选择行,重复可依次增加选择下一行Ctrl+Shift+L:
- php 引用(&)详解
dcj3sjt126com
PHP
在PHP 中引用的意思是:不同的名字访问同一个变量内容. 与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址 变量的引用 PHP 的引用允许你用两个变量来指向同一个内容 复制代码代码如下:
<?
$a="ABC";
$b =&$a;
echo
- SVN中trunk,branches,tags用法详解
dcj3sjt126com
SVN
Subversion有一个很标准的目录结构,是这样的。比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是svn://proj/|+-trunk+-branches+-tags这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。
- 对软件设计的思考
e200702084
设计模式数据结构算法ssh活动
软件设计的宏观与微观
软件开发是一种高智商的开发活动。一个优秀的软件设计人员不仅要从宏观上把握软件之间的开发,也要从微观上把握软件之间的开发。宏观上,可以应用面向对象设计,采用流行的SSH架构,采用web层,业务逻辑层,持久层分层架构。采用设计模式提供系统的健壮性和可维护性。微观上,对于一个类,甚至方法的调用,从计算机的角度模拟程序的运行情况。了解内存分配,参数传
- 同步、异步、阻塞、非阻塞
geeksun
非阻塞
同步、异步、阻塞、非阻塞这几个概念有时有点混淆,在此文试图解释一下。
同步:发出方法调用后,当没有返回结果,当前线程会一直在等待(阻塞)状态。
场景:打电话,营业厅窗口办业务、B/S架构的http请求-响应模式。
异步:方法调用后不立即返回结果,调用结果通过状态、通知或回调通知方法调用者或接收者。异步方法调用后,当前线程不会阻塞,会继续执行其他任务。
实现:
- Reverse SSH Tunnel 反向打洞實錄
hongtoushizi
ssh
實際的操作步驟:
# 首先,在客戶那理的機器下指令連回我們自己的 Server,並設定自己 Server 上的 12345 port 會對應到幾器上的 SSH port
ssh -NfR 12345:localhost:22 fred@myhost.com
# 然後在 myhost 的機器上連自己的 12345 port,就可以連回在客戶那的機器
ssh localhost -p 1
- Hibernate中的缓存
Josh_Persistence
一级缓存Hiberante缓存查询缓存二级缓存
Hibernate中的缓存
一、Hiberante中常见的三大缓存:一级缓存,二级缓存和查询缓存。
Hibernate中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存是由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存
- 对象关系行为模式之延迟加载
home198979
PHP架构延迟加载
形象化设计模式实战 HELLO!架构
一、概念
Lazy Load:一个对象,它虽然不包含所需要的所有数据,但是知道怎么获取这些数据。
延迟加载貌似很简单,就是在数据需要时再从数据库获取,减少数据库的消耗。但这其中还是有不少技巧的。
二、实现延迟加载
实现Lazy Load主要有四种方法:延迟初始化、虚
- xml 验证
pengfeicao521
xmlxml解析
有些字符,xml不能识别,用jdom或者dom4j解析的时候就报错
public static void testPattern() {
// 含有非法字符的串
String str = "Jamey친ÑԂ
- div设置半透明效果
spjich
css半透明
为div设置如下样式:
div{filter:alpha(Opacity=80);-moz-opacity:0.5;opacity: 0.5;}
说明:
1、filter:对win IE设置半透明滤镜效果,filter:alpha(Opacity=80)代表该对象80%半透明,火狐浏览器不认2、-moz-opaci
- 你真的了解单例模式么?
w574240966
java单例设计模式jvm
单例模式,很多初学者认为单例模式很简单,并且认为自己已经掌握了这种设计模式。但事实上,你真的了解单例模式了么。
一,单例模式的5中写法。(回字的四种写法,哈哈。)
1,懒汉式
(1)线程不安全的懒汉式
public cla