第二单元总结博客
19373069 刘川枫一、同步块的设置和锁的选择
多线程程序设计必须要考虑到不同线程同时对同一个对象进行访问,产生冲突的情况,因此就必须要进行加锁,防止同时访问产生错误,而在哪块加锁就是程序设计者最需要考虑的问题。我的加锁原则是:在保证正确的情况下,锁住的部分越少越好。
①第一次作业
第一次作业,我采用的是synchronized锁。第一次作业只有两个线程:Elevator(电梯线程),InputThread(输入线程)...
ACID:
A(Atomicity)原子性:事务中有多个操作,要么全部发生,要么全部不发生。
C(Consistency)一致性:Consistency ensures that a transaction can only bring the database from one valid state to another, maintaining database invariants: any data written to the database must be valid according to all defined rules, including constraints, cascades,triggers, and any combination thereof. This prevents...
开发者对复杂的数据结构的处理能力也是体现开发者水平的一个度量吧。。。最近发现自己对一些嵌套数据结构、层级数据结构的处理能力不大足。。。经常被这些把自己绕晕。。。严重影响开发效率。。。就稍微低总结了一下下。。。一、mongodb设计层级关系数据(这里主要说的是mongoose)①假设有这样的一个场景。某个文章下面有评论,每个评论可以被回复,每个回复又可以被回复...首先,我们知道,普通的一对多的关系,可以通过引用,popu...
在平常工作中经常用到了string类,本人记忆了不好用到了的时候经常要去查询。在网上摘抄一下总结一下,为以后的查询方便:
string类的构造函数: string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化
string类的字符操作: const char &operator[](int n)const; const char &at(int n)const; char &operator[](int n); char &at(int n); operator[]和at()均返回当前字符串中第n个字符的位置...
本人由于工作的原因,对GDI的研究较多,下面是我在使用中的一些经验总结,希望大家有问题的指出问题,如果能对初学者有一点点帮助,我也就算是没有白写此文了! windows内部对于GDI的操作赋于了很高的权限,但要想做一个好的图形界面,并且占用资源少的图形界面的话,还是要下一番工夫的,下面我总结出来几条:一: 双缓冲,这是耳朵听起老茧的东西的,这其中,主要是建立内存兼容DC和内存兼容位图,如下: HDC hDC = ::Get...
今天是我们的第一个冲刺阶段的第八天,我的工作总结如下: 一、昨天干了什么? 学习了关于安卓界面搭建的视频和教程,配合其他团队成员整合了一些我们的界面以及数据库的对接。 二、今天准备做什么? 美化主界面,学习Android界面如何制作饼状图。 三、遇到了什么困难? 不同的界面对接很困难,程序被我们修改得虽然没有语法错误了,但是运行时会突然终止。随着冲刺阶段一天天地过去,感觉自己对安卓的了解...
转自:https://www.cnblogs.com/xrq730/p/4820992.html转自: https://www.cnblogs.com/swisszhang/p/9892992.html 前言之前讲到final关键字的作用是每次面试的时候我必问求职者的两个问题之一,另外一个问题就是文本会写到的static。final和static一样,都是一个小问题可以看到一个人的基础是否扎实以及平时是否有钻研精神。 静态变量和静态方法static关键字最基本的用法是:1、被static修饰的变量属于类变量,可以通过类名.变量...
1 同步块设置和锁的选择
线程:controller调度器线程、elevator电梯线程、input输入线程
输入线程识别到新请求时,用synchronized锁住调度器线程,更新总等待队列或增加电梯。
当电梯线程需要改变电梯位置或者上下乘客时,用synchronized锁住调度器线程,更新电梯内外乘客队列。
2 调度器设计与线程交互
controller:调度器线程
定义等待请求阻塞队列:从输入中分析的乘客请求
线程运行:循环乘客等待请求队列非空:分配乘客到合适...
参考链接【学习总结】SQL的学习-汇总目录初识数据库END【学习总结】SQL的学习-2-sql操作标签:数据 http toc tps blog com 目录 学习总结 logs 本文系统来源:https://www.cnblogs.com/anliux/p/12743517.html
微信小程序开发总结微信公众号的账户和微信小程序的账户是分离的,并不是同一个,需要使用一个新的邮箱来注册小程序。
正式环境必须使用https协议,测试环境配置工具中可以设置为不校验http协议。第三方框架 wepy 与 mpvue 的区别:wepy
腾讯官方开发的类vue框架,但是实际使用和vue还是有不小的区别的,总的来说比直接用原生开发体验上要好很多,如果是新项目建议用wepy开发,不能使用div、ul等html标签,而必须使用小程序的view、...
概念
触发器是一种特殊类型的存储过程,不由用户直接调用。创建触发器时会对其进行定义,以便在对特定表或列作特定类型的数据修改时执行。
触发器可以查询其他表,而且可以包含复杂的 SQL 语句。 它们主要用于强制服从复杂的业务规则或要求。 例如,您可以根据客户当前的帐户状态,控制是否允许插入新订单。触发器也可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。
作用
1)触发器可通...
SQL UNION 操作符合并两个或多个 SELECT 语句的结果。 语法: SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2; UNION 操作符选取不同的值;如果允许重复的值,请使用 UNION ALL。 SELECT column_name(s) FROM table1UNION ALLSELECT column_name(s) FROM table2;SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。(MySQL 数据库不支持 SELECT .....
T1:裸的exgcd细节特特特特特特特特别多(忒忒忒忒忒忒忒忒忒忒忒忒忒忒。。。) T2:m<=n<=2000裸的树形背包 T3:裸的大模拟。细节特别多。。。。。。。。 总结:题目特别裸细节特别多170pts/300pts rank2原文:https://www.cnblogs.com/Miracevin/p/9313972.html
今天学习了一下js的继承,js中的继承主要分四种,原型继承,构造函数继承,call/apply继承以及es6的extend继承。1.原型继承:原型继承主要利用js对象的prototype引用父类的构造函数来复制父类的方法。//定义一个Person类function Person(name){ this.name=name; } //打招呼Person.prototype.sayHello=function(){ alert("Hello,my name is "+this.name); } //定义Man类,继承Person类function Man(name,age){this.name=name;...
一.append可以往字符串后边添加字符串 相当于“xxxx”+“yyyy”中的“+”。跟String不同的是String1+String2 和Stringbuffer1.append("yyyy")虽然打印效果一样,但在内存中表示却不一样 String1+String2 存在于不同的两个地址内存。二.append可以插入字符串指定位置的字符 StringBuffer buf=new StringBuffer("Hard "); String aString = "Waxworks"; buf.append(aString,3,7); 这个操作将aString的从索引位置3...