自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 CountDownLatch和CyclicBarrier的区别

前言看了任玉刚讲BinderPool的时候用到了CountDownLatch,这东西Android开发中用的比较少,每次都是记了又忘,并且容易跟CyclicBarrier搞混。特别有些博客说“CountDownLatch会阻塞主线程”,虽然我记性差,但也能知道这句话混淆概念不负责任,于是有了这篇博客,现在直奔主题。共同点都能调用await()阻塞当前线程都能达到条件后唤醒线程唤醒线程时都是一次性唤醒所有线程不同点CountDownLatchCyclicBarrier构

2021-02-09 16:20:01 196

原创 浅谈堆内存和栈内存

区别用途:栈内存用于执行程序;堆内存用于存放对象。存放:栈内存主要存放局部变量和对象的引用;堆内存主要存放对象。唯一性:每个Java线程都有一个栈,而一个Java进程只有一个堆。速度与灵活性:栈内存在运行时需要计算出分配多少内存空间,灵活性低,但速度更快。堆内存空闲空间大,运行时不关心需要分配多少内存空间,...

2020-12-01 18:02:06 289

原创 浅谈NDK和JNI

什么是JNI和NDKJNI是Java Native Interface的缩写,翻译过来为“Java原生接口”。我大致把他理解成一种支持Java和c/c++交互的技术。对于Android来说,使用JNI开发项目,通常有以下优点。使用c/c++编写对语言性能有要求的代码,提高程序运行速度使用c/c++编写需要加密的代码,防止反编译有些库只有c/c++版本,jni提供了Java与其交互的能力NDK是Native Development Kit的缩写,翻译过来为“原生开发包”,是用于支持在java

2020-11-30 16:39:37 350

原创 多个JAVA版本导致的JAVA_HOME is set to an invalid directory

现象Android Studio中运行java命令或gradlew命令均报错:JAVA_HOME is set to an invalid directory。但cmd中正常。已经配置好了JAVA环境变量,但Project Structure->JDK Location里的JAVA_HOME指向的却是Android Studio的内置JDK路径环境已装有JAVA10,项目需要又装了个JAVA1.8,且已经正确修改环境变量解决方案删掉JAVA_HOME重新配置查找原因JAVA版本冲

2020-08-13 10:54:14 327

空空如也

空空如也

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

TA关注的人

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