自定义博客皮肤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)
  • 资源 (7)
  • 收藏
  • 关注

原创 对”内卷“和”躺平“的个人理解和看法

竞争,是一个中性词,竞争又可分为良心竞争和恶行竞争,整体来说,竞争是有利的,通过竞争,相互促进,使事物发展的更好。当然也应该看到社会的竞争在加剧,并且随着经济社会的发展、科技的进步、高等教育的普及、房价高企、各种生活成本的提升、阶级固化等等,在教育、就业、婚恋、住房等各方面的竞争只会加剧,而不会减弱,这是一种社会发展的必然趋势,并不会因为我们抱怨几句,甚至做出过分的举动而减弱。但从个体来说,躺平,即主动选择放弃竞争,而这种放弃却是放弃了自己的前途、自己的未来、自己的人生,对个体来说影响可谓是巨大的。

2023-04-02 22:11:06 1841

原创 git 拉取和获取 git pull和git fetch 区别

git提交用push,对应的拉取用pull,但是又有一个获取fetch,拉取和获取有啥区别?pull 从远程拉取最新版本到本地仓库,并会自动合并。fetch 从远程拉取最新版本到本地仓库,不会自动合并。即:pull = fetch + 合并实际使用中 ,使用git fetch 更安全,在merge之前可以看清楚更新情况,再决定是否合并。由于先抓取更新再合并到本地分支...

2019-11-21 17:54:15 3715

原创 android studio: Could not find any version that matches com.android.support:appcompat-v7:29.+.

问题:今天新安装android studio3.1.2,之后创建新的工程,但是出现了一些错误提示,提示如下:Unable to resolve dependency for ':app@debug/compileClasspath': Could not find any version that matches com.android.support:appcompat-v7:29.+....

2019-10-17 23:30:42 500

原创 彻底解决Process 'command '\ndk-bundle\ndk-build.cmd'' finished with non-zero exit value 2

问题描述:Process 'command 'B:\ProgramFiles\Android\sdk\ndk-bundle\ndk-build.cmd'' finished with non-zero exit value 2在网上搜索该问题,都说是ndk版本的问题,新的版本会出现该问题,下载老的版本解压缩后放到ndk-bundle目录下就好了,我下载了一个10的版本放到ndk-bundl...

2019-09-11 14:50:09 6119

原创 activity的启动模式解析

0、目录一、为什么需要启动模式二、启动模式有哪些三、如何设置启动模式一、为什么需要启动模式为什么activity需要启动模式呢?默认情况下,每创建一个activity实例就会把该实例放入任务栈,如果多次启动同一个activity,那么系统就会创建多个实例,并把所有实例一一放入任务栈中,当点击back返回键时,这些activity会一一回退。多次启动同一个activity,系...

2019-08-27 20:17:57 203 1

原创 activity生命周期全解析

0、目录一、单个activity的生命周期二、两个activity交互时的生命周期三、特殊场景下的生命周期四、一些其他问题五、总结一、单个activity的生命周期首先我们先看一下这张经典的activity生命周期图。具体总结如下:二、两个activity交互时的生命周期启动A activity:onCreat()--onStart()--onR...

2019-08-26 18:52:20 275

原创 使用递归的优缺点

优点:1、代码简洁2、易于理解如在树的前/中/后序遍历中,递归的实现明显比循环简单。缺点:1、时间和空间的消耗比较大递归由于是函数调用自身,而函数的调用时消耗时间和空间的,每一次函数调用,都需要在内存栈中分配空间以保存参数,返回值和临时变量,而往栈中压入和弹出数据也都需要时间,所以降低了效率。2、重复计算递归中又很多计算都是重复的,递归的本质时把一个问题分解成...

2019-07-23 20:54:22 14913 1

原创 Try catch finally 与 return 结合使用执行顺序所有情况分析

