自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 数据库查询百万级数据导出excel功能优化

数据库查询百万级数据导出excel功能优化

2022-09-29 11:50:30 1231 3

原创 AOP面向切面编程

AOP面向切面编程一、AOP概念二、AOP底层原理:动态代理1.JDK代理2.CGlib代理三、AOP(JDK动态代理)的实现使用JDK动态代理,使用Proxy类里面的方法创建代理对象(java.lang.reflect.Proxy)1. 调用newProxyInstance方法2.编写JDK动态代理代码四、AOP操作术语1. 连接点2. 切入点3.通知(增强)4. 切面(是动作)AOP操作(准备工作)1. Spring框架一般都是基于AspectJ实现AOP操作2. 基于A

2022-05-26 09:28:48 748

原创 IoC控制反转

IoC控制反转一、IoC概念和原理1. 什么是IoC2. IoC底层原理二、IoC过程1. xml配置文件,配置创建的对象2. 有UserService和UserDao类,创建工厂类三、IoC接口1. IoC思想基于IoC容器完成,IoC容器底层就是Bean工厂2. Spring提供实现IoC容器的两种方式(两个接口)3. ApplicationContext接口的实现类四、IoC操作

2022-05-25 21:22:29 4153

原创 Spring框架概述

Spring框架概述

2022-05-24 23:00:38 136

原创 Session会话跟踪技术

为什么要用Session会话技术因为Http是无状态的,也就是说,无法判断发来的信息是否来自同一客户端,为了区分,所以使用Session会话技术。比如,第一次请求加入购物车,第二次请求结账,如果这两次请求服务器无法区分是否为同一用户的,就会导致混乱。会话跟踪技术客户端第一次发送请求给服务器,服务器获取不到Session,则创建新的,然后响应给客户端下一次客户端给服务器发送请求的时候,就会把sessionID带给服务器,然后服务器就获取到了,由sessionID便可区分请求的客户端是否为同一个,避免.

2022-05-09 15:37:33 174

原创 HTTP协议

http协议

2022-05-08 10:20:28 625

原创 Servlet继承关系、生命周期

Servlet继承关系、生命周期

2022-05-08 09:36:54 170

原创 对数器:万无一失的测试方法

测试数据的一种方法

2022-02-22 21:07:56 109

原创 位运算例题:找出数组中奇数次的元素

位运算例题

2022-02-22 20:01:30 334

原创 使用异或方法写交换算法

使用异或方法写交换算法

2022-02-22 15:52:40 92

原创 nginx配置https以及修改域名

nginx配置https以及修改域名mkdir /root/sslcd /root/sslopenssl genrsa > jxk.key 2048openssl req -new -x509 -key jxk.key >jxk.pem输入一系列信息之后,在/root/ssl目录下输入lsls显示你的密钥和证书名称:jxk.key jxk.pem然后修改配置文件 :添加证书,修改域名,添加一个server模块vim /etc/nginx/conf.d/default.co

2021-06-26 20:55:48 1330 1

原创 Nginx负载均衡架构

Nginx负载均衡架构1.准备好三台服务器2. Nginx、MariaDB、php的安装(server1,server2)安装nginx启动nginx修改配置文件安装MariaDB安装php新建index.php关闭防火墙和selinux3.代理服务器的配置(server3)安装nginx启动nginx配置文件关闭防火墙和selinux4. 在宿主机网页输入server3的ip地址

2021-06-26 15:28:14 1062 10

原创 CentOS联网问题(已解决)

NAT模式联网问题解决name or service not found.... unreachable网卡信息配置防火墙各种服务

2021-06-25 15:49:36 4183 4

原创 动态规划算法

动态规划算法动态规划题目特点:1. 计数2. 求最大值最小值3. 求存在性例题1. 换硬币 ——求最值动态规划2. 不同的路径——计数型动态规划3. 跳跃游戏——存在型动态规划动态规划题目特点:1. 计数1)有多少种方式从左上角走到右下角2)有多少种加法选出k个数和是sum2. 求最大值最小值1)从左上角到右下角路径的最大数字和2)求最长上升子序列长度3. 求存在性1)取石子游戏,先手是否必胜2)能不能选出k个数使和是sum例题1. 换硬币 ——求最值动态规划题目描述:给出不同

2021-06-03 14:34:55 121 2

原创 Java实现全排列

