自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

转载 Android 常用路径的获取

Android 常用路径的获取一些常用路径如下:路径方法权限描述应用内部存储缓存目录context.getCacheDir()无需申请权限内部使用,外部程序无法访问卸载应用时删除系统空间不足时可能会删除应用内部存储文件目录context.getFileDir()无需申请权限内部使用,外部程序无法访问。卸载应用时删除。应用内部存储数据库目录context.getDatabasePath()无需申请权限内部使用,外部程序无法访问。主要是 SQLite 数

2021-07-05 09:28:16 1351

原创 YUV 比例理解

红框:4:4:4,4:2:2,4:1:1 以四个像素理解如4:2:2,即四个像素中,Y(亮度)占4,Cr Cb各占2蓝框4:2:0,以八个像素理解,每个像素都有亮度,其中一行有两个Cr,一行有两个Cb如上图中所示,左侧一列,每一个小矩形是图形像素表示,黑框矩形是色度像素表示,小黑点是表示色度像素值(Cb+Cr),表示图形像素和色度像素在水平和垂直方向的比例关系。比如,4:4:0 水平方向是1/1,垂直方向是1/2,表示一个色度像素对应了两个图形像素。4:2:2 水平方向是1/2,垂直方向是1/.

2021-03-08 09:29:33 454

原创 webrtc-Andorid实现IM 包括文本、音视频、屏幕共享

本来是想封装一个Webrtc的库的,奈何写到一半,发现有些逻辑不对,说到底还是火候不够= =。代码就不贴了,直接看结果。服务端是就是一个简单Spring Websocket程序,用来做信令交互。待有时间再来重新封装一下,感觉移动端webrtc未来可期啊,5G时代,端对端的音视频还是很有潜力开发的。...

2021-01-29 15:41:56 532 4

原创 UDP RTP包,H264 分析

1.使用wireshark 将抓到得晚包转码为RTP1.1 如下为UDP一个包对应说明2.RTP包相关说明2.1 RTP头说明当前项目定义荷载H264的PT为98,一般情况PT=96 为H2643.H264 解析我们平时的每帧数据就是一个NAL单元,在实际的H264数据帧中,往往帧前面带有00 00 00 01 或 00 00 01分隔符,一般来说编码器编出的首帧数据为SPS与PPS,接着为I帧。上图截取的码流00 00 00 01后面,有三个值,分别是67 68 65.

2020-12-29 15:11:10 828

原创 CA、TLS双向认证

1.名词解释TLS:传输层安全协议 Transport Layer Security的缩写CA 证书颁发机构(CA, Certificate Authority)即颁发数字证书的机构。CSR 是Certificate Signing Request的缩写,即证书签名请求,这不是证书,可以简单理解成公钥,生成证书时要把这个提交给权威的证书颁发机构。CRT 即 certificate的缩写,即证书。CER 是证书的公钥。JKS 是JAVA的keytools证书工具支持的证书私钥格式。PFX 是微

2020-12-21 11:37:56 1424

原创 Andorid利用Keystore进行 AES,RSA生成加解密,生成证书CSR文件

