Java程序员把全部精力用在优化处理效率上,而对I/O关注不足,在某种程度上讲这并非他们的错。
在Java的早期,JVM在解释字节码时往往很少或没有运行时优化。
这就意味着,Java程序往往拖得很长,其运行速率大大低于本地编译代码,因而对操作系统I/O子系统的要求并不太高。
如今在运行时优化方面,JVM已然前进了一大步。
现在JVM运行字节码的速率已经接近本地编译代码,借助动态运行时优化,其表现甚至还有所超越。
这就意味着,多数Java应用程序已不再受CPU的束缚(把大量时间用在执行代码上),而更多时候是受I/O的束缚(等待数据传输)。
2024/6/7 10:53:52 2.22MB java NIO IO流 java并发编程
1
《持续交付--发布可靠软件的系统方法》,英文名《ContinuousDelivery:ReliableSoftwareReleasesthroughBuild,Test,andDeploymentAutomation》,原作者:(英)JezHumble、(英)DavidFarley,翻译:乔梁,出版社:人民邮电出版社,ISBN:9787115264596,PDF格式,大小47MB。
内容简介:《持续交付--发布可靠软件的系统方法》是一本软件工程师的职场指南,以大量虚构的名字和情景描述了极客的日常工作,对他们常遇到的各类棘手问题给予了巧妙回答。
作者以自己在苹果、网景等公司中面临的生死攸关的时刻所做的抉择为例,总结了在硅谷摸爬滚打的经验,旨在为软件工程师更好地规划自己的职业生涯提供帮助。
  《持续交付--发布可靠软件的系统方法》适合软件工程师以及所有职场人士阅读。