首先对按钮添加点击事件,事件代码为:System.out.println(test());一、无异常时1、 private String test(){ try { System.out.println("try..."); } catch (Exception e) { e.getMessage...

2019-07-15 18:51:16 278

原创 这是一份全面详细的Android多线程学习总结

一、介绍本文主要对之前写的多线程相关文章做一个整体的梳理与总结。本文主要介绍多线程相关,具体如下:二、多线程基础知识2.1、进程与线程主要介绍进程、线程、以及进程与线程的对比。详见《线程与进程对比分析》三、多线程的实现1、基础使用1.1、继承Thread类和实现Runnable创建子线程Android多线实现的基础使用,主要通过继承Thread类和实现R...

2019-07-07 18:05:15 515 2

原创 线程与进程对比分析

0、目录一、线程介绍二、线程生命周期三、进程介绍四、进程与线程的对比一、线程介绍二、线程生命周期首先看整个流程图:具体:1、新建状态:此时是Thread t = new Thread()之后的一个状态,这里仅仅创建了一个Thread类的对象。2、就绪状态:线程对象创建之后,调用t.start()方法,线程进入就绪状态,等待获取CPU的使用权,因为在同...

2019-07-07 15:27:08 533

原创 线程池全面解析

0、目录一、介绍二、工作原理三、使用四、Java中自动的四种线程池五、Future和FutureTask六、总结一、介绍二、工作原理首先介绍线程池的类图:ThreadPoolExecutor类是线程池的真正实现类,可以根据不同的需求配置相关的参数,从而实现自定义线程池。(一般不需要自定义线程池,Java内部已经实现了四个常用的线程池,且都已经配...

2019-06-28 22:45:38 466

原创 java产生死锁的原因以及如何处理死锁

所谓死锁,就是指两个或两个以上的线程/进程在执行的过程中,因争夺资源而造成的一种相互等到的现象,如果没有外力作用,他们将无法进行下去。1、导致死锁的原因产生死锁的可能原因有:1、系统资源不足2、资源分配不当3、进程/线程运行推进的顺序不合适产生死锁的四个必要条件:1、互斥条件,指分配的资源进行排他性使用,即在一定的时间内该资源只能被一个进程/线程占用,如果此时还有其他进...

2019-06-24 14:02:03 4181

原创 在函数'_start'中:(.text+0x20):对'main'未定义的引用collect2 :error: ld returned 1 exit status 解决方法

错误信息:在函数'_start'中:(.text+0x20):对'main'未定义的引用collect2 :error: ld returned 1 exit status问题:在文章《linux下编译c文件成为可执行文件的实例和详细过程》中说到,gcc编译分四步,预编译、编译、汇编、链接,但是在链接时,始终不成功使用的命令:预编译:gcc -E hello.c -o hell...

2019-06-19 00:17:40 20409 8

原创 linux下编译c文件成为可执行文件的实例和详细过程

0、目录一、准备C文件二、编译三、执行四、编译的四个步骤一、准备C文件在命令行模式下输入:vim hello.c进入编辑模式,输入以下代码:#include<stdio.h>int main(void){ printf("Hello World!\n"); return 0;}首先点击ESC键退出编辑模式,然后输入:wq(注意...

2019-06-18 13:49:10 62621 3

原创 是时候回顾一下Java中基本数据类型了

Java中数据类型可以分为两类:基本数据类型和引用数据类型基本类型:引用类型:除了基本类型就都是引用类型啦,哈哈^-^

2019-06-12 22:30:11 140

原创 实现线程同步的所有方法分析

一、介绍当我们写并发编程时,多个线程可同时访问一个共享资源,比如变量或对象,如果多个线程同时读写该资源,会导致该资源状态混乱,数据不准确,相互之间产生冲突。因此加入同步锁,使资源同一时间只能有一个线程访问,从而保证资源不发生冲突。二、线程同步具体实现1、Synchronized使用Synchronized关键字,分为同步方法和同步代码块,具体关于Synchronized的介绍和...

2019-06-07 22:34:02 227

原创 Synchronized简单介绍(原理、使用、对比分析)

0、目录一、介绍二、原理三、具体使用四、总结一、介绍二、原理Synchronized在JVM中实现的原理。每一个对象都有一个监视器锁(monitor),JVM通过进入或退出monitor对象来实现方法同步和代码块同步。monitorenter指令是同步开始的位置,monitorexit是同步结束的位置,两者成对出现。monitorenter:线程执行moni...

2019-06-04 10:01:25 361

原创 海康威视RTSP取流,主码流和子码流

最近在做视频开发相关的工作,用到了海康威视的监控器摄像机,做一些记录。RTSP取主码流和子码流 首先,本人使用的是海康威视的产品,其他产品可能有差异,播放器使用VLC。 获取主码流:(以下仅为本人根据自己摄像机设置,具体要看摄像机如何配置) rtsp://admin:[email protected]:554/h264/ch1/main/...

2019-05-28 23:10:49 78923

原创 IntentService详细介绍(含使用实例及源码分析)

0、目录一、简介二、Service介绍三、使用步骤四、使用实例五、源码分析六、IntentService与service的区别七、总结一、简介二、Service介绍生命周期:首次启动服务时,调用startService()方法开启服务后,服务的执行过程:onCreat()-->onStartCommand()-->onDest...

2019-05-26 19:12:37 781 2

原创 AsyncTask原理和源码解析

0、目录一、简介二、使用方法以可能存在的问题三、工作原理四、类和核心方法的介绍 4.1、类定义 2.2、核心方法五、源码分析六、总结一、简介二、使用方法以及可能存在的问题使用方法请详见《AsyncTask使用详细介绍(含使用实例)》可能存在的问题详见《AsyncTask存在的问题和缺陷》三、工作原理Asyn...

2019-05-23 09:56:32 310

原创 AsyncTask使用详细介绍(含使用实例)

0、目录一、介绍二、类和方法介绍 2.1、类定义 2.2、核心方法三、使用步骤四、使用实例五、AsyncTask存在的问题和缺陷一、介绍二、类和方法介绍2.1、类定义public abstract class AsyncTask<Params, Progress, Result> { ......}...

2019-05-19 16:17:49 1049

原创 AsyncTask存在的问题和缺陷

1、串行还是并行实际后台线程只有一个,即所有的任务是串行的,即完成一个任务后再执行下一个任务,而非并行。如果开多个任务,比如开三个任务,实际执行是串行的:mAsyncTask task1 = new mAsyncTask();mAsyncTask task2 = new mAsyncTask();mAsyncTask task3 = new mAsyncTask();task1...

2019-05-19 16:06:57 1091

原创 继承Thread和实现Runnable创建子线程详细介绍(含使用实例和对比分析)

0、目录一、继承Thread类 1、简介 2、使用 2.1、使用步骤 2.2、使用实例 2.3、两种使用方式对比二、实现Runnable接口 1、简介 2、使用 2.1、使用步骤...

2019-05-16 19:42:51 702

原创 写了两个星期技术博客后的感想

4月26号,对自己的一些错误学习方法做了一些反思(《对自己一些错误学习方法的思考》),发现自己学习方法中存在的问题,之前学习总是贪多贪快,但研究的不深、理解的不明,总是浮于表面,感觉学到了很多似的,其实都是假象,所以从4.26号以来,自己始终在研究和Handler相关的问题,分享 了几篇文章:《Handler使用方法详解(含实例)》《Handler原理解析(图文详解)》《Handler...

2019-05-11 14:32:57 133

原创 一台电脑两个VLC和两台电脑各一个VLC摄像头串流测试

一、一台电脑上两个VLC串流测试使用方法及目的:在一个电脑上打开两个VLC软件,一个VLC串流视频(以摄像头拍摄为例),另一个VLC接收串流并显示播放。1、串流视频VLC的设置:打开VLC软件(vlc-2.2.4)后,打开媒体-->流,选择捕获设备,如下图设置:这是打开电脑摄像头拍摄视频的设置,最后点击按钮串流后,显示如下图:直接点击按钮下一个,显示如下图:...

2019-05-10 20:05:13 3677

原创 Handler中存在的相关问题

1、Looper.loop是一个死循环,拿不到需要处理的Message就会阻塞,那在UI线程中为什么不会导致ANR?主线程的死循环一直运行是不是特别消耗 CPU 资源?首先需要明确ANR的概念,ANR是Android Not Response的缩写,什么情况下会造成ANR?1、当前的事件没有机会得到处理(即主线程正在处理前一个事件,没有及时完成或者Looper被某种原因阻塞住了)2、当...

2019-05-09 23:29:41 520

原创 ThreadLocal解析

0、目录1、引入2、介绍3、实例4、原理与源码5、总结1、引入在Handler使用中,每个线程都有一个对应的Looper,主线程通过 Looper.getMainLooper()获得与主线程对应的Looper,子线程中通过 Looper.myLooper()获取与该子线程对应的Looper。//Looper.myLooper()的源码: /** ...

2019-05-06 19:14:40 163

原创 HandlerThread原理、使用实例、源码详细解析

0、目录一、HandlerThread简介二、HandlerThread原理三、HandlerThread使用实例四、HandlerThread源码分析五、总结一、HandlerThread简介HandlerThread是一个轻量级的异步类,可以实现多线程,并且可以实现线程间的通信(HandlerThread主要应用是实现主线程到子线程的通信,子线程到主线程通信可以通过...

2019-05-03 15:17:12 3255 1

原创 Handler源码分析

0、目录一、说明二、源码分析 2.1、使用Handler.sendMessage()方式发送消息 2.2、使用Handler.post()方式发送消息三、总结四、感谢一、说明本人也是菜鸟,跟着大神的脚步,第一次尝试分析源码,希望自己终有一天也能成为大神。本文直接进行源码相关的介绍,如果您对Handler相关的使用和工作原理还不是太熟悉...

2019-05-02 18:29:01 207

原创 Handler原理解析(图文详解)

0、目录1、Handler简介2、Handler核心类3、Handler工作原理4、总结1、Handler简介Handler是一套 Android 消息传递机制 / 异步通信机制,Android系统本质上是来说是一个消息驱动的系统,所以在Android开发中,Handler特别重要。Handler的作用是在多线程应用场景中,将工作线程中需要更新UI的操作信息传递到主线程...

2019-04-27 23:33:19 3198

原创 Handler使用方法详解(含实例)

0、目录一、相关概念简介二、使用方式三、使用步骤四、实例讲解五、总结一、相关概念简介Handler是一套消息传递机制,通常的作用是在多线程的应用场景中,将子线程(工作线程)中需要更新UI的相关信息传递到主线程,从而实现工作线程对UI的更新。二、使用方式Handler的使用方式可以根据发送消息的方式不同而分为两种:Handler.sendMessage()...

2019-04-27 12:33:36 16640 2

原创 对自己一些错误学习方法的思考

最近看自己专业相关的文章,在博客上看到一些大牛,发现自己学习上存在一些问题。看大牛的博客,发现他们在一段时间内仅仅研究一个专题,根据这个专题,会由浅入深写出几篇文章,把这个专题研究的很深很透、把相关知识彻底弄明白后,再去研究下一个专题。而自己,总是贪多贪快,看书的时候看的很快,光想着多看一些,感觉自己学到了很多、有成就感似的,但这种学习仅仅是浮于表面,看的不深、研究的不透,不能真正理解并弄...

2019-04-26 22:40:49 230

原创 安卓开发拍照时闪退遇到问题: file:///storage/emulated/0/0.jpg exposed beyond app through ClipData.Item.getUri()

问题描述:打开摄像头拍照时程序闪退,错误提示如下:android.os.FileUriExposedException: file:///storage/emulated/0/RadioDirectory/IMG_20190417_095708.jpg exposed beyond app through ClipData.Item.getUri()截图:解决方法:在App...

2019-04-17 10:34:10 4617

原创 Java中String StringBuffer StringBuilder的区别

StringString类是不可变类,也就是说一个String对象被创建后,这个对象中的字符串是不可改变的,直到该对象被销毁。String str = "hello";str = str + "world";好像String类对象str改变了,实际上这是一种错觉。程序第一行str指向的内存存放“hello”字符串,第二行代码执行后,又开辟了一块新的内存空间,存放的内容是"hel...

2019-04-14 19:49:59 107

原创 Java中 == 与 equals()区别

对于测试两个变量是否相等有两种方式,==和equals(),前者是运算符,而后者是对象的方法。一、==如果两个变量是基本类型的,且都是数值类型,两个变量的值相等,则返回true;如果两个 变量是引用类型的,只有它们指向同一个对象时,返回结果才是true,此时比较的是两个对象的地址是否相等。二、equals()该方法在Object对象中,任何java对象皆继承Object对象,所...

2019-04-14 16:01:09 123

原创 androidStudio生成APK时遇到Multiple dex files define Lretrofit2/Converter问题

一般出现这种问题是因为在导入dependencies的时候重复导入,而dex又不能完全将其合并,所以提示错误。此时来到build.gradle文件下的dependencies内查看依赖,是否有重复的情况,注释掉那个重复的,重新Sync即可。...

2019-04-08 10:19:11 850

原创 JAVA中一些分母为0的特殊运算

今天看文章看到一个关于3/0与3.0/0区别的问题,整理记录如下:类似3/0或0/0 分子分母都是整数,且分母为0,则会抛出异常java.lang.ArithmeticException类似3.0/0或3/0.0 分子分母中有一个或两个都是小数,且分母为0分子不为0,则运行结果是Infinity(无穷大)因为如果包含小数,即是浮点型数据,则另一个数据也会先转换成浮点型数据...

2019-04-06 14:25:50 2993

原创 Xmind 快捷键

本人的第一篇正式博客,想了好几天到底写啥,自己能力有限,怕误导别人,诚惶诚恐,不敢下笔。最近在用思维导图整理一些知识,用到一些快捷键,就先写这些内容吧。常用快捷键:新建 :Ctrl+Shift+n关闭当前:Ctrl+w插入插入图片:Ctrl+i插入主题:下方:Enter; 上方:Shift+Enter; 前面:Ctrl+Enter ;后面:Insert或Tab...

2019-04-04 08:47:53 2123

原创 我开始写博客啦

为什么要写博客:一、看过很多知识点,但后来再回顾的时候,发现很多都忘了,记忆不深刻,根据学习金字塔原理,只有知识输出才能理解更深、记忆更深;二、通过博客,记录自己的成长,强制自己输出,促进自己进步;三、锻炼自己的品质,长久的坚持做一件事情;四、分享使人快乐,分享使人成功;五、通过分享,认识更多更优秀的你。如何写博客:一、把自己学到的知识点,进行整理总结;二、记录...

2019-04-01 14:37:40 218

AIDL使用示例,实例代码

AIDL使用的小例子,内部分服务端和客户端两个工程,通过一个求和的例字,讲解了AIDL的使用,两个工程源码下载下来后,可直接编译安装使用,方便学习。

2022-08-14

android/安卓UDP协议发送接收 实时显示接入wifi热点设备IP和设备名称

本代码是自己写的一个项目,是安卓平台,采样UDP协议,在viewpager上使用两个fragment,用listview实时显示接收和发送的数据(hex格式或asc码格式。数据进行了个人需要的协议转换),能够定时发送,决定发送总次数,以及为每次发送的数据添加序号,能够显示发送和接收的数据的总次数,并能一键清除显示和接收发送的字节数。同时能够识别手机热点是否开启,是否有设备接入,以及实时显示接入设备的IP地址和设备名称,这里关键是能够识别出设备断开连接。对您一定能够有很大的帮助。

2018-05-27

Android/安卓UDP协议网络收发例程(实用)

这是一个安卓端采用udp协议实现数据的发送和接受的demo

2018-05-15

嵌入式linux入门学习规划

嵌入式linux入门学习规划,详细介绍了从基础知识、学习linux到深入学习,每一步重点学习什么,如何学,对每一阶段推荐了经典书籍,同时给出了自己的工作体会感悟,绝对对你的嵌入式linux学习,具有极好的指导意义。

2018-05-15

H264编码原理以及I帧、B和P帧详解

H264编码原理以及I帧、B和P帧详解,文章内详细介绍了H264的编码原理,以及对I帧P帧的详细讲解,特别适合对H264的学习。

2018-05-15

VLC播放器源码Android

VLC播放器源码Android版,VLC学习,内含VLC手册,VLC做流媒体服务器的使用方法

2018-05-15

一位老电子工程师十年的职场感悟

一个十年老工程师的人生经验,对职场的深刻感悟,对后来人的提醒,值得我们通过该文章审视自己,规划未来

2018-05-15

最常用的15大Eclipse开发快捷键技巧

本文中详细介绍了常见的Eclipse开发中用到的快捷键,适合想要提高的开发人员。

2018-05-15

空空如也

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

TA关注的人

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