35个Java代码性能优化总结
非常有力的35个代码性能优化,看完后深有感悟(ps就是自己看完后的感想),不过其中有一些错误我也删改了,回想起自己之前的代码写的很烂,从现在开始一步一步注意这些点,每一点都是很实用而且是非常优秀的编码习惯!!!值得学习!!!
非常有力的35个代码性能优化,看完后深有感悟(ps就是自己看完后的感想),不过其中有一些错误我也删改了,回想起自己之前的代码写的很烂,从现在开始一步一步注意这些点,每一点都是很实用而且是非常优秀的编码习惯!!!值得学习!!!
最近在学习c++多线程编程的时候,偶然看到了RAII的概念,有种这么多年c++白学了的感觉,路漫漫其修远兮啊。下面是我在查找RAII资料时候看到的一篇非常好的博客,因为觉得自己实在写不出比这篇更好的对于RAII的总结的博客了,所以就把文章转摘过来了。
RAII是指C++语言中的一个惯用法(idiom),它是“Resource Acquisition Is Initialization”的首字母缩写。中文可将其翻译为“资源获取就是初始化”。虽然从某种程度上说这个名称并没有体现出该惯性法的本质精神,但是作为标准C++资源管理的关键技术,RAII早已在C++社群中深入人心。
我记得第一次学到RAII惯用法是在Bjarne Stroustrup的《C++程序设计语言(第3版)》一书中。当讲述C++资源管理时,Bjarne这样写道:使用局部对象管理资源的技术通常称为“资源获取就是初始化”。这种通用技术依赖于构造函数和析构函数的性质以及它们与异常处理的交互作用。
本篇文章主要是记述了基于Nginx搭建RTMP直播推流服务器。关于安装Nginx的内容可以查看这篇博客 《CentOS7编译安装nginx》 ,下载Nginx源码可以点击这个链接, http://img.zouchanglin.cn/50fdfa08e93ead7a111cba5a5f5735af.gz ,下面是Nginx推流模块的代码,可以在Github下载,但是也可以点击这个链接 http://img.zouchanglin.cn/75ac12aa7dcbdcb065c7004546b7b941.zip 。这样在做直播相关的测试的时候就可以用上了。
虽然本文是记录使用信号量保证进程的同步与互斥的,但是其实也可以看做是进程之间的通信问题,为了与前面的保持一致,所以还是叫做 Linux进程间通信了!
进程间通信的方式有管道、消息队列、共享内存这些都是进程间的信息通信,而信号量可以理解为进程使用的临界资源的状态说明,信号量主要用于保证同步与互斥
由此可见我们之前用于进程间通信的管道,消息队列,共享内存都是临界资源,管道是内核已经提供了同步与互斥,但是消息队列和共享内存都是不保证同步与互斥的
代码风格统一,代码提交信息的说明准确,那么在后期协作以及Bug处理时会更加方便,先来介绍推荐采用的commit规范吧,Commit message格式如下: type(scope): subject 注意冒号后面有空格,type用于说明commit的类别,只允许使用下面7个标识:
type:type用于说明commit的类别
feat:新功能(feature)
fix:修补bug
docs:文档(documentation)
style: 格式(不影响代码运行的变动)
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
test:增加测试
chore:构建过程或辅助工具的变动
如果type为feat和fix,则该commit将肯定出现在Change log之中。
scope:可选项,用于说明commit的影响范围
subject::commit 目的的简短描述,不超过50个字符,且结尾不加句号