Java实现全排列要点代码时间复杂度分析要点深搜+回溯全排列可以通过构造一棵树,对这棵树进行深度搜索,便可得到全排列。对于树的每一个分支,在向下深度搜索的时候,要对上一层访问过的元素进行标记,以免重复访问。访问完一条分支之后,再回溯到根结点,访问其他分支,回溯的过程要对标记过的元素进行撤销标记(逆处理)。其余细节在代码注释中体现。代码import java.util.List;import java.util.ArrayDeque;import java.util.ArrayList;

2021-05-30 17:45:58 1218

原创 centOS安装kvm出现的问题:本地yum源的配置--Cannot find a valid baseurl for repo: base/7/x86_64

centOS安装kvm出现的问题:本地yum源的配置--Cannot find a valid baseurl for repo: base/7/x86_64

2021-04-22 10:45:05 885

原创 蓝桥杯赛前整理

1. 全排列//全排列 例:abc acb bac bca cab cbapublic class Main4 { //从第k个元素开始的全排列 public static void f(char[] data,int k) { if(k==data.length) { System.out.println(data); } for(int i=k;i<data.length;i++) { char t = data[i]; data[i] = data[k]

2021-04-18 08:07:58 110

原创 四大排序算法

冒泡排序public static void bubbleSort(int[] a) { for(int i=0;i<a.length-1;i++) { for(int j=0;j<a.length-i-1;j++) { if(a[j]>a[j+1]) { int t = a[j]; a[j]=a[j+1]; a[j+1]=t; } } } }选择排序public static void selectionSort

2021-04-14 07:45:39 157

原创 第六届蓝桥杯Java B组 三羊献瑞

Description观察下面的加法算式:其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。Input没有输入。Output输出“三羊献瑞”所代表的四位数字。import java.util.Arrays;/* a b c d + e f g b e f c b i */public class _三羊献瑞_ { //用于检查这个数组中的元素是否各不相同 public stati

2021-04-11 11:06:19 119

原创 位运算的技巧

在处理整型数值时,可以直接对组成整性数值的各个位进行操作。这意味着可以使用屏蔽技术获得整数中的各个位&(与)、|(或)、^(异或)、~(非/取反)>>和>>运算符将二进制位进行右移或者左移操作>>>运算符将用0填充高位;>>运算符用符号位填充高位,没有<<<运算符对于int型,1<<35与1>>3时相同的,而做百年的操作数是long型时需对右侧操作数模64与:都为1结果为1;或:有一个为1结果.

2021-03-22 21:09:11 82

原创 第十届蓝桥杯Java B组 数的分解

数的分解Description把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法?注意交换 3 个整数的顺序被视为同一种方法,例如 1000+1001+18 和1001+1000+18 被视为同一种。Input没有输入。Output这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。package test2019;import java.ut

2021-03-20 21:00:21 169

原创 第四届蓝桥杯Java B组 三部排序

三部排序Description一般的排序有许多经典算法,如快速排序、希尔排序等。但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。比如,对一个整型数组中的数字进行分类排序:使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过1次线性扫描就结束战斗!!以下的程序实现了该目标。其中x指向待排序的整型数组,len是数组的长度。Input如果给定数组:25,18,-2,0,16,

2021-03-07 09:51:28 147

原创 第四届蓝桥杯Java B组 有理数类

有理数类Description有理数就是可以表示为两个整数的比值的数字。一般情况下,我们用近似的小数表示。但有些时候,不允许出现误差,必须用两个整数来表示一个有理数。这时,我们可以建立一个“有理数类”,下面的代码初步实现了这个目标。为了简明,它只提供了加法和乘法运算。内部使用该类的示例:Rational a = new Rational(1,3);Rational b = new Rational(1,6);Rational c = a.add(b);System.out.println(a

2021-03-07 09:41:36 110

原创 第四届蓝桥杯Java B组 振兴中华

振兴中华Description小明参加了学校的趣味运动会,其中的一个项目是:跳格子。地上画着一些格子,每个格子里写一个字,如下所示:从我做起振我做起振兴做起振兴中起振兴中华比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。要求跳过的路线刚好构成“从我做起振兴中华”这句话。请你帮助小明算一算他一共有多少种可能的跳跃路线呢?Input没有输入。Output输出可能次数。分析:递归算法:dfs+回溯

2021-03-07 09:28:03 97

原创 第四届蓝桥杯Java B组 马虎的算式

马虎的算式Description小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。有一次,老师出的题目是:36 x 495 = ?他却给抄成了:396 x 45 = ?但结果却很戏剧性,他的答案竟然是对的!!因为 36 x 495 = 396 x 45 = 17820类似这样的巧合情况可能还有很多,比如:27 x 594 = 297 x 54假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0)能满足形如: ab x cde = adb x ce

2021-03-07 09:16:01 157

原创 第四届蓝桥杯Java B组 世纪末的星期

Description曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破。还有人称今后的某个世纪末的12月31日,如果是星期一则会…有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一!!于是,“谣言制造商”又修改为星期日…1999年的12月31日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即xx99年)的12月31日正好是星期天(即星期日)?请回答该年份(只写这个4位整数,不要写12月31等多余信息)Input没有输入。Output见上文描述。分析:

