09 2022 档案
摘要:虚拟机是一种虚拟的计算机系统。 何为虚拟?虚拟区分于实体的物理计算机,物理计算机所具有的硬件,在虚拟机中都没有,取而代之的是一些代码。 在虚拟机和运行虚拟机的底层物理计算机之间,有一层是叫做 “hypervisor” 的软件,hypervisor 用于协调物理硬件和虚拟机的“虚拟硬件”。 虚拟机分为
阅读全文
摘要:注意循环中的序号使用:i, j, k。看清现在在哪一层,要用哪个,不要用错。 注意Java中的方法是都是值传递(pass-by-value),没有引用传递。对于对象是地址的值传递 不要在循环中反复开可以多次利用的数组。 不要乱用arrayList中的方法。如add,在实现时会开一个更大的数组,把之前
阅读全文
摘要:如果在某一个程序中要多次使用归并排序, 最好将在排序中要使用的tmp数组定义在排序函数之外,将tmp作为归并排序方法的一个参数, 而不是在归并排序中每次新定义一个tmp数组, 因为这样会很花费时间。 归并的递归结束语句:if(left > right)。不要写成while。 在归并排序中可能有多个f
阅读全文
摘要:可以通过Java中带的返回当前时间的方法去测试具体的时间花费。 在对数组中的某一个元素进行读写时,是常数时间复杂度。 但是如加减,寻找等操作,时间复杂度就是线性的。 虽然数组在排序和迭代的效率上有无可比拟的优势,但是如果必须要使用其他的操作,就需要为其找一些替代品。 参考: https://stac
阅读全文
摘要:Java Performance: reducing time and space consumption 一篇关于如何优化Java代码的文章,提供了很多很有用的小技巧。 原文地址:http://www.itu.dk/people/sestoft/papers/performance.pdf 中译:
阅读全文
摘要:命名空间是一个名称或标识符(类,函数,变量)的集合。 命名空间的主要作用在于区分同名的但是作用不同的标识符。 通过标识符和命名空间的双重确认,可以保证被使用的类/函数/变量的唯一性。 在使用位于某个命名空间中的某个类/函数/变量时,不仅需要该类/函数/变量的名称,也需要说明其所在的命名空间。 有三种
阅读全文
摘要:nextInt(): it only reads the int value, nextInt() places the cursor inthe same line after reading the input. 只读入int值,在读入后把光标放在同一行。 next(): read the in
阅读全文
摘要:https://www.javatpoint.com/java-operator-precedence 括号(parentheses)最优先 = += -= *= /= %= 在最底层
阅读全文
摘要:二维数组长度 char[][] paul = new char[2][5]; int n1 = paul[1].length; System.out.println(n1); // 5 int n2 = paul.length; System.out.println(n2); // 2 二维数组的第
阅读全文
摘要:Java中char的默认值(default value) char 的默认值(default value)为 u0000。 在Java中,char为基本类型(primitive type),所以默认不是null。只有引用类型才有null。 在Java程序中,有时会遇到需要判断某char类型变量是否已
阅读全文