- 博客(90)
- 收藏
- 关注
原创 EL(Expression Language)表达式
只能从四大域里(pageContext、request、session、application)获取数据,并且查找数据的顺序从小到大的范围依次为:pageContext、request、session、application。 在四大域的后面加Scope可在指定域中查找,例如:requestScope.变量名EL访问实例对象中属性的写法1.${对象名.属性名}2.${对象名【‘属性名’】}注意:EL表达式在获取对象属性时,遇到不存在的对象,并不会报空指针异...
2022-04-24 21:47:25
338
原创 JSP(JavaServer Pages)基础
JSP规范在JSP文件中写Java <% %>Java代码块,类似与Java中写在main方法中的语句,因此,在其中定义变量时不能加修饰符;不能出现静态代码块;不能声明方法。 <%= %>表达式语句块,这个标记相当于Java中的out.print命令,用来将将内容输出的,里面既可以写变量,也可以写运算式。与out.print的区别在于前者是在浏览器页面输出的,而后者则是在控制台输出的。 <%!...
2022-04-22 21:43:44
597
原创 Prim算法和kruskal算法(Java)
Prim算法Java实现public class PrimMST { //索引代表顶点,值表示顶点是否在最小生成树中,在为true private boolean[] marked; //索引代表顶点,值表示顶点与最小生成树之间的最短边 private Edge[] edgeTo; //索引代表顶点,值表示顶点与最小生成树之间的最短边的权重 private double[] distTo; //使用最小优先队列索引,存放树中顶点与非树中顶点之间的
2022-04-17 15:08:53
546
原创 堆排序(Java)
堆的特性完全二叉树,除最后一层节点不需要是满的,其他从左到右都是满的。最后一层不满时,必须遵循“左满右不满”。通常是用数组实现的堆排序首先,创建堆,根据堆的定义,根节点大于两个子节点的叫大根堆(小于则叫小根堆)。然后,利用下层算法,实现删除根节点的方法来实现排序。时间复杂度O(nlogn)代码示例(此处是以大根堆来建立的堆排序):public class HeapSort { private static boolean less(Compara...
2022-04-06 22:55:11
520
原创 逆波兰表达式(Java)
逆波兰表达式区别于我们平日里的中缀表达式,逆波兰表达式是将运算符号后置,即放在两个数的后面。例如:中缀表达式:(a+b)*c逆波兰表达式:ab+c*以下使用Java代码计算逆波兰表达式的值:package DataStructureForJava.Stacks;import java.util.Stack;public class AgainstPoland { public static void main(String[] args) { /
2022-03-29 22:06:09
1873
原创 约瑟夫问题
约瑟夫问题41人坐成一圈,第一个人编号为1,以此类推,第n个人编号为n。从编号为1开始报数,依次往后,报到3的人退圈;退出的下面哪一个重新从1开始报数,以此类推。求:最后剩下那个人原来的编号是多少?代码示例:public class JosephQuestion { public static class Node<T>{ T item; Node next; public Node(T item, Node next) {
2022-03-27 21:17:42
385
原创 快速排序(Quick)
快速排序原理:设定一个分界值(这个分界值一般取第一个元素),通过分界值将数组分为左右两部分,将大于等于的数据放在右边、小于的数据放在左边。左右两边都独立排序。重复以上步骤,各自再分成左右两组,再排序。当左右两边均完成时,整个数组就排序完成了。时间复杂度最有情况:O(n log n)最坏情况:O()代码示例:public class Quick { public static void main(String[] args) { ...
2022-03-21 21:14:27
213
原创 递归与归并排序
递归与归并排序递归方法内部调用方法本身将一个大型复杂的问题层层转化成一个与原问题一致的,规模小的问题,大大减少代码量。注意的是:递归必须有边界条件,否则会发生栈内存溢出归并排序原理(分治法)将一组数据尽可能拆分成两组元素相等的子组,并对每一个子组进行拆分,拆到每个子组元素数量为1即可将相邻的两个子组合并成一个有序的组,一直合并到只剩下一组为止时间复杂度:O(nlog n)缺陷:需要额外申请数组空间,导致空间复杂度上升,是以空间换时间的操作。代码示例
2022-03-19 22:03:30
200
原创 插入排序与希尔排序
插入排序原理:将所有的元素分为两组,分别为已排序和未排序将未排序组中的第一个元素插入到已排序组中倒叙遍历已排序组中的元素,与他们依次比较并交换,直到找到一个小于等于的元素,将他插到这个位置,此时后面的其他元素向后移动一位时间复杂度O()代码示例:public static void insertion(Comparable[] a){ for (int i=1;i<a.length;i++){ for (int j=i;j>0;j
2022-03-16 22:56:26
182
原创 冒泡排序和选择排序
冒泡排序原理:比较相邻的元素,如果前一个元素比后一个元素大,两者将元素交换一轮比较下来,最后一个元素一定是最大的,接着就是寻找上下元素的最大值,直到剩余一个元素的时候,则排序完成时间复杂度O()代码示例如下public static void bubble(Comparable[] b) { for (int i = b.length - 1; i > 0; i--) { for (int j = 0; j < i; j++) {
2022-03-15 22:11:58
144
原创 数据的分类以及算法的时间复杂度
数据的分类逻辑结构(抽象)集合结构:集合中元素除了属于同一个集合外,没有其他关系线性结构:线性结构中元素存在一对一的关系树形结构:树形结构中元素是一对多的层次关系图形结构:图形结构中元素存在多对多的关系物理结构顺序储存结构(适合查找和遍历):将数据元素放在地址连续的存储单元里,数据间的逻辑关系和物理关系是一致的。链式存储结构(适合插入删除等操作):数据元素存储在任意单元里,数据之间不能反映逻辑关系,数据之间通过一个指针来指向元素的地址时间复杂度事前分析估算法
2022-03-14 22:37:33
287
原创 2022-03-10
UML建模用例图包含关系:include扩展关系:extend泛化关系类图与对象图类名,方法名,属性名多重度:数字(1,2……)代表对应另一个集合的多少个对象 0..*和*:表示对应多个对象 1..*表示至少对应一个对象关系:依赖、泛化、组合、聚合、实现(对接口)顺序图(时间) 生命线:虚线 消息:线上的内容 调用:有箭头实线 返回:有箭...
2022-03-10 22:10:01
100
原创 2022-03-09
数据库设计过程需求分析——数据流图、数据字典、需求说明书概念结构设计——E-R模型逻辑结构设计——关系模式物理设计(硬件、OS特性、DBMS特性)E-R模型实体间联系的三种类型: 一对一(部门与部门经理) 一对多(部门与部门员工) 多对多(商品与消费者,即两方面的一对多)E-R图向关系模型的转换转换原则:实体与来呢西分别转换成关系,助兴则转换成相应关系的属性一对一联系(转换成两个关系模式,任意一个关系模式的属性可...
2022-03-09 22:23:00
156
原创 2022-03-08
设计模式的分类创建型模式工厂方法(factory method)模式 提供一个接口,创建一系列相关的或相互依赖的对象,不需要指定具体类抽象工厂(abstract factory)模式 定义一个创建对象的接口,但由子类确定实例化哪个类原型(prototype)模式 用原型实例指定创建对象的类型,并通过拷这个原型来创建新的对象,效率高单例(singleton)模式 一个类只有一个实例构建器(builder)模式...
2022-03-08 22:00:56
517
原创 2022-03-07
需求工程对象类(实体类、边界类、控制类)抽象封装继承与泛化多态接口消息组件模式和复用设计原则单一职责原则:设计大一的类开放-封闭原则:对扩展开放,对修改封闭李氏(Liskov)替换原则:子类可以替代父类依赖倒置原则:依赖对象,而不是具体实现:针对接口编程,不要针对现实编程接口隔离原则:多个专门接口比一个大一总接口好组合重用原则:尽量使用组合,少用继承迪米特(Demeter)原则(最少知识原则):一个对象对其他对象尽量少的了解
2022-03-07 22:23:28
79
原创 2022-03-06(2)
需求分类与获取分类: 业务需求、用户需求、系统需求 功能需求、性能需求、设计需求 基本需求、期望需求、兴奋需求获取: 收集资料 联合需求计划 用户访谈 书面调查 情节串联板 现场观摩 参加业务实践 阅读历史文档 抽样调查软件测试原则尽早及不断的测试避免测试自己的程序测试数据要有有效合理的...
2022-03-06 22:31:20
83
原创 2022-03-06(1)
软件开发模型 瀑布模型 迭代模型/迭代开发方法 演化模型 快速应用开发 增量模型 构件组装模型/基于构件的开发方法 螺旋模型 统一过程/统一开发方法 快速原型模型 敏捷开发方法 喷泉模型(面向对象) 模型驱动的开发方法 V模型
2022-03-06 22:27:36
60
原创 2022-03-04(1)
音频相关概念声音带宽超声波:等于20kHz的音频次声波:低于20Hz的音频人耳:20Hz-20kHz乐器:20Hz-20kHz说话:300Hz-3400Hz采样采样频率应为声音最高频率的两倍图像相关概念亮度色调(红,绿)饱和度彩色空间RGB(光的三原色,红绿蓝,用于彩色显示器)YUV(电视,兼容)CMY(印刷三原色,CMYK,印刷)HSV(HSB)媒体的种类感觉媒体:视觉、触觉、听觉、嗅觉、味觉等表示媒体:文字、动画、图
2022-03-04 19:13:23
182
原创 2022-03-03(2)
知识产权著作权及邻接权专利权工业品外观设计权商标法地理标志法集成电路布图设计权知识产权人确定 作品 利用单位物质条件,并由单位承担责任 除署名权外其他属单位 有合同约定,著作权属于单位 除署名权外其他属单位 其他 作者拥有著作权,单位有权在业务范围内使用 软件
2022-03-03 22:19:03
114
原创 2022-03-03(1)
传值与传址传值调用:形参取的是实参的值,形参的改变不会导致所传的实参的值发生改变引用(传址)调用:形参取得是实参的地址,即相当于实参存储单元的地址引用而其值的改变同时就改变了实参的值各种程序语言的特点Pascal语言(为教学而开发的,表达能力强,Delphi)Lisp语言(函数式程序语言,符号处理,人工智能)Java语言(面向对象,中间代码,跨平台)Prolog语言(逻辑推理,简洁,表达能力,数据库等)Fortran语言(执行效率高,科学计算)C语言(指针操作能力强,
2022-03-03 22:14:20
388
原创 2022-03-01(2)
网络威胁与攻击重放攻击(ARP):所截获的某次合法的通信数据拷贝,出于非法的目的重新发送拒绝服务(DOS):对合法访问被无条件阻止窃听:用各种合法或非法的手段窃取系统中的信息资源和敏感信息业务流分析:通过长时间的监听,利用统计分析发现有价值的信息和规律信息泄露:信息被泄露给某个非授权的实体破环信息的完整性:数据被非法损坏非授权访问:资源被非授权的人访问或使用假冒:通过欺骗通信系统(或用户)冒充合法用户。黑客大多采用假冒进行攻击旁路控制:利用安全缺陷或薄弱之处获得非授权的权
2022-03-01 21:59:30
4574
原创 2022-03-01(1)
信息系统安全属性保密性:最小授权原则、防暴露、信息加密、物理保密完整性:安全协议、校验码、密码校验、数字签名、公证可用性:综合保障(IP过滤、业务流控制、路由选择控制、审计跟踪)不可抵赖性:数字签名对称加密技术(6.02)缺陷: 加密强度不高 密匙分发困难DES:替换+移位、56位密钥、64位数据块、速度快。密钥易产生3DES(三重DES):两个56位密钥K1、K2 加密:K1加密——K2解密——K1加密 解...
2022-03-01 21:58:29
66
原创 2022-02-28(2)
无线网优势:移动性、灵活性、成本低、容易扩充无线局域网(WLAN,802.11,Wi-Fi)无线城域网(WMAN,802.16,WiMax)无线广域网(WWAN,3G/4G)无线个人网(WPAN,802.15,Bluetooth(蓝牙))网络接入技术:公用交换电话网络(PSTN)数字数据网(DDN)综合业务数字网(ISDN)非对称数字用户线路(ADSL)同轴光纤技术(HFC)无线接入:IEEE 802.11(Wi-Fi)IEEE 802.15(
2022-02-28 22:28:35
44
原创 2022-02-28(1)
OSI/RM七层模型应用层表示层会话层传输层网络层数据链路层物理层网络技术标准与协议TCP/IP协议:Internet,可扩展,可靠,应用最广,速度效率低IPX/SPX协议:NOVELL,路由,大型企业网NETBEUI协议:IBM,非路由,快速TCP具有三次握手DNS协议 主机向本地域名服务器查询采用递归查询 本地域名服务器向根域名服务器的查询通常采用迭代查询 递归查询:服务器必须回答目标IP与域名的...
2022-02-28 22:27:37
271
原创 2022-02-22
数据仓库与数据挖掘数据仓库特点:面向主题集成相对稳定的(非易失的)反映历史变化(随着时间变化)数据挖掘:方法:决策树神经网络遗传算法关联规则挖掘算法分类:关联分析:挖掘出隐藏在数据间的相互关系序列模式分析:侧重点是分析数据间的前后关系(因果关系)分类分析:为每一个记录赋予标记并按标记分类聚类分析:分类分析的逆过程反规范化技术手段: 增加派生性冗余列 增加冗余列 重新组表...
2022-02-22 16:06:29
61
原创 2022-01-28
数据库安全用户标识和鉴定存取控制密码存储和传输视图的保护审计数据备份冷备份:也称静态备份,是将数据库正常关闭,在停止状态下,将所有数据文件备份(复制)优点:非常快速的备份方法,低度维护,高度安全缺点:不能按表或按用户恢复热备份:也称动态备份,是利用备份软件,在数据库正常运行状态下,将数据库所有数据文件备份出来优点:可在表空间或数据库文件级备份;可对几乎所有数据库实体做恢复;恢复是快速的缺点:不能出错,否则后果严重完全备份:备份所有数据
2022-01-28 23:19:15
943
原创 2022-01-24
规范化理论函数依赖价值与用途 非规范化存在的问题:数据冗余、更新异常、插入删除异常键超键:唯一标识元组候选键:超键消除多余属性主键:候选键中任选一个外键:其他关系主键范式1NF:属性值都是不可分的原子值2NF:在1NF消除非主属性对候选键的部分依赖3NF:在2NF消除非主属性对候选键的传递依赖BCNF:在3NF消除主属性对候选键的传递依赖模式分解保持函数依赖分解无损分解——有损:不能还原;无损:能还原...
2022-01-24 19:45:52
140
原创 2022-01-22
数据库设计过程需求分析:数据流图、数据字典、需求说明书概念结构设计:ER模型逻辑结构设计:关系模式物理设计ER模型实体(矩形)联系(菱形)属性(圆圈)集成的方式: 多个局部E-R图一次集成 逐步集成,一次集成两个E-R图集成产生的冲突及解决方法: 属性冲突 命名冲突 结构冲突关系代数并、交、差、笛卡尔积、投影、选择、连接...
2022-01-22 22:01:25
84
原创 2022-01-20
设备管理数据传输控制方式(内存与外设)程序控制方式程序中断方式DMA方式(直接存取控制)通道输入输出处理机虚设备与SPOOLING技术输入设备——输入缓冲区——输入井——输出井——输出缓冲区——输出设备微内核操作系统实质:只实现基本功能,将其他系统和功能放在内核之外优点:系统稳定性、可靠性、安全性较高,可用于分布式系统缺点:用户状态和内核状态频繁切换,导致系统效率不如单体内核...
2022-01-20 21:19:59
175
原创 2022-01-19
页面置换算法最优(Optimal,OPT)算法、随机(RAND)算法、先进先出(FIFO)算法-有可能产生抖动、最近最少使用(LRU)算法-不会产生抖动文件和树形目录结构文件属性:R只读文件属性A存档属性S系统文件H隐藏文件文件名组成:驱动器号路径主文件名扩展名绝对路径:是从盘符开始的路径相对路径:是从当前路径开始的路径空闲存储空间管理空闲区表法(空闲文件目录)空闲链表法位示图法(有就为1,反之为0)成组链接法
2022-01-19 22:21:55
284
原创 2022-01-18(2)
分区存储组织首次适应法:将新的任务放在内存中第一个可以存放的空位最佳适应法:放在能容纳下的最小的空间中最差适应法:放在内存中最大的空位中页式存储组织(高级程序语言使用逻辑地址;运行状态,内存中使用物理地址)优点:利用率高,碎片小,分配及管理简单缺点:增加了系统开销,可能产生抖动现象段式存储组织优点:多道程序共享内存,各段程序修改互相不干涉缺点:内存利用率低,内存碎片浪费大段页式存储组织优点:空间浪费小,储存共享容易,储存保护容易,能动态连接
2022-01-18 17:48:10
218
原创 2022-01-18(1)
PV操作P(-1,小于0阻塞,大于等于0继续运行)V(+1,小于等于0继续进行唤醒p,大于阻塞)临界资源:各进程间需要互斥方式对其进行共享的资源,如打印机。磁盘机临界区:每个进程中访问临界资源的那段代码信号零:是一种特殊的变量死锁问题银行家算法(分配资源原则)1当一个进程对资源的最大需求量不超过系统中的资源数时,可以接纳该进程2进程可以选择分期请求资源,只要不超过需求总量最大需求量3当系统现有资源不满足进程尚需资源数,对进程的请求可以推迟分配,但总能使进程在有
2022-01-18 17:11:55
232
原创 2022-01-17
操作系统——概述管理系统硬件、软件、数据资源控制程序运行人机之间接口应用软件与硬件之间接口进程管理:进程状态、前驱图、PV操作、死锁问题存储管理:段页式存储页面置换算法文件管理:索引文件、示位图作业管理设备管理微内核操作系统:虚设备与SPOOLING技术进程管理——进程的状态运行——等待——就绪运行——活跃阻塞——活跃就绪——精致就绪——静止阻塞进程管理——前趋图A——B——C——D——EA B C——D——E进程管理—
2022-01-17 22:25:04
202
原创 2022-01-16
层次化存储结构CPU——Cache——内存(主存)——外存(辅存)速度从左往右由快到慢,但内存由大到小Cache——概念功能:提高CPU数据输入输出的速率,突破冯·诺伊曼瓶颈,机即CPU与存储系统间数据传送带宽限制。Cache+主存储器的系统平均周期t3为: t3=h*t1+(1-h)*t2 h代表对Cache的访问命中率 t1表示Cache周期时间 t2主存储器周期时间 (1-h)为失效率(又称未命...
2022-01-16 21:24:49
161
原创 2022-01-15(3)
流水线—概念概念:指在程序执行时多条重叠指令进行操作的一种准并行处理实现技术,提高部件利用率和指令的平均执行速度。流水线—流水线计算流水线周期:是执行时间最长的一段计算公式:一条指令执行时间+(指令条数-1)*流水线周期 考试首先考虑理论公式在看实践公式 理论公式:(t1+t2+…+tk)+()*△t 实践公式:(k+n-1)*△t k...
2022-01-15 20:13:15
97
原创 2022-01-15(2)
Flynn分类法 体系结构类型 结构 关键特性 代表 单指令流单数据流SISD 控制部分:一个 处理器:一个 主存模块:一个 单指令流多数据流SIMD 控制部分:一个 处理器:多个 主存模块:多个 各处理器以异步的形式执行同一条指令
2022-01-15 20:10:40
82
原创 2022-01-15(1)
CPU结构计算机结构主机:内存(主存储器)、CPUCPU:运算器、控制器运算器:算术逻辑单元ALU、累加寄存器AC、数据缓冲寄存器DR、状态条件寄存器PSW控制器:cxu1计数器PC、指令寄存器IR、指令译码器、时序部件CISC(复杂)指令:数量多,使用频率差别大,可变长格式寻址方式:支持多种实现方式:微程序控制技术(微码)其他:研制周期长RISC(精简,目前数量大大超越CISC)指令:数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只
2022-01-15 20:06:37
91
原创 2022-01-14
数据的表示R进制转十进制,例如: 二进制10110.01=1*+1*+1* 七进制 604.01=6*+4*+1*十进制转R进制,用短除法 转R进制就除R,得出余数,余数按顺序排放二进制转八进制和十六进制 八进制:将二进制数从后往前每三个分割成一个算出这个数二进制的值,就是八进制中对应位置的值了 十六进制:将二进制数从后往前每四个分割成一个算出这个数二进制的值,就是十六进制中对应位置的值了原码反码补码移码...
2022-01-14 22:14:30
83
原创 2021-12-12(12)
JDBC数据库驱动导入mysql-connector-java-数据库版本号.jar这个包写一个JDBC程序:代码如下:public class jdbcTest { public static void main(String[] args) throws ClassNotFoundException, SQLException { //加载驱动 Class.forName("com.mysql.cj.jdbc.Driver");
2021-12-12 22:30:13
507
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人