竞态条件

1.定义 由于不恰当的执行时序而出现不正确的结果. 最常见的类型是 "先检查后执行"; 比如两个线程同时操作一个变量.我们定义一个 变量 int i = 0; 给 i 增加1; 增加1的过程有三个操作"读取-修改-写入",结果状态依赖于之前的状态. 但是在多线程情况下,这个状态依赖会被别的线程所修改,也就是说一个线程读取了 i = 0; 然后修改为 i = i + 1; 修改过程依赖的是之前读取 i = 0 的结果, 但是如果 i = 0 被别的线程所修改, 我们就可以说这就是出现了竞态条件,
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

用户界面样式(cursor,resize,vertical-align,outline)

1. 鼠标样式 cursor  default: 小白(箭头)默认  pointer:小手  move:移动  text:文本  not-allowed:禁止 2. 轮廓线(表单外发光)outline  给表单添加 outline:0; 或者 outline:none; 可以去掉默认蓝色边框 3. 防止拖拽文本域(resize)  实际开发中 textarea 是不允许拖拽文本域的,使用 resize:none; 解决  需要注意的是让 <textarea></textarea> 标签在一行显
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

《Java并发编程实战》读书笔记-第4章 对象的组合

设计线程安全的类 三个基本要素: 找出构成对象状态的所有变量 找出约束状态变量的不变性条件 建立对象状态的并发访问管理策略 实例封闭 将数据封装在对象内部,可以将数据的访问限制在对象的方法上,从而更容易确保线程在访问数据时总能持有正确的锁。 线程安全性的委托 如果一个类是由多个独立且线程安全的状态变量组成,并且在所有的操作中都不包含无效状态转换,那么可以将线程安全性委托给底层的状态变量。 如:类中含有两个Atomic引用变量,某个符合操作会使用到两个变量的状态,可以使用加锁机制来保证原子操作
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

实验& 报告7

