- 博客(121)
- 资源 (1)
- 收藏
- 关注
原创 【MyaBtis】MyaBtis原理
3.MyaBtis3.1持久层概念和MyBatis的特点持久层持久层可以将业务数据存储到磁盘,具备长期存储能力,只要磁盘不损坏(大部分的重要数据都会有相关的备份机制),在断电或者其他情况下,重新开启系统仍然可以读取这些数据。一般执行持久任务的都是数据库系统,持久层可以使用巨大的磁盘空间,也比较廉价,它的缺点就是比较慢。当然慢是针对内存而言的,在一般的系统中运行是不存在问题的,比如内部管理系统,但是在互联网的秒杀场景下,每秒都需要执行成千上万次数据操作,慢是不能承受的,极有可能导致宕机,在这样的场景下考
2022-03-16 16:12:49 1112
原创 【MySQL】子查询
子查询子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入。SQL 中子查询的使用大大增强了 SELECT 查询的能力,因为很多时候查询需要从结果集中获取数据,或者需要从同一个表中先计算得出一个数据结果,然后与这个数据结果(可能是某个标量,也可能是某个集合)进行比较。子查询分类分类方式1:我们按内查询的结果返回一条还是多条记录,将子查询分为 单行子查询 、 多行子查询。分类方式2:我们按内查询是否被执行多次,将子查询划分为 相关(或关联)子查询 和 不
2022-02-21 08:31:26 514
原创 【MySQL】多表查询
多表查询-联结(连接)先行知识:关系运算、笛卡尔积、连接多表查询类型等值连接与非等值连接等值连接连接条件:等值判断例:SELECT employees.employee_id, employees.last_name, employees.department_id,departments.department_id, departments.location_id FROM employees, departments WHERE employees.department_id = d
2022-02-19 21:01:18 665
原创 【DML】(数据操纵语言)
Data Manipulation Language数据操纵语言添加记录INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );-- 用查询结果插入INSERT INTO TABLE_NAME(F1,F2,F3) SELECT (E1,E2,E3) FROM TABLE WHERE.....
2022-02-16 21:20:01 378
原创 【DDL】数据库定义语言
数据库定义语言模式的定义与删除模式的定义模式的删除数据库的定义和删除数据库的创建数据库的删除查看服务中心所有的数据库查看数据库创建细节选择数据库数据表定义基本表数据表定义常见的5种约束修改基本表修改表名修改表编码添加列修改Modify(重新定义)更换列的位置修改列名删除列删除表查看表查看表结构查看创建语句模式的定义与删除模式的定义定义模式实际上定义了一个命名空间在这个空间中可以定义该模式包含的数据库对象,例如基本表、视图、索引等。在CREATE SCHEMA中可以接受CREATE TABLE,C
2022-02-16 20:57:38 1002
原创 天勤考研中数据结构的代码书写规范以及C与C++语言基础
考研综合应用题中算法设计部分的代码书写规范头文件头文件部分如果题目没有特殊说明可以去掉。常量如果题目中要用到一个常量,则在用的地方加上一句注释,说明某某常量已定义即可,不必在前面补上#define XXXX。主函数写出自己的函数说明(函数体)写清楚函数的接口何为函数接口可以理解为函数的入口和出口函数定义中的形参表可以理解为函数入口。函数体中的输出语句和返回值部分可以理解为函数出口。C与C++语言基础数据类型基本数据类型整形int、long、…考研中
2021-03-06 20:00:46 1923
原创 恋恋有词精学视频
Unit01Unit02Unit03Unit04Unit05Unit06第一关测试Unit07Unit08Unit09Unit10Unit11Unit12第二关测试Unit13Unit14Unit15Unit16Unit17Unit18第三关测试Unit19Unit20Unit21Unit22Unit23Unit24第四关测试Unit25Unit26Unit27Unit28Unit29Unit30大闯关...
2021-01-30 17:26:05 169
原创 Eclipse整合Hibernate问题,保证让你完美整合!
出现的问题大部分小伙伴在用Eclispe整合Hibernate时都会遇到如下问题:1、在线下载Hibernate Tools时进度条卡顿2、在线下载Hibernate Tools时,输入下载地址后弹窗报错3、历经千辛万苦下载完Hibernate Tools重启后无法自动生成hbm.xml文件,提示The refactoring does not change any source code.问题原因安装时无法安装,安装后无法生成Hbm.xml文件:Eclipse
2020-11-22 23:11:08 631 4
原创 操作系统存储器管理之连续、页式、段式、段页式存储器管理方式
基本内存分配方案4.3 连续分配存储管理方式连续分配方式,是指为一个用户程序分配一个连续的内存空间。4.3.1单一连续分配内存分为两个区域:系统区,用户区。应用程序装入到用户区,可使用用户区全部空间。最简单,适用于单用户、单任务的OS。优点:易于管理。缺点:对要求内存空间少的程序,造成内存浪费;程序全部装入,很少使用的程序部分也占用内存4.3.2固定分区分配1、基本原理及技术系统提前把内存分为一些大小相等或不等的分区(partition),每个进程占用一个分区。操作系统占用其
2020-11-21 17:16:25 6858 1
原创 操作系统之存储器管理导论
4.1 存储器的层次结构最基本的三层结构现代计算机主流存储器的层次结构4.2 程序的装入和链接先导知识将用户源程序变为可在内存中执行的程序的步骤:编译:由编译程序将用户源代码编译成若干个目标模块链接:由链接程序将编译后形成的一组目标模块,以及它们所需要的库函数链接在一起,形成一个完整的装入模块装入:由装入程序将装入模块装入内存,构造PCB,形成进程(使用物理地址)在多道程序环境下,要使程序运行,必须为之先建立进程。创建进程的第一件事是将程序和数据装入内存。用户程序的主要处理阶段
2020-11-21 17:08:44 1113
原创 操作系统存储器管理导论之存储器的层级结构及程序的装入和链接
4.1 存储器的层次结构最基本的三层结构现代计算机主流存储器的层次结构4.2 程序的装入和链接先导知识将用户源程序变为可在内存中执行的程序的步骤:编译:由编译程序将用户源代码编译成若干个目标模块链接:由链接程序将编译后形成的一组目标模块,以及它们所需要的库函数链接在一起,形成一个完整的装入模块装入:由装入程序将装入模块装入内存,构造PCB,形成进程(使用物理地址)在多道程序环境下,要使程序运行,必须为之先建立进程。创建进程的第一件事是将程序和数据装入内存。用户程序的主要处理阶段
2020-11-20 10:46:26 206
原创 与Linux进行基础交互
驱动开发者与Linux内核直接对话,应用程序开发者利用编程语言通过系统提供的应用程序编程接口API与系统沟通,而普通的Linux系统管理员倾向于通过现成的操作命令接口与Linux打交道与Linux内核"kernel"对应,操作命令接口很形象的被称为“外壳”也即Shell,简单来说Shell就是一种能方便Linux系统管理员与Linux对话的软件,一种是命令行shell一种是图形shell,一般意义上的shell指的是命令行shell...
2020-11-17 23:26:02 294
原创 Linux的关机和重启
正确关机或者重启的重要性在生产状态下的Linux主机,尤其是提供敏感和要害服务的主机,关机是系统管理员充分重视的一件大事,不恰当或者不正确的关机重启轻则可能造成服务中断重则文件系统损毁数据丢失或者出错。关闭或者重启生产环境下的Linux主机,正确做法分三步走关机重启三步查看在线用户和在线服务通知用户关机/重启原因和时间安排下达关机或者重启命令(只有根用户才可操作)关机shutdown -h 10//表示将在十分钟后关机//按下Ctrl+c取消刚才下达的关机命令//按下后屏幕会显示Shut
2020-11-17 10:00:22 230
原创 关于死锁你想知道的
先导知识死锁(Deadlock): 指进程之间无休止地互相等待!饥饿(Starvation):指一个进程无休止地等待!活锁(livelock):指进程没有被阻塞,但由于某些条件不满足,导致一直重复尝试,失败……本文内容死锁概念指两个或多个进程因竞争共享资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。涉及到进程就称为死锁进程。关于死锁的一些结论参与死锁的进程最少是两个 ;参与死锁的进程至少有两个已经占有资源;参与死锁的所有进程都在等待资源;参与死锁的进程是
2020-11-14 16:04:36 1491
原创 处理机调度之进程调度
3.3进程调度3.3.1进程调度的任务、机制和方式1.进程调度任务任务:分派CPU主要过程:1、保存处理机的现场信息2、按某种算法选取进程3、把处理器分配给新进程2、进程调度机制3、进程调度的方式(1)非抢占方式可能引发进程调度的因素可归结为:1、正在执行的进程,因发生某事件而使其无法再继续运行2、正在执行的进程,因提出I/O请求而暂停执行3、在进程通信或同步过程中,执行了某种原语操作,如BLock原语。优点:实现简单、系统开销小、适用于大多数的批处理系统。缺点:
2020-11-05 15:45:09 1661
原创 处理机调度之作业调度
3.1处理机调度的层次和调度算法先行知识处理机调度的主要目标充分有效地利用处理机(CPU)资源处理机调度的对象作业、进程作业与进程的关系作业是任务实体,如:一次计算,一个控制过程进程是执行实体,是系统分配资源的基本单位一个作业由一个以上进程组成1、处理机调度的层次⑴高级调度(单向)又称长程调度或作业调度。高级调度主要用于多道批处理系统中。⑵低级调度又称为进程调度或短程调度。进程调度是基本调度,所有系统都必须配备。⑶中级调度(双向)又称
2020-11-04 22:59:58 1860
原创 什么是进程?
2、进程的控制和描述2、1前趋图和程序执行2.1.1程序的顺序执行及其特征1.程序的顺序执行一个程序由若干个程序段组成,而这些程序段的执行必须是顺序的,这种程序执行的方式就称为程序的顺序执行。2.程序顺序执行时的特征(顺序性)处理机的操作严格按照程序所规定的顺序执行。(2) 封闭性程序一旦开始执行,其计算结果不受外界因素的影响。(3) 可再现性程序执行的结果与它的执行速度无关(即与时间无关),而只与初始条件有关。程序的并发执行2.1.2前趋图前趋图是一个有向无环图 (D
2020-10-11 23:20:26 1329 1
原创 想造一个自己的OS吗
操作系统的定义操作系统:是一组控制和管理计算机软硬件资源、合理组织多道程序的运行、方便用户使用的程序的集合。(管家、调度、桥梁)1.1操作系统的目标和作用1.1.1 操作系统的目标1.方便性:配置用户图形界面;2.有效性:提高资源利用率;3.可扩充性:方便增加新的功能和模块;4.开发性:遵循世界标准规范,使软硬件兼容。1.1.2 操作系统的作用1.接口的作用接口使用方式:1.命令方式2.图形、窗口方式3.系统调用方式(用户程序对操作系统的调用)2.资源管理者资源功能
2020-09-28 22:37:35 838
原创 数据库绪论--数据库最基本的一些概念
数据库系统概述四个基本概念数据(Data)数据(Data)是数据库中存储的基本对象数据的定义描述事物的符号记录数据的种类文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等数据的特点数据与其语义是不可分的数据库(Database)数据库的定义数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库的基本特征数据按一定的数据模型组织、描述和储存可为各种用户共享冗余度较小数据独立性较高易扩展数据库管理系统(D
2020-08-27 21:12:16 186
原创 简单工厂模式——选择实现
问题引入请用C++、Java、C#或VB.NET任意一种面向对象语言实现一个计算器控制台程序,要求输入两个数和运算符号,得到结果。新手最简单的写法class Program{ static void Main(String[] args) { Console.Write("请输入数字A:"); string A=Console.ReadLine(); Console.Write("请选择运算符号(+,=,-,*,/)"); string B=Console.ReadLine();
2020-08-14 10:49:35 316
原创 进制及其互相转换-通俗易懂
常用进制在计算机应用过程中,我们比较长接触的就是2、8、10、16进制的进制规格。2进制毫无疑问是逻辑元件0,1特性决定计算机体系必将用2进制构建,10进制则是从日常生活(双手手指数)中引入。大家对2进制和10进制都不会太陌生,那么8进制和16进制是从何而来呢?在计算机体系中早期引入8、16进制其实是为了方便操作人员更好的读取运算信息。八进制广泛应用于计算机系统,如PDP-8,ICL 1900和IBM大型机使用12位、24位或36位。八进制是这些基础,因为他们的最理想的二进制字缩写大小能被3整除(每个
2020-08-08 21:20:43 1456
原创 Spring学习第二周-浅析SpringAop的几个概念
下面以上图的例子来通俗的讲述我对Spring Aop技术相关概念的理解,有不正确的地方还望大佬指正。连接点(Joinpoint)在Spring Aop中,一个连接点总是表示一个方法的执行。可以将连接点理解为类中的方法。切入点(Pointcut)需要处理的连接点,只被抽取了共性功能的方法,如图中的add、delete和update方法都被抽取了一些共性,这三个方法就是切入点。切入点一定是连接点,连接点不一定是切入点。通知(Advice)指被抽取的共性功能组成的代码逻辑,如果是在切入点内指定位置之.
2020-07-26 23:40:20 208
原创 Spring学习第二周-揭开Spring中的Bean的面纱
Bean的配置Spring容器支持XML和Properties两种格式的配置文件,在实际开发中,最常使用的就是XML格式的配置方式。这种配置方式通过XML文件来注册并管理Bean之间的依赖关系。在Spring中,XML配置文件的根元素是, 中包含了多个子元素,每一个子元素定义了一个Bean,并描述了该Bean如何被装配到Spring容器中。元素中同样包含了多个属性以及子元素,在配置文件中,通常一个普通的Bean只需要定义id(或name)和class两个属性即可。如果在Bean中未指定id和name,则S
2020-07-25 22:52:54 436
原创 组合模式——统一叶子对象和组合对象
场景导入商品树-服装—男装-----衬衣-----T恤-----夹克—女装-----长裙-----短裙如何管理商品树呢?分公司及部门问题如何管理这些分公司及每一级分公司下的部门呢?场景思考这两种场景都有共同的特点:有一个根节点树枝节点(容器节点)叶子节点容器节点可以包含其他容器节点或者叶子节点如果将容器节点和叶子节点区别对待,不仅会让程序变得复杂,还会对功能的扩展也带来不便。比如商品的夹克继续按品牌划分,原有的夹克节点就从叶子节点变成了容器节点需要再改写代码增加容
2020-06-09 20:48:49 1098
原创 栈和队列练习之由两个栈组成的队列(尉)
题目编写一个类,用两个栈实现队列,支持队列的基本操作:add,poll,peek.思路栈的特点是先进后出,那么设有两个栈,第一个栈命名为stackPush,第二个栈命名为stackPop。假设有1,2,3,4,5依次进栈stackPush,然后1-5全部出栈到stackPop,此时stackPop的栈顶元素就是1了,此时出栈的第一个元素就是当前栈顶1了,也就是符合队列的先进先出特性了。乍一看好像很简单的样子其实不然第一种情况StackPush的元素未完全倒入StackPop,会导致本该在队列中部
2020-06-09 11:10:06 136
原创 栈和队列练习之设计一个getMin功能的栈(士)
题目实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小的元素的操作。要求pop,push,getMin操作的时间复杂度都是O(1)。设计的栈类型可以使用现成的栈结构。我的思路第一个想法就是最小数单独保存,只有这样getMin操作才实现O(1)时间复杂度,但是如果只设置一个变量去保存进栈时的最小值,那么出栈时如果出栈的数就是最小数,则最小数就无法更新成此刻的最小数了。所以一定要把进栈时所有更新的最小数都保存,且要满足后更新的数先删除,也就是后进先出,那就也用栈结构保存最小数。解
2020-06-08 22:04:26 248
原创 关系数据库标准语言SQL之数据查询-单表查询
数据查询语句格式SELECT [ALL|DISTINCT]<目标表达式>,<目标表达式>…FROM <表名或视图名>,<表名或视图名>WHERE <条件表达式>GROUP BY<列名1>/HAVING <条件表达式>...
2020-06-07 16:54:47 3081 1
原创 Spring学习第一周-Spring核心容器
Spring框架的主要功能是通过其核心容器来实现的。Sping框架提高了两种核心容器,分别为BeanFactory和ApplicationContextBeanFactoryBeanFactory由org.springframework.beans.facytory.BeanFactory接口定义,是基础类型的IoC容器,它提供了完整的IoC服务支持。简单来说,BeanFactory就是一个管理Bean的工厂,它主要负责初始化各种Bean,并调用它们的生命周期方法。BeanFactory接口提供了几个
2020-06-06 18:00:58 285 2
原创 Spring学习第一周-Spring简介
Spring学习第一周-Spring简介Spring by Rod John Song概述内核IOC(Inversion of Control)控制反转Aop(Aspect Oriented Programming)面向切面编程作用-致力于Java EE应用各层的解决方案表现层:提供了Spring MVC及与Struts框架的整合功能业务逻辑层:管理事务、记录日志等持久层:整合MyBatis、Hibernate、JdbcTemplate等技术。Spring是企业应用开放很好的“一站
2020-06-06 15:43:21 437
原创 备忘录模式实例-象棋“悔棋”的实现
本例需提前了解:备忘录模式UML图象棋原发器类public class ChessmanOriginator { private String name;//各种状态 private int x;//各种状态 private int y;//各种状态 public ChessmanOriginator(String name, int x, int y) { this.name = name; this.x = x; this.y = y; } public Chess
2020-05-24 18:39:15 695
原创 备忘录模式-保护和恢复内部状态
Memento模式的关键就是要在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以利用该保存的状态实施恢复操作。Originator(原发器):创建一个备忘录,并存储它的当前内部状态,也可以使用备忘录来恢复其内部状态。Mementor(备忘录):存储原发器的内部状态,备忘录的设计一般可以参考原发器的设计,根据实际需要确定备忘录类中的属性。Caretaker(负责人):负责人又称为管理者,在负责人类中可以存储一个或多个备忘录对象,它只负责存储对象,而不能修改对象,
2020-05-24 18:27:32 381
原创 Java用反射+配置文件结合抽象工厂模式实现数据库访问程序
前言:本文需对反射和抽象工厂模式有一定了解。了解->Java反射了解->抽象工厂模式IUser接口public interface IUser { void Insert(User user); User getUser(String id);}SqlserverUserpublic class SqlserverUser implements IUser { @Override public void Insert(User user) { System.out
2020-05-14 20:30:03 609
原创 抽象工厂模式——选择产品族实现
问题导入一个项目实现后可能给不同的客户使用,每个客户使用的数据库不同,在项目实现过程中就要考虑到如何满足不同客户不同数据库类型的需求(包括客户添加表的需求)。没有考虑到换数据库的数据库访问实例class User//数据库内的User表{ private int _id; public int ID { get{return _id;} set{_id=value} private string _name; public string Name { get{retu
2020-05-14 19:48:58 490
原创 反射反射程序员的快乐——精解Java反射的使用
能够分析类能力的程序称为反射,反射机制的功能十分强大Class类是什么在java中万物皆对象,“在程序运行期间,Java运行时系统始终为所有的对象维护一个被称为运行时的类型标识。这个信息(*指运行时的类型标识)跟踪着每个对象所属的类。虚拟机利用运行时类型标识信息选择相应的方法执行。然而,可以通过专门的Java类访问这些信息(这些运行时的类型标识)。保存这些信息的类被称为Class。”以上引号内的内容来自于Java核心技术规范卷1,190页。我个人对这段通俗的理解:public class dog
2020-05-12 11:43:55 423 1
原创 状态模式——根据状态来分离和选择行为
状态模式主要解决的是当控制一个对象状态转化的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不太状态的一系列类当中,可以把复杂的判断逻辑简化。状态模式UML图State类,抽象状态类,定义一个接口以封装与Context的一个特定状态相关的行为abstract class State{ public abstract void Handle(Context context);//使用context去实现行为,保持了状态的一致性}ConcreteState类,具体类,每一个子类实现一个与
2020-05-09 21:11:43 355 1
原创 动态规划之最长公共子序列
问题描述若给定序列X={x1,x2,…,xm},则另一序列Z={z1,z2,…,zk},是X的子序列是指存在一个严格递增下标序列{i1,i2,…,ik}使得对于所有j=1,2,…,k有:zj=xij。例如,序列Z={B,C,D,B}是序列X={A,B,C,B,D,A,B}的子序列,相应的递增下标序列为{2,3,5,7}。给定2个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序...
2020-03-28 23:22:28 1552
原创 动态规划之投资问题
问题描述有m个项目,n元钱,函数fk(x),(<0=x<=n)表示对第k个项目投资x元钱的收益,函数Fm(n)表示对m个项目投资n元钱的最大收益,求对每个项目投资多少钱,并给出Fm(n);递归关系分析设数组f[i][j]表示对第i个项目投资j元钱的收益。设数组F[i][j]表示对i个项目投资j元钱的最大收益。设数组m[i][j]表示对i个项目投资j元钱最大收益时,第i个项目投...
2020-03-28 16:22:36 347
原创 动态规划之0-1背包问题
问题描述给定一个物品集合s={1,2,3,…,n},物品i的重量是wi,其价值是vi,背包的容量为W,即最大载重量不超过W。在限定的总重量W内,我们如何选择物品,才能使物品的总价值最大。注:如果物品不能分割,即物品i要么整个选取,要么不选取;如果不能将物品i装入背包多次,也不能只装入部分物品i,则问题称为0-1背包问题。如果物品可以拆分,则问题称为背包问题,适合使用贪心算法。问题建模递...
2020-03-28 11:18:34 283
原创 最大子段和问题动态规划解法和分治策略解法深度分析
问题描述给定由n个整数(包括负整数)组成的序列a1,a2,…,an,求该序列子段和的最大值。(当所有整数均为负值时定义其最大子段和为0。)动态规划解法定义辅助子段数组bj:bi是1到j位置的最大子段和(必须包括bj)由bj的定义易知,当bj-1>0时bj=bj-1+aj,否则bj=aj。则计算bj的动态规划递归式:bj=max{bj-1+aj,aj},1<=j<=...
2020-03-26 22:31:18 719
eclipse与Hibernate整合相关资源
2020-11-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人