【Java】深夜代码祭(2)

深夜代码惊魂:Java程序员的恐怖怪谈 图书馆的规则必须严格遵守。若电梯意外停靠16层,不要走出电梯,连续按下关门键直到电梯重新运行。加班超过23:00的员工会收到一份夜宵,包装盒上没有logo的可以食用。部门主管的办公室没有窗户,若发现窗户出现,当天不要递交任何文件。兔子园区的地面应该是干燥的,出现水洼时不要拍照。若遇到穿黑色制服的管理员,不要与其对视,假装阅读手中书籍直至其离开。借阅期限为7天,逾期未还者会收到一封没有邮戳的信件,请勿拆开。电梯内的楼层按钮有时会闪烁,这是节能模式的表现。更衣室的储物柜编号不含数字4,发现带4的柜门不要使用。 阅读详情

问题

随便用用Future和Stream

描述

重感冒,考验受挫,还有还没到深夜

代码

import javafx.util.Pair;

import java.util.*;
import java.util.concurrent.*;
import java.util.stream.IntStream;

public class Main {

    private final static Random r = new Random(Calendar.getInstance().getTimeInMillis());

    private static ArrayList<DistributeDataSet> ddss;

    private static OriDataSet ods;

    private static void initialize() {

        ods = new OriDataSet().config(IntStream.rangeClosed(1, 1000000)
                .mapToObj((i) -> r.nextInt(1000))
                .collect(LinkedList<Integer>::new,
                        (LinkedList<Integer> l, Integer i) -> l.add(i),
                        (LinkedList<Integer> l1, LinkedList<Integer> l2) -> l1.addAll(l2)));

        ddss = new ArrayList<DistributeDataSet>();

        for(int i = 0; i < 5; ++i) ddss.add(new DistributeDataSet());
    }

    public static void main(String[] args) {

        initialize();

        ExecutorService e = Executors.newCachedThreadPool();

        ArrayList<FutureTask<Pair<LinkedList<Integer>, LinkedList<Integer>>>> fas = new ArrayList<>();

        for(int i = 0; i < 5; ++i) fas.add(getFutureTask(ods, i));

        fas.forEach(e::submit);

        fas.forEach((f) -> {

            try {

                Pair<LinkedList<Integer>, LinkedList<Integer>> p = f.get();

                System.out.println(p.getKey().size() + " " + p.getValue().size());
            }

            catch (InterruptedException | ExecutionException ex) {

                ex.printStackTrace();
            }
        });

        System.out.println("Done");

        e.shutdown();
    }

    private static FutureTask<Pair<LinkedList<Integer>, 
        LinkedList<Integer>>> getFutureTask(final OriDataSet ds, final int no) {

        return new FutureTask<Pair<LinkedList<Integer>, LinkedList<Integer>>>(() -> {

            while(ds.updateWithEffects(ddss.get(no))) { }

            return ddss.get(no).getResult();
        });
    }
}

class OriDataSet {

    private int cnt = 0;

    private LinkedList<Integer> data;

    public OriDataSet config(LinkedList<Integer> l) { data = l; return this; }

    public synchronized boolean updateWithEffects(DistributeDataSet dds) {

        if(!data.isEmpty() && dds.accept(data.getFirst()) && sideEffects());

        return !data.isEmpty();
    }

    private boolean sideEffects() {

        data.removeFirst();

        if((cnt += 1) % 1000 == 0) { System.out.println("now :" + cnt); }

        return true;
    }
}

class DistributeDataSet {

    protected int cnt;

    protected DistributeCondition<Integer> d1, d2;

    DistributeDataSet() {

        d1 = new EvenDistributeDataSet();

        d2 = new OddDistributeDataSet();
    }

    public Pair<LinkedList<Integer>, LinkedList<Integer>> getResult() {

        return new Pair<>(d1.getResult(), d2.getResult());
    }

    public boolean accept(Integer i) {

        return d1.accept(i) || d2.accept(i);
    }
}

abstract class DistributeCondition<T> {

    protected LinkedList<T> l;

