Program
文章平均质量分 95
针叶
心静,成器。
展开
-
等差数列异或和的小规律
背景异或(xor,运算符号^):按位计算,同0异1,1 ^ 0 = 1 ,1 ^ 1 = 0 ,如此。现定义等差数列 1, 2, ... , n 的 异或和 为 f(n) = 1 ^ 2 ^ ... ^ n ,求f(n)的值。实现我们很容易想到质朴的实现如下:int func(int n) { int xor_sum = 0; for (int i = 1; i <= n; ++i) { xor_sum ^= i; } return xor_s原创 2020-07-06 17:49:54 · 961 阅读 · 0 评论 -
Kotlin变长参数的一些小坑
Java中的变长参数先来看看Java中的变长参数,很简单,为了后面的对比,我们做进行一个连续的传参:import java.util.Arrays;public class TestVarargs { public static void main(String[] args) { test1("1", "2"); } private static void test1(String... args) { test2(args);原创 2020-06-13 15:19:39 · 872 阅读 · 1 评论 -
浅谈JVM语言之函数式编程
Java中的函数式编程闲聊函数式编程在上世纪五十年代就有了,只不过在工业界一直不温不火,最近十年才被广泛认知。其理论基础也并非为编程而设计,而是一种数学抽象(Lamda演算),其实初中就学过了,λ表达式。在JS(建议把JS作为函数式编程思想学习的入门语言,Java的实现略显臃肿,可能不太便于理解)当中,函数式编程算是应用比较多的了。各现代高级编程语言,都或多或少地支持了函数式编程。一些基本特点总结相比平常的指令式编程,函数式编程更在乎执行结果而非过程;函数是一等公民,可以像普通的数值、引用等变原创 2020-06-10 12:47:39 · 418 阅读 · 0 评论 -
快速修改字节码并重打jar包
背景不管是做Android项目还是Java后端Web项目,我们一般都会引用各种三方库。遇到特殊需求时,可能需要修改jar包中的代码。本文以实际示例讲解一些基本方法,方便大家快速入坑。首先我们都知道直接解压jar包的话,都是class二进制文件,打开后是看不见代码的。之所以可以在开发环境中直接查看jar中的代码是因为IDE已经帮你反编译好了,才能看见Java源码。入坑如何修改这些jar包中的...原创 2020-03-25 02:04:01 · 2060 阅读 · 0 评论 -
Java中nextInt()后紧跟nextLine()方法造成的一些问题
Java编程当中的一些低级错误。原创 2017-10-09 23:17:20 · 5279 阅读 · 2 评论 -
解决Python下安装unrar后仍然提示Couldn't find path to unrar library...
在写Python脚本的时候,由于做rar文件解压要用到unrar库,我们都会加上一句:from unrar import rarfile如果你是在Windows下使用PyCharm这种IDE,那么很方便,它会提示导入包,你也可以在项目设置中手动搜索第三方库并安装;如果是Linux命令环境的话,推荐使用 pip install rarfile 和 pip install unrar 命...原创 2016-10-27 00:31:00 · 27445 阅读 · 17 评论