小胖轩


编码生涯的点点滴滴

成语接龙

小区划为防范区了,可以在安全防护充分的情况下,小区内走一走。上海周日的天气不错,早饭后和家人散步消食,玩起了成语接龙,经过若干轮的对决后,基本上会进入到死胡同中,为了能够继续接龙,需从搜索引擎中查询相关成语信息,操作过程不是很友好,那就做一个吧! 由来 成语在生活中经常用到,大家一定都不陌生;关于成语,它并不都是四个字组成,只是四字最多而已,百度百科上的给出的说明如下: 成语(拼音:c...

上海各区疫情数据

上海的疫情还在继续,目前已经存在可以查询社区感染的网站;为了快捷查看各个区的疫情数据,针对上海发布每日公布的信息,汇总图表,便于查阅; 社区感染情况查看: https://www.mindspore.cn/shanghai-covid/ 各区疫情数据查看: https://sh.codeboy.me

JavaScript之高逼格代码

前言 console.log((!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]]); //sb console.log(([][[]]+[])[+!![]] + ([]+{})[!+[]+!![]]); //nb 代码看起来是不是很神奇呢?是否可以输出任意的字母组合?带着这些问题来分析一下。 分析 Ja...

(int)num ==? (int)(long)num

前言 日常开发中会经常用到数值转化,将一个浮点数转化为整数,(int)num 和(int)(long)num 的结果会出现不同么?我们来写一个case: public class Test { public static void main(String[] args) { float num1 = 100L; System.out.println("case1-1: " + ...

Java byte[]和String转换问题

前言 byte[] 转换为 String 后,重新转换回 byte[] 后,和之前的数组是同一个?看一个测试case: public class Test { public static void main(String[] args) { byte[] bytes = new byte[]{-28, -72, -83, -27, -101}; p...

Java final常量

前言 final 是Java中常用的关键字,可以修饰类、方法和变量,类被修饰后,不能被继承;方法被修饰后,不能被重写;变量被修饰后,则值/引用不会改变; 工程中定义一些常量的时候,可以通过接口常量、枚举、类静态常量等提供给外部业务使用,在一些场景下,如果定义的常量发生变更,但外部没有升级依赖的版本号,则会存在外部依旧使用旧常量的场景。 测试 按照接口常量、枚举和类静态常量三种模式,分...

WeakHashMap原理分析

HashMap 是开发中经常使用到的集合类,Java中还有一个类似的类叫 WeakHashMap,本文来分析下 WeakHashMap 的实现原理。 原理 从key的存储上分析,在put操作时,如果不存在key值,则新建一个 Entry: public V put(K key, V value) { Object k = maskNull(key); i...

浮点精度(二)

之前有写过一篇浮点精度的文章,介绍了浮点数能够精确表示的整数,在整数超过一定大小后,将不能精确被表示,这次来聊一下浮点能表示的小数部分。先看一段简单的代码: public class Test { public static void main(String[] args) { float a1 = 0.3f; double a2 = 0.3; ...

Java之NoClassDefFoundError错误

Java中的异常(含错误)主要包含Exception 和 Error 两种,这里简单的分析一下NoClassDefFoundError这个异常,JVM的类加载机制的委托行机制,决定了类加载器只加载一次,子类加载器不会再加载父类加载器已经加载过的类,在一些特定条件下,会出现编译时可以加载到类,运行时不可以加载到类,这时候就会出现 NoClassDefFoundError异常;与之相似的两个异常...

Js内置函数之parseInt

前言 将一个字符串转化为数值是很经常的操作,但是你真的了解Js中的 parseInt 吗?先看几个例子: parseInt("123"); // 123 parseInt("12,3"); // 12 parseInt(1/0); // NaN parseInt("123", 8); // 83 parseInt("012"); // 12 parseInt(012); // 10 pa...

Android 7.0+抓包

在Android 7.0+系统上,开发者可以配置不信任用户证书,进而不能进行https的数据包抓取,相关文档可以查看https://developer.android.com/training/articles/security-config 。 怎么才能像6.0-的系统一样,使用Charles等工具抓包呢? 原理 将用户的证书放进系统证书中,不过这一步的操作需要root权限。 准备...

pixel 4下AOSP11调整

前言 原生的aosp系统可以方便的进行各种操作,同时支持开启userdebug模式,不过也存在一些问题,以pixel4为例,在使用中有遇到以下问题: 无法使用电信卡 无法去除桌面搜索栏 自带的webview非com.google.android.webview 无法取出底部小白条,实现全屏展示 无法使用原生pixel4的自带动态壁纸 本次系统基线为android...

AOSP Mac平台编译

前言 编译Android源码是一个相对容易的事件,有存储空间和合适的编译环境即可。最近想查看一些应用的布局(Layout), 需要修改Android系统的debuggable属性,这个操作需要设备具有root权限,想着自己有一台pixel XL,何不编译个userdebug版本的rom,除了精简的的应用外,debuggable和root属性也是直接含有的,后续有其他地方调整的话,可以直接修...

本机号码一键登录

前言 在移动app使用手机号码登录的场景中,传统模式的步骤如下: 输入手机号码 接收验证码 输入接收到的验证码 点击登陆 最近看到很多应用都采用了一种新的模式—本机号码一键登录 ,这种模式对于用户来说,只需要确认下手机号码是否正确,点击确认登陆即可,即需要操作传统模式的最后一步,方便快捷,抖音、淘宝等应用均已经接入。 那么本机号码一键登录 的原理是什么呢?下...

Json中的key类型

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。 它基于JavaScript Programming Language,Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(...

端口转发

前言 随着移动App的庞大,自动化测试越来越重要,常见的移动端测试框架有很多, Appium 是比较流行的一个 ,在电脑端安装 Appium Server , 将测试手机连接该电脑后,可以通过api/http请求操作手机。最近尝试了下自动化测试,整体结构图如下: 每一台PC连接一些手机,控制中心(Control Center)负责将指令下发给PC上的 Appium Server,最终...