    DistributeCondition() {

        l = new LinkedList<>();
    }

    abstract public boolean accept(T t);

    public LinkedList<T> getResult() {

        return l;
    }
}

class EvenDistributeDataSet extends DistributeCondition<Integer> {

    @Override
    public boolean accept(Integer t) {

        return t % 2 == 0 && sideEffect(t);
    }

    private boolean sideEffect(Integer t) {

        l.add(t);

        return true;
    }
}

class OddDistributeDataSet extends DistributeCondition<Integer> {

    @Override
    public boolean accept(Integer t) {

        return t % 2 != 0 && sideEffect(t);
    }

    private boolean sideEffect(Integer t) {

        l.add(t);

        return true;
    }
}
Springer期刊LaTeX模板中参考文献格式选择与编译错误的快速修复指南 本文针对Springer期刊LaTeX模板中参考文献编译后显示问号的常见问题,提供了快速修复指南。核心在于正确选择并配置与期刊匹配的参考文献格式文件(.bst),并执行标准的四步编译流程。文章详细解释了问题根源,并给出了从查找正确.bst文件到修改代码、执行编译的完整解决方案,帮助作者高效解决投稿中的技术障碍。 阅读详情

相关推荐

手机OIS马达拆解:从苹果的悬丝到三星的滚珠,不同方案如何影响你的拍照体验?

本文深度解析手机OIS马达技术,对比苹果悬丝式、三星滚珠式和LG记忆合金式三种主流方案的机械原理与成像体验差异。通过详实的数据和测试结果,揭示不同OIS技术如何影响防抖性能、模组厚度及长期可靠性,为摄影爱好者和技术爱好者提供实用选购建议。

weixin_42554408的博客 303

React Hook 详解

Hook 是 React16.8 的新增特性。 React Native 从 0.59 版本开始支持 Hook。 它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。 1、React.FC<> React.FC<>的在typescript使用的一个泛型,FC就是Function Component的缩写,是函数组件,在这个泛型里面可以使用useState 2、什么是hooks 1】本质上就是一种特殊的函数,hooks可以在不编写 class类组件

深夜代码酒神 994

AI赚钱新思路 利用RPA+KIMI实现小红书全自动制作发布(详细攻略)

我已经事先准备好了文案素材,现在就利用Kimi的智能,根据我们已有的文案来创作出新的文案吧。之前我写过一篇关于【:一个戴着用百元大钞制成的简约头饰的少女,她坐在小车里,手里拿着一叠港元,整个画面洋溢着现实主义动漫风格和治愈系的温暖气息。通过这篇文章,我们已经一步步地完成了小红书治愈系文案的创作、治愈系图片的生成,以及笔记的发布,实现了整个流程的自动化。不慌不忙,快乐常在 在繁忙的日常中,给自己的心灵留一片净土,感受内心深处的平静与安宁。接下来,我将展示如何使用影刀来编写自动化脚本,以生成治愈系的图文图片。

weixin_42172073的博客 3687

IntStream用来提供对int类型数据进行相关的stream操作 && Map && mapToObj

【代码】IntStream用来提供对int类型数据进行相关的stream操作 && Map && mapToObj。

一个搬砖工人 604

【AUTOSAR-COM】Transmission Mode 和 Transfer Property

1.COM模块的基本概念 首先在描述Transmission Mode 和 Transfer Property之前,有必要对COM模块的基本处理有一个直观的理解,我所描述的和对概念理解的也不一定完全正确。 Signal:指的是通信协议中的,一条报文中所保存的若干信号。 I-PDU:至少在COM模块中,可以理解为一条报文。 上图是在CANdb软件中编辑一个报文的Layout的界面,可以很形象的将I-PDU对等为这里的一条Message,而Signal就是需要在Message中需要摆放的Signal

tim_hoven的博客 4634

Amos实战:如何用Bootstrap法检验中介效应?附完整操作步骤

本文详细介绍了如何使用Amos软件通过Bootstrap法检验中介效应,包括模型设定、参数配置和结果解读。Bootstrap方法因其不依赖正态分布假设、统计功效高等优势,成为中介效应分析的首选方法。文章提供了完整的操作步骤和实用建议,帮助研究者准确评估变量间的中介作用机制。

