信号量 PV 操作

信号量的类型定义 一般来说,信号量(semaphore)\(S\),表示资源数量减去需求数量。信号量的值仅能由 PV 操作来改变。 执行一次 P 操作意味着请求一个单位资源,因此 \(S\) 的值减 1;当 \(S < 0\) 时,需求数大于资源数,即已经没有可用资源,请求者必须等待。 执行一个 V 操作意味着释放一个单位资源,因此 \(S\) 的值加 1;若 \(S \ge 0\),此时资源数目能满足需求,所以可以唤醒一个在等待的请求者,让它获取资源。 当 \(S < 0\),\(|S|\)
分类: 其他 发布时间: 08-30 20:44 阅读次数: 0

凸优化【4 凸函数】

引言 本文先介绍凸函数的4种定义方式,然后介绍一些凸函数。 凸函数的第一个定义 \(f: R^n \rightarrow R\)为凸函数,等价于:\(dom f\)为凸,且 \[\forall x,y \in dom f, 0 \leq \theta \leq 1\] 有 \[f(\theta x + (1-\theta)y) \leq \theta f(x) + (1 - \theta)f(y)\] 凸函数的第二个定义(高维情况下用的比较多) 若\(f:R^n \rightarrow R\)
分类: 其他 发布时间: 08-30 20:44 阅读次数: 0

hbuilderx - 常用快捷键操作

常用的操作有(缺少一个快捷键,就是选中行) 1 1. ctrl+/ 注释代码 2 2. ctrl+y 恢复撤销 3 3. ctrl+x 剪切 4 4. ctrl+z 撤销 5 5. ctrl+c 复制 6 6. ctrl+p 在当前项目查找文件 7 7. ctrl+f 在当前文件查找字符串 8 8. ctrl+alt+f 在当前目录查找字符串 9 9. ctrl+k 格式化代码 10 10. ctrl+g 跳转到某行代码 11 11. ctrl+o 打开文
分类: 其他 发布时间: 08-30 20:44 阅读次数: 0

课程设计每日小结0830

今日完成: 1.准备答辩 2.根据老师建议修改界面 明日预计完成: 复习jdbc 每日小结: 今天经过答辩,发现我们之前的思路有错误,我们经过讨论,确立了新的思路走向
分类: 其他 发布时间: 08-30 20:44 阅读次数: 0

二、算法效率的衡量

算法效率衡量 执行时间反应算法效率 对于上次的例子,同一问题,给出了两种解决算法,在两种算法的实现中,对程序执行的时间进行了测算,发现两段程序执行的时间相差悬殊(214.583347秒相比于0.182897秒),由此我们可以得出结论:实现算法程序的执行时间可以反应出算法的效率,即算法的优劣。 单靠时间值绝对可信吗? 假设我们将第二次尝试的算法程序运行在一台配置古老性能低下的计算机中,情况会如何?很可能运行的时间并不会比在我们的电脑中运行算法一的214.583347秒快多少。 单纯依靠运行的时间
分类: 其他 发布时间: 08-30 20:44 阅读次数: 0

JS页面上的流氓广告功能

