
Java编程(Java Programming)
预见未来to50
不忘初心,方得始终!
展开
-
学以致用——Java applet小程序求两个整数的最大公约数
今天基于2008年(15年前)自己所写的求最大公约数applet小程序进行了以下主要优化:1. 添加异常处理功能,让程序更为健壮2. 并使用辗转相除法求最大公约数,大幅提高程序性能3. 使用Long型数据类型替换int型,大幅扩大数据输入范围参考文档:1.2.原创 2023-02-17 19:10:57 · 1196 阅读 · 1 评论 -
学以致用——Java验证身份证号码是否正确(带校验算法)
验证身份证号码是否正确(带校验算法)题目内容:输入一个字符串,请判断是否满足身份证基本要求,并返回具体的生日yyyy-mm-dd。如果输入数据有误,请输出0000-00-00。基本要求是:a)必须是18位;b) 前面位数必须是数字,最后一位可以是数字或小写字母;c) 日期是存在的;d)最后一位校验码检查。原创 2023-02-17 11:56:02 · 4644 阅读 · 0 评论 -
调试经验——控制台中需要用户重复输入时,BufferedReader类相比Scanner类更为好用
控制台中需要用户重复输入时,BufferedReader类相比Scanner类更为好用。可见,编程时面对类库中众多的类,如何选择合适的类非常重要。选对了,事半功倍,选不对,可能事倍功半,甚或劳而无功!原创 2023-02-16 22:03:14 · 1140 阅读 · 0 评论 -
学以致用——命令行中使用Java模块化技术编译、打包、运行iKb知识库应用
这个问题随JDK版本和Eclipse版本时隐时现,让人抓狂。在学习Java核心技术(高阶)的过程中,正好学到了相关知识,现决定在CMD命令行中编译、打包、运行该程序,来解决上述问题。说明:编译、打包、运行均有两段代码,第一段适用于JDK8至JDK11,第二段适用于JDK17。也就是说,我的iKb程序目前最高可运行于JDK17中。原创 2023-02-11 00:17:57 · 996 阅读 · 0 评论 -
Java流计算中并行计算性能测试数据
在学习Java流计算的过程中,发现并行流计算(parallel)的执行速度大概是非并行计算的3倍以上,测试代码及测试结果如下。原创 2023-02-09 15:49:54 · 898 阅读 · 0 评论 -
调试经验——Java Double计算“误差“
今天学习Java流计算时发现1.1*1.1不等于1.21,疑似出现误差,原因尚待明确,在此标记一下。原创 2023-02-09 14:31:33 · 1058 阅读 · 0 评论 -
自动生成Java类
昨天在学习中国大学Mooc《Java核心技术》(高阶)的Java的注解——注解的解析一节时,遇到一个比较有趣的示例程序。想自己改一改,没想到七八个小时就这么没了。Java的学习之路竟然是如此漫长!个中辛酸只有经历过一次次的代码调试的自己知道。原创 2023-02-03 01:20:45 · 1144 阅读 · 0 评论 -
经典的生产者消费者模型Java实现结果分析
经典的生产者消费者模型: 生产者不断的往仓库中存放产品,消费者从仓库中消费产品。 其中生产者和消费者都可以有若干个。 仓库规则:容量有限,库满时不能存放,库空时不能取产品 。本实现中,有2个生产者P1和P2,3个消费者C1, C2和C3,仓库容量10。运行结果分析:Seq.Activity DescriptionProductIDC1C2C3P1P2ProduceConsumeStorage1consumer waitNNNNNNN2consumer waitNNNNNNN3consumer waitNN原创 2023-01-18 14:59:00 · 984 阅读 · 0 评论 -
Java多线程执行时间比较(Executor vs Fork-join)
任务:将1到10亿之间的数进行累加求和。执行结果:TypeuptoThreadsSumTimeUsedSingleThread1BN/A500000000500000000286078400nsExecutor1B850000000050000000085126500nsFork-join1B85000000005000000008545500ns结果分析:Fork-join比Executor用时更少,效率更高。并发计算比单线程最快可提高30倍(286078400/8545500≈33)。原创 2023-01-18 14:48:43 · 1056 阅读 · 0 评论 -
Java源码——复利的计算(compound interest)
代码功能:给出本金,计算在不同的年复合利率下不同经过年数(期数)对应的本息和。代码:package v1ch03.CompoundInterest;/** * This program shows how to store tabular data in a 2D array. * @version 1.40 2004-02-10 * @author Cay Horstmann */public class CompoundInterest{ public stat.原创 2020-11-15 12:27:03 · 1471 阅读 · 0 评论 -
Java源码——使用BigInteger计算组合数(彩票中奖概率计算示例)
1. 问题描述双色球中,红色球选号规则:红色球可以在1-33个编号中任意选择6个。问题:红色球全部选中的概率为多少?2. 代码:package v1ch03.BigIntegerTest;import java.math.*;import java.util.*;/** * This program uses big numbers to compute the odds of winning the grand prize in a lottery. * @version原创 2020-11-15 00:51:57 · 725 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第11章 Java文件读写——11.5 Zip文件读写
1. Java zip 包2. 小结原创 2020-11-14 20:07:57 · 191 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第11章 Java文件读写——11.4 二进制文件读写
1. 二进制文件读写2. 小结原创 2020-11-14 20:04:27 · 198 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第11章 Java文件读写——11.3 文本文件读写
1.文本文件读写2. 小结原创 2020-11-14 20:00:49 · 168 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第11章 Java文件读写——11.2 Java io 包概述
1. Java IO包2. 小结原创 2020-11-14 19:57:40 · 202 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第11章 Java文件读写——11.1 文件系统及Java文件基本操作
1. 文件概述2.Java 文件类File3.Java NIO4. 小结原创 2020-11-14 19:52:41 · 154 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第10章 Java 数据结构——10.6 工具类
1. JCF的工具类2. 包装器类3. 对象比较4. 小结原创 2020-11-14 19:46:34 · 185 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第10章 Java 数据结构——10.5 映射(Map)
1. 映射2. 小结原创 2020-11-14 19:42:50 · 162 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第10章 Java 数据结构——10.4 集合(Set)
1. 集合2. 小结原创 2020-11-14 19:38:21 · 175 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第10章 Java 数据结构——10.3 列表(List)
1. List2. 小结原创 2020-11-14 00:22:41 · 162 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第10章 Java 数据结构——10.2 JCF(Java集合框架)
1. JCF2. 小结原创 2020-11-14 00:08:02 · 219 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第10章 Java 数据结构——10.1 数组
1. 数组2. 小结原创 2020-11-13 23:59:23 · 205 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第九章 Java 异常和异常处理——9.3 自定义异常
1. 自定义异常2. 小结原创 2020-11-13 23:53:11 · 172 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第九章 Java 异常和异常处理——9.2 Java 异常处理
1. 异常处理2. 小结原创 2020-11-13 23:50:02 · 173 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第九章 Java 异常和异常处理——9.1 Java 异常分类
1. 异常概述2. 异常分类示例:以下代码中包含了除零错误,但是编译器未报错,运行时,将发生运行时错误。package miscellaneous;public class ZeroDivisionTest { public static void main(String[] args){ System.out.print(2020/0); }}运行结果:Exception in thread "main" java.la.原创 2020-11-13 23:43:19 · 167 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第八章 Java 常用类——8.5 格式化 (Format) 相关类
1. 格式化类2. 小结原创 2020-11-12 22:34:36 · 165 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第八章 Java 常用类——8.4 时间相关类
1. 时间类2. 小结原创 2020-11-12 22:27:57 · 206 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第八章 Java 常用类——8.3 字符串相关类
1. 字符串2. 小结原创 2020-11-12 22:18:52 · 187 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第八章 Java 常用类——8.2 数字相关类
1. 数字类2. 浮点数类型3. 大数字类4. 随机数类5. 数字工具类6. 小结原创 2020-11-12 22:15:21 · 208 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第八章 Java 常用类——8.1 Java 类库概述
1. Java类库统计2. Java类库文档3. 小结原创 2020-11-12 22:07:08 · 195 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第七章 package, import 和 classpath——7.4 Java访问权限
1. Java访问权限2. 小结原创 2020-11-12 21:57:30 · 125 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第七章 package, import 和 classpath——7.3 package 和 import 命令行
1. package和 import2. 小结原创 2020-11-11 22:36:15 · 123 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第七章 package, import 和 classpath——7.2 jar 文件导出和导入
1. jar2. 小结原创 2020-11-11 22:27:40 · 146 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第七章 package, import 和 classpath——7.1 package 和 import
1. Package2. import3. 小结原创 2020-11-11 22:03:19 · 165 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第六章 static 、 final 和常量设计——6.5 不可变对象和字符串
1. 不可变对象2. Java字符串3. 小结原创 2020-11-10 22:11:29 · 134 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第六章 static 、 final 和常量设计——6.4 常量设计和常量池
1. 常量设计2. 常量池3. 小结原创 2020-11-10 22:01:38 · 145 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第六章 static 、 final 和常量设计——6.3 final
1. final2. 小结原创 2020-11-10 21:54:48 · 126 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第六章 static 、 final 和常量设计——6.2 static
1. 单例模式2. 小结原创 2020-11-10 21:50:07 · 137 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第六章 static 、 final 和常量设计——6.1 static
1. Static2. 小结原创 2020-11-10 21:46:55 · 182 阅读 · 0 评论 -
Java核心技术学习笔记——入门——第五章 继承、接口和抽象类——5.3 转型、多态和契约设计
1. 类转型2. 多态3. 契约设计4. 小结原创 2020-11-09 23:44:07 · 155 阅读 · 0 评论