自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (3)
  • 问答 (2)
  • 收藏
  • 关注

转载 VLC接受鼠标事件

libvlc_video_set_mouse_input(media_player, 0);libvlc_video_set_key_input(media_player, 0);原文地址

2021-11-22 16:37:48 605

原创 Windows编写bat批处理脚本定时检查进程是否存在,不存在则启动

脚本@echo off:looptasklist | find "gbcollection.exe"if errorlevel == 1 call "gbcollection.exe"timeout /T 3goto loop后台运行将以下代码放置在 @echo off下面if "%1"=="hide" goto CmdBeginstart mshta vbscript:createobject("wscript.shell").run("""%~0"" hide",0)(

2021-08-03 15:55:06 3526

原创 cgo如何调用c++库

将c++代码打包成静态库,再通过cgo调用,一直链接不上。起初以为是cgo只能用gcc,而我的静态库是是用g++编译的,其实不然。cgo调用c++库,只需要在cpp源代码 include 头文件的时候,加上 extern "C" 就行了。是啊,c++ 代码,因为重载函数等特性,会产生歧义,在编译的时候,编译器会修改函数名。然后cgo,再用gcc去链接头文件的函数,肯定就链接不到。。如果出现c++ 链接失败的问题,尝试加上 -lstdc++添加 extern "C"未添加 extern

2021-07-13 11:57:57 1539

原创 Golang毫秒值转时间格式化

在Golang 中格式化时间,需要使用 2006-01-02 15:04:05来格式化,没错这就是格式化的标准模板之一,不支持使用类似yyyy-MM-dd HH:mm:ss这样的Pattern来格式化。但是支持unix时间(1970-01-01 00:00:00距今的时间差)转换,使用方法如下://sec 距离1970-01-01 00:00:00的秒值//nsec 距离1970-01-01 00:00:00的纳秒值,精度更高time.Unix(sec int64, nsec int64) //使

2021-07-06 12:13:52 4148

原创 JT808模拟客户端压力测试工具

下载地址:https://github.com/yangjiechina/jt808client运行效果:

2020-07-08 16:11:53 4605 3

原创 安防监控平台技术总结

  2017年刚参加工作,项目中就用到了摄像头。内网用rtsp拉流可以通,外网行不通,当时一直研究怎么穿透网络,最后根据客户的情况,选择了比较麻烦的一种方案:  客户门店使用电信宽带拨号上网,路由器绑定在锐捷平台。在路由器上做好端口映射(映射NVR的web访问端口)。需要观看的时候,登陆锐捷的平台得到路由器的外网地址,再访问NVR。当然这样做弊端很多:穿透率低,拨号上网不一定能分配到公网...

2020-03-09 11:22:27 1413

原创 Android时使用jain-sip问题记录

java.lang.NoSuchMethodError: No virtual method setPathName(Ljava/lang/String其实 pathName 默认值就为 gov.nist,如果不设置,在解析SDP的时候会造成其他的问题。2.Attempt to invoke virtual method 'java.lang.Object java.util.Has...

2020-02-25 12:29:21 655

原创 Android中使用MediaMuxer录制MP4不能播放的问题总结

1. MediaMuxer.release()函数必须执行完毕否则MP4文件缺少moov_box,造成mp4无法播放。2. App被kill,关机,release()函数无法执行完毕被这个问题困扰了月许,期间尝试过:分析release()函数底层C/C++源码分析MP4文件,试图自行实现封装器;拦截ActivityThread里面的接受Activity生命周期的mHandler,提前...

2020-02-20 17:58:35 2436 1

原创 粗谈Java虚拟机5_垃圾回收

分代垃圾收集 堆中大部分的对象都是 朝生即死,典型的场景:在函数执行过程中产生的对象,在函数执行结束后,没有再被使用(引用)的对象已经没有任何的存在价值。为此,分代GC将堆内存进一步的划分为新生代和老生代两大块,从名字上就很好理解,新创建的对象必然是放在新生代,当新生代中的对象达到一定的年龄后便迁移到老年代,年龄随着每躲过一次GC便增长一岁。新生代中又划分出 1块Eden区、2块Survivo...

2019-08-08 00:11:10 172

原创 粗谈Java虚拟机4_执行引擎

栈帧 Java虚拟机栈 是程序执行所必须的数据结构,每个Java线程都有一个JVM栈, JVM栈中以栈帧为存储单元,栈帧中存储执行方法必要的局部表量表、操作数栈、动态链接、方法返回值等信息。每次调用方法都会创建一个新的栈帧,方法执行结束或退出,栈帧即消亡。JVM栈结构如下∶以下面代码为例,来分析栈帧的结构:public static int add(){ int a = 1; in...

2019-08-04 14:12:13 189

原创 粗谈Java虚拟机3_类加载机制

 加载类目的是为了使用,换作说使用类前,必须先加载该类。这点不难理解,一开始.class文件还静静的躺在磁盘里,而程序运行要在内存当中。读完上篇分析 class文件 的文章,照猫画虎手写 class字节流 还真能做到,真的是可以为所欲为,直接使用会带来很大的安全问题。所以由磁盘到内存只是第一步,到真真可以使用,还需要进行各种验证,准备等步骤,这一整套下来就是类加载机制,明白这一点,学习起来就容...

2019-08-02 00:06:37 193

原创 粗谈Java虚拟机2_Class文件分析

1. 前言class文件作为 JVM 的可执行文件,在可读性方面比 C语言 等直接编译成平台可执行文件的语言强太多,反编译class文件往往能够得到不错的效果。而一个类无论代码的多少,在结构上都大同小异。在源码级,类的结构由上而下大致为:当前类的包名路径、引用类的包名路径、当前类的信息(类名、父类、接口)、变量、方法、内部类/内部接口/枚举/注解等。Javac编译器也按照该顺序来编译源码。...

2019-07-30 16:26:16 358

原创 粗谈Java虚拟机1_开山篇

1. 前言 从学习Java的第一天开始,到如今工作当中,想必大家都耳闻目染了各种Java的优点。其中肯定少不了:Java有虚拟机,java是跨平台的,一次编译到处运行。在相当长的一段时间里对此观点都只是一个很模糊的概念,对自己写的代码也有一种吃不透的感觉。犹如一只拦路的大老虎,望而生畏,止步不前。一番思量,一日不解决掉,对技术难以有更深层次的理解,只好硬着头皮上。2. 不能跨平台的原因是怎...

2019-07-30 16:06:23 251

原创 Netty中注解使用Service或者Mapper

SpringBoot搭配Netty使用,在Handler中注解使用Service/Mapper 一直 为null。起初使用 SpringBoot启动类继承ApplicationContextAware,再写一个静态方法获取Bean来解决。放在服务器上跑了几个小时就出现了问题,好像是该方案造成的。另辟蹊径,再看网上给出的答案,因为 Handler 是 new出来的,不被Spring管理,所以注...

2019-03-08 10:05:48 3164 1

原创 ViewPage嵌套Fragment再嵌套RecyclerView,RecyclerView不能滑动或者滑动不全问题。

嵌套ViewPage的是ConstraintLayout,换成LinearLayout(其他布局应该也可以)就好了。很无奈。

2018-11-17 21:31:35 3909

原创 drawText位置对齐方式

在自定义View的时候使用drawText来绘制字符。drawText(String text, float x, float y,Paint paint)  默认情况根据参数x轴位置,从左至右绘制。以下为例,两条红线分别为View的x,y轴的中心线。通常可以设置Paint的TextAlign,让字符是从x轴的左边|中间|右边开始绘制文字。/**    LEFT    (...

2018-08-31 16:11:40 7717

原创 种一棵Android海康摄像机Demo的树

项目中有监控模块,准备使用海康的摄像机,方一运行所提供的Demo,就程序崩溃。 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.demo/com.test.demo.DemoActivity}: android.content.res.Resources$NotFoundException...

2018-08-27 18:09:10 1136 6

原创 Android中修改TabLayout下划线宽度(终极方案)

TabLayout搭配ViewPager用起来的确很爽,尴尬的是官方没有提供修改下划线长度的方法。造成了下划线长度和item的宽一样长。百度找到网上的方案,通过反射修改每个Item的Margin,Item变小了,随之下划线就变短了。尴尬的是当Item个数比较多而且Title字数较多的时候,文字就会换行。反射方法原文最终解决方法:1.先把TabLayout源码下来2.在TabLa...

2018-08-01 13:30:09 9192 8

原创 Java集合类ArrayList浅析

长久以来,ArrayList凭借着自生的存储结构优点以及简单好用的操作方法有着很高的曝光使用率。相信很多朋友都对ArrayList的优缺点倒背如流了,比如有序,访问元素速度快,插入和删除元素效率较慢等,本篇文章也会围绕着几点来分析说明,让大家从本质上来理解这一集合类。 开局一张图,剩下就全靠我编了。step1:创建集合添加元素大家都清楚ArrayList是基于数组来存储元素的。数...

2018-07-24 21:43:50 334

原创 Android中View绘制流程浅析

一个View,从无到有会走三个流程,也就是老生常谈的measure,layout,draw三流程;我们都知道Android视图是由一层一层构成的层级结构,直白点说,就是父View包含子View而子View又可以包含子View。所以绘制流程是由最外层的View开始,一步一步向内传递执行。而整个过程又是递归等待的,最外层的View需要等内层所有的View执行完绘制流程才结束,所以便有了”减少布局层...

2018-07-15 18:06:39 2038 3

原创 Java位运算符浅析

在学习源码中,发现有大量使用位运算符,这样做的目的是为了节约内存开销和加快计算效率。位运算符,这个”位”代表这什么?位:二进制位简称“位”,是二进制记数系统中表示小于2的整数的符号,一般用1或 0表示,是具有相等概率的两种状态中的一种。 二进制位的位数可表示一个机器字的字长,一个二进制位包含的信息量称为一比特。摘自百度百科 int类型占4个字节(byte); 一个字...

2018-06-18 14:25:20 6780

原创 Android事件分发浅析

什么是事件分发?大家知道Android中的视图是由一个个View嵌套构成的层级视图,即一个View里包含有子View,而这个子View里面又可以再添加View。当用户触摸屏幕产生一系列事件时,事件会由高到低,由外向内依次传递,最终把事件交到一个具体的View手上处理,这个传递的过程就叫做事件分发。 从手触摸屏幕开始所产生一系列MotionEvent事件,将事件传递到具体的某一个View...

2018-05-10 22:22:55 871

原创 Activity中setContentView浅析

protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);}setContentView()方法会将我们的视图设置到哪儿去了?public void setCo...

2018-05-10 22:14:46 2049

原创 浅析Android中Handler机制

Handler机制是Android中相当经典的异步消息机制,在Android发展的历史长河中扮演着很重要的角色,无论是我们直接面对的应用层还是FrameWork层,使用的场景还是相当的多。分析源码一探究竟。从一个常见的用法说起:private Button mBtnTest;private Handler mTestHandler = new Handler(){ @Overri...

2018-04-27 11:42:28 373

原创 使用GreenDao报错:Caused by: java.lang.IllegalArgumentException: the bind value at index 1 is null

其实不是GreenDao的锅!!!在项目中http的实体类有使用到Dao的实体类,而在混淆的时候并没有将dao的实体类保留下来,所有造成能够请求到数据但是json解析的时候,解析不了。所以数据为空,数据库插入数据的时候就报错了。所以在混淆文件里面添加保留 dao下的实体类不混淆。

2018-03-01 13:40:18 2473

原创 知乎开源库Matisse接入使用问题

按照步骤,先导入了glide图片加载引擎,准备就绪准备看看效果的时候。抛出了:java.lang.NoSuchMethodError: No virtual method load(Landroid/net/Uri;)Lcom/bumptech/glide/DrawableTypeRequest; in class Lcom/bumptech/glide/RequestManager; or

2017-11-01 13:07:39 7801 4

原创 华迈SDK遇坑:java.lang.UnsatisfiedLinkError: No implementation found for int com.huamaitel.api.HMJniInter

项目中需要涉及视频监控这块,使用华迈的SDK。把Demo上的逻辑捋了捋,准备移植到项目当中,然而这一切没有那么简单,让我怀疑到人生一丶加载SO库问题按照Demo上新建jniLibs文件夹,将so库放在里面,jar放在lib目录下。调用初始化方法的时候出现了上述的错误,花了4,5个小时才解决这个问题,最后百度得知因为在编译.so文件时的targetSdkVersion

2017-10-15 20:28:42 2490 3

原创 尝试自己造一个上下拉刷新控件

下拉刷新和上拉加载更多,是一种非常常见的用户交互方式,在开发中大家往往会根据自己的项目选择一款合适的优秀开源框架。但说不定哪天需要自己手动实现类似的效果,同时也本着知其然知其所以然的目的,所以很有必要了解一下实现的方式,当然实现的方式也有几种,当前方式还是比较简单的,实现效果:其实功能和效果差不多,就没好看点的图片,布局简单了些,看起来档次稍低。。一步一步来实现。一丶布局(上拉刷新下拉加载更多)控件

2017-10-08 21:57:54 645

原创 Android中View滑动实现方式

滑动作为Android中最基础的特效之一,使用场景非常广泛。实现的方式也有多种,理解各种滑动的实现方式。清楚在开发中根据自己的实际需求,选择合理的实现方案。这篇文章从:scrollTo()/scrollBy()内容滑动|动画方式滑动|修改布局参数,三种方式来做简要的分析。一丶scrollerTo()&&scrollBy()内容滑动这两个方法都是View自带的滑动方法,即每个控件都可以通过调用这两个方

2017-09-23 15:38:54 625

原创 maven开发下tomcat部署war包,没有报错但是访问不了站点任何资源和接口。

就这样一直加载这,没有任何反应,控制台也不报任何错误。困扰了许久,百度无果。只能自己慢慢的一步一步的找问题的根源。先发现将SpringMvc的前端控制器配置删除后,就能够访问站点。但是不配置前端控制器,就意味着任何请求都进不去。无奈只能打开SpringMvc的配置文件一个个的看,到底是哪儿出错了。开始是以注解的方式配置扫描包来声明对象,尝试在xml配置文件中用标签来声明对象。震惊!!!

2017-08-07 20:45:43 8115 1

原创 重新配置JDK后,导致Eclipse打不开。

A Java Runtime Environment(JRE) or java Development Kit(JDK) must be available in order to run Eclipse. No java virtual machine was found after searching the folloing locations;重新安装jdk到其他路径后,照样重

2017-08-04 01:12:58 20560 2

原创 构建maven工程指定父工程时parent标签出错

Project build error: Non-resolvable parent POM for cn.e3mall:e3-manager-pojo:0.0.1-SNAPSHOT: Could not find artifact cn.e3mall:e3-parent:pom:0.0.1-SNAPSHOT and 'parent.relativePath' points at wrong lo

2017-07-30 22:43:59 21180 4

原创 Android自定义View你所要知道的(三):View滑动实现方式

滑动,让用户体验更加友好。与用户交互时让整个界面都多了一分灵性。这篇文章从View滑动三种的实现方式,来做简要的分析。一丶scrollTo/scrollByscrollTo和scrollBy都是View自带的滑动方法,scollBy方法中调用的也是scrollTo方法。此种方式是对View内容进行滑动,并没有改变View的位置。源码: public void scrollTo(

2017-06-09 16:28:46 762

原创 MySql建表时出错ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that correspond

在看黑马javaEE32期教程的时候,跳过前面前端的教程。直接看数据库相关,拿起了PPT上面的笔记先建了个数据库。建表的时候,出现了:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual thatcorresponds to your MySQL server version for the r

2017-06-06 13:27:37 98642 11

原创 Android自定义View你所要知道的(二):Canvas解析

在2D绘图中,Canvas和Paint能画出各种各样漂亮的图形。再配合着滑动和动画特效,就能做出非常炫酷的View。这篇文章是对使用Canvas绘图使用的总结。更像是对API的中文翻译。。先从最小的画点开始:public void drawPoint(float x, float y,Paint paint);public void drawPoints(float[] pts, Pain

2017-05-27 23:18:12 658

原创 Android自定义View你所要知道的(一):坐标系

准备写自定义View这个专栏的文章,从最基础的坐标系到Demo。本着巩固自身知识的意愿,不足之处还请大家多多包涵。 之所以要先掌握Android的坐标系,因为view是靠坐标来确定它在屏幕当中的位置。了解Android的坐标系后,将会对的View的布局有一定的概念感。首先Android中以屏幕的左上角为原点坐标(0,0); 需要值得注意的是,以原点为中心。Y轴向下为正,向上则为负。X轴

2017-05-08 17:13:41 4316

原创 Android中XML绘图

在开发当中一直秉承:能用xml绘制的图片效果,就一定用xml来绘制。因为xml绘制的所占文件大小比图片小很多,一般都小于1K。从shape,layer-list 2种方式来做整理。 shape: shape有4种属性,分别描述4种不同的图形:ovale(圆) line:(线) rectangle:(矩形) ring: (环形) 默认为rectangle。子标签中有gradient、corner

2017-04-08 21:07:34 495

原创 Android中BaseFragment封装多状态视图显示

特此感谢:https://github.com/wenzhihao123/Android-rxjava-retrofit-okhttp-app 先上效果图:

2017-04-03 19:33:09 1282

原创 解决Android DDMS数据库权限不足无法导出问题

解决Android DDMS数据库权限不足无法导出问题

2016-10-11 16:41:44 2930

原创 Android Studio解决DDMS真机/模拟器无法查看data目录

Android Studio解决DDMS真机/模拟器无法查看data目录

2016-10-09 14:42:06 11796 1

GB28181压力测试工具_64.zip

GB28181压力测试工具,模拟多个ipc客户端。github下载地址:https://github.com/yangjiechina/GB28181_Stress_Tools

2020-08-31

国标测试工具.zip

GB28181-2011工具,包含终端。

2020-03-27

PCM和G711播放器.zip

PCM播放器,G711A/U播放器 PCM软件导入->原始数据->选择采样率、采样位、通道等信息既可播放。 G711软件输入音频源的绝对路径。

2019-12-25

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

TA关注的人

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