
学习
文章平均质量分 73
个人学习
UzumakiCkr
进一寸有进一寸的欢喜
展开
-
CountDownLatch和CyclicBarrier的区别
前言 看了任玉刚讲BinderPool的时候用到了CountDownLatch,这东西Android开发中用的比较少,每次都是记了又忘,并且容易跟CyclicBarrier搞混。特别有些博客说“CountDownLatch会阻塞主线程”,虽然我记性差,但也能知道这句话混淆概念不负责任,于是有了这篇博客,现在直奔主题。 共同点 都能调用await()阻塞当前线程 都能达到条件后唤醒线程 唤醒线程时都是一次性唤醒所有线程 不同点 CountDownLatch CyclicBarrier 构原创 2021-02-09 16:20:01 · 224 阅读 · 0 评论 -
浅谈堆内存和栈内存
区别 用途:栈内存用于执行程序;堆内存用于存放对象。 存放:栈内存主要存放局部变量和对象的引用;堆内存主要存放对象。 唯一性:每个Java线程都有一个栈,而一个Java进程只有一个堆。 速度与灵活性:栈内存在运行时需要计算出分配多少内存空间,灵活性低,但速度更快。堆内存空闲空间大,运行时不关心需要分配多少内存空间, ...原创 2020-12-01 18:02:06 · 325 阅读 · 0 评论 -
浅谈NDK和JNI
什么是JNI和NDK JNI是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 · 386 阅读 · 0 评论