音视频直播(Java)

1 概述 1.1通用直播总体架构 Java在用于视频开发时主要采用的技术框架是FFmpeg和OpenCV。数据库和其他的功能实现可以使用Java Web的相关技术就可以实现。 FFmpeg主要有两种网络传输协议;RTSP、RTMP RTSP;实时流传输协议,是TCP/IP协议体系中的一个应用层协议.RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输。 RTMP;实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTM
分类: 企业开发 发布时间: 07-07 15:10 阅读次数: 0

百度实习第一天

原文链接:http://www.cnblogs.com/oldBook/p/10111394.html 早上8:30到百度大厦报到,实习的和正式工作的有很多人,然后给每个人配了一台电脑,好多人都是mac,我是14年的thinkpad(不开心)。然后签了合同之后,就坐班车回到百度科技园。负责行政的人给我们讲解了很多注意的地方。然后就各自到自己岗位上,见自己的导师。然后基本上就中午了,除B1楼吃饭,刚发的卡里面没有钱,需要自己充值。下午回到岗位上,导师布置任务,然后就开始干活了。刚来都是先了解项目
分类: 其他 发布时间: 07-07 15:09 阅读次数: 0

遇到多个构造器参数时,要考虑用构造器

原文链接:http://www.cnblogs.com/kongkongFabian/p/10246417.html 重叠构造器模式: 创建对象时,我们需要一些必须的参数,从而区分它们,其他可选参数,我们一层一层的赋基本值。这样就提供了用户可选的多种传参方式。 缺点:当有多个参数时,不好处理 JavaBean模式: 通过setter方法,对类进行初始化赋值 Builder模式:(书上最推荐的方式) 书上提供了一个例子,如 NutritionFacts cocaCola = new Nutrit
分类: 其他 发布时间: 07-07 15:08 阅读次数: 0

java23种设计模式-模板方法模式

1 结构 模板方法模式是所有模式中最为常见的几个模式之一,是基于继承的代码复用的基本技术。 模板方法模式需要开发抽象类和具体子类的设计师之间的协作。一个设计师负责给出一个算法的轮廓和骨架,另一些设计师则负责给出这个算法的各个逻辑步骤。代表这些具体逻辑步骤的方法
分类: 编程语言 发布时间: 07-07 15:08 阅读次数: 0

真实项目中 ThreadLocal 的妙用

一、什么是 ThreadLocal ThreadLocal 提供了线程的局部变量,每个线程都可以通过 set() 和 get() 来对这个局部变量进行操作,但不会和其他线程的局部变量冲突,实现了线程间的据隔离。 简单讲:一个获取用户的请求线程 A,如果向 Th
分类: 编程语言 发布时间: 07-07 15:08 阅读次数: 0

聊聊dubbo的DubboSwaggerService

序 本文主要研究一下dubbo的DubboSwaggerService DubboSwaggerService dubbo-2.7.2/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/pr
分类: 编程语言 发布时间: 07-07 15:08 阅读次数: 0

仿概率论系列(一) 开篇引导

仿概率论系列(一) 开篇引导 概率论,一个匿名社交APP(哈哈哈,我是不是应该去收一下广告费?)。 偶尔一次机会接触到概率论,体验了一阵子,产品表达的想法挺好的,为了更好的熟悉这个产品,准备将其中的一两个模块拿出来当实战,所以才会有这个系列~ 回到正题 本
分类: 编程语言 发布时间: 07-07 15:08 阅读次数: 0

C++ 概率算法 利用蒙特卡罗算法计算圆周率

概率算法大致可分为4种形式: 数值概率算法; 蒙特卡罗算法; 拉斯维加斯算法; 舍伍德算法; 计算蒙特卡罗概率的算法实现: 1 #include "stdio.h" 2 #include "time.h" 3 #include "stdlib.h" 4 5 double MontePI(int n) 6 { 7 double PI; 8 double x, y; 9 int i, sum; 10 11 sum = 0;
分类: 其他 发布时间: 07-07 15:08 阅读次数: 0

ubuntu重装--备份/配置

系统备份: 文件保存 浏览器收藏夹路径 系统配置: 显示1.38 外观 浏览器配置:导入收藏路径
分类: 其他 发布时间: 07-07 15:08 阅读次数: 0

turtle角度坐标体系

seth()改变海龟的行进角度 例如 让海龟的方向朝着45°方向行进 turtle.seth(45) 让海龟的方向朝着-135°反方向行进 turtle.seth(-135) turtle.left(angle) ,海龟向左 turtle.left(angle) 例子 绘制Z型曲线 先让海龟向左转45° 然后使用fd向前行进150像素 再让海龟向右转135°,使用fd向前行进300像素 再让海龟向左转135°,使用fd向前行进150像素 然后再运行
分类: 其他 发布时间: 07-07 15:08 阅读次数: 0

【Java】Struts2中Action接受表单的三种方式

