8 李岳锋

广州市富米科技有限公司 - 软件工程师

我要认证

Don't repeat yourself. 简书地址:https://www.jianshu.com/u/5ddf03f9c0cd

等级
TA的排名 2w+

Java synchronized(this)与synchronized(object)的区别

class Test{ private Object object = new Object(); public void print(){ synchronized (object){ System.out.println("xxxx"); } }} class Test{ public void print(){ synchronized (this){ System.

2020-07-08 15:39:28

Android 项目混编flutter报错

解决方法:在app的gradle里面,添加如下依赖: implementation "androidx.lifecycle:lifecycle-common-java8:2.2.0"java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/lifecycle/DefaultLifecycleObserver; at io.flutter.embedding.engine.FlutterEngine.<init&gt

2020-06-28 19:51:27

红黑树的时间复杂度分析

一、红黑树的基本属性。红黑树的每个结点,要么是黑色,要么是红色,不可能是黄色或其它颜色。根结点(root)一定是黑色,简称为黑头。所有红色结点不可以直接相邻。 也即是,如果一个结点为红色,那么,它的爸爸或儿子,一定就是黑色,不可是红色。符合,绿帽定律。所有空结点,都是黑色。所谓的空结点,就是当红黑树的某一个叶子结点下,没有其它结点,那么这个结点,就是空结点,用NIL 或 NULL 表示。...

2020-04-23 11:26:29

Android如何使用Camera2拍照【简易快速上手篇】

因为大部分的需求,并没有那么复杂,只需要简单的拍照功能,对于这种简单的需求,本文可以很好的满足。本文,是对Camera2做一个极简易的封装,以及去掉其它不重要的API,帮助你在几分钟内,使用Camera2实现拍照功能。其实就是,直接复制粘贴就可以运行了。有什么问题,可以留下评论。MainActivityclass MainActivity : AppCompatActivity() { ...

2020-04-22 14:26:18

Android 四大组件之Broadcast【一】

一,什么是广播?广播, 做为Android的四大组件之一,被用于发送和接收,来自系统或其它app的消息。其设计原理,是基于观察者模式来设计的,即先订阅,后接收。广播消息,并不受限于某一个单一进程。因此,它可以用于跨进程间的通信,在多个App之间传递消息。二,广播的分类。根据广播的订阅(定义)方式和生命周期,我们可以将广播归纳为2种类型,即静态广播与动态广播。静态广播静态注册的广播,在A...

2020-04-17 11:37:51

couldn't find "libc++_shared.so"

Android 项目,运行时遇到这个问题时,删除build文件夹,然后Rebuild项目就行了。

2020-04-07 15:58:29

Github login 一直弹(AndroidStudio)

最近,在Github上又创建了一个分支,在push时,老是弹这个login弹窗,配置了AndroidStuiod里面的github账号也没用。后来,根据这篇博文,解决了这个问题。打开git bash客户端,进入用户目录(一般为C:\users\yourUserName),执行以下命令,注意要带上大括号touch .git-credentialsvim .git-credentialsh...

2020-03-25 17:38:06

浅析SparseArray的源码实现

Preface:【SparryArray 缩写成 SA】在我们学习一个新技术,新东西之前,我们往往会先考虑到,它是什么?为什么要学它?它有什么优点和缺点?它是如何实现这些优点的?又为什么会有这些缺点?通过了解这些问题,我们才能做出合理的判断,来决定是否要学它,用它,以及何时,何地来用它。这篇博客,将会照着这个思路,来浅析SparryArray。一,What is SparseArray?Sp...

2020-03-17 18:12:27

Let's talk about the relationship of Androidx, Support, Jetpack.

You may heard AndroidX, Support, Jetpack, but do you know what is the differ between them? Okay, Let me walk you through this topic.First of all, Support is the support library. We use support librar...

2020-01-21 16:17:58

Right click doesn't work on touchpad of laptop with Ubuntu 18.04 or above.

Note: as my ubuntu system doesn’t install a Chinese input software so that it’s written in English, translate it if you can’t read.You may encoutered a problem on laptop with Ubuntu 18.04 or above, t...

2020-01-21 10:56:07

Bat 等待一段指定的时间

以下代码,直接放在.bat文件中执行,就可以指定停留30秒。timeout /t 30如果不想被中断,除非关闭程序或按ctrl+c,就加这个指令 /nobreak。timeout /t 30 /nobreak如果还不想看到倒计时效果,就再加这个指令 > NULtimeout /t 30 /nobreak > NUL...

2019-12-06 10:04:50

Tcp and Three-Way handshake

一、The TCP ProtocolTCP is a protocol which belongs to the Transfer Layer of the four protocol layers. UDP is another protocol belongs to Transfer Layer too. But Tcp is differ from UDP as it’s reliable...

2019-11-28 17:19:15

Git通过命令忽略指定文件

进入要忽略的文件的所在目录,点击鼠标右键,选择Git Bash Here,如图所示。以下命令,是忽略指定文件git update-index --assume-unchanged test.txt以下命令,是取消忽略指定文件git update-index --no-assume-unchanged /path/to/file...

2019-09-26 14:48:58

编译方舟编译器源码教程

前言:本博客主要是对华为开源平台的官方编译文档,进一步的做详细的解释,以及在编译时可能会到的问题的解决。现在,先把编译成功的流程放出来,后续再对各个工具和术语,以及如何使用编译出来的编译器,做进一步的解释。一、克隆方舟编译器源码到本地1、仓库地址:https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler.git2、在h...

2019-09-03 14:06:50

Kotlin需要注意的知识点

1、当扩展函数与重载操作符函数或、成员函数有相同签名时。编译器不会报错,但是扩展函数会被忽略掉,不会被调用,只调用重载操作符函数或成员函数。2、重载操作符函数与成员函数有相同签名时,编译器会报错,简而言之,重载操作符函数,只是成员函数的一种类型,是约定格式的函数。...

2019-08-13 11:53:39

A trick about not-null type in kotln

Note: 原创,非翻译。What is “A trick about not-null type in Kotlin?”The trick is that: "not-null type isn’t always being not-null at complie time."As well known, a not-null t ype can’t be assigned with a ...

2019-08-12 16:45:35

HashMap的实现原理(下)

前言:基于上篇《从源码角度分析HashMap的实现原理(上)》,我们学会了为什么需要HashMap,什么是HashMap,以及HashMap的基本实现原理。这篇,将继续讲解,什么是Hash冲突和其解决方法。...

2019-08-06 10:22:16

HashMap的实现原理(上)

预备知识:一、数组的优劣:1、优势: 已知下标的情况下,查找某条数据,速度快。时间复杂度为O(1),即不管你数组有多长,我都很快。(看似是优势,但对男人来说,快却是劣势)2、劣势:不知下标,并且数组没有排序的情况下,查找某条数据,只能遍历整个数组。在最倒霉的情况下,时间复杂度为O(n),即你有多长,你就有多久。(长长久久,男人们的希望)。不知下标,并且数组是有排序的情况下,使用折半查找...

2019-06-25 17:47:09

Windows下通过adb获取手机当前运行的Activity的名字。

最近在做一个功能,但不知道竞品的实现方式是用两个Activity来实现,还是一个Activity多个Fragment实现。。。因为两个Activity实现,遇到技术难点,所以,我就猜测,他们是用多个Fragment来实现。为了证实这个猜想,我通过adb的方式来实现查询。一、进入Android SDK目录下的platform-tools的目录下,按住shift+鼠标右键,打开cmd窗口。二、进入...

2019-05-28 10:06:02

How to compile ss for android on Ubuntu 18.04.2 LTS.

一、IntroductionIn this article, I assume you have learned both How to create a regular app and How to install Ubuntu system(Arbitrary version but it’s better to know about 18.04.2 LTS as this post bas...

2019-04-10 09:20:10

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。