- 嵌入式通信协议框架的四层架构设计与实现
比特冬哥
嵌入式领域开发嵌入式通信协议分层框架
文章目录一、硬件抽象层:数据收发的基石1.1设计要点1.2代码示例二、协议管理层:智能路由中枢2.1设计要点2.2代码示例三、协议处理层:协议具体实现3.1设计要求3.2代码示例3.2.1协议公共定义3.2.2协议一设计3.2.3协议二设计四、应用层:业务逻辑实现4.1设计要点4.2代码示例4.2.1协议一处理4.2.2协议二处理五、四层协作流程5.1收发流程5.2代码示例总结在嵌入式系统开发中,
- 物联网小知识: 无线传输协议__不同通讯线的通讯距离是多少,你知道吗?
深漂3年的小镁铝
嵌入式开发嵌入式话题STM32系列单片机开发物联网UART串口单片机stm32信息与通信通信协议51单片机
目录前言1.不同协议通讯线的传输距离2.无线传输协议与距离2.1.蓝牙2.2.Zigbee2.3.LoRa2.4.Wi-Fi2.5.蜂窝网络2.6.Sigfox2.7.LoRaWAN(* ̄︶ ̄)创作不易!期待你们的点赞、收藏和评论喔。前言在物联网中,通讯线的作用是传输数据、信号和电能,以便在设备之间建立通信链路。常见的通讯线包括USB线、信号线、RS485、RS232、以太网线、CAN等。其中,U
- 物联网嵌入式硬件开发管理指南(超详细版):基于三种外包方式的三阶段策略
Hy行者勇哥
绿色智造·产品设计与管理物联网嵌入式硬件struts
目录摘要1.引言2.物联网嵌入式硬件开发概述3.软硬件工作边界与技术细节3.1硬件工作内容与技术细节需求分析:原理图设计:PCB设计:样机制造:硬件测试:量产支持:3.2软件工作内容与技术细节固件开发:通信协议:应用逻辑:软件测试:软硬件集成:3.3软硬件交互与物联网特性4.三阶段外包策略规划(三种方式)4.1阶段一:技术顾问外包4.2阶段二:部分开发外包4.3阶段三:独立开发外包5.非专业管理者
- 什么是跨链操作?
MonkeyKing.sun
区块链
什么是跨链操作?跨链操作是指在不同的区块链网络之间实现资产、数据或功能的互操作和交互。由于不同的区块链(如比特币、以太坊、波卡等)通常是独立的网络,具有不同的协议、共识机制和数据结构,跨链技术旨在打破这些孤岛,实现多链之间的互联互通。跨链操作可以让用户在一条链上使用另一条链的资产或服务,比如将比特币转移到以太坊网络进行DeFi应用。跨链技术的核心目标资产转移:在不同区块链之间转移代币或资产(如BT
- 【笔记】DIDs 去中心化身份的相关名词释义
m0_47843842
去中心化
Authenticate身份验证是一个过程(通常是某种类型的协议),通过该过程,实体可以使用一种或多种验证方法证明其具有特定属性或掌控特定秘密。对于DID,一个常见的例子是证明对与DID文档中发布的公钥相关联的私钥的控制。Decentralizedidentifier(DID)不需要中心注册机构的全球唯一持久标识符,因为它是通过加密方式生成和/或注册的。DID的通用格式在DID核心规范[DID-C
- 安卓端某音乐类 APP 逆向分享(二)协议分析
泡泡以安
爬虫技术#安卓逆向安卓逆向爬虫安全
以歌曲搜索协议为例,查看charles中歌曲搜索协议详情拷贝出搜索协议的Curl形式curl-H'Host:interface3.music.xxx.com'-H'Cookie:EVNSM=1.0.0;NMCID=oufhty.1667355455436.01.4;versioncode=8008050;buildver=221010200836;resolution=2392x1440;devi
- 【学习】《算法图解》第九章学习笔记:迪杰斯特拉算法
程序员
一、迪杰斯特拉算法概述迪杰斯特拉算法(Dijkstra'salgorithm)是一种解决带权有向图上单源最短路径问题的贪心算法,由荷兰计算机科学家艾兹赫尔·迪杰斯特拉(EdsgerW.Dijkstra)于1956年提出。该算法常用于路由协议,也可以用作其他图算法的子程序。(一)算法适用场景迪杰斯特拉算法适用于:带权有向图(每条边都有权重)所有权重都为非负值(不能有负权边)需要找出从一个顶点到图中所
- 小米路由安装frpc
zngw
sshfrp
一、起因家里部署了Nas,在出租屋里直接使用frp访问外网服务器转发的是可以用,但是,流量得多贵啊,还有中间商赚带宽。于是想了一下,在出租屋的路由上部署frp客户端,使用xtcp协议,打洞直连,速度快还不需要流量。二、流程前提条件:一台公网frps服务器家里Nas,已经配置好SMB文件共享(端口445)、WebDav(端口80,可选端口443),其他自行发挥。出租屋解锁SSH的小米路由,我家是小米
- 【STM32】USART串口协议&串口外设
对error说不
stm32嵌入式硬件单片机
✅作者简介:热爱科研的嵌入式开发者,修心和技术同步精进❤欢迎关注我的知乎:对error视而不见代码获取、问题探讨及文章转载可私信。☁愿你的生命中有够多的云翳,来造就一个美丽的黄昏。获取更多嵌入式资料可点击链接进群领取,谢谢支持!点击领取更多详细资料一、引言在嵌入式系统开发里,设备间的通信是关键环节。串口通信由于其实现简单、成本低廉等特性,被广泛应用于各类设备之间的数据传输。STM32系列微控制器具
- 浏览器原理与API
天涯学馆
Web大前端全栈架构javascript前端
浏览器原理与渲染机制浏览器架构概述现代浏览器通常由以下核心组件构成:用户界面(UI):地址栏、后退/前进按钮、书签菜单等浏览器引擎:在用户界面和渲染引擎之间架起桥梁渲染引擎:负责显示请求的内容(如Chrome的Blink、Firefox的Gecko)网络层:处理网络请求(如HTTP请求)JavaScript引擎:解释和执行JavaScript代码(如V8引擎)UI后端:绘制基本的窗口小部件(如组合
- zookeeper Curator(5):集群架构和集群搭建
后会无期77
zookeeperCuratorzookeeper架构分布式
文章目录一、集群架构:Leader-Follower模式二、核心机制:ZAB协议三、Leader选举机制四、集群部署要点五、优势与挑战Zookeeper集群是一个由多个Zookeeper服务实例组成的分布式协调服务系统,通过奇数个节点(通常3、5、7个)的协作,提供高可用性、容错性和数据一致性,适用于分布式环境下的配置管理、命名服务、分布式锁等场景。以下从架构、核心机制、选举机制、数据模型、应用场
- STM32 USART 补充
每天学点
MCUstm32串口
串口通讯的数据包:发送设备通过自身的TXD接口传输到接收设备的RXD接口。串口通讯的协议层中,规定了数据包的内容,由起始位、主体数据、校验位、停止位组成,通讯双方的数据包格式要约定一致才能正常收发数据。异步通讯:不使用时钟信号进行数据同步,它们直接在数据信号中穿插一些同步用的信号位,或者把主体数据进行打包,以数据帧的格式传输数据,有时还需要双方约定数据的传输速率,以便更好地同步。异步通讯中会包含帧
- MQTT 和 CoAP物联网通信协议之争:MQTT 与CoAP 深度对比分析
34号树洞
#MQTT专栏物联网传输层通信专栏物联网通讯协议MQTTCoAP
目录一、核心特性对比二、关键设计目标1.MQTT2.CoAP三、优缺点分析MQTT的优缺点CoAP的优缺点四、典型应用场景对比五、技术细节对比1.消息传输流程2.安全性实现3.资源发现机制六、选择建议1.优先选择MQTT的场景2.优先选择CoAP的场景3.混合使用策略七、未来趋势总结在物联网(IoT)领域,选择合适的通信协议对于设备性能、电池寿命、网络效率和应用可靠性至关重要。MQTT(Messa
- 【网络】SSL/TLS介绍
浅慕Antonio
网络编程网络ssl网络协议
一、SSL/TLS概述SSL(SecureSocketLayer):最初由网景(Netscape)开发,用于在客户端和服务器之间建立安全的加密连接,防止数据被窃取或篡改。后来逐步演进,最终被TLS取代。TLS(TransportLayerSecurity):TLS是SSL的后继协议,目前已经成为互联网安全通信的标准。它不仅实现了数据加密,还提供了身份验证和数据完整性保护,确保双方通信时的信息保密且
- 服务器、树莓派/香橙派部署HomeAssistant与小爱音箱联动
不对法
物联网物联网
HomeAssistant功能介绍与多平台部署实战:CentOS服务器、树莓派、香橙派部署及小爱音箱联动控制一、HomeAssistant简介HomeAssistant是一款基于Python开发的开源智能家居自动化平台,它最大的特点是高度集成和自定义。通过HomeAssistant,用户可以将不同品牌、不同协议的智能家居设备(如空调、电灯、传感器等)整合到一个统一的平台进行管理和控制,同时还支持通
- 建议是先把base完全搞懂
weixin_47868976
Web云存储项目网络
并发编程日志系统啥的我只了解了一点点直接从网络层入手这个项目可行么?底层base模块没搞懂从web开始合理么?你的担心很有道理!让我来分析一下学习路径的可行性,并给你一个合理的学习建议。一、项目依赖关系分析1.模块依赖层次application/(应用层)↓强依赖net/(网络层)↓强依赖base/(基础层)↓强依赖系统调用(LinuxAPI)2.具体依赖关系Rantool从依赖分析可以看出,网络
- Linux下使用C语言实现线程池---代码及分析
唐·柯里昂798
linuxlinuxc语言javaubuntucentosunix笔记
线程池相关文章协议Socket编程高并发服务器实现线程池如果一个客户端建立连接使用创建一个线程用于处理这一个线程,处理结束的时候把这一个线程删除,这个时候会导致线程的创建以及销毁会消耗大量的时间这时候可以一次性创建多个线程,这几个线程统称线程池,如果客户端建立一个连接,线程池分配一个线程处理客户发过来的数据,不处理的时候这几个线程阻塞可以使用条件变量进行阻塞线程的数量可以随着连接的个数,时间等条件
- 4-AI-业务与MCP协议结合-MCPServer实战
小沛9
人工智能javaAI编程
一、介绍本章节会开发一个简单的MCP的服务。目前的步骤是先开发一个简单的MCP的SSE模式的server集成到大模型中。后面会演示stdio模式。注册到Nacos中(重点探索模式)、将HTTP接口配置成MCP的server。大概会从这几个方面进行演示。二、Server代码展示1、POM文件org.springframework.bootspring-boot-starter-actuatororg
- 字节跳动Java开发面试题及参考答案(综合篇)
大模型大数据攻城狮
java后端面试大厂面试大厂校招加密算法nacos线程池
HTTP与HTTPS的区别?HTTP(超文本传输协议)和HTTPS(超文本传输安全协议)主要有以下区别。从安全性角度看,HTTP是明文传输协议,数据在网络中传输时是以原始文本的形式发送的。这就好比在信件传递过程中没有进行密封,任何中间节点(如路由器、代理服务器等)都可以查看信件内容。例如,用户登录一个网站时发送的用户名和密码信息,如果是通过HTTP协议传输,很容易被窃取。而HTTPS是加密的安全协
- 网络安全防御:蓝队重保备战与应急溯源深度解析
网安认证小马135-2173-0416
web安全安全
课程目标本课程旨在培养专业的网络安全蓝队成员,通过系统化的学习和实战演练,使学员能够掌握网络安全防御的核心技能,包括资产测绘、应急响应、系统安全应急溯源分析、网络层溯源分析以及综合攻防演练等。学员将能够熟练运用各种工具和技术,有效应对网络攻击,保障企业信息安全。具体目标如下:增强综合攻防能力:通过综合训练,学员将能够模拟攻击者和企业安全人员,开展对抗练习,提升实战能力和团队协作能力。掌握蓝队核心技
- 探索PyRDP:远程桌面协议的瑞士军刀
彭宏彬
探索PyRDP:远程桌面协议的瑞士军刀pyrdpRDPmonster-in-the-middle(mitm)andlibraryforPythonwiththeabilitytowatchconnectionsliveorafterthefact项目地址:https://gitcode.com/gh_mirrors/py/pyrdp在网络安全领域,攻防两端的对决不断推动着工具的创新。今天,让我们聚
- python udsoncan 详解
车载testing
智能汽车测试python
pythonudsoncan详解udsoncan是一个Python库,用于实现汽车统一诊断服务(UnifiedDiagnosticServices,UDS)协议。UDS是一种用于汽车诊断的标准化通信协议,它定义了一系列的服务和流程,用于ECU(电子控制单元)的诊断和通信。udsoncan库支持通过CAN(ControllerAreaNetwork)和DoIP(DiagnosticoverIP)等不
- TCP 缓冲区核心机制
FHKHH
tcp/ipphp网络
一、TCP缓冲区核心机制1.发送与接收缓冲区发送缓冲区:当应用程序调用send()或write()函数时,数据从应用进程复制到内核的发送缓冲区。TCP协议负责将这些数据分段并发送。例如,Web服务器向客户端发送网页数据时,应用程序将内容传递到发送缓冲区,TCP再将其分割成合适大小的报文段进行传输。接收缓冲区:接收端将收到的数据存入内核的接收缓冲区,应用程序调用recv()或read()函数从中读取
- Github 2025-06-24Python开源项目日报 Top10
老孙正经胡说
github开源Github趋势分析开源项目PythonGolang
根据GithubTrendings的统计,今日(2025-06-24统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量Python项目10Swift项目1C++项目1yt-dlp:一个增强版的youtube-dl分支创建周期:1184天开发语言:Python协议类型:TheUnlicenseStar数量:64607个Fork数量:5309次关注人数:64607人贡献
- Qt界面编程(五)
明阿明
qtlinux
一、Qt的网络通信使用网络通信模块前,要在.pro文件中添加network模块。QUdpScoket类是Qt对UDP协议的封装:1、创建QUdpSocket对象2、绑定IP的端口号3、发送数据:qint64writeDatagram(constchar*data,qint64len,constQHostAddress&host,quint16port);data:待发送数据的首地址len:待发送数
- AMHS工程项目中-MCS-STKC之间的office 测试场景的介绍
爱吃青菜的大力水手
半导体自动化AMHSMCS
工业自动化/半导体/面板制造等行业中常见的系统间接口预调试测试,通常称为Mockup测试、Office测试或FAT-Simulation测试。它的核心目标是在设备实际搬入工厂现场并连接真实物理设备之前,在办公室环境中验证上位系统(MCS)与下位系统(STOCKER控制器)之间的通信接口、协议逻辑和业务流程是否正常工作。以下是针对此场景的详细解读和关键点:核心目标:验证通信协议互通性:确保MCS发送
- Zeek网络安全分析框架深入体验
八位数花园
本文还有配套的精品资源,点击获取简介:Zeek(前身为Bro)是一个强大的开源网络分析工具,专门用于监控和分析网络流量以识别安全威胁。它通过事件驱动的方式解析多种网络协议,并具备实时分析、非侵入式部署、强大的日志记录能力,以及丰富的脚本语言支持,是网络安全专业人员不可或缺的工具之一。通过本课程,学生将掌握Zeek的核心功能,包括其日志系统、事件处理机制,以及如何通过编写Zeek脚本来扩展分析能力,
- EXILIUM×亚矩云手机:重构Web3虚拟生存法则,开启多端跨链元宇宙自由征途
云云321
智能手机重构web3
在链游与元宇宙赛道竞争加剧的当下,EXILIUM凭借其去中心化开放世界、链上资产确权与玩家自治经济系统,成为Web3原住民逃离“中心化牢笼”的首选之地。然而,其多链交互门槛高、跨设备身份管理复杂、链上安全风险频发等问题,让普通玩家与工作室陷入“自由与风险”的双重困境。亚矩云手机通过云端虚拟化架构、跨链协议兼容与零信任安全体系,为EXILIUM用户提供“链上自由”与“现实可控”的平衡方案,让元宇宙探
- 什么是RibbitMQ
肘击鸣的百k路
springcloud
根据多个权威技术资料分析,RibbitMQ(实际应为RabbitMQ)是一个开源的、基于高级消息队列协议(AMQP)的消息代理(MessageBroker)软件,专为分布式系统提供异步通信、应用解耦和流量削峰等核心能力。以下是其详细解析:一、基本定义与背景核心定位RabbitMQ是一个消息中间件(MessageQueue,MQ),作为生产者(Producer)和消费者(Consumer)之间的消息
- 云原生灰度方案对比:服务网格灰度(Istio ) 与 K8s Ingress 灰度(Nginx Ingress )
大手你不懂
微服务-云原生JavaJava项目实战云原生istiokubernetes微服务
服务网格灰度与KubernetesIngress灰度是云原生环境下两种主流的灰度发布方案,它们在架构定位、实现方式和适用场景上存在显著差异。以下从多个维度对比分析,并给出选型建议:一、核心区别对比维度服务网格灰度(以Istio为例)K8sIngress灰度(以NginxIngress为例)架构层级网络层(L7),工作在服务间通信层面边缘网关层,工作在集群入口处流量控制范围服务间的全链路流量集群外部
- 安装数据库首次应用
Array_06
javaoraclesql
可是为什么再一次失败之后就变成直接跳过那个要求
enter full pathname of java.exe的界面
这个java.exe是你的Oracle 11g安装目录中例如:【F:\app\chen\product\11.2.0\dbhome_1\jdk\jre\bin】下的java.exe 。不是你的电脑安装的java jdk下的java.exe!
注意第一次,使用SQL D
- Weblogic Server Console密码修改和遗忘解决方法
bijian1013
Welogic
在工作中一同事将Weblogic的console的密码忘记了,通过网上查询资料解决,实践整理了一下。
一.修改Console密码
打开weblogic控制台,安全领域 --> myrealm -->&n
- IllegalStateException: Cannot forward a response that is already committed
Cwind
javaServlets
对于初学者来说,一个常见的误解是:当调用 forward() 或者 sendRedirect() 时控制流将会自动跳出原函数。标题所示错误通常是基于此误解而引起的。 示例代码:
protected void doPost() {
if (someCondition) {
sendRedirect();
}
forward(); // Thi
- 基于流的装饰设计模式
木zi_鸣
设计模式
当想要对已有类的对象进行功能增强时,可以定义一个类,将已有对象传入,基于已有的功能,并提供加强功能。
自定义的类成为装饰类
模仿BufferedReader,对Reader进行包装,体现装饰设计模式
装饰类通常会通过构造方法接受被装饰的对象,并基于被装饰的对象功能,提供更强的功能。
装饰模式比继承灵活,避免继承臃肿,降低了类与类之间的关系
装饰类因为增强已有对象,具备的功能该
- Linux中的uniq命令
被触发
linux
Linux命令uniq的作用是过滤重复部分显示文件内容,这个命令读取输入文件,并比较相邻的行。在正常情 况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如 果输入文件用“- ”表示,则从标准输入读取。
AD:
uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个
- 正则表达式Pattern
肆无忌惮_
Pattern
正则表达式是符合一定规则的表达式,用来专门操作字符串,对字符创进行匹配,切割,替换,获取。
例如,我们需要对QQ号码格式进行检验
规则是长度6~12位 不能0开头 只能是数字,我们可以一位一位进行比较,利用parseLong进行判断,或者是用正则表达式来匹配[1-9][0-9]{4,14} 或者 [1-9]\d{4,14}
&nbs
- Oracle高级查询之OVER (PARTITION BY ..)
知了ing
oraclesql
一、rank()/dense_rank() over(partition by ...order by ...)
现在客户有这样一个需求,查询每个部门工资最高的雇员的信息,相信有一定oracle应用知识的同学都能写出下面的SQL语句:
select e.ename, e.job, e.sal, e.deptno
from scott.emp e,
(se
- Python调试
矮蛋蛋
pythonpdb
原文地址:
http://blog.csdn.net/xuyuefei1988/article/details/19399137
1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧:
IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试:
http://www.ibm.com/d
- webservice传递自定义对象时函数为空,以及boolean不对应的问题
alleni123
webservice
今天在客户端调用方法
NodeStatus status=iservice.getNodeStatus().
结果NodeStatus的属性都是null。
进行debug之后,发现服务器端返回的确实是有值的对象。
后来发现原来是因为在客户端,NodeStatus的setter全部被我删除了。
本来是因为逻辑上不需要在客户端使用setter, 结果改了之后竟然不能获取带属性值的
- java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针
百合不是茶
C语言的强大在于可以直接操作指针的地址,通过改变指针的地址指向来达到更改地址的目的,又是由于c语言的指针过于强大,初学者很难掌握, java的出现解决了c,c++中指针的问题 java将指针封装在底层,开发人员是不能够去操作指针的地址,但是可以通过引用来间接的操作:
定义一个指针p来指向a的地址(&是地址符号):
- Eclipse打不开,提示“An error has occurred.See the log file ***/.log”
bijian1013
eclipse
打开eclipse工作目录的\.metadata\.log文件,发现如下错误:
!ENTRY org.eclipse.osgi 4 0 2012-09-10 09:28:57.139
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContai
- spring aop实例annotation方法实现
bijian1013
javaspringAOPannotation
在spring aop实例中我们通过配置xml文件来实现AOP,这里学习使用annotation来实现,使用annotation其实就是指明具体的aspect,pointcut和advice。1.申明一个切面(用一个类来实现)在这个切面里,包括了advice和pointcut
AdviceMethods.jav
- [Velocity一]Velocity语法基础入门
bit1129
velocity
用户和开发人员参考文档
http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html
注释
1.行级注释##
2.多行注释#* *#
变量定义
使用$开头的字符串是变量定义,例如$var1, $var2,
赋值
使用#set为变量赋值,例
- 【Kafka十一】关于Kafka的副本管理
bit1129
kafka
1. 关于request.required.acks
request.required.acks控制者Producer写请求的什么时候可以确认写成功,默认是0,
0表示即不进行确认即返回。
1表示Leader写成功即返回,此时还没有进行写数据同步到其它Follower Partition中
-1表示根据指定的最少Partition确认后才返回,这个在
Th
- lua统计nginx内部变量数据
ronin47
lua nginx 统计
server {
listen 80;
server_name photo.domain.com;
location /{set $str $uri;
content_by_lua '
local url = ngx.var.uri
local res = ngx.location.capture(
- java-11.二叉树中节点的最大距离
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class MaxLenInBinTree {
/*
a. 1
/ \
2 3
/ \ / \
4 5 6 7
max=4 pass "root"
- Netty源码学习-ReadTimeoutHandler
bylijinnan
javanetty
ReadTimeoutHandler的实现思路:
开启一个定时任务,如果在指定时间内没有接收到消息,则抛出ReadTimeoutException
这个异常的捕获,在开发中,交给跟在ReadTimeoutHandler后面的ChannelHandler,例如
private final ChannelHandler timeoutHandler =
new ReadTim
- jquery验证上传文件样式及大小(好用)
cngolon
文件上传jquery验证
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery1.8/jquery-1.8.0.
- 浏览器兼容【转】
cuishikuan
css浏览器IE
浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。
碰到频率:100%
解决方案:CSS里 *{margin:0;padding:0;}
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
daizj
shell$#$?特殊变量
前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:
$echo $$
运行结果
29949
特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个
- 程序设计KISS 原则-------KEEP IT SIMPLE, STUPID!
dcj3sjt126com
unix
翻到一本书,讲到编程一般原则是kiss:Keep It Simple, Stupid.对这个原则深有体会,其实不仅编程如此,而且系统架构也是如此。
KEEP IT SIMPLE, STUPID! 编写只做一件事情,并且要做好的程序;编写可以在一起工作的程序,编写处理文本流的程序,因为这是通用的接口。这就是UNIX哲学.所有的哲学真 正的浓缩为一个铁一样的定律,高明的工程师的神圣的“KISS 原
- android Activity间List传值
dcj3sjt126com
Activity
第一个Activity:
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import a
- tomcat 设置java虚拟机内存
eksliang
tomcat 内存设置
转载请出自出处:http://eksliang.iteye.com/blog/2117772
http://eksliang.iteye.com/
常见的内存溢出有以下两种:
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: Java heap space
------------
- Android 数据库事务处理
gqdy365
android
使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事
- Java 打开浏览器
hw1287789687
打开网址open浏览器open browser打开url打开浏览器
使用java 语言如何打开浏览器呢?
我们先研究下在cmd窗口中,如何打开网址
使用IE 打开
D:\software\bin>cmd /c start iexplore http://hw1287789687.iteye.com/blog/2153709
使用火狐打开
D:\software\bin>cmd /c start firefox http://hw1287789
- ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件
justjavac
chromeGooglegoogle apichrome插件
Chrome Web Store 安装地址: https://chrome.google.com/webstore/detail/replace-google-cdn/kpampjmfiopfpkkepbllemkibefkiice
由于众所周知的原因,只需替换一个域名就可以继续使用Google提供的前端公共库了。 同样,通过script标记引用这些资源,让网站访问速度瞬间提速吧
- 进程VS.线程
m635674608
线程
资料来源:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397567993007df355a3394da48f0bf14960f0c78753f000 1、Apache最早就是采用多进程模式 2、IIS服务器默认采用多线程模式 3、多进程优缺点 优点:
多进程模式最大
- Linux下安装MemCached
字符串
memcached
前提准备:1. MemCached目前最新版本为:1.4.22,可以从官网下载到。2. MemCached依赖libevent,因此在安装MemCached之前需要先安装libevent。2.1 运行下面命令,查看系统是否已安装libevent。[root@SecurityCheck ~]# rpm -qa|grep libevent libevent-headers-1.4.13-4.el6.n
- java设计模式之--jdk动态代理(实现aop编程)
Supanccy2013
javaDAO设计模式AOP
与静态代理类对照的是动态代理类,动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码。动态代理类不仅简化了编程工作,而且提高了软件系统的可扩展性,因为Java 反射机制可以生成任意类型的动态代理类。java.lang.reflect 包中的Proxy类和InvocationHandler 接口提供了生成动态代理类的能力。
&
- Spring 4.2新特性-对java8默认方法(default method)定义Bean的支持
wiselyman
spring 4
2.1 默认方法(default method)
java8引入了一个default medthod;
用来扩展已有的接口,在对已有接口的使用不产生任何影响的情况下,添加扩展
使用default关键字
Spring 4.2支持加载在默认方法里声明的bean
2.2
将要被声明成bean的类
public class DemoService {