- WebRTC(十一):RTCP和SRTCP
却道天凉_好个秋
WebRTCwebrtc
RTCP基本概念RTCP是RTP的控制协议,用于监控媒体传输质量和参与者状态,并与RTP一起工作。RTP用于传输媒体数据(如音视频),RTCP则用于传输控制信息。RTCP通常和RTP同时使用,并通过不同端口(通常RTP使用偶数端口,RTCP使用其下一个奇数端口)。主要用于:传输质量反馈:丢包率、时延、抖动等统计信息。媒体源身份识别:包括CNAME(CanonicalName)标识每个参与者。带宽控
- 设计一个监控摄像头物联网IOT(webRTC、音视频、文件存储)
Amarantine、沐风倩✨
物联网IOT物联网javahtml5webrtc音视频视频编解码七牛云存储
前言:设计一个完整的监控摄像头物联网IoT平台涉及视频直播和点播、WebRTC和文件存储模块,可以分为以下几个主要部分:摄像头设备、服务端处理、Web前端、视频流存储和回放。以下是结合这些技术的一个具体完整流程设计,涵盖了各个组件的相互关系、数据流动及关键技术点。1.系统组成监控摄像头:摄像头设备负责采集实时视频流并进行编码(如H.264或VP8)。Java服务端:服务端基于SpringBoot等
- zlmediakit webrtc搭建使用
iummature
webrtc
webrtc编译与使用|ZLMediaKit官方文档参考编译机器:centos7.6gcc版本10.1.0(GCC)cmakeversion3.23.0web播放rtsp流视频,使用webrtc毫秒级延迟_webrtc播放rtsp流-CSDN博客依赖准备openssl安装(openssl版本要求1.1以上)我的安装目录在/opt/projects/open/openssllibsrtp安装对于一些
- WebRTC(九):JitterBuffer
却道天凉_好个秋
WebRTCwebrtc
JitterBufferJitter“Jitter”指的是连续到达的媒体包之间时间间隔的变化。在网络传输中,由于:网络拥塞路由路径变化队列排队不同链路带宽差异导致包之间的接收时间不一致,这就是网络“抖动”。作用**JitterBuffer(抖动缓冲区)**的作用是:缓冲网络传输过来的数据包重新排序乱序的包缓冲一定时间再输出实现稳定的音视频帧输出,避免播放中出现卡顿、跳帧、音频破音工作流程图网络接收
- AWS WebRTC:通过shell实现多进程启动viewer
Jasper张
AWSWebRTCawswebrtc云计算服务器linux运维
前面总结了awswebrtcsdk-c项目中多进程启动master的shell脚本,具体参考:https://blog.csdn.net/zhang_jiamin/article/details/148616899这次总结一下多进程启动viewer的shell脚本,以及过程中遇到的问题和解决方法。实现说明:1、获取sid和uid(用于认证)2、获取ak/sk/token(多个SN共用一组密钥)3、
- SVC相关介绍
itzilong
视频会议
https://www.cnblogs.com/huxiaopeng/p/5653310.htmlhttps://janus.conf.meetecho.com/vp9svctest.htmlhttps://w3c.github.io/webrtc-svc/#intro开源框架Janushttps://blog.csdn.net/sonysuqin/article/details/84988120
- WebRTC 语音激活检测(VAD)算法
u013250861
Audiowebrtc算法语音识别
语音激活检测最早应用于电话传输和检测系统当中,用于通信信道的时间分配,提高传输线路的利用效率。激活检测属于语音处理系统的前端操作,在语音检测领域意义重大。但是目前的语音激活检测,尤其是检测人声开始和结束的端点始终是属于技术难点,各家公司始终处于能判断,但是不敢保证判别准确性的阶段。通常搭建机器人聊天系统主要包括以下三个方面:语音转文字(ASR/STT)语义内容(NLU/NLP)文字转语音(TTS)
- STUN (Session Traversal Utilities for NAT) 服务器是一种网络协议
STUN(SessionTraversalUtilitiesforNAT)服务器是一种网络协议,主要用于帮助位于网络地址转换(NAT)设备(如路由器)后面的客户端发现自己的公共IP地址和端口号。这对于建立点对点(P2P)通信至关重要,尤其是在VoIP(网络电话)和WebRTC(Web实时通信)等实时通信应用中。为什么需要STUN服务器?当设备位于NAT后面时,它会拥有一个私有IP地址,这个地址在本
- WebRTC(七):媒体能力协商
却道天凉_好个秋
WebRTCwebrtc
目的在WebRTC中,每个浏览器或终端支持的音视频编解码器、分辨率、码率、帧率等可能不同。媒体能力协商的目的就是:确保双方能“听得懂”对方发的媒体流;明确谁发送、谁接收、怎么发送;保障连接的互操作性和兼容性。P2P的基本流程参与角色角色说明peerA发起连接的端(通常是主叫)peerB接收连接的端(通常是被叫)signal信令服务器,用于中转SDP和ICE信息,但不参与媒体传输stun/turnS
- 【libyuv】windows cmake 构建 for webrtc
等风来不如迎风去
WebRTC入门与实战windowsgitbashlibyuv
使用vs直接构建webrtc的部分源码,发现libyuv是webrtc源码的依赖库,会有链接错误官方说明https://github.com/frankpapenmeier/libyuv/blob/master/docs/getting_started.md看起来官方灭有推荐windows用cmake构建实测,用cmake也是可以的。deptoolsYou’llneedtohavedepottoo
- SRS(Simple Realtime Server) 开源直播/双录服务器
@井九
开源服务器运维
一、SRS是什么?SRS(SimpleRealtimeServer)是一个纯C++编写的高性能开源流媒体服务器,目标是打造简单、高效、易用、支持多协议的直播服务系统。自2013年开源以来,已成为国内外广泛使用的RTMP/WebRTC服务端方案之一。核心特性:支持主流直播协议:RTMP、HTTP-FLV、HLS、WebRTC、SRT、GB28181⚡支持亚秒级延迟:特别是WebRTC和HTTP-FL
- webRTC源码配置和编译 + Vscode Intelligence配置
TransPlus
webrtcvscodeide
Google官方的WebRTC源码并不托管在GitHub上,而是使用Chromium的代码管理工具(depot_tools)。以下是完整的源码下载、编译和学习指南:1.获取WebRTC源码(1)安装depot_tools(必须)WebRTC使用Chromium的构建系统,需先安装depot_tools:#Linux/macOSgitclonehttps://chromium.googlesourc
- 【Fargo】mediasoup发送2:码率分配、传输基类设计及WebRtcTransport原理
等风来不如迎风去
传输探索实践werbtcmediasoupc++流媒体sfu
Fargo使用了mediasoup的代码,搬运了他的架构架构精妙,但是似乎是为了sfu而生,【Fargo】mediasoup发送1:控制与数据分离的分层设计和原理我本地用来发送测试,因此需要进一步梳理:通过分析这段代码,我来详细解释:一、sfu需要码率级别的分配控制1.DistributeAvailableOutgoingBitrate()做了什么核心功能:分层码率分配算法//第一步:获取可用带宽
- jquery获取本机内网IP
ipipv4
在jquery中获取本机内网IP地址可以通过WebRTCAPI来收集本地候选IP地址,并通过正则表达式筛选出内网IP一:实现思路WebRTC获取IP:通过创建RTCPeerConnection实例,浏览器会自动收集本地网络接口的IP地址作为ICE候选。筛选内网IP:从收集到的候选IP中过滤出符合IP地址二:浏览器支持需在支持WebRTC的现代浏览器(如Chrome、Firefox)中运行三:代码实
- 六、WebRTC中ICE的实现
gdliweibing
WebRTCwebrtc服务器p2p
一、Candidate种类&优先级高到底:host、srflx、prflx、relay.同一局域网内通过host类型的Candidate在内网建立连接。非同一局域网,隔断从STUN、TURN服务器中收集srflx和relay类型的Candidate。收集srflx类型Candidate时,ICE会尝试NAT打洞。如果打洞成功则使用P2P传输,否则使用TURN服务器中转数据。二、ICE策略RTCPe
- WebRTC(四):STUN协议
STUN(SessionTraversalUtilitiesforNAT)协议是一个网络穿透协议,主要用于在NAT(网络地址转换)环境中帮助终端获取自己的公网地址和NAT类型,以便进行P2P通信。STUN是WebRTC、VoIP、SIP等技术的核心组件之一。本质作用帮助客户端知道自己“在外部世界”的IP和端口大多数终端处于NAT后面,无法直接建立P2P通信。STUN协议通过与STUN服务器交互,帮
- WebRTC(六):ICE协议
却道天凉_好个秋
WebRTCwebrtc网络服务器
协议简介ICE(InteractiveConnectivityEstablishment,交互式连接建立)是一种NAT穿透协议,在WebRTC、VoIP和视频会议等实时通信场景中被广泛使用。它的主要目标是解决由于NAT(网络地址转换)和防火墙带来的连接问题,使通信双方能够建立可靠的端到端连接。广泛用于:WebRTC(浏览器实时通信)VoIP(语音通话)视频会议系统P2P文件传输系统其核心思想是:从
- WebRTC(三):P2P协议
却道天凉_好个秋
WebRTCwebrtcp2p网络协议
P2P(Peer-to-Peer)协议是一种分布式通信模型,不依赖于传统的服务器/客户端架构,而是由网络中的各个“节点”或“对等体”(peer)共同提供服务和资源。P2P协议广泛应用于文件共享、区块链、即时通讯、视频流媒体等领域。下面我们对P2P协议进行系统性详解。基本概念对等体(Peer)每个参与的节点即是客户端也是服务器,既可以发起请求,也可以响应请求。去中心化(Decentralizatio
- WebRTC中的TURN协议:实现P2P通信的中继技术
KnBackend
webrtcp2p网络协议WebRTC
WebRTC(Web实时通信)是一种用于在Web浏览器之间实现实时通信的开放标准。它允许开发者使用JavaScriptAPI在浏览器中构建视频、音频和数据传输应用程序,而无需使用插件或其他第三方软件。WebRTC的一个关键特性是点对点(P2P)通信,其中两个浏览器之间直接建立连接以进行数据传输。然而,由于各种原因,直接P2P连接并不总是可能的。在这种情况下,TURN(TraversalUsingR
- 从sdp开始到webrtc的通信过程
邪恶的贝利亚
c++音视频webrtcsdp流媒体
1.SDP1.1SDP的关键点SDP(SessionDescriptionProtocol)通过分层、分类的属性字段,结构化描述实时通信会话的会话基础、网络连接、媒体能力、安全策略、传输优化等核心信息,每个模块承担特定功能:1.会话级别描述(全局会话元信息)v=:协议版本(固定为0),标识SDP遵循的标准版本,确保解析兼容性。o=:会话发起者信息,格式为o=,用于唯一标识会话(如多终端复用场景区分
- Windows visual studio 2017编译Webrtc
小伙子儿
WebrtcWebrtc编译visualstudio2017
首先感谢以下两位哥们分享的博客:http://www.voidcn.com/article/p-bxbqyybq-bsc.htmlhttps://www.cnblogs.com/Forever-Kenlen-Ja/p/7653144.html我这边只是做了一下补充,编译webrtc主要还是下载源码耗时,所以找一个带宽大的服务器很有必要,起码下载峰值要达到3M或者4M这样,至于怎么科学上网,请自行百
- Window下VS2019编译WebRTC通关版
糯诺诺米团
webRTC应用webrtcvisualstudio
这段时间需要实现这样一个功能,使用WebRTC实现语音通话功能,第一步要做的事情就是编译WebRTC源码,也是很多码友会遇到的问题。经过我很多天的踩坑终于踩出来一条通往胜利的大路,下面就为大家详细介绍,编译步骤以及踩坑问题吧!在这里我首先说明:WebRTC的源码我就不提供了,因为我也是沾了别的博友的光,这里我才用的是2021年WebRTC版本下载源码踩坑记录:不需要下载git插件、gn插件,只需要
- 在Windows 10环境下,使用Visual Studio 2019搭建WebRTC编译环境
FdviAutoit
windowsvisualstudiowebrtc
WebRTC是一种开源项目,旨在为Web浏览器和移动应用提供实时通信功能,例如音视频通话和数据传输。在这篇文章中,我将向您介绍如何在Windows10环境下使用VisualStudio2019搭建WebRTC编译环境。以下是详细的步骤:步骤1:安装依赖项在开始之前,我们需要安装一些依赖项。请按照以下步骤进行操作:1.1安装Python2.7WebRTC依赖于Python2.7,请确保已在您的计算机
- AWS WebRTC:通过shell实现多进程启动master
Jasper张
AWSWebRTCwebrtcaws服务器
前面几篇文章已经介绍通过手动启动master端进行推流,这次想通过shell实现多进程启动master端,实现短时间内的并发,或者是快速启动多个master的效果。第一部分,通过shell调用接口,来获取密钥:#queryUUID=$(uuidgen)TIMESTAMP=$(date+%s)API_URL="https://api-test-cn.fm.xxxxxxxx.com/v1/firmwa
- 全面掌握SRS服务器在CentOS7上的安装与配置
seiji morisako
本文还有配套的精品资源,点击获取简介:SRS(SimpleRealtimeServer)是一个高效实时视频流服务服务器,尤其在LinuxCentOS764位操作系统上运行良好。它的5.0版本支持包括RTMP、WebRTC、HLS、HTTP-FLV、SRT和MPEG-DASH在内的多种网络协议,满足不同直播场景的视频传输需求。此压缩包包含安装和配置SRS所需的所有文件和文档。用户可通过修改配置参数,
- VAD入门(基于Python)
主要参考资料:在电脑上如何实现AEC回声消除,做个播放时,可以通过说话打断:https://blog.csdn.net/qq_41126242/article/details/145799439目录SileroVAD1.核心优势2.安装与依赖3.核心功能4.基础使用5.高级功能6.与WebRTCVAD的对比SileroVADSileroVAD是Silero语音模型系列中的语音活动检测(VAD)工具
- 【WebRTC-12】CreatePeerConnection究竟创建了什么?
Mr_Zzr
Android-RTCpeer_connectionsdp_handlerrtp_managerinternal_call
Android-RTC系列软重启,改变以往细读源代码的方式改为带上实际问题分析代码。增加实用性,方便形成肌肉记忆。同时不分种类、不分难易程度,在线征集问题切入点。问题:CreatePeerConnection究竟创建了什么?问这个问题,其实是想梳理类结构脉络,理清依赖关系,方便往后展开。最好阅读之前关于PeerConnectionFactory的文章。在之前的文章中我们知道PeerConnecti
- fast-rtc-swarm 项目教程
魏纯漫
fast-rtc-swarm项目教程fast-rtc-swarmAfull-meshWebRTCswarmbuiltontopoffast-rtc-peer项目地址:https://gitcode.com/gh_mirrors/fa/fast-rtc-swarm1.项目的目录结构及介绍fast-rtc-swarm是一个基于WebRTC的全网状(full-mesh)群集(swarm),构建在fast
- FastRTC - Python实时通信库
本文翻译整理自:https://github.com/gradio-app/fastrtc文章目录一、关于FastRTC相关链接资源关键功能特性二、安装三、使用示例1、音频回传2、LLM语音对话3、摄像头流处理4、目标检测四、运行流服务1、通过Gradio运行2、电话接入(仅音频)3、FastAPI集成一、关于FastRTCPython实时通信库,可将任何Python函数转换为通过WebRTC或W
- EC2安装WebRTC sdk-c环境、构建、编译
Jasper张
AWSWebRTCwebrtc服务器aws
1、登录新的ec2实例,证书可以跟之前的实例用一个:ssh-v-i~/Documents/cert/
[email protected]、按照sdk-cdemo中readme的描述开始安装环境:https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c2-1、安装git:sudodnfinstal
- 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节点最多