- 博客(16)
- 收藏
- 关注
原创 268个官方免费android studio下载地址 Bumblebee Arctic Fox Canary chipmunk RC Beta
268个官方免费android studio下载地址 Bumblebee Arctic Fox Canary chipmunk RC Beta
2023-03-30 17:41:46
1741
原创 表妹求我写个node脚本,把java错误码表转成excel并翻译成英文
java原始代码部分如下需要得到的excel结果最终采用node配合以上插件来完成,将java代码中的相关数据采集出来.
2022-10-27 21:06:02
773
原创 3分钟提取10000个视频的第一帧图片,node执行ffmpeg万能脚本
安装完成之后可以将node配置到系统环境变量中,最后再检验自己node环境是否ok。
2022-10-23 23:03:36
2334
原创 git 项目如何完整迁移分支版本及提交日志记录
当我们在开发过程中,原先使用的远程仓库地址是A,但后来需要更换成新的仓库地址B,但又想保留原有的分支、提交记录等等, 那这个时候我们就需要借助镜像来帮我们处理。 操作步骤具体如下:1. 在gitlab或者github等地方新建项目,得到新地址B2. 进入需要待迁移的项目中,先进行镜像备份``` cd /Users/jalen/Desktop/dm/android/appV2 mkdir mirror cd mirror git clone --mirror git@github.com:
2022-07-06 11:35:17
1156
原创 6分钟死磕JVM的5大分区及具体作用
Java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,都有各自的用户级创建销毁时间。堆区和方法区是随着虚拟机进程的启动一直存在的.虚拟机栈、本地方法栈和程序计数器是依赖用户线程的启动和结束而创建和销毁的。堆 [所有线程共享]堆区是JVM管理的内存中最大的一块,“几乎”所有的对象实例都在这里分配内存。堆区里面又区分有新生代、老年代。新生代里又包含1个Eden区和2个survivor区【From survivor, To survivor】,堆里的细
2022-04-15 23:19:05
1001
原创 算法 依次输出1到100的数字 要求随机且不能重复
题目是: 有1~100的数字,每次输出的数据都是随机的不能重复,时间复杂度在O(n).解答:这里是反向循环开始 public static int N = 100; public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<Integer>(); for (int i = 1; i <= N; i++) {
2022-03-26 20:23:01
709
原创 细数SharedPreferences的5大缺陷及ANR原因
我们经常使用的SharedPreferences其实是存在很多缺陷的,主要表现在占用内存getValue时可能导致ANR不支持多进程不支持全量更新commit或apply都可能导致ANR以下参考安卓源码的基础上,使用大白话和部分代码片段和大家一起探讨分享。占用内存final class SharedPreferencesImpl implements SharedPreferences { ...... //构造方法 SharedPreferenc
2022-03-19 16:03:31
4001
原创 10分钟吃透kotlin语法let apply also run takeIf takeUnless的区别
结论先行区别返回值内部操作let最后一行itapply调用者本身thisalso调用者本身itrun最后一行this或省略首先写一个Person类做演示,方便数据的展示。其次对每个api写1到2个测试的方法,看打印的log日志(注释上的即是)class Person(var name: String, var age: Int) { override fun toString(): String { retur
2022-02-28 20:15:46
2323
原创 10分钟 吃透Handler完整原理机制
Handler 原理 大白话4个角色Looper 循环器Handler 发送和接收消息者MessageQueue 存储消息的对了Message 传递的消息事件主要从源码部分了解以下几个核心重要的方法1.1Looper.prepare() private static void prepare(boolean quitAllowed) { if (sThreadLocal.get() != null) { throw new RuntimeE
2022-02-26 22:46:41
1119
原创 java 弱引用的内存泄漏模拟 及解决方案 参考ThreadLocalMap
下面这个Demo可以复现内存泄漏的场景.从打印的日志可以看到在我们手动GC之后,Entry里面的value还是没有被回收。package com.jalen.android.memoryLeak;import java.lang.ref.WeakReference;import java.util.Arrays;/** * 测试弱引用的内存泄漏 参考ThreadLocalMap */public class TestWeakReference { public stati.
2022-02-24 08:01:12
1663
原创 mac iterm git命令行报错 OpenSSL SSL_connect SSL_ERROR_SYSCALL
常见报错OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to bitbucket.org:443终极解决方案step1: 检查是否开了网络代理,如果有先关闭step2:在命令行输入如下命令;git config --global http.sslVerifyfalsegit co
2022-02-22 08:39:48
1677
原创 2分钟解决:jarsigner找不到证书链,手动给apk签名
常见问题报错1:jarsigner找不到证书链报错2:必须引用包含私有密钥和相应的公共密钥证书链的有效密钥库密钥条目如果配置了java的环境变量,则可以在任意目录执行jarsigner指令;如果没有配置的话,就在jdk的安装目录执行指令就行,下面是mac中的对应位置/Users/jalen/Library/Java/JavaVirtualMachines/corretto-1.8.0_322/Contents/Home/bin解决办法输入下面的指令 一步搞定/Users/jal
2022-02-22 08:32:23
4014
原创 github 443 错误 OpenSSL SSL_connect: SSL_ERROR_SYSCALL 或者LibreSSL 终极解决办法
OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to bitbucket.org:443终极解决方案step1: 检查是否开了网络代理,如果有先关闭;step2:在命令行输入如下命令git config --global http.sslVerifyfalse$ git config --
2022-02-19 23:42:43
18246
1
原创 LeakCanary最新2.8.1版本源码 原理分析 [2022年初kotlin版]
首先从LeakCanary的使用开始讲,接着会到底层分析源码逻辑kotlin新版本如何使用dependencies { // debugImplementation because LeakCanary should only run in debug builds. debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.8.1'}只需要这样一步就搞定了.默认监测哪些泄漏官方网站的说明,无侵入式依赖,会自动给
2022-01-22 17:37:40
3042
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人