- 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百多页,还全是中文,什么,是中文?既然是中文的我就勉强看下吧,我靠,看起来还很复杂的,果断不看了,不需要,也没时间,我又不做解码,这东西具体步骤资料又少,基本都是那一两
- YUV420格式详解
lianghu666
嵌入式LinuxC/C++linux
以下从原理到实现逐步详解YUV420格式,结合Mermaid图表与C++代码,为音视频开发者提供系统指南。1.YUV420核心原理1.1采样结构与数据量原始像素Y分量全采样UV分量2x2降采样Y(亮度):全分辨率存储(每个像素独立)U/V(色度):每2x2像素共享一组UV值,水平和垂直分辨率减半数据量计算(8位深度)://计算YUV420图像字节数inty_size=width*height;//
- RK3288解码视频时遇到的奇葩问题
melonbo
百问-音视频音视频
1、亮线问题用rk3288做视频显示,qt界面是1024x768,在切换视频源时,屏幕偶尔会出现亮线,位置在屏幕的正中间。解决方法是将qt的界面设置为1023x767,完美解决。2、亮点rk3288在解码显示h264视频时,界面的图像会出现斑驳的亮点,不仔细看还看不出来,出现的亮点有的在视频图像上,有的在qt界面上。解决方法是在现实图像界面前,先用ffplay播放一个全屏的画面,然后再显示程序的界
- 《从0到1:C/C++音视频开发自学指南》
空云风语
机器视觉OpencvQTc语言c++音视频
开启自学之旅:为何选择C/C++音视频开发在当今数字化时代,音视频开发的应用场景极为广泛,深刻融入了我们生活与工作的方方面面。从火爆的直播行业,无论是电商直播中主播与观众的实时互动,还是游戏直播里精彩赛事的实时呈现;到备受欢迎的短视频平台,各种创意短视频的制作与分享;再到便捷的视频会议,让远程办公、在线教育成为可能,实现了跨地域的高效沟通与协作。这些丰富多样的应用场景,都离不开音视频开发技术的有力
- 音视频及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)
- FFMPEG命令行——【音视频开发学习笔记2】MAC OS
王七的眼睛被门夹了
ffmpeg音视频学习
目录1、ffmpeg/ffplay/ffprobe区别2、ffmpeg命令查看帮助文档3、ffplay命令查看帮助文档4、ffprobe命令查看帮助文档5、ffmpeg音视频处理流程6、ffmpeg命令分类查询7、查看具体分类所支持的参数8、ffplay播放控制9、ffplay命令-主要选项10、ffplay命令-高级选项11、在MacOS上使用ffmpeg进行视频录制——录制的是桌面12、在Ma
- 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
- 嵌入式音视频开发学习(视频编码原理及RV1126 VENC模块)
Les maths
音视频学习
视频编码原理(一)1.视频为什么要编码?在我们做音视频产品的时候,经常会把音视频数据进行网络传输,而此时音视频数据就需要进行编码(所谓编码就是指压缩)。因为在网络传输的时候,网络带宽有限,若此时网络传输的时候还用原始数据进行传输的时候,则会对网络带宽造成极大的负担。比方说一个分辨率为1280*720帧率为30帧的视频,按照YUV420格式的计算,它每秒传输的数据量就是1280*720*30*3/2
- 树莓派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也用不了
- 什么是抖动以及如何使用抖动缓冲区来减少抖动?
腾讯云音视频
实时音视频抖动WebRtc
您是否经历过视频通话或观看直播时的不稳定、缓冲、质量下降或音视频不同步等令人沮丧的情况?您可能不得不反复刷新页面,或者感到失望而退出应用程序。这些问题实际上可能是由网络抖动引起的。作为专业的音视频开发人员,我们必须理解抖动的原因并找到解决方案,以便为用户提供高质量的音视频通话服务和直播体验。什么是抖动首先,让我们了解数据包是什么。在捕获音视频数据后,发送方将这些数据编码并封装成一系列小的数据包,然
- C/C++Win32编程基础详解视频下载
择善Zach
编程C++Win32
课题视频:C/C++Win32编程基础详解
视频知识:win32窗口的创建
windows事件机制
主讲:择善Uncle老师
学习交流群:386620625
验证码:625
--
- Guava Cache使用笔记
bylijinnan
javaguavacache
1.Guava Cache的get/getIfPresent方法当参数为null时会抛空指针异常
我刚开始使用时还以为Guava Cache跟HashMap一样,get(null)返回null。
实际上Guava整体设计思想就是拒绝null的,很多地方都会执行com.google.common.base.Preconditions.checkNotNull的检查。
2.Guava
- 解决ora-01652无法通过128(在temp表空间中)
0624chenhong
oracle
解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程
一个sql语句后,大约花了10分钟,好不容易有一个结果,但是报了一个ora-01652错误,查阅了oracle的错误代码说明:意思是指temp表空间无法自动扩展temp段。这种问题一般有两种原因:一是临时表空间空间太小,二是不能自动扩展。
分析过程:
既然是temp表空间有问题,那当
- Struct在jsp标签
不懂事的小屁孩
struct
非UI标签介绍:
控制类标签:
1:程序流程控制标签 if elseif else
<s:if test="isUsed">
<span class="label label-success">True</span>
</
- 按对象属性排序
换个号韩国红果果
JavaScript对象排序
利用JavaScript进行对象排序,根据用户的年龄排序展示
<script>
var bob={
name;bob,
age:30
}
var peter={
name;peter,
age:30
}
var amy={
name;amy,
age:24
}
var mike={
name;mike,
age:29
}
var john={
- 大数据分析让个性化的客户体验不再遥远
蓝儿唯美
数据分析
顾客通过多种渠道制造大量数据,企业则热衷于利用这些信息来实现更为个性化的体验。
分析公司Gartner表示,高级分析会成为客户服务的关键,但是大数据分析的采用目前仅局限于不到一成的企业。 挑战在于企业还在努力适应结构化数据,疲于根据自身的客户关系管理(CRM)系统部署有效的分析框架,以及集成不同的内外部信息源。
然而,面对顾客通过数字技术参与而产生的快速变化的信息,企业需要及时作出反应。要想实
- java笔记4
a-john
java
操作符
1,使用java操作符
操作符接受一个或多个参数,并生成一个新值。参数的形式与普通的方法调用不用,但是效果是相同的。加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的用法与其他编程语言类似。
操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的
- 从裸机编程到嵌入式Linux编程思想的转变------分而治之:驱动和应用程序
aijuans
嵌入式学习
笔者学习嵌入式Linux也有一段时间了,很奇怪的是很多书讲驱动编程方面的知识,也有很多书将ARM9方面的知识,但是从以前51形式的(对寄存器直接操作,初始化芯片的功能模块)编程方法,和思维模式,变换为基于Linux操作系统编程,讲这个思想转变的书几乎没有,让初学者走了很多弯路,撞了很多难墙。
笔者因此写上自己的学习心得,希望能给和我一样转变
- 在springmvc中解决FastJson循环引用的问题
asialee
循环引用fastjson
我们先来看一个例子:
package com.elong.bms;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import co
- ArrayAdapter和SimpleAdapter技术总结
百合不是茶
androidSimpleAdapterArrayAdapter高级组件基础
ArrayAdapter比较简单,但它只能用于显示文字。而SimpleAdapter则有很强的扩展性,可以自定义出各种效果
ArrayAdapter;的数据可以是数组或者是队列
// 获得下拉框对象
AutoCompleteTextView textview = (AutoCompleteTextView) this
- 九封信
bijian1013
人生励志
有时候,莫名的心情不好,不想和任何人说话,只想一个人静静的发呆。有时候,想一个人躲起来脆弱,不愿别人看到自己的伤口。有时候,走过熟悉的街角,看到熟悉的背影,突然想起一个人的脸。有时候,发现自己一夜之间就长大了。 2014,写给人
- Linux下安装MySQL Web 管理工具phpMyAdmin
sunjing
PHPInstallphpMyAdmin
PHP http://php.net/
phpMyAdmin http://www.phpmyadmin.net
Error compiling PHP on CentOS x64
一、安装Apache
请参阅http://billben.iteye.com/admin/blogs/1985244
二、安装依赖包
sudo yum install gd
- 分布式系统理论
bit1129
分布式
FLP
One famous theory in distributed computing, known as FLP after the authors Fischer, Lynch, and Patterson, proved that in a distributed system with asynchronous communication and process crashes,
- ssh2整合(spring+struts2+hibernate)-附源码
白糖_
eclipsespringHibernatemysql项目管理
最近抽空又整理了一套ssh2框架,主要使用的技术如下:
spring做容器,管理了三层(dao,service,actioin)的对象
struts2实现与页面交互(MVC),自己做了一个异常拦截器,能拦截Action层抛出的异常
hibernate与数据库交互
BoneCp数据库连接池,据说比其它数据库连接池快20倍,仅仅是据说
MySql数据库
项目用eclipse
- treetable bug记录
braveCS
table
// 插入子节点删除再插入时不能正常显示。修改:
//不知改后有没有错,先做个备忘
Tree.prototype.removeNode = function(node) {
// Recursively remove all descendants of +node+
this.unloadBranch(node);
// Remove
- 编程之美-电话号码对应英语单词
bylijinnan
java算法编程之美
import java.util.Arrays;
public class NumberToWord {
/**
* 编程之美 电话号码对应英语单词
* 题目:
* 手机上的拨号盘,每个数字都对应一些字母,比如2对应ABC,3对应DEF.........,8对应TUV,9对应WXYZ,
* 要求对一段数字,输出其代表的所有可能的字母组合
- jquery ajax读书笔记
chengxuyuancsdn
jQuery ajax
1、jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()
- JWFD工作流拓扑结构解析伪码描述算法
comsci
数据结构算法工作活动J#
对工作流拓扑结构解析感兴趣的朋友可以下载附件,或者下载JWFD的全部代码进行分析
/* 流程图拓扑结构解析伪码描述算法
public java.util.ArrayList DFS(String graphid, String stepid, int j)
- oracle I/O 从属进程
daizj
oracle
I/O 从属进程
I/O从属进程用于为不支持异步I/O的系统或设备模拟异步I/O.例如,磁带设备(相当慢)就不支持异步I/O.通过使用I/O 从属进程,可以让磁带机模仿通常只为磁盘驱动器提供的功能。就好像支持真正的异步I/O 一样,写设备的进程(调用者)会收集大量数据,并交由写入器写出。数据成功地写出时,写入器(此时写入器是I/O 从属进程,而不是操作系统)会通知原来的调用者,调用者则会
- 高级排序:希尔排序
dieslrae
希尔排序
public void shellSort(int[] array){
int limit = 1;
int temp;
int index;
while(limit <= array.length/3){
limit = limit * 3 + 1;
- 初二下学期难记忆单词
dcj3sjt126com
englishword
kitchen 厨房
cupboard 厨柜
salt 盐
sugar 糖
oil 油
fork 叉;餐叉
spoon 匙;调羹
chopsticks 筷子
cabbage 卷心菜;洋白菜
soup 汤
Italian 意大利的
Indian 印度的
workplace 工作场所
even 甚至;更
Italy 意大利
laugh 笑
m
- Go语言使用MySQL数据库进行增删改查
dcj3sjt126com
mysql
目前Internet上流行的网站构架方式是LAMP,其中的M即MySQL, 作为数据库,MySQL以免费、开源、使用方便为优势成为了很多Web开发的后端数据库存储引擎。MySQL驱动Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,常用的有如下几种:
http://code.google.c...o-mysql-dri
- git命令
shuizhaosi888
git
---------------设置全局用户名:
git config --global user.name "HanShuliang" //设置用户名
git config --global user.email "
[email protected]" //设置邮箱
---------------查看环境配置
git config --li
- qemu-kvm 网络 nat模式 (四)
haoningabc
kvmqemu
qemu-ifup-NAT
#!/bin/bash
BRIDGE=virbr0
NETWORK=192.168.122.0
GATEWAY=192.168.122.1
NETMASK=255.255.255.0
DHCPRANGE=192.168.122.2,192.168.122.254
TFTPROOT=
BOOTP=
function check_bridge()
- 不要让未来的你,讨厌现在的自己
jingjing0907
生活 奋斗 工作 梦想
故事one
23岁,他大学毕业,放弃了父母安排的稳定工作,独闯京城,在家小公司混个小职位,工作还算顺手,月薪三千,混了混,混走了一年的光阴。 24岁,有了女朋友,从二环12人的集体宿舍搬到香山民居,一间平房,二人世界,爱爱爱。偶然约三朋四友,打扑克搓麻将,日子快乐似神仙; 25岁,出了几次差,调了两次岗,薪水涨了不过百,生猛狂飙的物价让现实血淋淋,无力为心爱银儿购件大牌
- 枚举类型详解
一路欢笑一路走
enum枚举详解enumsetenumMap
枚举类型详解
一.Enum详解
1.1枚举类型的介绍
JDK1.5加入了一个全新的类型的”类”—枚举类型,为此JDK1.5引入了一个新的关键字enum,我们可以这样定义一个枚举类型。
Demo:一个最简单的枚举类
public enum ColorType {
RED
- 第11章 动画效果(上)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Eclipse中jsp、js文件编辑时,卡死现象解决汇总
ljf_home
eclipsejsp卡死js卡死
使用Eclipse编辑jsp、js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲。将所有用过的方法罗列如下:
1、取消验证
windows–>perferences–>validation
把 除了manual 下面的全部点掉,build下只留 classpath dependency Valida
- MySQL编程中的6个重要的实用技巧
tomcat_oracle
mysql
每一行命令都是用分号(;)作为结束
对于MySQL,第一件你必须牢记的是它的每一行命令都是用分号(;)作为结束的,但当一行MySQL被插入在PHP代码中时,最好把后面的分号省略掉,例如:
mysql_query("INSERT INTO tablename(first_name,last_name)VALUES('$first_name',$last_name')");
- zoj 3820 Building Fire Stations(二分+bfs)
阿尔萨斯
Build
题目链接:zoj 3820 Building Fire Stations
题目大意:给定一棵树,选取两个建立加油站,问说所有点距离加油站距离的最大值的最小值是多少,并且任意输出一种建立加油站的方式。
解题思路:二分距离判断,判断函数的复杂度是o(n),这样的复杂度应该是o(nlogn),即使常数系数偏大,但是居然跑了4.5s,也是醉了。 判断函数里面做了3次bfs,但是每次bfs节点最多