在Struts2中,假如有一个登陆页面,输入用户名密码。如何在action中接受呢? 有三种方式:1.使用Action的属性接收参数,2.使用DomainModel接收参数,3.使用ModelDriven接收参数 1.使用action的属性接受参数 只需要在处理的action中定义该私有变量(Bean),即可获取到,例如: import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends Acti
分类: 其他 发布时间: 07-07 15:08 阅读次数: 0

haproxy代码

1,haproxy定义cookie并且返回数据给客户端,让客户端第二次请求这个域名下的页面时带上haproxy定义的cookie跟数值(key-value) global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 40000 user haproxy group haproxy daemon stats socket /var/lib/haproxy/stats defau
分类: 其他 发布时间: 07-07 15:08 阅读次数: 0

java面试-生产环境出现CPU占用过高,谈谈你的分析思路和定位

生产环境出现CPU占用过高,谈谈你的分析思路和定位 思路:结合Linux和JDK命令一起分析 1、先用top命令找出CPU占比最高的 2、ps -ef|grep java|grep -v grep 或者jps -l进一步定位 3、定位到具体线程或代码 ps -mp 进程编号 -o THREAD,tid,time [-m:显示所有线程 -p pid:进程使用CPU的时间 -o:用户自定义格式] 4、将需要的线程ID转换为16进制格式 printf "%x\n" 有
分类: 其他 发布时间: 07-07 15:08 阅读次数: 0

阻塞和非阻塞的深刻理解 转

阻塞和非阻塞的深刻理解 原来是借助于I/O多路复用,即借助于系统内核去监听文件描述符状态,因为应用程序监听还要调用内核去监听,这样省去一步。(转) 阻塞和非阻塞   阻塞函数在完成其指定的任务以前不允许程序调用另一个函数。例如,程序执行一个读数据的函数调用时,在此函数完成读操作以前将不会执行下一程序语句。当服务器运行到accept语句时,而没有客户连接服务请求到来,服务器就会停止在accept语句上等待连接服务请求的到来。这种情况称为阻塞(blocking)。而非阻塞操作则可以立即完成。比如,
分类: 其他 发布时间: 07-07 15:08 阅读次数: 0

flex布局 30分钟彻底弄懂flex布局

30分钟彻底弄懂flex布局 https://www.cnblogs.com/qcloud1001/p/9848619.html
分类: 其他 发布时间: 07-07 15:08 阅读次数: 0

express初步认识

1 // 1. 引入 2 const express = require('express'); 3 4 // 2. 创建web服务器 5 const app = express(); 6 7 // 根据路由(路径)处理get和post请求 8 app.get('/', (req, res)=>{ 9 res.writeHead(200, {'Content-Type': 'text/html'}); 10 res.write('<h2>H
分类: 其他 发布时间: 07-07 15:08 阅读次数: 0

LeetCode -- Largest Perimeter Triangle

题意及思路 给定一组A正长度,返回具有非零区域的三角形的最大周长,由这些长度中的3个形成。 如果不可能形成任何非零区域的三角形,则返回0。 思路:将数组A进行升序排序,从长度最长的位置(数组末尾)开始,每三条边,看看能否构成三角形,如果能构成三角形,则此三边即为最大三角形周长,否则每次递减一位,直到找到或找不到。 代码 class Solution { public int largestPerimeter(int[] A) { //define, init
分类: 其他 发布时间: 07-07 15:08 阅读次数: 0

Leetcode第144场周赛总结

5117.IP地址无效化 首先计算出输入IP地址的长度,然后遍历每一个字符。 如果当前字符为'.',就在它的前后两侧分别加上'['和']'字符。 值得一提的是,C++的String类型提供了以上操作的函数,我们可以直接调用内部函数,使得我们的程序更加简洁,更加清晰明了。 下面给出AC代码: class Solution { public: string defangIPaddr(string address) { int len = address.size();//直
分类: 其他 发布时间: 07-07 15:08 阅读次数: 0

数据结构和函数

数组重排序方法: reverse():反转数组项的顺序,注意使用该方法时会改变原来的数组顺序,而不是返回一个副本。 let arr = [1,2,3,4,5]; console.log(arr.reverse());//[ 5, 4, 3, 2, 1 ] console.log(arr);//[ 5, 4, 3, 2, 1 ] sort():按照升序排列数组每一项 let arr = [0,12,3,7,-12,23]; console.log(arr.sort()); //[ -12, 0,
分类: 其他 发布时间: 07-07 15:08 阅读次数: 0

java面向对象1-面向对象概念

面向对象概念-类与对象的关系 封装:指隐藏对象的属性和实现细节,仅对外提供公共访问方式,private-构造方法/构造器-this关键字-static关键字(javadoc制作工具类) -代码块 继承:方法重写-super-子类实例化过程-final-抽象类-接口 多态: 1.1 面向对象概念Object-Oriented 1.1.1 理解面向对象 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向对象是基于面向过程的 1.1.2 面向对象的特点 可以将复杂的事情简单化 将程序员
分类: 其他 发布时间: 07-07 15:08 阅读次数: 0