草庐IT

【Java 线程系列】Java 天生就是多线程

作者:半身风雪上一篇:​​线程之间的共享和协作@​​TOC​​前言一、Java中的线程一个Java程序从main()方法开始执行,然后按照既定的代码逻辑执行,看似没有其他线程参与,但实际上Java程序天生就是多线程程序,因为执行main()方法的是一个名称为main的线程。publicstaticvoidmain(String[]args){//java虚拟机线程系统的管理接口ThreadMXBeanthreadMXBean=ManagementFactory.getThreadMXBean();//不需要获取同步的monitor和synchronizer信息,仅仅获取线程和线程堆栈信息Thr

Android平台音视频RTMP推送|GB28181对接之动态水印设计

技术背景随着移动单兵、智能车载、智慧安防、智能家居、工业仿真、GB28281技术对接等行业的发展,现场已经不再限于采集到视频数据编码打包发送或对接到流媒体服务端,大多场景对视频水印的要求越来越高,从之前的固定位置静态文字水印、png水印等慢慢过渡到动态水印需求。本文以Android平台采集摄像头数据为例,通过类似于PhotoShop图层的形式,添加不同图层,编码实现动态水印的效果。废话不多说,先上个效果图,Android采集端获取到摄像头数据后,分别展示了实时时间水印、文字水印、png水印、文字水印二,所有水印均支持动态设置,可满足传统行业如实时时间戳叠加、动态经纬度设定、pnglogo等场景

Flutter中设置Android的应用名称和图标(android,ios,web)#yyds干货盘点#

这里是坚果前端小课堂,大家喜欢的话,可以关注我的公众号“坚果前端,”,或者加我好友,获取更多精彩内容在前面的几期给大家介绍了flutter的安装以及一些简单的配置,还运行了helloword那么接下来就带领大家了解如何设置应用名称以及图标Flutter设置App的应用名字和应用logo图标的方法,知识点虽然简单,但是不知道这个知识点就不行,所以还是要记录下来,分享一下。其实,Flutter设置App的应用名称和图标是要分开来操作的,Android和iOS是分开设置对应的App名称和图标的,这一点一定要注意。也可以把Android和iOS的应用名称和图标分开设置,可以设置不一样,但是毕竟一个Ap

庖丁解牛之Android平台RTSP|RTMP播放器设计

​背景我们在做Android平台RTSP或者RTMP播放器开发的时候,需要注意的点非常多,以下,以大牛直播SDK(​​官方​​)的接口为例,大概介绍下相关接口设计:接口设计1.Open()接口Open接口的目的,主要是创建实例,正常返回player实例句柄,如有多路播放诉求,创建多个实例即可。/***InitializePlayer(启动播放实例)**@paramctx:getbythis.getApplicationContext()**Thisfunctionmustbecalledfirstly.**@returnplayerhandleifsuccessful,ifreturn0,wh

#yyds干货盘点#dart基础之List

循环遍历List中的数据///代码清单1-1ListtestList=["test1","xioming","张三","xioming","张三","李四"];///方式一遍历获取List中的所有数据testList.forEach((value){//value就是List中对应的值});///方式二遍历获取List中的所有的数据for(inti=0;iList数据转Map数据///代码清单1-2ListtestList=["test1","xioming","张三","xioming","张三","李四"];print(testList);//[test1,xioming,张三,xiomi

微信小程序开发--获取用户手机号码

 1、背景在平时使用第三方微信小程序时,经常会有需要获取微信手机号码的情况,如下图所示:​那这种是怎样实现的呢?下面记录下获取微信手机号码的方法。备注:需要有一个微信小程序号,并且这个号是经过企业认证的。(获取手机号码的功能不对个人小程序号生效)那下面我们就一起开始,获取手机号码的编程之旅了。2、代码实现2.1新建工程在app.json文件中新增    "pages/getphonenumber/getphonenumber",如下图所示:​2.2准备密文解析工具类通过微信小程序提供的接口获取手机号码,返回的数据是加密的,所以需要对返回的加密数据进行解密。1) 新建终端在微信开发者工具中,点击

MySQL备份迁移之mydumper

本文笔者示例中的mydumper版本为 mydumper0.9.1。简介mydumper是一款开源的MySQL逻辑备份工具,主要由C语言编写。与MySQL自带的mysqldump类似,但是mydumper更快更高效。mydumper的一些优点特性:轻量级C语言开发支持多线程备份数据,备份后按表生成多个备份文件支持事务性和非事务性表一致性备份支持将导出的文件压缩,节约空间支持多线程恢复支持已守护进程模式工作,定时快照和连续二进制日志支持按指定大小将备份文件切割数据与建表语句分离下载安装安装方式非常多,以下介绍几种常见的方式。Ubuntu中自带了myloadersudoapt-getinstall

为什么不建议给MySQL设置Null值?《死磕MySQL系列 十八》

大家好,我是咔咔​​不期速成,日拱一卒​​之前ElasticSearch系列文章中提到了如何处理空值,若为Null则会直接报错,因为在ElasticSearch中当字段值为null时、空数组、null值数组时,会将其视为该字段没有值,最终还是需要使用​​exists​​或者​​null_value​​来处理空值大多数ElasticSearch的数据都来自于各类数据库,这里暂且只针对于MySQL,各个开源软件中都默认兼容各种Null值,空数组等等若从根源上截断就可以省很多事,直到现在很多开发小伙伴还是坚韧不拔的给字段的默认值还是​​Null​​本期就来聊一聊为什么不建议给字段的默认值设置为​​N

MySQL对JOIN做了那些不为人知的优化

大家好,我是咔咔​​不期速成,日拱一卒​​通过上期文章知道了在MySQL中存在三种join的算法,分别为​​NLJ、BNLJ、BNL​​,总结来说分为索引嵌套循环连接、缓存块嵌套循环连接、粗暴循环连接。另外还知道了一个新的概念​​join_buffer​​,作用就是把关联表的数据全部读入join_buffer中,然后从join_buffer中一行一行的拿数据去被驱动表中查询。由于是在内存中获取数据,因此效率还是会有所提升。同时在上期文章中遇到了一个陌生的概念hash_join,在上期中没有详细说明,本期会进行详述。一、Multi-RangeRead优化在介绍本期主题时先来了解一个知识点​​Mu

#yyds干货盘点# MySQL的普通索引和唯一索引到底什么区别?

1概念区分普通索引V.S唯一索引普通索引可重复,唯一索引和主键一样不能重复。唯一索引可作为数据的一个合法验证手段,例如学生表的身份证号码字段,人为规定该字段不得重复,那么就使用唯一索引。(一般设置学号字段为主键)主键V.S唯一索引主键保证DB的每一行都是唯一、不重复,比如身份证,学号等,不重复。唯一索引的作用跟主键一样。但在一张表里面只能有一个主键,不能为空,唯一索引可有多个。唯一索引可有一条记录为null。比如学生表:在学校,一般用学号做主键,身份证号作为唯一索引在教育局,就把身份证号弄成主键,学号作为唯一索引所以选谁做主键,取决于业务需求。2案例某居民系统,每人有唯一身份证号。若系统要按身