- 博客(315)
- 资源 (33)
- 收藏
- 关注
翻译 WebRTC基础实践 - 4. 获取摄像头的视频流
本节内容在本节课程中, 我们将学习以下知识点:从摄像头(webcam)获取视频流(video stream)控制视频内容的回显通过CSS和SVG处理视频内容。本节的完整版代码位于 step-01 文件夹中。HTML代码在 work 目录下的 index.html 文件中, 增加 video 标签和 script 标签:<!DOCTYPE html><html...
2018-11-12 19:50:09 17198 4
翻译 WebRTC基础实践 - 3. 获取示例代码
下载示例代码如果安装有git工具, 直接用下面的脚本, 从GitHub克隆代码即可:git clone https://github.com/googlecodelabs/webrtc-web.git或者, 点击链接下载 zip 压缩包: https://github.com/googlecodelabs/webrtc-web/archive/master.zip如果下载失败或者本地...
2018-11-09 15:40:36 4489
翻译 WebRTC基础实践 - 2. WebRTC课程概述
本课程将逐步开发一个 WebRTC 应用, 通过网络摄像头来拍照、录像、并将这些信息传递给另一方. 在此过程中, 我们将学习如何使用WebRTC的核心API, 还会通过 Node.js 来搭建一个消息服务器。课程内容从摄像头获取视频通过 RTCPeerConnection 传输视频流通过 RTCDataChannel 传输数据流配置信令服务来交换消息集成对等连接与信令服务拍照, 并...
2018-10-15 18:08:57 3483 1
翻译 WebRTC基础实践 - 1. WebRTC简介
WebRTC 是一个开源的实时通信项目, 主要目标是对Web/原生App平台上的语音、视频、以及数据传输等实时通讯提供支持。WebRTC 主要包括以下 JavaScript API(点击链接可查看相关demo)。getUserMedia(): 获取用户设备的音频和视频.MediaRecorder: 录制音频和视频.RTCPeerConnection: 流式传输两个客户端之间的音频与视频....
2018-10-14 11:17:27 7519 1
原创 OOM终结者参数调优
内存溢出(Out of Memory,OOM), 是指计算机的所有可用内存(包括交换空间, swap space), 都被使用满了。 这种情况下, 默认配置会导致系统报警, 并停止正常运行. 当然, 将 /proc/sys/vm/panic_on_oom 参数设置为 0, 则告诉系统内核, 如果系统发生内存溢出, 就可以调用 oom_killer(OOM终结者)功能, 来杀掉最胖的那头进程(rog...
2018-05-27 11:56:54 7391 1
原创 配置catalina.out的日志格式
启动 Tomcat 时, catalina.out 中输出的日志格式可能不太理想。看看某些版本默认的格式:四月 24, 2018 6:49:32 下午 org.apache.catalina.startup.Catalina start信息: Server startup in 9772 ms有点别扭, 想要调整成下面的格式:24-Apr-2018 18:52:16.13...
2018-05-07 19:27:33 9890
翻译 没有立场的专业人士最容易背锅
今天在tweet上看到一幅有趣的漫画: http://theoatmeal.com/comics/design_hell。说的是上级领导怎样坑死一个专业的设计师。 漫画很有趣, 而且在实际工作中也经常发生这种悲剧。到底是谁的锅 ?普通员工和专业人士的不同, 在于普通员工需要别人指挥着干活, 而专业人士能够为BOSS提供各种决策建议。招聘普通员工的关注点主要是执行能力, 要听指挥, 还能出活...
2018-03-07 20:08:25 2444 2
原创 spring发送Email-验证码-图片-附件-解决乱码
本文简要介绍如何通过Spring框架的支持,通过QQ邮箱来发送邮件,包括简单文本,附件、以及内联图片、HTML以及HTTP图片。spring-context-support很早就内置支持邮件发送。当然, 官方文档明确指出, 需要依赖 JavaMail 这个库。在这个年代, 我们很少自己搭建 smtp 服务器来发送邮件, 一般都是使用邮件提供商的服务。 例如 QQ邮箱, 企业邮箱...
2018-03-01 15:28:20 7072
原创 Java-根据IP统计访问次数
JSP根据IP统计访问次数本文简要介绍如何实现一个IP访问计数器。为了简单, 使用 JSP 来实现, 但读者需要明白, Java代码可以在到处运行。示例Demo页面: http://www.cncounter.com/test/counter.jsp返回JSON: http://www.cncounter.com/test/counter.jsp?format=json清空本I...
2018-02-09 15:08:39 8024 1
翻译 5.3 Java Web应用目录结构
web模块, 也就是 Servlet 规范中的web应用。在Java EE架构中, web模块(web module) 是最小的web部署单元。 其中包含web组件以及静态资源; 如图片之类的静态资源也被称为 web资源。 除web组件和web资源以外, web模块中还可以包含其他文件, 例如服务端运行所需的工具类,JAR 包等等。web模块有特定的结构。顶层目录对应Web应用的 docu
2018-01-21 21:48:11 2905
翻译 Java正则系列: (2)量词
翻译说明 greedy: 贪婪型, 最大匹配方式; reluctant: 懒惰型, 最小匹配方式; possessive: 独占型, 全部匹配方式; 也翻译为[支配型]; 这3种量词, 是修饰量词的量词, 可以理解为正则格式重复的匹配类型。量词量词(Quantifier)用来指定某部分正则所重复的次数。为了方便,本文分别介绍 Pattern A
2018-01-11 00:08:27 1892
翻译 Java正则系列: (1)入门教程
本文简要介绍Java的正则表达式及其实现方式,并通过实例讲解正则表达式的具体用法。1. 正则表达式1.1. 简介正则表达式(Regular Expression), 简称 正则, 也翻译为 正规式, 用来表示文本搜索模式。英文缩写是 regex(reg-ex). 搜索模式(search pattern)可能多种多样, 如, 单个字符(character), 特定字符串(f
2018-01-03 02:04:04 3367 1
原创 Java技巧: 根据网址/域名查询DNS/IP地址
需求: 给定一个URL地址, 例如: http://www.cncounter.com/tools/shorturl.php, 解析对应的IP地址和端口号。 说明: 本文不涉及底层的 DNS 协议, 直接使用Java平台提供的API进行操作。DNS也就是 Domain Name Service,即 域名服务。我们知道, Java中与网址有关的类包括 java.net.URL 和 ...
2017-12-05 16:48:58 6496 4
原创 SpringMVC懒加载与自动初始化
因为加载速度大多较快,所以多数应用都没配置该参数。 但对于调用量较小的纯API来说可能就会有一些影响。`load-on-startup` 配置一般是大于0的数值,表示启动顺序。 如果相同,则表明这两个Servlet启动顺序随意。
2017-12-05 15:08:45 5148 1
翻译 Redis安全注意事项
本文简要介绍 Redis 安全相关的话题, 包括: Redis访问控制机制、Redis源码安全性, 外部输入可能触发的恶意攻击, 以及其他相关问题。
2017-11-30 20:30:54 4716
原创 MongoDB中对数组元素进行查询
查询MongoDB中根据数组子元素进行匹配,有两种方式。使用 “[数组名].[子元素字段名]” 的方式进行匹配。使用 “[数组名]” $elemMatch { [子元素字段名] }的方式。不同点在于所匹配的主体不同。“[数组名].[子元素字段名]” 的方式匹配的主体为 “[数组名]”, 适用于单个条件,如果是多个条件, 则变成数组子元素之间的“或”运算。请看示例:假设...
2017-10-23 16:28:01 37798 5
翻译 OutOfMemoryError系列(8): Kill process or sacrifice child
一言不合就杀进程。。。我们知道, 操作系统(operating system)构建在进程(process)的基础上. 进程由内核作业(kernel jobs)进行调度和维护, 其中有一个内核作业称为 “Out of memory killer(OOM终结者)”, 与本节所讲的 OutOfMemoryError 有关。
2017-10-09 00:54:37 23044
翻译 OutOfMemoryError系列(7): Requested array size exceeds VM limit
Java平台限制了数组的最大长度。各个版本的具体限制可能稍有不同, 但范围都在 `1 ~ 21亿` 之间。如果程序抛出 `java.lang.OutOfMemoryError: Requested array size exceeds VM limit` 错误, 就说明想要创建的数组长度超过限制。
2017-10-07 16:23:03 21561
翻译 OutOfMemoryError系列(6): Out of swap space?
错误信息 java.lang.OutOfMemoryError: Out of swap space? 表明, 交换空间(swap space,虚拟内存) 不足,是由于物理内存和交换空间都不足所以导致内存分配失败。
2017-09-29 19:15:56 4480
翻译 OutOfMemoryError系列(5): Unable to create new native thread
更多的情况, 触发创建 native 线程时的OutOfMemoryError, 表明编程存在BUG. 比如, 程序创建了成千上万的线程, 很可能就是某些地方出大问题了 —— 没有几个程序可以 Hold 住上万个线程的。
2017-09-25 19:27:27 26443 1
翻译 OutOfMemoryError系列(4): Metaspace
java.lang.OutOfMemoryError: Metaspace 错误所表达的信息是: 元数据区(Metaspace) 已被用满
2017-09-22 11:46:46 35809 9
翻译 OutOfMemoryError系列(3): Permgen space
本文通过实例介绍JDK7及之前的OutOfMemoryError: Permgen spaceJVM限制了Java程序的最大内存使用量, 可以通过启动参数来配置。各内存池的最大值, 由JVM启动参数 -Xmx 和 -XX:MaxPermSize 指定. 如果没有明确指定, 则根据操作系统平台和物理内存的大小来确定。
2017-09-15 17:48:45 10871 6
翻译 5. 应用服务器与微服务 - JavaEE基础系列
本文是JavaEE基础系列的第五节。Microservices(微服务) 是当今世界最火爆的软件架构。相比早期的软件工程, 微服务已经变成了一种新的 面向服务的架构(SOA) 。本质上, 微服务是将系统拆分成多个不同的组件, 互相之间协调组织成为一个整体。
2017-09-07 18:46:06 2626
翻译 OutOfMemoryError系列(2): GC overhead limit exceeded
Java运行时环境内置了 垃圾收集(GC) 模块. 上一代的很多编程语言中并没有自动内存回收机制, 需要程序员手工编写代码来进行内存分配和释放, 以重复利用堆内存。在Java程序中, 只需要关心内存分配就行。如果某块内存不再使用, 垃圾收集(Garbage Collection) 模块会自动执行清理。GC的详细原理请参考 GC性能优化 系列文章, 一般来说, JVM内置的垃圾收集算法就能够应对绝大多数的业务场景。
2017-08-25 19:16:09 194153 5
原创 Word-docx文件图片信息格式分析
本文为笔记、仅作参考。 前文为: 用FreeMarker生成Word文档。现在新需求来了,导出的Word文档中、需要包含图片。大致的处理流程为:解析导出信息、将 <img ... src="xxx" ...> 抽取出来。 替换为 [img[xxxIdInt]];替换 HTML 标签;将 [img[xxxIdInt]] 格式的字符串、使用XML标签替换回去。
2017-08-22 16:20:38 6651
翻译 配置Redis作为缓存
将 Redis 用作缓存时, 如果内存空间用满, 就会自动驱逐老的数据。 默认情况下 memcached 就是这种方式, 大部分开发者都比较熟悉。LRU是Redis唯一支持的回收算法. 本文详细介绍用于限制最大内存使用量的 maxmemory 指令, 并深入讲解 Redis 所使用的近似LRU算法。
2017-08-15 19:00:52 6869
翻译 Server JRE 简介
Server JRE 适用于哪些情况呢? 从一个服务器端程序的角度看, JRE缺少了所需的监控工具,以及 javac 编译器. 而 JDK 呢, 功能又太多了, 特别是生产环境下并不需要的功能, 比如浏览器插件,自动更新, javadoc 工具等等。
2017-07-31 14:20:49 7711
翻译 OutOfMemoryError系列(1): Java heap space
本文通过实例来分析 java.lang.OutOfMemoryError: Java heap space 问题产生的原因, 以及相关的解决方案
2017-07-29 19:31:14 108478 16
原创 前端构建工具-fis3使用入门
本文主要介绍前端构建工具-fis3 如何使用。FIS3 是面向前端的工程构建工具。解决前端工程中性能优化、资源加载(异步、同步、按需、预加载、依赖管理、合并、内嵌)、模块化开发、自动化工具、开发规范、代码部署等问题。
2017-07-10 16:01:08 3023
翻译 4. 什么是应用服务器? - JavaEE基础系列
我们知道, 每个JSR都必须有参考实现。Java EE 也是一样的, 它的实现被称为 应用服务器 (application server). 应用服务器本质上是Java EE规范的具体实现, 可以执行/驱动 JavaEE 项目. Java EE 的参考实现是 Glassfish Application Server。
2017-07-07 15:27:36 2736
翻译 3. 什么是JSR参考实现? - JavaEE基础系列
JSR需要有某种形式的实现, 或者说开发人员能直接使用的某种具现。这就是参考实现(Reference Implementation)的概念。JCP规定, 每个JSR都必须有参考实现, 和JSR文档打包在一起。 其具体实现, 公众可以自由使用, 一般和应用服务器打包在一起发布。
2017-07-02 11:17:54 4929
翻译 2.JSR简介 - JavaEE基础系列
每个JSR都是正式的、开放的标准文档, 由个人或组织提交给 Java Community Process 进行审议, 其中包括对Java技术平台的修改(changes),补充(additions)和改进(improvements)。
2017-07-01 16:58:50 3341 1
原创 Tomcat 启动速度优化
本文简单介绍如何让 Tomcat 更快启动, 同时提供一些建议。我们碰到过JVM被卡了200多秒的情况, 所以才翻译了这篇文章, 【MAVEN的某些插件也可能依赖 `SecureRandom`】。在新买的Linux服务器上部署了多个 Tomcat 实例时, 结果启动耗时超过了200秒,经检查就是默认使用阻塞式熵源的原因。
2017-04-27 20:36:19 8691
原创 class文件魔数CAFEBABE的由来
当时, 这个魔数并没有什么特别的意义, 也看不出来有什么重要的, 或许很快就会消失在历史中。所以 CAFEBABE 成为 class 文件的魔数, CAFEDEAD 成为持久对象的魔数. 但没多久持久化对象(persistent object)技术真的消失了, 就如同魔数 CAFEDEAD 所蕴含的一样 —— 后来用的是RMI技术。
2017-04-09 22:38:01 18834
翻译 6. GC 调优(工具篇) - GC参考手册
进行GC性能调优时, 需要明确了解, 当前的GC行为对系统和用户有多大的影响。有多种监控GC的工具和方法, 本章将逐一介绍常用的工具, 以及如何获取原生数据。 后续的章节将对重要的派生指标(derived metrics)展开讨论, 并引入GC性能相关的话题。
2017-02-23 18:56:02 14144 1
原创 5. GC 调优(基础篇) - GC参考手册
GC调优(Tuning Garbage Collection)和其他性能调优是同样的原理。初学者可能会被 200 多个 GC参数弄得一头雾水, 然后随便调整几个来试试结果,又或者修改几行代码来测试。其实只要参照下面的步骤,就能保证你的调优方向正确
2017-02-14 17:41:49 12209 3
翻译 4. GC 算法(实现篇) - GC参考手册
学习了GC算法的相关概念之后, 我们将介绍在JVM中这些算法的具体实现。首先要记住的是, 大多数JVM都需要使用两种不同的GC算法 —— 一种用来清理年轻代, 另一种用来清理老年代。我们可以选择JVM内置的各种算法。如果不通过参数明确指定垃圾收集算法, 则会使用宿主平台的默认实现。本章会详细介绍各种算法的实现原理。
2017-02-05 23:58:36 17376 6
JavaClassViewer-2.0.4_理解class文件结构
2018-08-15
Java虚拟机规范_第9版_PR_EN
2017-05-11
Java语言规范_第9版_PR_EN
2017-05-11
身份证图像识别_OCR_调研文档
2017-02-20
gcviewer_1.3.4_执行程序与示例
2017-02-13
超实用超强悍Win工具集_SysinternalsSuite
2016-07-02
鼠标移到菜单上弹出二级菜单特效
2016-04-12
最新行政区划编码数据库脚本
2015-06-16
G1垃圾收集器入门
2015-01-01
TortoiseGit-1.8中文版与Git安装包_手册
2014-11-27
Tomcat6_优化_方案
2014-11-06
Axure_RP_Pro_6.5简体中文稳定版_Win32
2014-10-22
TortoiseSVN_1.8.8_中文版_软件_手册_32_64
2014-09-24
Oracle的JDBC驱动官方完全版
2014-08-21
Polymer布局元素Demo
2014-08-02
Chart.js_饼状图添加文字
2014-03-26
脚本娃娃_Ext4.1.0_Doc中文_单文件_V1.0.0_Beta
2014-02-08
LoadRunner资料
2013-12-10
httpclient下载文件
2013-11-19
在线客服-群聊功能-网页版
2012-09-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人