【JavaEE】通过Ajax构造Http请求 全称Asynchronous Javascript And XML,是一种 JavaScript 给服务器发送 HTTP 请求的方式(浏览器给JavaScript提供的一个和服务器交互数据的机制)特点是可以不需要刷新页面或页面跳转就可以进行数据传输,即异步传输方式:发送方发送数据之后就不用管了,接收方有结果后,会把结果主动推送过来ajax能够传输的数据不仅仅是xml,可以是任何形式的数据。
【Java】多线程--线程的生命周期/线程状态 Thread.yield()方法可以让线程做出让步,让当前正在执行的线程暂停,把cpu的时间片空出来,让给优先级更高的线程来执行代码,这时候之前的这个线程就会从RUNNING状态回到READY状态,等待执行。调用start()方法后,线程进入就绪状态,这时候线程就会等待cpu,获取到时间片,再开始执行程序代码,若时间片用完而代码没有执行完,则需要重新回到就绪状态,等待下一次获取到cpu时间片再执行。可以使用isAlive()方法来判断线程是否存活,getState()方法可以获取当前线程的状态。
【Java】JDBC的使用 数据库连接访问 JDBC 即 Java Database Connectiviy,Java数据库连接,是一种用于执行SQL语句的Java API(Application Program Interface 应用程序界面),是Java中的数据库连接规范如Oracle、SQLServer、MySQL等不同数据库提供的的API不一样,Java中就提供了组织统一风格的数据库操作API即JDBC,它为Java开发人员操作数据库提供了一个标准的API,使得多种关系数据库可以提供统一访问。
【数据结构】HashMap和HashSet Map和Set是一种专门用来搜索的数据结构搜索的数据称为关键字(Key)和其关键字对应的值(Value),而Key-Value则称为键值对Map中储存的是,而。
【MySQL】聚合/联合查询--同程艺龙校招笔试 薪资表salary 的字段有 salary_id,staff_id,salary,month。员工表 staff 的字段有 staff_id, name, age, depart_id;(问题c):求公司每个部门的月支出薪资数,要求输出部门、月份和本月薪资总数。部门表depart的字段有depart_id, name;根据题目要求,查询的结果信息中有部门,月份,每月薪资总额。部门名称在部门表中,月份和薪资在薪资表中。现在有员工表、部门表和薪资表。...............
【Java】static修饰成员变量 在Java中,被static修饰的成员,称之为静态成员,也可以称为类成员,不属于某个具体的对象,是类的属性,所有对象共享的,不存储在某个对象的空间中。可见,静态成员既可以通过类名访问,也可以通过对象名来访问。象,是所有对象所共享的。其不属于某个具体的对。...
【Java】实现一个图书管理系统 系统实现:在新建的book包目录下新建Book类:在book包底下创建BookList类,以表示书架:operation包新建一个包叫operation,把对书籍操作的类都放在operation包底下在operation包底下创建IOperation接口,操作有关的类都要先实现IOperaton接口来进行操作创建一个抽象方法work,传入的参数为BookList类型的bookList(可理解成传入参数为书架,来进行对书架的操作)接下来先实现管理员的有关操作:增添图书、删除图书、查找
【Java】Cloneable接口的浅拷贝和深拷贝/克隆 Java中Object类中的clone方法可以创建一个对象的拷贝,要调用clone方法,就要先实现Java内置的接口Cloneable如:接下来看看克隆的简单应用:创建Goods类,表示货物,新建对象为book书在创建新对象后,通过调用clone进行了拷贝:输出为: 这里要注意,在调用clone方法时,clone是父类Object的方法,所以克隆得到的对象类型是Object类,再此要将克隆结果赋给book2的话,就要将对象的类型强制转换为Goods接下来我们再创建一个Storage类,代表
【C语言】如何进行文件操作 目录为什么要使用文件文件文件的打开和关闭文件指针文件的打开和关闭为什么要使用文件例如:写了通讯录的程序,当通讯录运行起来的时候,可以给通讯录中增加、删除数据,此时数据是存放在内存中,但是当程序退出的时候,程序数据就被销毁,通讯录中的数据自然就不存在了,等下次运行通讯录程序的时候,数据又得重新录入。而使用文件,可将已有的通讯录数据写入文件中,就是将已有的数据直接存放在电脑的硬盘上,需要用到通讯录时就可以从文件中读取,做到了数据的持久化。文件磁盘上的文件就是文件,
【C语言】获得可变大小的内存空间——动态内存分配malloc/calloc/realloc/free函数 为什么存在动态内存分配静态内存开辟:int a = 20;char arr[10] = {0}特点:1. 空间开辟大小是固定的。2. 数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时候才能知道,那数组的编译时开辟空间的方式就不能满足了。malloc/freemalloc函数:向内存申请一块连续可用的空间,并返回指向这块空间的指针void* malloc(size_t siz
【C语言】实现一个通讯录(动态扩容) 通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址功能:添加联系人信息 删除指定联系人信息 查找指定联系人信息 修改指定联系人信息 显示所有联系人信息 清空所有联系人 以名字排序所有联系人固定大小通讯录 <-这是静态大小的通讯录这个动态大小的通讯录可以先开辟较小的空间,后根据需求再开辟所需要的空间,更节约内存空间写这个通讯录需要对结构体成员访问、动态内存分配的知识有一定的了解定义通讯录结构体#define NAME_MA..
【C语言】实现简易通讯录(静态大小) 通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址功能:添加联系人信息 删除指定联系人信息 查找指定联系人信息 修改指定联系人信息 显示所有联系人信息 清空所有联系人 以名字排序所有联系人这个程序主要就是结构体的一些应用,要对结构体成员访问的知识有了解结构体定义先定义一些常量,来定义字符数组的长度#define NAME_MAX 20#define SEX_MAX 5#define TELE_MAX 12#define ADD.
【C语言】struct结构体的内存对齐(结构体大小) 结构体:struct tag{member-list; //结构体成员}variable-list; //结构体变量再来看看这段代码:struct s1{ char a; int b; char c;};struct s2{ int a2; char b2; char c2;};int main(){ printf("%d", sizeof(struct s1)); printf("%d", sizeof(struct s2));
【C语言】内存函数memcpy/memmove的模拟实现 memcpy与strcpy的功能类似,就是将源地址数据拷贝到目的地址上去,但是strcpy是字符串的函数,使用上仅局限于字符串,而memcpy可用于任何形式,适用范围更广。memcpy其实实质就是将内存数据逐字节拷贝,形参count就是需要复制的字节数,所以以count作为循环判断即可实现void* my_memcpy(void* dest, const void* src, size_t count){ assert(dest && src); //断言不为空指针
【C语言】模拟实现字符串库函数strlen\strcmp\strcat\strcpy\strstr strlenint my_strlen(const char* arr){ int count = 0; assert(arr != NULL); while (*arr++) { count++; } return count;}int main(){ char arr[20] = "abcdefg"; printf("%d", my_strlen(arr)); return 0;}strcpychar* my_strcpy(char* destinatio