实验任务详情: 完成火车站售票程序的模拟。 要求: (1)总票数1000张; (2)10个窗口同时开始卖票; (3)卖票过程延时1秒钟; (4)不能出现一票多卖或卖出负数号票的情况。 *** class MyThread implements Runnable{ private int ticket = 1000; public void run() { for (int i=0;i<2000;i++) { synchronized (this) { if (ticket>0) { try {
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

vue + element-ui 国际化实现

1. 安装组件和插件 cnpm i element-ui -S // 安装element cnpm i vue-i18n -S //安装i18n 2.将国际化资源放在assets目录下 3.在src下新建i18n目录,创建一个 index.js;路径src\i18n\index.js import Vue from 'vue' import VueI18n from 'vue-i18n' import ElementLocale from 'element-ui/lib/locale'
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

「csp校内训练 2019-10-24」解题报告

「csp校内训练 2019-10-24」解题报告 T1、猴猴吃苹果 \(Description\) 猴猴最喜欢在树上玩耍,一天猴猴又跳上了一棵树,这棵树有 \(N \ (N \leq 50000)\) 个苹果,每个苹果有一个编号,分别为 \(0\) ~ \(N - 1\) 它们之间由 \(N-1\) 个树枝相连,猴猴可以从树枝的一端爬到树枝的另一端,所以猴猴可以从任意一个苹果的位置出发爬到任意猴猴想去的苹果的位置。 猴猴开始在编号为 \(K \ (K < N)\) 的苹果的位置,并且把这个苹果
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

django之模型层(待补充)

模型层 1. ORM查询 所有代码都是在test.py文件中运行的 注意:我如果想在test.py文件中测试相关代码,那么必须要进行配置,不然会报以下的错误 django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

[算法]插入排序

算法复杂度为O(n^2) 基本思想是:类似于摸牌,在手中的牌已经排好序,摸一张牌,寻找合适的位置,一个一个的比较,找到合适的位置插入 #include <QCoreApplication> #include <iostream> #include <algorithm> #include <vector> using namespace std; void insertSort(int a[],int size) { int i,j; for(j=1;j<size;j++)
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

2.云计算&大数据_linux基础知识(1)计算机为何物

一. 天降一物计算器,何许人也 1.计算机的武林   接受使用者输入指令与数据, 经由中央处理器的数学与逻辑单元运算处理后,以产生或储存成有用的信息   个人计算机,即服务于个人雇主的隐士高手,只要雇主指令得当,下能算数八卦,上能飞天遁地 2.深扒计算机五脏六腑:(运算器,控制器,存储,输入,输出)   cpu:高手的脑回路(脑回路:算数逻辑单元与控制单元)------------------------------------------运算器,控制器   bus:总线。高手的七筋六脉,负责
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

应用安全 - 编程语言漏洞 - PHP语言漏洞汇总

CVE-2019-11043 Date: 2019.9.16 类型: 远程代码执行 前置条件: Nginx + fastcgi + php-fpm 配置文件信息如下: location ~ [^/]\.php(/|$) { ... fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_pass php:
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

SSM框架--BootCrm-Df项目说明文件

项目存储在Github上地址:https://github.com/Domefy/BootCrm_Df 一、首先,安装好mysql-8.0.12-winx64 解压版完整安装教程 安装教程看我的博客:https://www.cnblogs.com/domefy/p/11731418.html 配置好了mysql后,进入mysql,使用一下命令进行操作 ①创建数据库 create database boot_crm; ②选择所创建的数据库 use boot_crm; ③
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

drf偏移分页组件-游标分页-自定义过滤器-过滤器插件django-filter

drf偏移分页组件   LimitOffsetPagination 源码分析:获取参数 pahenations.py from rest_framework.pagination import LimitOffsetPagination class MyLimitOffsetPagination(LimitOffsetPagination): # ?offset=从头偏移的条数&limit=要显示的条数 limit_query_param = 'limit' o
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

mysql个人初配置

  记录下在ubuntu 18.04.3 LTS环境中安装mysql和个人初期简单设置。   1:安装myslq:sudo apt install mysql-server。   2:设置root密码。由于我没有使用桌面版,所以在安装过程中没有弹出要我设置root密码(我还纳闷了下,明明官网文档说会要我设置)。那怎么办呢?没帐号没密码是登不上去的。mysql在/etc/mysql/目录下有个名为debian.cnf的文件(当然这个文件的权限是600),文件里会写着默认的帐户和密码,用这个信息登
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

STL与基础数据结构

内容参考书籍《算法竞赛入门到进阶》 1.vector。   数组是基本数据结构,有静态数组和动态数组,在比赛中如果空间足够,能用静态数组就用数组,在空间紧张的情况下可以使用STL的vector建立动态数组。   vector是STL的动态数组,在运行时能根据需要改变数组大小。vector容器是一个模板类,能存放任何类型的对象。 1 vector<int> a;//默认初始化,为空 2 vector<int> b(a);//用a定义b 3 vector<int> a(100);//a有100
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

寻找我的黑客偶像

国内。 网名:中华特攻 (King Xer) 所属组织:中国网络安全部队、雷霆反计算机病毒小组 介绍:中国网络安全部队站长,雷霆反计算机病毒小组站长,中国黑客界新一代黑客泰斗人物。 此人对软件程式编译及程式破解方面有较高的技术,对防火墙及反病毒技术有着深入的研究,曾写过不少技术论文《防火墙突破最新方案》、《雷霆教你反病毒》等一些有重要意义的文章就是出自此人之手,开发过不少黑客工具,其中“WINDOWS 2000 安全过滤系统”也是出自此人之手,为黑客界作出了贡献。 国外。任何一场革命或者运动都
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

栈-函数调用

汇编的程序如下,分析此程序以得出栈的精髓: 1、主函数被上层调用者调用后,执行PUSH EBP,ESP-4(因为EBP入栈),EBP值没有改变,值得注意的是刚开始分配站的时候,第一个入栈的是return,主函数的返回地址,然后是EBP 2、然后是MOV EBP,ESP,将ESP的值赋给EBP,该语句未执行时,EBP仍为上层调用者的栈的栈底指针,执行该语句后,EBP变为新栈的栈底指针(先将其入栈,是为了返回上层时,栈的状态也会随之返回,函数调用结束,函数的栈即消失) 3、然后就是一些函数内部的数
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

AT2294 Eternal Average

我们将最后剩下的数写成\(k\)进制数,即\(0.a_1a_2a_3a_4…\) \(\therefore a_i\)代表最后第\(i\)次合并了\(a_i\)与\(k-a_i\)个\(0\)所得到的数. 所以我们可以设\(dp[i][j]\)表示当前的数已经有了\(i\)位,\(\sum_{j=1}^{i}a_i=j\)的方案数. 显而易见的,\(dp[i][j]=\sum_{t=\max(1,j-k)}^{j}dp[i-1][t]\). 如果状态合法,即\(j\equiv m(mod\ k
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

团队作业1——团队展示&选题

目录 团队作业1——团队展示&选题 团队展示: 团队选题: 团队成员绩效评估方法 团队作业1——团队展示&选题 团队展示: 队名:有外神无内鬼队 队员学号: 3117008747 谭万钏(组长) 3117008742 刘霍翔 3117008744 刘志豪 3117008746 石林峰 3117008748 谭艺 3117008749 唐崇珂 拟作的团队项目描述:校园在线学习及社交平台 队员风采: 谭万钏:了解Java和Python语言开发,擅长服务器的部署及Redis缓存技术,能为团队带来开发
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

Thinkphp5——实现分页(多种方法)

现在很多网站的数据量的很多,如果全部在一页里显示效果不好,数据量太大,那怎么办?这时我们就需要分页,而分页的好处就是分段显示数据,这样页面就不用加载很多数据,需要时才加载,下面我教大家实现ThinkPHP5分页。 在分页之前我们要先引入bootstrap的css。 第一种:使用limit实现分页(不建议使用) limit方法也是模型类的连贯操作方法之一,主要用于指定查询和操作的数量,特别在分页查询的时候使用较多。ThinkPHP的limit方法可以兼容所有的数据库驱动类的。 代码示例: Db:
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0

《Java并发编程实战》读书笔记-第1章 简介

并发简史 在早期的计算机中不包含操作系统,从头至尾都只执行一个程序,并且这个程序能访问计算机所有资源。操作系统的出现使得计算机每次能运行多个程序,并且不同的程序都在单独的进程中运行:操作系统为各个独立执行的进程分配内存、文件句柄、安全证书等。不同进程之间通过一些粗粒度的通信机制交换数据,包括:套接字、信号处理器、共享内存、信号量以及文件等。 之所以在计算机中加入操作系统来实现多个程序同时执行,主要基于以下原因: 资源利用率:在某些情况下,程序如果在等待某个外部操作执行完成的同时,可以运行另一个
分类: 其他 发布时间: 10-24 23:34 阅读次数: 0