<style> * { margin: 0; padding: 0; } .panel { position: fixed; right: 0; bottom: 0; width: 200px; height: 200px; line-height: 200px; text-align: center; background-color: skyblue; } .close { position: absolute; right: 0; top: -30px; width: 30px; hei
分类: 其他 发布时间: 08-30 20:44 阅读次数: 0

L6-4 函数积木

一、课堂引入: 随着课程的学习,我们写的代码越来越复杂,为了解决我们繁杂的代码问题,我们可以使用一些方法将我们的程序变得更加井然有序。比如我们可以通过几种魔法将程序分成几个小的部分,主要有三种魔法,分别是函数、模块和对象。 函数是编程中最基本的魔法。 二、什么是函数? 想象生活中的例子,修理工需要实现准备好工具箱里面放好锤子,扳手,钳子等工具,然后遇到锤钉子的场景,拿来锤子用就可以,而无需临时再制造一把锤子。 修理工===>程序员 具备某一功能的工具===>函数 要想使用工具,需要
分类: 其他 发布时间: 08-30 20:44 阅读次数: 0

mcmf的dijkstra板子(来自PHY学长)

struct MCMF { struct edge { int to, cap, cost, rev; //edge() {} //edge(int to, int _cap, int _cost, int _rev) : to(to), cap(_cap), cost(_cost), rev(_rev) {} }; int V, H[maxn + 5], dis[maxn + 5], PreV[maxn
分类: 其他 发布时间: 08-30 20:44 阅读次数: 0

1. ZooKeeper简介

1. ZooKeeper是什么 ZooKeeper致力于提供一个高性能、高可用,且具备严格的顺序访问控制能力的分布式协调服务,是雅虎公司创建,是Google的Chubby一个开源的实现,也是Hadoop和Hbase的重要组件 1.1 ZooKeeper设计目标 简单的数据结构:共享的树形结构,类似文件系统,存储于内存; 可以构建集群:避免单点故障,3-5台机器就可以组成集群,超过半数正常工作就能对外提供服务; 顺序访问:对于每个读请求,zk会分配一个全局唯一的递增编号,利用这个特性可以实现高级
分类: 其他 发布时间: 08-30 20:44 阅读次数: 0

这里是个憨(蒟)~憨(蒻)~

米娜桑,我哈腰(一口河南腔别嘲笑哈) 欢迎来看我blog的各位大佬,既然来了,我也不能让你们空手而归对不对? 那么,我也没有什么能给你们的哈,你看网络上我也不能送你礼物给你钱对不对,那么我就给大家一个宝藏网站好了 然后, 众所周知我是个春学家和JO厨 ,给大家一个我很喜欢的二次元交流网站好了。 上面两个都是很好的宝藏网站哦。 什么?你要用贪心算法? 好吧,好吧,那我就把风靡我们机房的几个小游戏分享一下吧。 第一个 那这是第二个咯 最后一个,然而最近好像出了什么问题.... 好了,不打扰大佬们了
分类: 其他 发布时间: 08-30 20:44 阅读次数: 0

第二大矩阵面积--(stack)牛客多校第二场-- Second Large Rectangle

题意: 给你一幅图,问你第二大矩形面积是多少。 思路: 直接一行行跑stack求最大矩阵面积的经典算法,不断更新第二大矩形面积,注意第二大矩形可能在第一大矩形里面。 1 #define IOS ios_base::sync_with_stdio(0); cin.tie(0); 2 #include <cstdio>//sprintf islower isupper 3 #include <cstdlib>//malloc exit strcat itoa system("cl
分类: 其他 发布时间: 08-30 20:44 阅读次数: 0

8.30汇报

组名:naughty dog 队员:组长:张小平 组员:许志炜 选题:基于web的食堂订餐送餐系统设计与实现 今日完成:今天主要是去院办进行了项目进展演示,经过与老师的交流,和与其他同学的对比,我发现自己的项目进展有点缓慢,需要加快进度。 明日目标:明天建立数据库,并在myeclipse中建立于数据库之间的连接,并且实现管理登陆界面的完成。 今日小结:今天的项目演示,经过与相同的项目的同学的对比,我发现在下一周我必须加快项目进度,必须在下一次演示之前,将项目的功能基本完善,然后在最后一周去修改
分类: 其他 发布时间: 08-30 20:44 阅读次数: 0

nginx认证走LDAP

有时候的需求是比如kibana这种,默认不带认证的web页面,为了安全需要认证,或者是只有静态页面没有后端的项目,我们希望通过已有ldap进行认证
分类: 企业开发 发布时间: 08-30 20:41 阅读次数: 0

CentOS7没事删bootloader和stage1.5阶段玩

CentOS7没事删bootloader和stage1.5阶段玩众所周知bootloader位于磁盘前446字节,属于stage1.0阶段磁盘512字节后有一段空间是stage1.5阶段,用于找到启动的img和vmlinuz众所周知,stage1.0-stage2.0都可以用grub2-install(CentOS6是grub-install)参考:https://s4.51cto.com/wyfs
分类: 企业开发 发布时间: 08-30 20:30 阅读次数: 0

复制多级文件,将一个文件夹中的所有内容复制到另一个文件夹中

复制多级文件,将一个文件夹中的所有内容复制到另一个文件夹中。 设计递归方法,通过传入源文件和目的文件,将源文件中内容完全复制到目的文件中: 代码如下: private static void copyFolder(File srcFile, File destFile) throws IOException { //srcFile为源文件,destFile为目的文件 if (srcFile.isDirectory()) { File newFold
分类: 其他 发布时间: 08-30 20:28 阅读次数: 0

php反序列化漏洞复现

超适合小白的php反序列化漏洞复现 写在前头的话 在OWASP TOP10中,反序列化已经榜上有名,但是究竟什么是反序列化,我觉得应该进下心来好好思考下。我觉得学习的时候,所有的问题都应该问3个问题:what、why、how。what:什么是反序列化,why:为什么会出现反序列化漏洞,how:反序列化漏洞如何利用。 在这里我对反序列化的原理不做详细介绍,大家可以自行到网上搜索。在这里我只叙述自己的复现过程,超简单的好不。 实验环境 Windows 10+phpstudy 2016 实验步骤 测
分类: 其他 发布时间: 08-30 20:28 阅读次数: 0

攻防世界 reverse 进阶 9-re1-100

9.re1-100 1 if ( numRead ) 2 { 3 if ( childCheckDebugResult() ) 4 { 5 responseFalse(); 6 } 7 else if ( bufParentRead[0] == '{' ) // 第一位 8 { 9 if ( strlen(bufParen
分类: 其他 发布时间: 08-30 20:28 阅读次数: 0

自定义类模拟LineNumberReader的特有功能,获取每次读取数据的行号

自定义类模拟LineNumberReader的特有功能,获取每次读取数据的行号 LineNumberReader的特有功能有: int getLineNumber():获得当前行号。 void setLineNumber(int lineNumber):设置当前行号。 代码如下: public class MyLineNumberReader { private Reader r; private int lineNmber = 0; public MyLin
分类: 其他 发布时间: 08-30 20:28 阅读次数: 0

什么是进程?什么是线程

什么是进程?什么是线程? 进程是系统中正在运行的一个程序,程序一旦运行就是进程。 进程可以看成程序执行的一个实例。进程是系统资源分配的独立实体,每个进程都拥有独立的地址空间。一个进程无法访问另一个进程的变量和数据结构,如果想让一个进程访问另一个进程的资源,需要使用进程间通信,比如管道,文件,套接字等。 一个进程可以拥有多个线程,每个线程使用其所属进程的栈空间。线程与进程的一个主要区别是,统一进程内的一个主要区别是,同一进程内的多个线程会共享部分状态,多个线程可以读写同一块内存(一个进程无法直接
分类: 其他 发布时间: 08-30 20:28 阅读次数: 0

用Reader模拟BufferedReader的readerLine()功能

用Reader模拟BufferedReader的readerLine()功能 readLine():一次读取一个文本行。根据换行符判断是否结束,只返回内容,不返回换行符 代码如下: public class MyBufferedReader { private Reader r; public MyBufferedReader(Reader r) { this.r = r; } public String readLine()
分类: 其他 发布时间: 08-30 20:28 阅读次数: 0