草庐IT

读书区

全部标签

QT官方社区及版本说明

Qt版本说明版本分类Qt商业版:提供给商业软件开发。它们提供传统商业软件发行版并且提供在协议有效期内的免费升级和技术支持服务。Qt开源版:提供了和商业版本同样的功能。它是免费的,使用开源版需要了解其采用的各种开源协议。版本说明2009年12月1日,诺基亚发布了Qt4.6。2013年7月3日,Qt5.1正式版发布了,这是Qt5.0发布后经过6个月的开发而测试的新版本。2014年4月,在QtCreator3.1Beta面世一个多月之后,终于迎来了其正式版。全新的QtCreator3.1.0主要包括Bug修复与系统改进,同时,还添加了一些新的功能特性。2019年7月,Qt5.13版本发布,QtCre

描述性统计

Part2描述性统计一、直方图直方图是用面积而不是用高度来表示数,所以其不同于条形图左边的刻度表示该块每单位所占总面积的百分比,可以称其为密度尺度。例如以每50元为一个单位,200-400就有四个单位。每一块所拥有的单位数\(\times\)左边每单位所占百分数=该块所占总百分比直方图的总面积=总单位数\(\times\)每单位对应密度尺度=1直方图的绘制是根据百分表来绘制的,即统计的变量的每个子区间内的实例占总实例的百分比数。在绘制时需要注意边界处理(终点约定):即位于子区间边界的值该划分到哪个子区间中。直方图的高度表示什么呢?高度表示拥挤程度(单位区间的密度),也就是堆积在该区间的实例数小

Java案例——生产者与消费者模式

需求:某小区单元定制牛奶,送奶人员会将牛奶放入奶箱,该奶箱共能存放30瓶牛奶,居民从奶箱中取奶。请用程序实现这一过程分析:1.创建奶箱类:定义一个成员变量,表示是奶箱中的第几瓶奶,提供存放牛奶和取出牛奶的方法2.创建生产厂家类:实现Runable接口,重写run方法,调用存放牛奶的方法3.创建居民类:实现Runable接口,重写run方法,调用取出牛奶的方法4.创建测试类:1.创建奶箱对象2.创建生产厂家对象,并将奶箱对象作为构造方法参数传递,调用存储牛奶的方法3.创建居民对象,并将奶箱对象作为构造方法参数传递,调用取出牛奶的方法4.创建两个线程,分别把生产厂家对象、居民对象作为构造方法参数传

Java基础——多线程(Lock锁)

一、Lock锁虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里上了锁,在哪里释放了锁,为了更清晰的表达如何加锁和释放锁,JDK5以后提供了一个新的锁对象LockLock实现提供比使用synchronized方法和语句更广泛的锁定操作二、Lock中提供了获得锁和释放锁的方法1.voidlock():获得锁2.voidunlock();释放锁Lock由于是接口,不能直接实例化,这里采用它的实现类ReentrantLock来实例化三、ReentrantLock的构造方法ReentrantLock():创建一个ReentrantLock的实例例如:之前的卖票案例就可以这样

Java基础——多线程之线程安全的类

线程安全的类StringBuffer1.线程安全,可变的字符序列2.从jDK5开始,被StringBuilder替代。通常应该使用Stringbuilder类,因为它支持所有相同的操作,但是它更快,因为它不执行同步Vector1.从Java2平台v1.2起,该类改进了List接口,使其成为JavaCollectionsFramework的成员。与新的集合实现不同,Vector被同步,如果不需要线程安全的实现,建议使用ArrayList代替Vector,但多线程也不会用Vector,它被一个方法代替了//staticListsynchronizedList(Listlist)//返回由指定列表支

Java基础——线程同步(简单卖票的实现)

需求:某车站出售舟山至宁波的车票,共一百张,有三个窗口卖票,请设计一个程序模拟窗口卖票分析:1.定义一个SellTicket类实现Runnable接口,并重写run方法,并定义车票总张数2.在run方法中判断票是否大于0;是:卖票,并告知哪个窗口卖出的,卖票后总票数减一否:提示没票了3.定义一个测试类,创建SellTicket类对象,并作为参数创建三个Thread类对象,赋予线程名4.启动线程SellTicket类publicclassSellTicketimplementsRunnable{ //定义总张数 privateinttickets=100; @Override publicvoi

Java基础——多线程

一、进程进程:进程是计算机中的程序关于某数据集合上的一次运行活动1.进程的执行过程是线状的,尽管中间会发生中断或暂停,但该进程所拥有的资源只为该线状执行过程服务。进程是整个现代操作系统的根本,操作系統是以进程为单位执行任务。2.是系统进行资源分配和调度的基本单位,是操作系统结构的基础。3.每个进程都有其自己的内存空间和系统资源4.一个进程可以有多个线程二、线程线程:进程中的一个执行任务(控制单元),负责当前进程中程序的执行。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据。1.单线程:一个进程中只有一个线程2.多线程:一个进程中同时存在多个线程三、多线程的实现方式方式一:继

Java案例——游戏次数的限制

需求:写程序实现猜数小程序试玩3次,超过三次后如果还要玩要提示:试玩结束,请申请新的试玩资格分析:1.写一个游戏类,里面有一个猜数小游戏2.写一个测试类A:从文件中读取数据到Properties集合,load,文件已存在,game.txt,数据值:count=0B:通过Properties集合获取玩游戏的次数C:判断是否超过三次是:提示试玩结束,请申请新的试玩资格否:可以继续玩,次数加一,重写回文件,store方法游戏类publicclassGame{privateGame(){} publicstaticvoidplay(){   //生成一个随机数   Randomr=newRandom(

Java案例——复制单级\多级文件夹

一、复制单级文件夹需求:将"E:\Demo"文件夹复制到F盘下分析:1、创建数据源目录File,路径为"E:\Demo"2、获取数据源目录File对象的名称也就是文件夹的名称3、创建目的地目录File对象,路径名是要复制到的盘F:+将要复制到的文件名称(这里与原文件保持一致)4、判断目的地目录对应的File是否存在,不存在就直接创建5、获取数据源目录下的所有文件的File数组6、遍历数组,得到每一个File对象,就是数据源文件7、获取数据源文件File对象的名称8、创建目的地文件File对象,路径名是目的地目录+名称9、复制文件,由于文件类型不确定,采用字节流复制文件/**1、创建数据目录Fi

Java案例——从集合到文件并排序(末尾有问题,请各位指导)

需求:键盘录入5个学生信息,要求按照成绩总分从高到低写入到文本格式:姓名,语文成绩,数学成绩,英语成绩分析:1、定义学生类2.创建TreeSet集合,通过比较器Comparator进行排序3.键盘录入学生数据4、创建学生对象,将键盘录入的数据对应赋值给学生对象的成员变量5、把学生对象添加到TreeSet集合6、创建字符缓冲输出流对象7、遍历集合,得到每一个学生对象8、把学生对象的数据拼接成指定格式的字符串9、调用字符缓冲输出流对象的方法写入数据10、释放资源Student类packageDemo041101;​publicclassStudent{ privateStringname; pri