目录:《持续交付--发布可靠软件的系统方法》第一部分 基础篇第1章 软件交付的问题 21.1 引言 21.2 一些常见的发布反模式 31.2.1 反模式:手工部署软件 41.2.2 反模式:开发完成之后才向类生产环境部署 51.2.3 反模式:生产环境的手工配置管理 71.2.4 我们能做得更好吗 81.3 如何实现目标 91.3.1 每次修改都应该触发反馈流程 101.3.2 必须尽快接收反馈 111.3.3 交付团队必须接收反馈并作出反应 121.3.4 这个流程可以推广吗 121.4 收效 121.4.1 授权团队 131.4.2 减少错误 131.4.3 缓解压力 151.4.4 部署的灵活性 161.4.5 多加练习,使其完美 17.1.5 候选发布版本 171.6 软件交付的原则 191.6.1 为软件的发布创建一个可重复且可靠的过程 191.6.2 将几乎所有事情自动化 191.6.3 把所有的东西都纳入版本控制 201.6.4 提前并频繁地做让你感到痛苦的事 201.6.5 内建质量 211.6.6“done”意味着“已发布” 211.6.7 交付过程是每个成员的责任 221.6.8 持续改进 221.7 小结 23第2章 配置管理 242.1 引言 242.2 使用版本控制 252.2.1 对所有内容进行版本控制 262.2.2 频繁提交代码到主干 282.2.3 使用意义明显的提交注释 292.3 依赖管理 302.3.1 外部库文件管理 302.3.2 组件管理 302.4 软件配置管理 312.4.1 配置与灵活性 312.4.2 配置的分类 332.4.3 应用程序的配置管理 332.4.4 跨应用的配置管理 362.4.5 管理配置信息的原则 372.5 环境管理 382.5.1 环境管理的工具 412.5.2 变更过程管理 412.6 小结 42第3章 持续集成 433.1 引言 433.2 实现持续集成 443.2.1 准备工作 443.2.2 一个基本的持续集成系统 453.3 持续集成的前提条件 463.3.1 频繁提交 463.3.2 创建全面的自动化测试套件 473.3.3 保持较短的构建和测试过程 473.3.4 管理开发工作区 493.4 使用持续集成软件 493.4.1 基本操作 493.4.2 铃声和口哨 503.5 必不可少的实践 523.5.1 构建失败之后不要提交新代码 523.5.2 提交前在本地运行所有的提交测试,或者让持续集成服务器完成此事 533.5.3 等提交测试通过后再继续工作 543.5.4 回家之前,构建必须处于成功状态 543.5.5 时刻准备着回滚到前一个版本 553.5.6 在回滚之前要规定一个修复时间 563.5.7 不要将失败的测试注释掉 563.5.8 为自己导致的问题负责 563.5.9 测试驱动的开发 573.6 推荐的实践 573.6.1 极限编程开发实践 573.6.2 若违背架构原则,就让构建失败 583.6.3 若测试运行变慢,就让构建失败 583.6.4 若有编译警告或代码风格问题,就让测试失败 593.7 分布式团队 603.7.1 对流程的影响 603.7.2 集中式持续集成 613.7.3 技术问题 613.7.4 替代方法 6
2024/6/7 5:49:25 46.47MB 软件 软件规划 职业规划 持续交付
1
ROS是一个用于编写机器人软件的灵活框架,集成了大量的框架,工具,各种库,极大的方便了机器人的开发过程,作为一个分布式的框架,ROS中的每个模块都可单独设计封装成独立的功能包,为研究者提供了一种相互合作高效方式。
2024/6/5 20:28:05 138.34MB ROS RVIZ gazebo
1
这是以前用于电力局远抄系统中的一个通讯报文转发程序,现场大量集中器连接到该程序某端口,该程序再把集中器连接转到远方服务器上的前置机。
该程序运行稳定,代码简练,用C++开发实现,可做参考!
2024/6/4 5:43:16 4.18MB 网络数据转发
1
根据图识,项目将分为三个部分。
整个项目基本思路是如何通过爬虫爬取大量数据放到Hbase,然后通过ETL工具初步转化筛选将数据存到mongodb,抽取mongodb的数据进行清洗处理算出模型放到hdfs。
后续进来数据通过模型运算出数据的类型。
项目系统主要包括前端+后端+机器学习,前端采用ReactNative,Native,后端采用Dubbo+Spring+java,机器学习采用Spark进行实现,本项目机器学习-spark代码运行在mesos上。
2024/6/3 3:08:56 106B Spark 机器学习 实战
1
本课程主要讲解PHP8.0新特性和新功能核心精选内容。
PHP8.0是PHP语言的一个主版本更新,它包含了很多新功能与优化项,包括命名参数、联合类型、注解、构造器属性提升、Match表达式、Nullsafe运算符、JIT,并改进了类型系统、错误处理、语法一致性。
课程配有大量代码实例,方便大家轻松学习。
1.21MB php8
1
《概率论与数理统计:英文本》简介:  本书从ThomsonLearning出版公司引进。
本书主要介绍了概率统计的基本思想、概念和方法,从各个应用层面和案例入手,使用尽量少的概率知识介绍了应用统计的基本内容和扩展内容。
阅读本书,不需要微积分学知识,只需具备高中数学水平即可。
本书着重思维、层次分明、大量案例与练习以统计软件Minitab作统计分析,使用方便,适合于工科、经济、管理类专业学生作为概率统计双语教材使用,也可供教师教学参考。
本书主要内容有:0.统计学简介;
1.用图表描述数据;
2.用数值方法描述数据;
3.双变量数据的描述;
4.概率及概率分布;
5.几个有用的离散型分布;
6.正态概率分布;
7.抽样分布;
8.大样本估计;
9.大样本假设检验;
10.从小样本推断;
11.方差分析;
12.线性回归及相关性;
13.多元线性回归;
14.范畴数据分析;
15.非参数统计。
2024/6/2 18:52:11 1.96MB keytoexercis
1
世界人工智能大会日前在上海召开。
大会期间,张_文宏医生一句"在人工智能如日中天的今天,此次抗疫靠的还是传统智慧"引起很多人的共鸣。
人工智能曾经是一个颇为科幻的话题。
有人担心人工智能会取代人类,甚至会反人类。
然而几年下来,我们发现人工智能并没有想象中的那样智能。
问题究竟出在哪儿?从2004年开始,复旦大学哲学学院教授徐英瑾就开始将注意力投向人工智能。
他不仅撰写了大量相关论文专著,开设的人工智能哲学课程也受到学生好评。
日前,他讲述了自己对上述议题的思考。
他的剖析从"什么是人""什么是智能"这两个问题切入。
2024/6/1 6:16:27 3.17MB 人工智能
1
开放充电协议(OCPP)是一个全球开放性的通讯标准,主要用于解决私营的充电网络间通讯产生的各种困难。
OCPP支持充电站点与各供应商中央管理系统间的无缝通讯管理。
在过去的很多年内,私营充电网络的封闭特性已经给大量电动汽车车主和地产管理者造成很多无谓的挫折感,引发整个行业对一个开放模型的广泛呼吁。
OCPP目前已经在49个国家应用于40,000多个充电设施,因此实质上它已经成为充电设施网络通讯的行业标准。
1
在做项目时,发现C#串口经常会发生丢帧的情况,在发送/接收大量数据时,这种状况尤为明显。
因此,在对比了各种缓存处理办法的基础上,做了这个小程序。
经过实测,完全可以应对48byte/5ms的数据量。
这个小程序只做了接收部分,仅供参考~
2024/5/29 18:21:37 66KB 串口 数据缓存 数据延时 丢帧
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