在本章的三次作业里,每次作业我都有一个主题,分别是:托盘型共享数据.单步电梯运行优化.多部电梯运行优化,因而电梯优化实际是第二.三次作业.虽然后两次作业从性能分上看做得还不错,但阅读其他大佬博客,我深深地体会到鄙人朴素拙劣的调度算法能够取得这样的分数实属幸运,因此,对于这篇博客,我将只简略地介绍一下自己的调度算法,把重点放在关于电梯调度架构的思考上. 电梯调度算法 单电梯调度:对于每部电梯,我的调度算法都是朴素的LOOK算法,并且当休眠的电梯同时收到了可上可下的请求时,其会向从接人运行路程较短的…
SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论   异常汇总:http://www.cnblogs.com/dunitian/p/4523006.html#signalR 后台创建了一个DntHub的集线器 前台在调用的时候出现了问题(经检查是代理对象创建失败) 于是到StackOverflow上面找了下: http://stackoverflow.com/questions/1…
目录 前言 HW5 HW6 第二次作业uml协作图 HW7 第三次作业uml协作图 前言 本单元作业在优化方面确实有一些想法值得分享,故单开一篇博客分享一下三次作业的优化以及架构. 三次作业的共同之处在于线程之间通讯所依赖的都是共享对象,采用生产者消费者模式. 这样做的好处是框架清晰,迭代起来往往不需要再添加很多类,改调度也是一个函数的事情:D HW5 第一次作业是单部电梯可捎带,主体上采用的是look算法,电梯在可达楼层上下扫描,当前方向无请求则掉头,两边都无请求则等待,这里用了个小trick…
DBA思考系列--学会拒绝不合理的需求   一直以来,个性都比较随意,一般很少拒绝开发人员的一些需求(有点老好人的感觉). 这点一直被老大诟病,也一直在反省!最近又有一件事情,让我觉得:应该学会拒绝不合理需求!先简单阐述一下事情经过 在一个SQL Server服务器上有一个作业,已经按照他们的需求设置了好几个Schedule了.如下所示,这个作业执行的Schedule是已经够复杂的了吧 最近开发人员又提出要求,要求拥有手工执行该作业的执行权限.原因是:有时候数据没有到位或修改了相关参数需要重新运…
目录 第三次电梯作业个人优化 前言 优化思路 一.调度器 二.电梯 第三次电梯作业个人优化 前言 由于个人能力有限,第二次电梯作业只能完成正确性设计,没能进行优化,也因此损失了强测分数,于是第三次电梯作业时便决定进行优化,结果强测错了一个点,同样损失了强测分数--但是总的来说,第三次作业的优化还是有一定效果的,性能分比起完全没有优化的第二次高了许多,有的点甚至达到了96.97分,也一定程度上弥补了我第三次作业的强测分数. 在写博客之前也拜读了很多大佬的优化博客,比起他们的一些很巧妙的优化方法,还…
OO第二单元优化博客 第五次作业没有性能分,但是,我在这一单元的宗旨就是写一个日常生活中 最常见的那种电梯,所以第五次我没有写傻瓜电梯,而是直接写了个\(look\),和第六次基本相同. 总计一下look算法的几个特点: 1.没有主次请求的区分. 2.电梯会一直往当前方向运行直到需要转向,转向条件为: ​ (1)当前电梯中没有乘客的目的楼层在当前方向上. ​ (2)当前方向上的楼层目前没有请求. 3.捎带时只捎带请求与当前方向相同的乘客. ​ (由于第五次第六次作业没有容量限制,所以可以把当前楼…
OO第一单元优化博客 第一次作业: 合并同类项+提正系数项+优化系数指数0/1=满分 第二次作业: 初始想法 一开始是想以\(sin(x)​\)和\(cos(x)​\)的指数作为坐标,在图上画出来就可以发现,两个坐标分别为\((a,b+2),(a,b+2)​\)的点能够合成\((a,b)​\)的点. 现在我们推广开来,假设有系数分别为为1,2,1的三个点\((a,b+4),(a+2,b+2),(a+4,b)\)即可合成一个\((a,b)\),即,若一排连续的\(n\)个点系数满足杨辉三角第\(n…
10种简单的Java性能优化 2015/06/23 | 分类: 基础技术 | 14 条评论 | 标签: 性能优化 分享到: 本文由 ImportNew - 一直在路上 翻译自 jaxenter.欢迎加入翻译小组.转载请见文末要求. 你是否正打算优化hashCode()方法?是否想要绕开正则表达式?Lukas Eder介绍了很多简单方便的性能优化小贴士以及扩展程序性能的技巧. 最近“全网域(Web Scale)”一词被炒得火热,人们也正在通过扩展他们的应用程序架构来使他们的系统变得更加“全网域”.…
摘自<Spring框架技术> Spring框架是一种非侵入式的轻量级框架 1.非侵入式的技术体现 允许在应用系统中自由选择和组装Spring框架的各个功能模块,并且不强制要求应用系统的类必须从Spring框架的系统API的某个类来继承或者实现某个接口. 2.如何实现非侵入式的设计目标的  1)应用反射机制,通过动态调用的方式来提供各方面的功能,建立核心组间BeanFactory  2)配合使用Spring框架中的BeanWrapper和BeanFactory组件类最终达到对象的实例创建和属性注…
摘要:带你了解基于FusionInsight HD&MRS的5种kafka消费端性能优化方法. 本文分享自华为云社区<FusionInsight HD&MRSkafka消费端性能优化方法>,作者: 穿夹克的坏猴子. kafka消费端性能优化主要从下面几个方面优化: 1.接口使用方面优化: 旧版本highlevel-consumer:偏移量信息存储在zookeeper,最大消费线程数与分区数量相同,不推荐 旧版本simpleconsumer:自行选择存储偏移量的方式,可以实现多线…
目录 前言 HW5 度量分析 UML类图与协作图 bug分析 HW6 度量分析 UML类图与协作图 bug分析 HW7 度量分析 UML类图与协作图 bug分析 SOLID原则 感想 前言 紧张刺激的第二单元结束了,本单元体验极佳, 进行作业前有注重架构的稳定,在良好的架构上考虑优化,如此也便利了迭代. 另外,没遇上线程安全bug的电梯,不是完整的电梯[doge] HW5 本次作业要求实现单部可捎带电梯,典型的生产者消费者模式, 输入线程Request是生产者, 电梯线程Elevator是消费者…
目录 电梯作业总结 程序结构与复杂度的分析 第一次作业 第二次作业 第三次作业 程序BUG的分析 互测 自动评测 有效性 总结 电梯作业总结 程序结构与复杂度的分析 第一次作业 1.设计思路 第一次作业是电梯作业的第一次,也是我多线程变成的第一次实践.任务是编写一个多线程实时电梯系统,采用FAFS的调度方式.由于第一次作业中没有涉及到多部电梯以及捎带的情况,因此来说是比较简单的.我采用的是指导书提示部分中的模式,即生产者消费者模式 主线程进行输入的管理,使用ElevatorInput,负责接收请…
(一)第五次作业 一.设计思路 生产消费者模型,输入接口是producer,调度器是tray,电梯是customer.由于只有一架电梯,所以生产消费模型满足以下条件: 一个生产者,一个消费者 托盘不为空时,消费者可以取走请求.任何时候,生产者可以添加请求.(托盘无容量限制) 互斥:生产者--生产者,消费者--消费者. 同步:生产者至少生产一次,消费者才能消费. 互斥问题我给get和put函数加了方法锁. 二.调度策略:FAFS傻瓜电梯 遵循先到先服务,所以调度器作用很小,只是完成托盘的功能.调度…
一.理解SignalR ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信(即:客户端(Web页面)和服务器端可以互相实时的通知消息及调用方法),SignalR有三种传输模式:LongLooping(长轮询).WebSocket(HTML5的WEB套接字).Forever Frame(隐藏框架的长请求连接),可以在WEB客户端显式指定一种或几种,也可以采取默认(推荐),若采取默认,SignalR会根据浏览器的环境自动选择合适的传…
告别了三次奇妙无比的求导作业之后,我们就开始搭建一部自己的电梯了.相信我们不同同学的电梯运行方式肯定各具特色吧,但值得肯定的是,在艰苦的走完了三次电梯逐步改进的作业之后,我们的电梯在正常情况下应该是可以运作了-所以当我们一起坐电梯,相信我们的电梯应该是不会接不到人.把人最后关在里面.莫名其妙的就把人给丢了以及把人送到+或者是-的啦.下面是我对这三次作业的总结与分析- 在三次作业中我都是用的三个线程.一个是main线程,主要负责构造并start另外两个线程,构建调度器对象:另外两个是Request…
今天在推送的时候发生了如下错误信息: error: 无法推送一些引用到 'https://gitee.com/von_w/demo_app.git'提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支.提示:再次推送前,先与远程变更合并(如 'git pull ...').详见提示:'git push --help' 中的 'Note about fast-forwards' 小节. 远端仓库文件如下: 项目语言:python 远端仓库许可证:MIT !无readme 起初,为了解决…
一.理解SignalR ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信(即:客户端(Web页面)和服务器端可以互相实时的通知消息及调用方法),SignalR有三种传输模式:LongLooping(长轮询).WebSocket(HTML5的WEB套接字).Forever Frame(隐藏框架的长请求连接),可以在WEB客户端显式指定一种或几种,也可以采取默认(推荐),若采取默认,SignalR会根据浏览器的环境自动选择合适的传…
回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.3:http://pan.baidu.com/s/1c0dADO0 EFW框架实例源代码下载:http://pan.baidu.com/s/1eQCc69G       前言:记得最初写出Winform版MVC的代码是在公司的一个产品中,产品有几个界面功能比较多,一个界面窗体的代码尽然有1万多行代码,让我们在维护这几个界面的时候非常的痛苦,你可能想可以把这个大的界面拆分成几个小的界面在集成在一起不就好了,但实际上这样…
php-fpm目前主要又两个分支,分别对应于php-5.2.x的版本和php-5.3.x的版本.在5.2.x的版本中,php-fpm.conf使用的是xml格式,而在新的5.3.x版本中,则是和php.ini一样的配置风格. 在5.2.x版本中,php-fpm.conf中对于进程管理号称是有两种风格,一种是静态(static)的,一种是类似于apache风格(apache-like)的. Process manager settings <value name=”pm”> Sets style…
1.mybatis中两种取值方式? 回答:Mybatis中取值方式有几种?各自区别是什么? Mybatis取值方式就是说在Mapper文件中获取service传过来的值的方法,总共有两种方式,通过 $ 和 # , # 是 我们最常用的方式. 我们都说Mybatis是封装了JDBC,所以两种方式的区别还要从JDBC上来说, # 实际上是封装了问号占位符赋值的 方式,会使用JDBC中的PreparedStatement,变量处用?号代替,防止SQL注入. $ 直接拼接到sql语句中,值没有任何修饰,…
最近在项目中用到了大量图片加载,第三方优秀框架还不错,下面介绍三款榜首的框架用法和问题,做一个记录. 现在项目使用的是Android Studio开发的,现在也没有多少人使用Eclipse了吧. 一.Picasso 1,首先在项目中引入picasso(以gradle为例),也就是app的build.gradle compile 'com.squareup.picasso:picasso:2.5.2' 2,加载图片,通过源码可以发现load方法主要要以下几种重载 load(Uri uri) loa…
单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息.如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建 AppConfig 对象的实例,这就导致系统中存在多个 AppConfig 的实例对象,而这样会严重浪…
1. spring整合struts的基本操作见我的博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2框架整合起来,并且实现了action获取service,说明spring与struts2框架已经建立联系,互通了,但是这种使用web工厂的方式太麻烦了,在开发中并不会使用这种方法,所以我就要介绍spring整合struts2框架的另外一种方法.目前有两种方法,现在介绍第二种方式,第一种方式见我的上一篇博文…
1. spring整合struts的基本操作见我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2框架整合起来,并且实现了action获取service,说明spring与struts2框架已经建立联系,互通了,但是这种使用web工厂的方式太麻烦了,在开发中并不会使用这种方法,所以我就要介绍spring整合struts2框架的另外一种方法.目前有两种方法,现在介绍第一种方式,第二种方式见我的下一…
你是否正打算优化hashCode()方法?是否想要绕开正则表达式?Lukas Eder介绍了很多简单方便的性能优化小贴士以及扩展程序性能的技巧. 最近“全网域(Web Scale)”一词被炒得火热,人们也正在通过扩展他们的应用程序架构来使他们的系统变得更加“全网域”.但是究竟什么是全网域?或者说如何确保全网域? 扩展的不同方面 全网域被炒作的最多的是扩展负载(Scaling load),比如支持单个用户访问的系统也可以支持10 个.100个.甚至100万个用户访问.在理想情况下,我们的系统应该保…
PS:前段时间配置php-fpm的时候,无意中发现原来它还有两种进程管理方式.与Apache类似,它的进程数也是可以根据设置分为动态和静态的. php-fpm目前主要又两个分支,分别对应于php-5.2.x的版本和php-5.3.x的版本.在5.2.x的版本中,php-fpm.conf使用的是xml格式,而在新的5.3.x版本中,则是和php.ini一样的配置风格. 在5.2.x版本中,php-fpm.conf中对于进程管理号称是有两种风格,一种是静态(static)的,一种是类似于apache…
PS:前段时间配置php-fpm的时候,无意中发现原来它还有两种进程管理方式.与Apache类似,它的进程数也是可以根据设置分为动态和静态的. php-fpm目前主要又两个分支,分别对应于php-5.2.x的版本和php-5.3.x的版本.在5.2.x的版本中,php-fpm.conf使用的是xml格式,而在新的5.3.x版本中,则是和php.ini一样的配置风格. 在5.2.x版本中,php-fpm.conf中对于进程管理号称是有两种风格,一种是静态(static)的,一种是类似于apache…
本文由 ImportNew - 一直在路上 翻译自 jaxenter.欢迎加入翻译小组.转载请见文末要求. 你是否正打算优化hashCode()方法?是否想要绕开正则表达式?Lukas Eder介绍了很多简单方便的性能优化小贴士以及扩展程序性能的技巧. 最近"全网域(Web Scale)"一词被炒得火热,人们也正在通过扩展他们的应用程序架构来使他们的系统变得更加"全网域".但是究竟什么是全网域?或者说如何确保全网域? 扩展的不同方面 全网域被炒作的最多的是扩展负载(…
1.前言 ​ Spring Boot下如果只是导入一个简单的Excel文件,是容易的.网上类似的文章不少,有的针对具体的实体类,代码可重用性不高:有的利用反射机制或自定义注解,开发了Excel导入工具类,这样方法较好,但如果数据列有物理含义的转换,或需要进行计算处理等复杂情况,难以为继. ​ 针对上述不足之处,本文提出了一种可重用,并且具有数据处理的灵活性的代码框架. 2.需求分析 ​ 导入Excel表格数据,应解决下列问题: 1. 访问Excel文件,并将指定Sheet页中的数据读出来. 2.…
1.前言 ​ CSV,逗号分隔值(Comma-Separated Values),即为逗号分隔的文本文件.如果值中含有逗号.换行符.制表符(Tab).单引号及双引号,则需要用双引号括起来:如果值中包含双引号,则需要用两个双引号来替换. ​ CSV大量用于不同系统之间的数据交换,是一种非常常用的文件格式. ​ 在Spring Boot项目中,将数据导出成CSV格式文件是常见的功能.与Excel文件导出类似,此处也用代码框架式的方式实现CSV文件导出,使得代码具有可重用性,并保持导出数据转换的灵活性…