- Android音视频通话
Android音视频通话前言一、准备工作1、编写Jni接口2、通过javah工具生成头文件3、集成speex、webrtc二、初始化工作三、开启socketudp服务四、判断socket是否可读五、发送数据到远端1、视频数据1.1、初始化MediaCodec1.2、通过MediaCodec进行H264编码2、音频数据2.1、webrtc消回声2.2、speex编码压缩六、断开连接前言Android
- RTSP系列三:RTP协议介绍
BreakingY
网络音视频
我的音视频/流媒体开源项目(github)RTSP系列:RTSP系列一:RTSP协议介绍-CSDN博客RTSP系列二:RTSP协议鉴权-CSDN博客RTSP系列三:RTP协议介绍-CSDN博客RTSP系列四:RTSPServer/Client实战项目-CSDN博客目录一、基本概念二、RTP报文格式三、RTP封装视频3.1、RTP封装H2643.1.1、单一封包模式3.1.2、组合封包模式3.1.3
- HTML5里video标签支持哪些格式的视频文件
Lucky_chengzi
video标签支持的视频格式:Ogg、MPEG4、WebMMP4=MPEG4文件使用H264视频编解码器和AAC音频编解码器WebM=WebM文件使用VP8视频编解码器和Vorbis音频编解码器Ogg=Ogg文件使用Theora视频编解码器和Vorbis音频编解码器
- ffmpeg 视频编码流程及主要API
melonbo
FFMPEGffmpeg音视频
一、编码流程初始化组件配置编码器参数打开编码器处理输入帧编码循环写入输出数据收尾释放资源二、核心步骤与API详解1.初始化与参数配置注册组件(旧版本需手动注册,新版本自动处理)avformat_network_init();//网络相关初始化(可选)查找编码器AVCodec*codec=avcodec_find_encoder(AV_CODEC_ID_H264);//支持H.264/HEVC等创建
- 基于Live555实现RTSP服务器来推送H264实时码流
静止了 所有的花开
音视频h.264
实现了一个单播的rtsp服务器来推送实时的h264码流,参考了官方的testProgs目录下的testOnDemandRTSPServer例程和liveMedia目录下的DeviceSource.cpp文件。我这边是把编码出来的h264码流放入了一个缓冲队列,然后从缓冲队列里取出来进行推流。rtsp.h:#ifndef_RTSP_H_#define_RTSP_H_#include"liveMedi
- H264码流介绍 及 FFmpeg解封装得到H264码流方法
冰冰的coco
音视频ffmpeg
参考文章音视频H264编解码协议-知乎视频H264编码详解(上)-知乎H.264媒体流AnnexB和AVCC格式分析-CSDNH264之NALU解析-知乎H264帧,SPS,PPS概念-知乎H.264流媒体协议格式中的AnnexB格式和AVCC格式深度解析-CSDNH264简介H.264从1999年开始,到2003年形成草案,最后在2007年定稿有待核实。在ITU的标准⾥称为H.264,在MPEG
- 轻松掌握视频格式转换:利用FFmpeg将H264裸流封装为MP4
霍梦含Jessie
轻松掌握视频格式转换:利用FFmpeg将H264裸流封装为MP4【下载地址】利用FFmpeg将H264裸流文件封装为MP4文件并保存利用FFmpeg将H264裸流文件封装为MP4文件并保存本仓库提供了一个资源文件,详细介绍了如何利用FFmpeg库将H264裸流文件读取到内存中,并将其封装为MP4文件并保存到本地项目地址:https://gitcode.com/open-source-toolkit
- Ubuntu下使用ffmpeg封装h264裸流为MP4文件
最近在研究ffmpeg封装h264裸流为MP4相关问题,这里需要解释下为什么要封装h264视频,通过编码器得到的h264视频流仅仅是裸流,只包含一些流的头信息和视频数据,没有时间戳的概念,所以使用播放器播放h264视频时,会出现播放速度不正常的现象(我遇到的是快进现象),所以将h264封装成MP4格式可以添加时间戳的信息进去,即可使用播放器正常播放视频。参考网上的代码(https://blog.c
- 将h.264视频流封装成flv格式文件(二.开始动手)
darkdragonking
flv264flvh.264rtmpc++windows
前面写了flv文件的解析,有h264裸流的话就开始封装吧。网上大多数都是用ffmeg库来做这个工作的,哎,学习资料少学不会,还是自己动手吧。封装前要先了解下h.264格式,只需要知道一点点就可以了,我看了h.264官方文档,我靠,3百多页,还全是中文,什么,是中文?既然是中文的我就勉强看下吧,我靠,看起来还很复杂的,果断不看了,不需要,也没时间,我又不做解码,这东西具体步骤资料又少,基本都是那一两
- RK3288解码视频时遇到的奇葩问题
melonbo
百问-音视频音视频
1、亮线问题用rk3288做视频显示,qt界面是1024x768,在切换视频源时,屏幕偶尔会出现亮线,位置在屏幕的正中间。解决方法是将qt的界面设置为1023x767,完美解决。2、亮点rk3288在解码显示h264视频时,界面的图像会出现斑驳的亮点,不仔细看还看不出来,出现的亮点有的在视频图像上,有的在qt界面上。解决方法是在现实图像界面前,先用ffplay播放一个全屏的画面,然后再显示程序的界
- 音视频及H264/H256编码相关原理
Everbrilliant89
音视频开发音视频视频编解码H264编码H265编码音视频编解码
一、音视频封装格式原理:我们播放的视频文件一般都是用一种封装格式封装起来的,封装格式的作用是什么呢?一般视频文件里不光有视频,还有音频,封装格式的作用就是把视频和音频打包起来。所以我们先要解封装格式,看有哪些视频流和哪些音频流,此时的音频流和视频流都还是压缩数据,不能直接用于显示的,这就需要解码。如FFmpeg视频文件就是一个容器(视频流(H264)音频流(aac))。1、视频文件封装格式:封装格
- 音视频基础概念扫盲
Charlotte_jc
音视频
音视频概念相关参考地址ffmpeg视频压缩视频尺寸(视频分辨率/帧大小)视频分辨率,常见的分辨率有4096×2160,2560x1440,1920*1080,1280*720视频编码视频编码方式就是指通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的方式。常见的编码格式有:H264,VP8,AVS,RMVB,WMV,QuickTime音频编码音频编码方式指通过特定的压缩技术对音频数
- 【TroubleShoot】Windows10视频文件没有预览图的解决办法
tealcwu
windows音视频h.264vp9
【问题描述】Windows文件夹中,有一部分的MP4视频在文件以图标显示的时候,是可以直接看到预览图的,但有一部分没法预览,只能显示为统一的文件类型图标。【解决方法】检查发现,两类MP4都是使用H264格式,用VLCMediaPlayer等专门的播放器都能播放,但使用Windows自带的WindowsMediaPlayer,可以预览的就可以正常播放,不能预览的就不能播放,而且播放器会停止响应。由此
- 某腾X视频下载器2.1
摆渡搜不到你
音视频python
importreimportosimporttimefrombs4importBeautifulSoupfromDrissionPageimportChromiumPage,ChromiumOptionsimportsubprocess#编码和清晰度映射表codec_mapping={'f321004':('H264','1080'),'f321003':('H264','720'),'f3210
- 利用WireShark分析H264码流
阿基米东
wiresharkh264
背景:最近在参与一个ARM平台的音视频传输的项目,同事说已经是高清视频了,但是显示模糊,显然不能达到高清要求,于是就想抓包分析一下。Step1:执行如下命令,在ARM平台上用tcpdump抓包并保存为test.cap。tcpdump–ieth0–nn–wtest.cap然后启动我们的多媒体通信程序,抓取几秒的数据即可。Step2:用WireShark工具打开test.cap文件。Step3:右键点
- Wireshark使用教程(含安装包和安装教程)
光电的一只菜鸡
嵌入式wireshark测试工具网络
Wireshark使用入门教程0.资源下载以及软件安装1.Wireshark中无法显示网卡列表2.Wireshark抓取H264过程0.资源下载以及软件安装 参考blog:抓包神器wireshark安装保姆级教程 压缩包下载:Wireshark安装包1.Wireshark中无法显示网卡列表 Wireshark中无法显示网卡列表的解决方法:Wireshark中无法显示网卡列表的解决方法2.Wi
- FFmpeg 解码视频流实现yuv播放
书弋江山
ffmpegcC++IOSffmpegh264codecyuv解码
参考文章雷神文章FFMPEG–裸码流解码AVCodec最简单的基于FFmpeg的libswscale的示例(YUV转RGB)视频流测试端口初始化解码器相关变量-(void)initDecoder{if(decodeFrame){return;}intcodec_id=AV_CODEC_ID_H264;pCodec=avcodec_find_decoder(codec_id);if(!pCodec)
- USB虚拟化工具之:虚拟UVC摄像头,提供下载测试链接(支持win7,win10等系统)
驱动开发007
驱动开发计算机外设云计算数码相机usb虚拟化usb重定向
//6.UVC帧格式comboFrameFormat=newQComboBox(this);comboFrameFormat->addItems({"MJPEG","YUV420P","NV12","H264","H265"});支持"MJPEG","YUV420P","NV12","H264","H265"5种帧格式。MJPEG兼容性较好,支持4K,支持windows自带相机,微信,抖音直播伴侣
- 录制mp4
AI算法网奇
python基础opencvpython计算机视觉
目录单线程保存mp4多线程保存mp4rtspffmpeg录制mp4单线程保存mp4importcv2importimageiocv2.namedWindow('photo',0)#0窗口大小可以任意拖动,1自适应cv2.resizeWindow('photo',1280,720)url="rtsp://admin:
[email protected]/h264/ch1/main/av_str
- 视频编码实战
生椰_李点点
ffmpeg音视频
FFmpeg流程从本地读取YUV数据编码为h264格式的数据,然后再存⼊到本地,编码后的数据有带startcode。与FFmpeg示例⾳频编码的流程基本⼀致。函数说明:avcodec_find_encoder_by_name:根据指定的编码器名称查找注册的编码器。avcodec_alloc_context3:为AVCodecContext分配内存。avcodec_open2:打开编解码器。avco
- 编解码器不支持OpenCV:FFmpeg:tag 0x34363268/‘;h264‘;
潮易
opencvffmpeg人工智能
在Python中处理视频时,我们经常会遇到解码器不支持OpenCV的问题。这通常是由于你的系统上没有安装或配置正确的FFmpeg版本导致的。解决这个问题的一种方法是检查你的系统中是否已经安装了FFmpeg,以及它是否位于系统的PATH环境变量中。如果FFmpeg未正确安装,或者不在PATH中,那么Python的cv2库可能无法找到它。如果你的系统上已安装了FFmpeg,但是仍然出现上述错误,那么可
- 编译opencv,及其依赖ffmpeg, 以支持h264,h265
northeastsqure
opencvffmpegh265h264
ubuntu,更改自:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu警告:ffmpeg一定要编译为动态库,非静态库1.编译ffmpegsudoapt-getupdate-qq&&sudoapt-get-yinstall\autoconf\automake\build-essential\cmake\git-core\libass-dev\l
- 蝌蚪窝html5 video not,html - HTML5 Video does not play in any browser - Stack Overflow
远方之巅
蝌蚪窝html5videonot
IhaveavideowiththefollowinginformationItisMP4videowithH264codecHowever,usingthefollowingcode:Yourbrowserdoesnotsupportthevideotag.ThevideodoesnotplayandlookslikethiswhenIrenderitRenderedVideoIhavechec
- Error! DLL amfrt64.dll failed to open
wangzhpwang
pythonffmpeg
Intel集显,win10下ffmpeg报DLLamfrt64.dllfailedtoopen解决办法创建:C:\Users\用户1\.matplotlib\matplotlibrc设置:animation.codec:h264_qsv#Codectouseforwritingmoviefigure.dpi:300figure.figsize:7,4.5axes.labelsize:18legen
- 树莓派4b配置csi摄像头
2401_89317718
opencv
安装好最新系统后,接好csi摄像头,不要看网上那些教程去改config.txt文件,直接跑指令测试:libcamera-hello--qt-preview拍照:libcamera-jpeg-otest.jpg--qt-preview录像:libcamera-vid-t10000-otest.h264--qt-preview直接跑指令就能成像改文件后反而成像不了opencv也用不了
- iOS视频编码详细步骤(视频编码器,基于 VideoToolbox,支持硬件编码 H264/H265)
Unlimitedz
app开发ios音视频
iOS视频编码详细步骤流程1.视频采集阶段视频采集所使用的代码和之前的相同,所以不再过多进行赘述初始化配置:通过VideoCaptureConfig设置分辨率1920x1080、帧率30fps、像素格式kCVPixelFormatType_420YpCbCr8BiPlanarFullRange设置摄像头位置(默认前置)和镜像模式授权与初始化:检查并请求相机权限创建AVCaptureSession会
- RV1126笔记一:ffmpeg+rtmp
leona_nuaa
笔记ffmpeg
一、介绍移植FFMPEG主要是为了实现RTMP推流功能、RTMP拉流功能和SRT推流功能,主要分为3个小项目:1、单路/多路RTMP推流2、单路/多路RTMP拉流3、SRT推流项目主要涉及多个知识点,x264,x265,srt等,RV1126可以直接采用硬件编码方式和解码方式采集H264和H265,我们只需要把数据和音频通过RTMP等协议推出去和拉取显示,操作为内网操作,在本地部署RTMP服务器来
- 各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式
wishfly
视频ffmpeg
编解码学习笔记(一):基本概念媒体业务是网络的主要业务之间。尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析、应用开发、释放license收费等等。最近因为项目的关系,需要理清媒体的codec,比较搞的是,在豆丁网上看运营商的规范标准,同一运营商同样的业务在不同文档中不同的要求,而且有些要求就我看来应当是历史的延续,也就是现在已经很少采用了。所以
- Github每日精选(第50期):RTSP / RTMP / LL-HLS 服务器rtsp-simple-server
go2coding
Github每日精选服务器github运维
rtsp-simple-serverrtsp-simple-server是RTSP/RTMP/LL-HLS服务器和代理,允许读取、发布和代理视频和音频流。目前支持的流有:RTSP,RTMP,HLS。github的地址在这里。特征:将直播流发布到服务器从服务器读取实时流来自其他服务器或摄像机的代理流,始终或按需每个流可以有多个视频和音频轨道,用任何RTP兼容的编解码器编码,包括H264、H265、V
- docker自建rustdesk-server远程桌面
大地爱
面试学习路线阿里巴巴docker容器运维
rustdesk简介RustDesk是一款可以平替TeamViewer的开源软件,旨在提供安全便捷的自建方案。RustDesk是一款功能齐全的远程桌面应用,具有以下特性:支持Windows、macOS、Linux、iOS、Android、Web等多个平台。支持VP8/VP9/AV1软件编解码器和H264/H265硬件编解码器。完全掌控数据,轻松自建。P2P连接,端到端加密。在Windows上可以非
- 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
[email protected]
# 然後在 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