zz67890的博客 1438

【Java】深夜代码祭(1)

描述给出一个IntStream请把它按照奇数偶数规则分解成2个部分

古明地觉<如是说>:: 482

2025爬虫实战:某音直播间实时弹幕获取原理及源码分析

某音直播弹幕虽然没有直接挂在 DOM 上,但由于用的是西瓜播放器,弹幕是通过 JS 接口动态渲染的,这就给了我们 Hook 的机会。关键点是找到调用的位置,然后拦截并输出对象里的message字段。这个思路其实也适用于其他前端渲染的播放器,比如 B 站的 DPlayer、HLS.js、甚至很多自研播放器都有类似结构。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1811

Java8 Stream流操作

java8中的流式操作是一个很重要的内容 上图列出了stream主要流操作,我们可以看到,其实流操作可以类比我们的sql语句,如filter就类似于sql的where语句,我们就知道filter是对流进行过滤的,传入了一个Predicate断言接口,过滤掉断言为false的数据。相比一起的循环迭代,移除不符合的数据,是不是更加方便。下面我们来详细说说。 1、filter 过滤,传入一个Predicate @Test public void testFilter() { S

fsdgrasdfg的博客 503

[PCIE5.0] 2.2.8.9 Optimized Buffer Flush/Fill (OBFF) Message

这段文字讲解的是 优化的缓冲区清空/填充(OBFF)消息,它是 PCI Express(PCIe)规范中的一个可选功能,用于向设备报告平台中央资源的状态。简单来说,OBFF 主要帮助设备了解当前平台资源(如缓存或内存)的状态,从而优化数据的处理和传输。这章重点内容如下。

系统固件工程师 538

PCL 点云按强度渲染颜色【2025最新版】

点云按反射强度渲染颜色,博客长期更新,本文最近更新时间为:2025年1月6日。

点云侠的博客 2万+

Java8中Map和mapToObj的区别?

Java8中引入了三个原始类型特化流,分别是IntStream、DoubleStream和LongStream。map方法只能为流中的每个元素返回另一个int,mapToObj这个方法返回一个对象值流。如果需要得到类似int数组的话就需要使用mapToObj。 IntStream.rangeClosed(1, 100).boxed() .flatMap(a -> IntStream.rang...

weixin_44833186的博客 9434

微信小程序 - 最新详细实现用户保存下载视频到手机相册,将视频临时路径、在线播放地址(网络路径)URL存储到手机,弹出访问手机相册权限询问,支持视频格式mp4、avi、mov、wmv、flv、webm

微信小程序,视频,手机相册,保存,另存为,小程序保存到相册权限,writePhotosAlbum,一键保存视频到手机相册功能(视频来源为链接),第一次要获取用户授权,授权使用相册权限,小程序视频下载,如何把视频下载到相册,下载一个视频到本地相册,显示下载进度,可取消下载,视频下载到本地,微信小程序视频如何下载,保存视频到相机,页面播放视频并下载到本地,安卓系统,苹果ios保存到相册报错,权限拒绝后打不开,添加相册授权弹框拒绝后再也出不来了,实现保存视频到手机相册功能,将mp4在线视频下载并存储到用户的手机中

🏆 前端领域优质创作者 7623

java深夜食堂app(开题+源码)

在研究过程中,我们将采用原型设计、用户调研、数据分析等方法对各个系统功能进行深入研究和优化设计,以确保最终的应用能够满足用户和商家的需求。同时,我们也将注重应用的易用性和用户体验,以提高用户的使用满意度和商家的销售效率。[5]崔慧娟. MVVM模式在Android项目中的应用[J]. 信息与电脑(理论版), 2021, 33 (06): 1-3.[2]司利平. 浅谈Java在计算机软件开发中的应用[J]. 电脑知识与技术, 2021, 17 (24): 81-82.第五阶段:撰写论文(3周)

seryue11的博客 912

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

《在Java的岛屿上编写星光一场代码与咖啡的深夜漫游》

某个午夜的多线程死锁事件让眼前的世界坍缩成孤立奇点,直到发现某个synchronized修饰的星云块需要重构——这让我想起童年时追逐的夏日流萤,总在触碰的瞬间化作数据竞赛的幽灵。冷却的易拉罐在桌面形成量子涨落的凹痕,这微妙的形状何其像Java集合类的方法签名——或许真有场负压驻留在Iterator的hasNext()间隙中。我们追求O(1)的时空完美,却放任办公室总熵值趋于无穷——散落的算法手册,过期的咖啡滤纸,未关闭的优酷播放页面,构成程序员第二法理的生动注脚。

YFGnpftN的博客 335

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

为什么Java程序员总在深夜调试代码?

Java项目往往依赖庞大的依赖库和复杂的运行环境。深夜时分,当其他同事结束工作,开发环境趋于稳定,程序员才能获得一个相对稳定的调试环境。随着DevOps理念的普及和云原生技术的发展,自动化测试、持续集成等实践正在帮助Java程序员逐步摆脱深夜调试的困境。没有会议打扰,没有产品经理的临时需求,没有测试人员的报障,这段时间成为了真正意义上的免打扰模式。显示器幽幽的蓝光映在Java程序员专注的脸上,这似乎已成为这个职业的常态。每一行在深夜被调试通过的Java代码,都是对产品质量的坚守,也是对技术极致追求的体现。

ssXJEzgP的博客 296

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

c程序员为什么鄙视java,你猜为什么程序员都喜欢深夜写代码!

程序员自己也常说,工作效率最高的时候总是在深夜,不是凌晨还在写代码就是凌晨爬起来写代码。下面让课课家带领着我们一起去了解一下网络编程到底是有多么的难。深夜之所以工作效率高是因为不易分心,额!其实仔细想想晚上和白天并无多大区别,但程序员们也总是有自己的理由,大致分为一下三点。1.生产型时间表记得曾看过一篇关于时间表的文章,他们把时间基本分为两类:管理型和生产型时间表,所谓的管理型时间表是把一天的时间...

weixin_33120053的博客 306

深夜调试代码的第7夜:我和Java的「拿手戏」

摘要:程序员深夜调试社区老年健康档案项目时,被数据库连接问题困扰。妈妈送来热牛奶并分享父亲修收音机的故事,提醒她"零件认路,人也认路"。看着初学Java时写的便签,她重新找回了编程初心——创造能帮助人的程序。最终发现漏设时区参数的问题,明白"拿手戏"不是永不犯错,而是为心中热爱坚持到底。文章通过暖黄台灯、散落便签等生活细节,展现技术困境中的家庭温暖与成长。(148字)

huahua8088的博客 715

ssm毕设深夜食堂app源码+程序+论文

因此,本选题将以深夜食堂线上平台为研究情景,重点分析和研究如何通过系统功能设计提升用户体验,促进商家与用户之间的互动和情感交流,以期探寻深夜食堂线上平台成功运营的关键因素,提出对策建议,为后续更加深入的研究提供基础。同时,本研究还将关注平台运营策略的制定与实施,包括营销策略、用户维护、商家管理等方面,以期为深夜食堂线上平台的成功运营提供实践指导。现实意义则在于,通过优化平台功能,提升用户满意度和忠诚度,促进深夜食堂文化的传播与发展,同时帮助商家提高经营效率,实现商业价值的最大化。

啊城计算机毕设 901

java深夜食堂app(ssm框架毕业设计)

对于夜班工作者、学习熬夜的学生或是城市中的独居者来说,这样的服务不仅解决了他们深夜就餐的难题,也给予了他们情感上的陪伴。从社会层面来看,这样的服务能够提升城市的整体服务水平,增强居民的幸福感和归属感,从而促进社会的和谐与进步。选题背景: 深夜食堂app的构想源自于同名的日本漫画及其改编的电视剧,其中讲述了一个位于繁华都市一隅的小餐馆,只在深夜时段开门迎客,为夜晚归家或无法入眠的食客们提供温暖的食物和倾听的服务。在现实生活中,虽然不乏24小时营业的餐厅,但专门为深夜食客设计的就餐平台却相对稀缺。

灵军程序设计 354

从深夜加班到高效编程:飞算JavaAI让Java开发焕发新生

飞算JavaAI不仅仅是一个代码补全工具,更是一个理解项目需求、支持全流程开发的AI编程伙伴。它能智能分析老项目架构,支持自定义开发规范,提供引导式开发流程,并能一键生成可运行项目。对于被繁琐开发工作困扰的Java程序员来说,飞算JavaAI提供了一条提升效率、减轻负担的新路径,真正让编程体验既高效又充满成就感。

笃行其道的博客 2万+

2025毕设ssm深夜食堂app程序+论文

深夜食堂APP的研究具有多方面的重要意义。在这样的大环境下,深夜食堂APP应运而生,它借助移动互联网技术,整合各方资源,旨在为深夜有用餐需求的用户提供一个便捷、高效、多样化的餐饮服务平台。此外,如今智能手机的高度普及,使得APP成为人们获取各类服务的重要入口,这也为深夜食堂APP的发展提供了良好的技术基础和用户基础。[1] 刘小玲, 李慧云, 殷珊珊, 贾少华, 许杰辉, 郝颖. 一种基于软件测试任务的信息化管理系统的原型设计[J]. 现代信息科技, 2024, 8 (12): 91-95。

世迁科技 1065

深夜奋战:解决 nohup java -jar xxx.jar 启动失败的曲折之路

问题原因相对路径导致资源文件加载失败。解决方法使用绝对路径启动 JAR 文件,或明确指定资源文件路径。经验教训在 Linux 系统中,尽量使用绝对路径启动应用程序,避免因当前工作目录变化导致的路径问题。

ibigboy 1243

ssm/php/node/python深夜食堂

后端SSM框架结合了Spring的依赖注入和事务管理、SpringMVC的模型-视图-控制器架构以及MyBatis的数据持久化功能,为后端开发提供全面的支持。对于那些加班晚归的上班族、夜生活丰富的年轻人以及需要夜间觅食的任何人来说,这个应用成为了他们的夜间福音。更重要的是,深夜食堂appnoy57的存在促进了夜间经济的发展,为餐饮业带来了新的增长点。同时,它也为人们提供了社交的新场所,增加了人与人之间的互动机会,从而丰富了城市的夜生活,增强了城市的活力和魅力。文末可领取本课题的JAVA源码参考。

天天 程序设计 960

深夜生产事故,人工多线程来救场!

有一个读者问我:你认为一个程序员具备什么样的能力,才算得上是厉害的程序员? 我答:拥有解决问题的能力的程序员。这个回答貌似有点抽象,不要紧看下面的文章你会慢慢有所了解。 一、解决问题的能力 很多年前,当我还是一个小菜鸟的时候,我的领导经常告诉我,解决问题的时候,不要局限于技术本身,并且形象的给我举了一个例子。 有一次两个程序员一直讨论,如何判断两台服务器之间是否网络正常,争争吵吵了很久...

纯洁的微笑 2725

Java编程中的陷阱为什么你的代码总在深夜崩溃?

通过识别和避免这些常见的Java编程陷阱,可以显著减少代码在深夜崩溃的风险。记住,稳定的系统不是偶然产生的,而是通过精心设计和持续改进实现的。在Java开发过程中,许多程序员都经历过这样的困扰:白天运行正常的代码,在深夜突然崩溃。这种现象背后隐藏着Java编程中的一些常见陷阱,了解这些陷阱有助于编写更健壮的程序。// 返回124(2024-1900)- `getYear()`等方法返回的是基于1900的偏移量。### Java编程中的陷阱:为什么你的代码总在深夜崩溃?// 忘记调用 fis.close()

xAEWzCeU的博客 654
上一篇: 【Java】深夜代码祭(1)
下一篇: 【Clojure】在loop-recur中实现多重循环
古明地觉
博客等级 码龄15年 2粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值