摘要:
目的: 对于多个独立的任务,可以以并发的方式执行任务,以提高 CPU 利用率,提高处理效率。 思路 在一个线程池中,开启指定数量的线程,每个线程从任务队列中获取任务执行。 执行的过程中,判断当前线程是否在执行任务的状态,如果没有执行任务,取一条任务执行,如果正在执行,则跳过,下轮再判断。 在所有任务 阅读全文
摘要:
背景 编写代码时,会经常需要编写两个对象是否相等的逻辑,一般会有如下做法 直接写在业务代码中; 单独写个方法,业务代码中调用; 重写 equals 方法; 上面这些做法,都比较复杂,如果属性太多或复杂点(如果是 list 和 map 就更复杂了),就需要编写更多的判断逻辑代码了。 想法 如果能只需要 阅读全文
摘要:
背景 在编码时经常会用到同名的属性名字符串,比如 用相同的属性名做为 map 中的键; 在 mybatis 中,根据属性名的下划线字符串来拼接 sql 查询条件。 需要修改属性名时,如果是用字符串硬编码的,引用的地方越多,修改越困难 但是如果用的是 java8 中的属性引用,操作起来就很方便了,修改 阅读全文
摘要:
抽奖算法理论 在一组奖品中,每个奖品有自己的概率,总概率为 1.0,也就是说在库存充足的情况下,必然能抽中其中的一个。 通过「谢谢参与」来作为无奖的奖品(也是一种奖品)。 需要注意的是:如果一组中所有的奖品,总概率之和不为 1.0,那么数值代表的概率就不是真实概率了,需要用所占比例来作为新的概率:新 阅读全文
摘要:
背景 通常的合并项目的做法是,将所有项目移动到一个新目录中,并重新生成纳入 git 管理(去掉了.git 文件夹),这样做的弊端是之前的历史提交记录都没有了,想要看之前的记录,还需要再回到旧项目中查看。 在本文中,我会介绍怎样完整地保留历史提交记录。 为什么保留提交记录? 可以追踪文件修改历史,方便 阅读全文
摘要:
配置域名(需支持泛域名功能) | 子域名 | 记录类型 | 线路类型 | 记录值| | | | | | | ngrok | A记录 |通用 | 170.10.10.100 | | .ngrok | A记录 |通用 | 170.10.10.100 | 安装git ... 安装并配置好go https: 阅读全文
摘要:
shell脚本修改json中某个字段的值 思路:通过awk来找到旧数据,然后用sed来替换旧数据 源码 config.json config/mode1.sh config/mode2.sh main.sh 运行 其他方案 "shell中替换json中指定的值 矮子爬楼梯 博客园" 阅读全文
摘要:
步骤 1. 配置ndk路径 ,ndk location 2. 配置app下 build.gradle 3. 修改gradle.properties文件 4. 设置native接口 5. build项目,生成Ujni.class文件 6. 通过Ujni.class文件生成头文件 7. 编写c文件 将上 阅读全文
摘要:
| There are two ways to store this value. Little Endian.(低位优先) Big Endian.(高位优先) | The complete Client and Server interaction. | The simplest way to write a concurrent server under Unix is to f... 阅读全文
摘要:
【代码示例】 【计算方法】 通过设置 和`layout_height`来指定图片的大小为56(如果不够大,会压缩,如果太小,则会拉伸),接着根据想要的最终图片大小48来计算,(56 48) / 2 = 4dp 阅读全文