Java 对数 log 计算

需求 java 中对数 log 如何计算? 解决 直接使用 Math.log 即可,唯一需要注意的是 底数是多少? 自然对数 e double x = Math.log(10); 底数 10 double x = Math.log10(100); 其他底数 数学换底公式: logx(y) = ln(y) / ln(x) 库函数: public class Logarithm { public static double log(double value, double base) { return Math.log(value) / Math.log(base); } } 计算以33为底27的对数: public static void main(String[] args) { double log = log(27, 33); System.out.println(log); } private static double log(double value, double base) { return Logarithm....

<span title='2024-04-06 10:37:00 +0800 CST'>2024-04-06</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;77 words&nbsp;·&nbsp;RamLife

socket 超时时间

需求 java 中 socket 超时时间是什么样的? 解决 读写超时 默认为 0,一直阻塞等待,除非使用 setSoTimeout() 来设置超时时间。 连接超时 默认为 135 秒,默认重新发送6次 sync 包。 第一次等待 1秒,第二次等 2秒,第几次就是 2 的 N次方。 参考 【计算机网络】Socket的SO_TIMEOUT与连接超时时间 Socket 基础之超时时间 Java解决Client Socket连接服务端超时问题 java.net.SocketException in Java with Examples java.net.SocketException:Connection reset java.net.SocketException四大异常解决方案 设置socket connect超时时间的几种方法 Android Socket tcp连接状态判断

<span title='2024-01-07 10:37:00 +0800 CST'>2024-01-07</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;42 words&nbsp;·&nbsp;RamLife

java 枚举中使用字符串

需求 java 中 枚举中使用字符串 解决 public class HelloWorld { public static void main(String []args) { System.out.println("Hello World!"); System.out.println(Season.SPRING.toString()); System.out.println(Season.SPRING.value()); } } enum Season { SPRING("spring"), SUMMER("summer"), AUTUMN("autumn"), WINTER("winter"); public final String value; private Season(String value) { this.value = value; } public String value() { return this.value; } } 参考 Java灵活使用枚举表示一组字符串 在Java 使用字符串添加枚举

<span title='2023-11-05 10:37:00 +0800 CST'>2023-11-05</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;52 words&nbsp;·&nbsp;RamLife

优化冒泡排序

需求 需要写一个优化后的冒泡排序。 解决 为了简化代码,并且省去控制用的 flag,可以每次只排列剩余中的最小的,这 样可以使用 i 来同时控制排列的范围和当前最小的位置,使用 j 来控制进行比较的位置。 需要注意: i 的表示控制排列的范围和当前最小位置,所以 i 的取值不包含最后一个数,毕竟比较至少要有两个数才能比较。 j 是进行比较的数值,所以 j 是从 i 的后一个数开始,直到最后一个数。 public static void bubbleSort(float[] src) { for (int i = 0; i < src.length - 1; i++) { for (int j = i + 1; j < src.length; j++) { if (src[i] > src[j]) { float tmp = src[i]; src[i] = src[j]; src[j] = tmp; } } } }

<span title='2023-02-20 07:53:00 +0800 CST'>2023-02-20</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;70 words&nbsp;·&nbsp;RamLife