今天这一章说的是,要改变我们日常编码的思维习惯,回归到它的本质——数据。
所有的程序,就是在处理一个输入信息,然后产生输出,当然,有的程序虽然没有返回值,但是依旧对数据进行了转换。
所以,程序就是对数据的转换。
但是,我们现在很多时候都会被其他东西占据了注意力,比如、技术选型、表设计、类、算法……
面向数据编程
假如我们想要得到某个目录底下行数最多的五个文件的名字,我们会得到这样一条命令:
2024年09月29日
今天这一章说的是,要改变我们日常编码的思维习惯,回归到它的本质——数据。
所有的程序,就是在处理一个输入信息,然后产生输出,当然,有的程序虽然没有返回值,但是依旧对数据进行了转换。
所以,程序就是对数据的转换。
但是,我们现在很多时候都会被其他东西占据了注意力,比如、技术选型、表设计、类、算法……
假如我们想要得到某个目录底下行数最多的五个文件的名字,我们会得到这样一条命令:
2024年07月22日
题目:
学生成绩管理:设计一个学生成绩管理系统,使用ArrayList或LinkedList存储学生信息。每个学生有一个唯一的学号、姓名和成绩,实现添加、删除、查找和按照成绩进行排序等功能。
代码:
2024年07月22日
在本系列之前的所有文章中,没有看到的同学可以先去看看之前的文章,我们已经了解了 Java8 引入的函数式接口。
2024年07月22日
在后台项目开发过程中,我们常常借助线程池来实现多线程任务,以此提升系统的吞吐率和响应性;而线程池的参数配置却是一个难以合理评估的值,虽然业界也针对cpu密集型,IO密集型等场景给出了一些参数配置的经验与方案,但是实际业务场景中通常会因为流量的随机性,业务的更迭性等情况出现预计和实际运行情况偏差较大的情况;而不合理的线程池参数,可能导致服务器负载升高,服务不可用,内存溢出等严重问题;一旦遇到参数不合理的问题,还需要重新上线修改,并且存在反复修改的情况,而这期间花费的时间可能带来更大的风险,甚至导致严重业务事故;那么有没有一种方式能有效感知上述问题并及时避免以上问题呢?或许动态线程池可以。
2024年07月22日
为什么你的测试应该只验证可观察的行为,而不是实现细节
在本文中,我们将考虑我们的测试到底应该(不)验证什么以防止误报,以及为什么有时越少越好。为了更好地理解这个主题,我们将仔细研究脆性测试和可观察行为的定义,以便我们能够检测设计不良的测试并使其抵抗重构。
2024年07月22日
列表排序
Collection类中的两个静态方法会对List进行排序。