安卓密钥库系统1. AES1.1 生成AES并保存至KeyStore private static final String ANDROID_KEY_STORE = "AndroidKeyStore"; private static final String KEY_ALIAS = "PqSawSecret"; private static SecretKey createKeyStoreEntry() { try {

2020-12-10 17:31:58 1562

原创 Android Navigation 使用总结

Navigation 使用入门

2020-12-04 11:31:12 4202 3

原创 位运算详解与其用途

1.位运算起源位运算起源于C语言的低级操作,Java的设计初衷是嵌入到电视机顶盒内,所以这种低级操作方式被保留下来。所谓的低级操作,是因为位运算的操作对象是二进制位,但是这种低级操作对计算机而言是非常简单直接,友好高效的。在简单的低成本处理器上,通常位运算比除法快得多,比乘法快几倍,有时比加法快得多。虽然由于较长的指令流水线和其他架构设计选择,现代处理器通常执行加法和乘法的速度与位运算一样快,但由于资源使用减少,位运算通常会使用较少的功率,所以在一些Java底层算法中,巧妙的使用位运算可以大量减少运行开销

2020-11-16 14:49:38 2751

原创 Spark 流(微批)处理(4)

Spark Streamingdef main(args: Array[String]): Unit = { // 1. 创建 Context val conf = new SparkConf() .setAppName("updateStateBykey") .setMaster("local[6]") val ssc = new StreamingContext(conf, Seconds(1)) ssc.sparkContext.setLogL

2020-10-29 08:55:23 443

原创 Spark SQL(3)

SparkSQL 适用场景1.1 命令是APIcase class People(name: String, age: Int)val spark: SparkSession = new sql.SparkSession.Builder() .appName("hello") .master("local[6]") .getOrCreate()import spark.implicits._val peopleRDD: RDD[People] = spark.sp

2020-10-28 14:44:16 173

原创 Spark RDD(2)

Spark core Insight目标深入理解 RDD 的内在逻辑能够使用 RDD 的算子理解 RDD 算子的 Shuffle 和缓存理解 RDD 整体的使用流程理解 RDD 的调度原理理解 Spark 中常见的分布式变量共享方式1. 深入 RDD目标深入理解 RDD 的内在逻辑, 以及 RDD 的内部属性(RDD 由什么组成)1.1. 案例需求给定一个网站的访问记录, 俗称 Access log计算其中出现的独立 IP, 以及其访问的次数val config =

2020-10-22 17:27:08 362

原创 Spark介绍-Spark Core(1)

Spark Core全阶段目标理解 Spark 的特点和作用能够完成 Spark 的集群搭建和安装通过入门案例理解 Spark 的编程模型 RDD了解 RDD 的常见使用1. Spark 概述目标Spark 是什么Spark 的特点Spark 生态圈的组成1.1. Spark是什么目标了解 Spark 的历史和产生原因, 从而浅显的理解 Spark 的作用Spark的历史2009 年由加州大学伯克利分校 AMPLab 开创2010 年通过BSD许可协议开源发布2

2020-10-22 17:23:27 2449

原创 Neo4j CRUD 常用命令

Neo4j CRUD 常用命令增# 创建一个标签create (a:Animal);# 创建一个节点、标签,并赋予属性create (p:pig{name:'Peppa',age:3,like:'juice'}# 创建一个节点多个标签,并赋予属性create (:Animal:pig{name:'George ',age:1,like:'cake'})# 创建多个节点create (d:pig{name:"Pig Dad",age:12}),(m:pig{name:"Pig Mom",a

2020-10-16 17:03:50 417

原创 Hadoop学习-MapReduce(2)

Hadoop-Mapreduce1. MapReduce 介绍MapReduce思想在生活中处处可见。或多或少都曾接触过这种思想。MapReduce的思想核心是“分而治之”,适用于大量复杂的任务处理场景(大规模数据处理场景)。Map负责“分”,即把复杂的任务分解为若干个“简单的任务”来并行处理。可以进行拆分的前提是这些小任务可以并行计算,彼此间几乎没有依赖关系。Reduce负责“合”,即对map阶段的结果进行全局汇总。MapReduce运行在yarn集群ResourceManagerNod

2020-09-29 11:24:18 243

原创 Hadoop学习-HDFS(1)

Hadoop 核心-HDFS1. HDFS概述###1.1 介绍在现代的企业环境中,单机容量往往无法存储大量数据,需要跨机器存储。统一管理分布在集群上的文件系统称为分布式文件系统 。​ HDFS(Hadoop Distributed File System)是 Apache Hadoop 项目的一个子项目. Hadoop 非常适于存储大型数据 (比如 TB 和 PB), 其就是使用 HDFS 作为存储系统. HDFS 使用多台计算机存储文件, 并且提供统一的访问接口, 像是访问一个普通

2020-09-29 11:15:15 171 1

原创 Hadoop、HDFS、MapReduce、Habse、Spark、Yarn是干什么的?

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),其中一个组件是HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDF.

2020-09-21 10:20:07 689

原创 Java 线程池 ExecutorService 相关

// 创建出一个数组 List<String> strList = Arrays.asList("YangHang", "AnXiaoHei", "LiuPengFei"); strList.forEach(System.out::println);1. newSingleThreadExecutor创建只有一个线程的线程池,且线程的存活时间是无限的;当该线程正繁忙时,对于新任务会进入阻塞队列中(无界的阻塞队列);通俗创建只有一个线程的线程池,且线.

2020-09-07 14:40:15 127

原创 ftp 部署,常见命令,无法上传、新建文件解决

安装#安装ftp服务yum install vsftpd -y#禁用防火墙或者开启21 3000 端口systemctl stop firewalld# ftp 服务启动、停止、重启systemctl start vsftpd.service(service vsftpd start)systemctl stop vsftpd.service(service vsftpd stop)systemctl restart vsftpd.service(service vsftpd restart

2020-09-01 17:32:08 2251

原创 Kakfa安装使用,springboot封装

资源下载apache 资源库,包含kafka和zookeeper,也可去官网下载安装zookeeper安装kafka安装使用启动安装配置完成,先启动zookeeper然后后台启动kakfa。./bin/kafka-server-start.sh config/server.properties &partions和replication-factor参数的理解简单shell命令# 创建 副本为1 分区为1 名为 test 的主题bin/kafka-topics.sh --

2020-09-01 14:41:09 136

原创 Hbase 常用 Shell 命令

Hbase 常用 Shell 命令一、基本命令        1.1 获取帮助        1.2 查看服务器状态        1.3 查看版本信息二、关于表的操作       &nb

2020-08-19 15:24:10 262

原创 Springboot实现ElasticSearch全文模糊搜索(3)

Pom文件<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency>

2020-08-11 15:36:51 1129

原创 Elasticsearch,Kibana 常用命令(2)

1. 查看节点信息GET _cat/nodes?v2.索引2.1创建test_kibana 索引//number_of_shards 主分片数//number_of_replicas 副分片数PUT /test_kibana{ "settings": { "number_of_shards" : 1 "number_of_replicas" : 0 }}等同于curl -XPUT "http://192.168.0

2020-08-10 11:50:06 1107

原创 Elasticsearch安装及常见问题解决,Kibana 安装(1)

下载Elasticsearch官网地址:https://www.elastic.co/本文下载的版本为6.8.6解压安装Elasticsearch进入es目录启动es注意:es启动之后啊,会绑定两个端口,9200和9300.bin/elasticsearch注意: 这样启动只能通过 127.0.0.1:9200 访问修改为内网能访问建议修改 es 的配置文件 (一般建议这种)vi config/elasticsearch.ymlnetwork.host: 你的本机ip(19

2020-08-10 09:51:53 430

原创 NDK开发,CMake生成自定义so包,用JNI调用so

简单了解NDK开发,先生成一个动态库,然后另一个项目调用。生成自定义自己的so包。1. 创建 ‘MakeSoLib’ Android c++项目2.编写自定义so包的方法#include <jni.h>#include <string>extern "C" std::string stringFromLib(){ return "String from Lib!";}3. 编译项目 Build-Make Project如图所示,build文件夹生成了.

2020-07-27 17:53:52 489 2

原创 Koltin协程Coroutines进阶,初步替代Rxjava

可以先看这篇入门教程Koltin协程,Coroutines入门**Rxjava就不说了,毋庸置疑很强大,但是用起来很繁琐,从大型社区的关注度可以看出也在慢慢的退出历史舞台。Rxjava中提供大量的操作符,对于初学者来说使用起来颇为复杂,下面我们来试试怎么用Coroutines来替代使用Rxjava操作符。异步回调先看看java里面,线程怎么实现的。Rxjava不做说明,请自行了解,不了解也无妨,我们有更好的解决方案public class MyThread implements Runnabl.

2020-07-23 10:52:39 914

原创 使用Assembly打包Jar,可直接使用

Pom文件 <build> <resources> <resource> <directory>${project.basedir}/src/main/resources</directory> <filtering>true</filtering> <excludes>

2020-07-21 14:47:28 1557

原创 Android RelativeLayout 代码实现居中,目标View左右侧

阿斯顿

2020-07-21 14:41:47 1139

原创 AndoridStudio常用操作

快捷键Ctrl+E同时按下Ctrl+E快捷键,弹出最近打开文件列表,可以快速选择最近曾经打开的文件。Ctrl+J同时按下Ctrl和J快捷键,弹出快捷代码框。Ctrl+F12:在类中方法比较多的情况下,同时按下Ctrl和F12键可以快速查看类中所有的方法。Ctrl+Alt+T选中一块代码,同时按下Ctrl、Alt和T键,弹出“包裹”弹出框。提取局部变量:Ctrl+Alt+V提取全局变量:Ctrl+Alt+F提取方法:Shit+Alt+M查找类名Ctrl+N设置头增加新

2020-07-20 09:59:06 194

原创 Java日期 SimpleDateFormat,Calander使用

使用 public static void main(String[] attr) { try { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time1 = dateFormat.format(new Date()); System.out.println("当前时间1:" + time1);

2020-07-20 09:42:48 252

原创 Kotlin 常用语法

条件控制 whe when(i){ 1->doSomething() 2,3->doSomething() 4->{ doSomething() } else->doSomething() }数组写法 var intArray = arrayListOf(1,2,3) var strArray =

2020-07-17 17:32:08 275

原创 Android 颜色透明度转换, 实际效果

透明度十六进制100%FF95%F290%E685%D980%CC75%BF70%B365%A660%9955%8C50%8045%7340%6635%5930%4D25%4020%3315%2610%1A5%0D

2020-07-17 15:24:45 757

原创 Mysql 安装 开机自动启动,常见问题

安装获取mysql 资源库安装前准备检查是否已经安装过mysqlrpm -qa | grep mysql卸载(–nodeps 强制卸载)rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64查询所有Mysql对应的文件夹并清除whereis mysqlfind / -name mysql检查mysql用户组和用户是否存在,如果没有,则创建cat /etc/group | grep mysqlcat /etc/passwd |grep mysq

2020-07-16 11:57:37 533

原创 Ceph块存储使用

创建块设备映像{pool-name}/{image-name}创建存储池ceph osd pool create mypool 128#创建映像到存储池下rbd create --size 1024 mypool/myimage --image-feature layering#查看存储池rbd ls mypool#查看映像属性rbd info mypool/myimage映射块设备#映射到块设备rbd map mypool/myimage --id admin查看映射的块设备r

2020-07-16 11:55:38 619

原创 Ceph-deploy安装

ceph安装文档1、安装ntp我们建议在所有 Ceph 节点上安装 NTP 服务(特别是 Ceph Monitor 节点),以免因时钟漂移导致故障,详情见时钟。sudo yum install ntp ntpdate ntp-doc// yum -y install ntpdate ntpntpdate ntp.aliyun.comvim /etc/ntp.confserver ntp1.aliyun.com iburstsystemctl restart ntpd2、安装 SSH 服务器

2020-07-16 11:55:09 1466

原创 Ceph-PG常见状态说明

(1)Active:当前拥有最新状态数据的pg正在工作中,能正常处理来自客户端的读写请求。(2)inactive:正在等待具有最新数据的OSD出现,即当前具有最新数据的pg不在工作中,不能正常处理来自客户端的读写请求。(3)Clean:PG所包含的object达到指定的副本数量,即object副本数量正常。(4)Unclean:PG所包含的object没有达到指定的副本数量,比如一个PG没在工作,另一个PG在工作,object没有复制到另外一个PG中。(5)Peering:PG所在的OSD对PG中的

2020-07-16 11:54:16 1258 1

原创 Ceph 命令 pool image 纠删

查看所有存储池rados lspools查看pool中队中rados -p poolname ls查看集群空间使用情况rados df块设备列表rbd list创建imagerbd create --size 1024 mypool/myimage --image-feature layering查看池里面的imagerbd ls mypool查看image的详细信息rbd info mypool/myimageimage映射为块设备rbd map mypool/myimag

2020-07-16 11:53:17 895

原创 Linux操作基础命令全

1.常用1.返回到原来目录cd -2.查看目录下面的所有文件ls -la3.删除所有的xml类型的文件rm -rf *.xml4.重启网卡service network restart5.查询 mysqlfind / -name mysql6.結束yumrm -f /var/run/yum.pid7.查看端口netstat -nltp8.查看所有java进程,不加不显示详情ps -ef|grep java9.查看文件详情stat a.txt10.查看按

2020-07-16 11:49:11 138

原创 Koltin协程,Coroutines入门

什么是协程?官方描述:协程通过将复杂性放入库来简化异步编程。程序的逻辑可以在协程中顺序地表达,而底层库会为我们解决其异步性。该库可以将用户代码的相关部分包装为回调、订阅相关事件、在不同线程(甚至不同机器)上调度执行,而代码则保持如同顺序执行一样简单。协程就像非常轻量级的线程。线程是由系统调度的,线程切换或线程阻塞的开销都比较大。而协程依赖于线程,但是协程挂起时不需要阻塞线程,几乎是无代价的,协程是由开发者控制的。所以协程也像用户态的线程,非常轻量级,一个线程中可以创建任意个协程。协程很重要的一点就是

2020-07-16 11:45:11 164

原创 Linux下Jar指定配置文件运行脚本 sh(含screen版)

运行jar包优化方法一:java -jar xxx.jar && 表示后台运行,ssh窗口不被锁定,但是关闭窗口时,程序还是会退出优化方法二:nohup java -jar xxx.jar &nohup 表示不挂断运行命令行,当账号退出或关闭终端时,程序仍然运行当用 nohup 命令执行作业时,该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。优化方法三:nohup java -jar xxx.jar >/usr/local/t

2020-07-10 16:49:29 2160

webrtc_demo.rar

通过webrtc实现 文本、视频、屏幕共享。 包含 Android 代码与一个简易的websocket 服务端

2021-07-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除