2021-03-06 21:30:53 131

原创 递归算法笔记

递归与循环理论上,任何循环都可以重写为递归形式有时候,为栈限制,需要尾递归Java不支持尾递归有些语言没有循环语句,只能使用递归尾递归:函数在调用自身之后没有执行其他任何的操作就是尾递归。尾递归的原理是将递归变成迭代。改为递归的关键是发现逻辑的“相似性”不要忘记递归“出口”例1:打印出从0-9的整数循环:public class Main { public static void main(String[] args) { for(int i=0;i<10;i

2021-02-28 17:20:20 310 6

原创 Python数据分析之NumPy

Python数据分析之NumpyNumPy是Python的一种开源的数值计算扩展,这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表结构(nested list structure)要高效的多。NumPy(Numeric Python)提供了许多高级的数值编程工具,Numpy的一个重要特性是它的数据计算,是我们做数据分析必不可少的一个包。导入python库使用关键字import,后面可以自定义库的简称,但是一般都将Numpy命名为np,pandas命名为pd。使用前一定要先导入N

2020-12-16 17:32:26 287

原创 Python学习笔记——基础语法

2020-11-30 19:44:02 93

原创 安装XAMPP遇到的问题(二)——端口被占用导致apache和MySQL无法启动

要想解决端口被占用问题,只需要把端口号改一下就好了,因为占用端口的是无法结束任务的系统。(如果出现没有权限修改的问题,请查看解决权限问题原因是电脑里原本安装的Apache占用了端口,点击右侧的config进行重新配置。(将原来的80和443改为81和4431)然后在Apache后面的config里修改:进行对应修改:进行对应修改:然后再点击start,apache即可启动。...

2020-09-25 19:20:18 923

原创 安装XAMPP遇到的问题(一)——要求关闭UAC以及权限问题

UAC(User Account Control,用户帐户控制)是微软为提高系统安全而在Windows Vista中引入的新技术,它要求用户在执行可能会影响计算机运行的操作或执行更改影响其他用户的设置的操作之前,提供权限或管理员‌密码。通过在这些操 作启动前对其进行验证,UAC 可以帮助防止恶意软件和间谍软件在未经许可的情况下在计算机上进行安装或对计算机进行更改。也就是说在执行程序时弹出的是否允许对设备进行更改类似的提示。这里我们必须关闭UAC。解决办法(一):关闭UAC步骤:右键此电脑——属..

2020-09-25 19:06:23 2004 1

原创 Java Web——JSP基础

Java Web——JSP基础内容

2020-08-24 17:01:27 271 2

原创 创建SQLite数据库

Android系统下的SQLite不具有创建何管理数据库的接口,通过编码来创建数据库。创建一个SQLiteOpenHelper类的子类来处理数据库所有的操作,例如,创建数据库,创建表,插入和删除记录等。创建SQLiteDatabase的表、视图和触发器等对象后,就可以对数据库进行数据的添加、查询、更新和删除操作。插入、删除、更新:使用SQLiteDatabase对象执行SQL语句的方法db.execSQL(String statement),执行INSERT、DELETE、UPDATE和CREA

2020-08-15 14:32:23 522

原创 AndroidStudio——实现点击事件的三种方式

1.使用onClick属性在需要实现点击事件的按钮中添加onClick属性,值为方法名<Button android:onClick="login" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="登录" android:textSize="18sp" />在MainA

2020-08-07 10:47:43 2598

原创 操作系统 实验十一:读/写磁盘指定位置信息(只需完成读取)

实验十一:读/写磁盘指定位置信息(只需完成读取)一、实验目的(1)了解磁盘的物理知识。(2)掌握Windows系统提供的有关对磁盘操作API。(3)根据输入的扇区号读/写指定扇区。二、实验准备知识:相关API函数介绍1.设置读/写操作的位置函数SetFilePointer()用于移动一个打开文件中的读/写指针,这里磁盘设备被当作文件处理,因此用于移动文件读/写指针在磁盘上的位置。原型:DWORD SetFilePointer(HANDLE hFile,LONG lpdistanceTo

2020-08-06 15:24:14 1395

原创 操作系统实验十、获取磁盘基本信息

实验十:获取磁盘基本信息一、实验目的(1) 了解磁盘的物理组织。(2) 熟悉Windows 系统如何查看磁盘相关系数。(3) 掌握Windows 系统提供的有关对磁盘操作 API。二、实验准备1.相关系数数据结构说明磁盘基本物理结构原型:Typedef struct _DTSK_GEOMETRY { LARGE_INTEGER Cylinders; MEDIA_TYPE MediaType; DWORD TracksPerCylinder; DWO

2020-08-03 00:46:57 1084 1

原创 操作系统试验九、采用异步方式实现文件读/写

实验九 采用异步方式实现文件读/写一、实验目的(1)了解Windows系统异步文件读/写的概念。(2)熟悉Windows系统文件读/写相关的API。(3)掌握采用异步方式实现文件读/写的相关参数设置。二、实验准备知识:文件异步传输及相关API函数介绍文件异步传输基本原理文件异步传输是一种改变指令执行顺序的机制。一般而言,指令是顺序执行的,下一条指令必须在上一条指令执行完毕才可执行。因此当CPU遇到一条访问磁盘的指令时。应用程序需要等待磁盘访问结束后才能进行后续的工作。但如果后续工作与访问磁

2020-08-03 00:45:57 531

原创 操作系统实验八、采用高速缓存实现文件读写

实验八 采用高速缓存实现文件读写一、实验目的(1)了解windows系统文件高速缓存的概念。(2)熟悉windows系统文件读写相关API。(3)掌握采用缓冲方式实现文件读写相关参数的设置。二、实验准备知识访问缓存必将访问磁盘,而磁盘的访问速度远远低于内存的访问速度,高速缓存就是利用内存中的存储空间,来再存磁盘传输数据,因此高速缓存不是真正的物理设备,而是一只核心及内存映像机制。由于它被设置在内存中,因此速度非常快,可以在一定程度上解决CPU与磁盘速度不匹配的问题。高速缓存的原理是:假设一个进

2020-08-03 00:44:52 444

原创 操作系统实验七、Windows的文件管理

实验七 Windows 的文件管理一 、实验目的熟悉Windows系统文件读/写相关API;掌握无缓冲方式实现文件读/写相关参数的设置。二、实验准备知识:相关API函数介绍1. 文件创建函数CreateFile( ) 用于创建一个新文件;如果文件已经存在,则得到该文件的句柄。该函数的参数dwFalgsAndAttributes决定了文件的传输方式,对于普通的文件传输,可将参数设置为FILE_ATTRIBUTE_NORMAL;而若设置为FILE_FLAG_NO_BUFFERING,表示不

2020-08-03 00:43:43 2078

原创 操作系统实验六、系统内存使用统计

实验六:系统内存使用统计一、实验目的1.了解windows内存管理机制,理解页式存储管理技术。2.熟悉Windows内存管理基本数据结构。3.掌握WIndows内存管理基本API的使用。二、实验准备知识:相关数据结构及API函数介绍1.相关系统数据结构说明:系统结构MEMORYSTATUS中包含当前物理内存和虚拟内存和虚拟内存信息,使用函数GlobalMemoryStatus()可以将这些信息存储在结构MEMORYSTATUS中。结构原型:Typedef struct_MRMORYSTAT

2020-08-03 00:42:35 1510 2

KVM虚拟机管理(使用virt-manager和virsh)

上课整理自用

2021-04-22

操作系统实验报告:线程的创建和撤销

操作系统实验报告:线程的创建和撤销; 基于Windows xp;需要提前安装虚拟机;内含源程序和程序运行结果。

2020-05-12

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除