自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 资源 (1)
  • 收藏
  • 关注

原创 左程云算法课笔记(二)O(NlogN)的排序

归并排序图例,就是一个简单的分治思想基本操作:用master公式来分析归并排序的时间复杂度:将数组等分为两部分,,对两部分进行递归,因此,归并排序的时间复杂度为在一个数组中,每一个数左边比当前数小的数累加起来,叫做这个数组的小和。求一个数组的小和。如果我们从左至右依次遍历数组求小数和,那么时间复杂度很明显会是想要优化算法,可以用到归并排序的思想,将时间复杂度变为草,这可太难解释了,让我憋一会当我们看到题目时,可能第一思路是遍历数组,让每个元素与其左边的数对比,来找出小数,这样操作的时间复杂度为

2022-06-09 11:50:45 203

原创 左程云算法课笔记(一)时间复杂度

...

2022-06-05 21:14:03 279 1

原创 拯救我的算法之——快速排序与归并排序

快速排序快速排序基于分治的思想主要步骤:在一个数组中确定分界点:q[l]、q[(l+r)]、q[r]、或者随机一点调整区间:任取一点x,使得x左边的数都小于等于x,x右边的数都大于等于x递归处理左右两段这里第二步尤为值得我们思考:先给出一种暴力做法:创建俩个数组 a[]、b[]将整个区间q[l]-q[r]中的数遍历,如果q[i]<=x,则将q[i]放入a[]:否则,放入b[]最后将a[]放入q[],再将b[]放入q[ ]这种方法虽然简单容易想出来,但是的时间复杂度是O

2021-04-13 16:43:14 144

原创 wait/notify/notifyAll 方法的使用注意事项?

为什么wait必须在synchronized保护的同步代码种使用?首先我们来看看wait方法的源码注释是怎么写的?//wait method should always be used in a loop:synchronized (ojb) { while(condition does not hold) obj.wait(); ... //Perform action appropriate to condition}//This method should only be calle

2021-03-09 15:26:26 185

原创 线程是如何在 6 种状态之间转换的?方法的使用注意事项?

线程的6种状态就像生物从出生到长大、最终死亡的过程一样,线程也有自己的生命周期,在 Java 中线程的生命周期中一共有 6 种状态。New(新创建)Runnable(可运行)Blocking(被阻塞)Waiting(等待)Timed Wating(计时等待)Terminated(被终止)如果想要确定线程当前的状态,可以通过getState()方法,并且线程在任何时刻只能处于1种状态。New 新创建下面我们逐个介绍线程的 6 种状态,如图所示,首先来看下左上角的 New 状态。

2021-03-09 14:53:59 172

原创 如何正确停止线程?为什么 volatile 标记位的停止方法是错误的?

线程停止原理通常情况下,我们不会手动停止一个线程,而是允许线程运行到结束,然后让它自然停止。但是依然会有许多特殊的情况需要我们提前停止线程,比如:用户突然关闭程序,或程序运行出错重启等。在这种情况下,即将停止的线程在很多业务场景下仍然很有价值。尤其是我们想写一个健壮性很好,能够安全应对各种场景的程序时,正确停止线程就显得格外重要。但是Java 并没有提供简单易用,能够直接安全停止线程的能力。为什么不强制停止?而是通知、协作对于 Java 而言,最正确的停止线程的方式是使用 interrupt。但 i

2021-03-07 20:56:50 386

原创 为什么说只有一种实现线程的方法?

首先来看我们熟悉的几种实现线程的方式:实现Runnable接口public class RunnableThread implements Runnable{ @Override public class run(){ System.out.println("用实现Runnable接口的方式实现线程"); }}第 1 种方式是通过实现 Runnable 接口实现多线程,如代码所示,首先通过 RunnableThread 类实现 Runnable接口,然后重写 run() 方法,之后只需

2021-03-07 10:14:24 73

原创 最全面的IIS使用之Web服务器和FTP服务器

一、WEB服务器1. WEB服务器也称为网页服务器或HTTP服务器2. WEB服务器使用的协议是HTTP或HTTPS协议3. HTTP协议端口号:TCP 80 || HTTPS协议端口号:TCP 4434.WEB服务器发布软件:微软:IIS(可以发布web网站和FTP站点)linux:Apache/LAMP/Tomcat/nginx .etc第三方:phpstudy、XAMPP5.部署WEB服务器:1)配置静态IP地址 win2003配置成10.1.1.1 winxp配置成10.1

2021-02-05 21:05:06 1407

原创 DHCP部署与安全

1、DHCP作用(Dynamic Host Configure Protocol)自动分配IP地址2、DHCP相关概念地址池/作用域:(IP、子网掩码、网关、DNS、租期),DHCP协议端口是UDP 67/683、DHCP优点减少工作量、避免IP冲突、提高地址利用率4、DHCP原理也成为DHCP租约过程,分为4个步骤:客户机发送DHCP Discovery广播包客户机广播请求IP地址(包含客户机的MAC地址)服务器响应DHCP Offer广播包服务器响应提供的IP地址(但无子网掩码、

2020-12-28 16:03:49 101

原创 还在为传文件速度慢烦恼?直接共享不香吗

一、共享服务器通过网络提供文件共享服务器,提供文件下载和上传服务(类似FTP服务器)二、创建共享方法:文件夹右键属性 -- 共享 -- 开启共享 -- 设置共享名 -- 设置共享权限注:1)在本地登陆时,之手NTFS权限的影响2)在远程登陆时,将受共享及NTFS权限的共同映像,且取交集!3)所以建议设置共享权限为everyone完全控制,然后具体的权限需求在NTFS权限中设置即可。三、访问共享在开始运行/或我的电脑地址栏中,输入UNC地址:\\文件共享服务器IP\\文件共享服务器I

2020-12-27 20:59:24 120

原创 了解这些权限知识,才能对自己的文件管理更加放心!

一、NTFS权限概述通过设置NTFS权限,实现不同的用户访问不同的权限分配了正确的访问权限后,用户才能访问其资源设置权限防止资源被篡改、删除二、文件系统概述文件系统即在外部存储设备上组织文件的方法常用的文件系统:- FAT windows- NTFS windows- EXT Linux常见FAT转换为NTFS:convert 盘符:/fs:ntfs三、NTFS文件系统特点提高磁盘读写性能可靠性加密文件系统访问控制列表(设置权限)磁盘利用率压缩

2020-12-25 20:08:26 253

原创 慎用!破解windows系统密码!

一、利用5次shift漏洞破解win7密码1.1 漏洞1、在未登录系统时,连续按5次shift键,弹出程序c:\windows\system32\sethc.exe2、部分win7及win10系统在未进入系统时,可以通过系统修复漏洞篡改系统文件名! 注:如win7或win10系统已修补漏洞2,则无法利用1.2 破解过程相关知识1、cmd工具路径 c:\windows\system32\cmd2、用户/账户密码存储位置c:\windows\system32\config\SAM # 非逆转

2020-12-24 21:07:28 201

原创 啊这,还不知道如何远程操作桌面?

一、远程管理类型windows远程管理有2中类型:远程桌面(图形)telnet(命令行)二、远程桌面拓扑图步骤:首先将配置网络,并实现客户机与服务器可以互通雾浮起开启允许被远程控制:桌面右键属性 – 远程设置 – 选择允许 – 确定在客户机上:开启 – 运行 – 输入mstsc 打开远程连接工具在mstsc工具上输入服务器的IP并点击确定输入服务器的账号及密码注意:如果使用非管理员账户登录远程,需要在服务器上将用户加入到远程桌面内置组Remote Desktop User

2020-12-24 20:59:59 137 1

原创 想把你的计算机给别人用?先创建个新用户吧 ———— 用户与组管理

一、服务器系统版本介绍windows 服务器系统:win2000、win2003、win2008、win2012linux 服务器系统:Redhat、Centos二、用户管理1.1 用户概述每一个用户登录系统后,拥有不同的操作权限。每个账户有自己唯一的SID(安全标识符)用户SID:S-1-5-21-426206823-2579496042-14852678-500系统SID:S-1-5-21-426206823-2579496042-14852678用户UID:500windo

2020-12-24 19:33:38 297 1

原创 我把DOS命令玩疯了! 基本DOS命令与批处理编写

一、 DOS命令1.1 如何操作DOS命令建议:初学者在虚拟机中完成实验!!!开始----运行----输入cmd----回车,将调出C:\windows\system32\cmd.exe或者Win + R ----- 运行-----输入cmd–回车1.2 基本命令命令:color f0帮助:color ?作用:该变背景及字体颜色注释:前面的数字代表背景颜色,后边的数字代表字体颜色命令:cls作用:清屏1.3 目录相关命令命令:dir作用:浏览当前文件夹的内容(带&

2020-12-19 14:45:42 212 1

原创 MyBatis动态sql以及主配置文件中的内容

学会MyBatis的CRUD基本操作其实也不是什么难事Mybatis中传统Dao开发以及使用动态代理优化开发一、MyBatis 框架动态 SQL动态 SQL,通过 MyBatis 提供的各种标签对条件作出判断以实现动态拼接 SQL 语句。这里的条件判断使用的表达式为 OGNL 表达式。常用的动态 SQL 标签有<if>、<where>、<choose/>、<foreach>等。MyBatis 的动态 SQL 语句,与 JSTL 中的语句非常相似。动态

2020-11-23 22:03:27 299

原创 Mybatis中传统Dao开发以及使用动态代理优化开发

一、MyBatis对象分析(1)Resources类Resources类,顾名思义就是资源,用于读取资源文件。其有很多方法通过加载并解析资源文件,返回不同类型的IO流对象。(2)SqlSessionFactoryBuilder类SqlSessionFactory的 创 建 , 需 要 使 用SqlSessionFactoryBuilder对 象 的build()方 法 。 由 于SqlSessionFactoryBuilder对象在创建完工厂对象后,就完成了其历史使命,即可被销毁。所以,一般会将该S

2020-11-23 11:02:12 292 2

原创 学会MyBatis的CRUD基本操作其实也不是什么难事

一、JDBC变成1. 使用JDBC变成的回顾public void findStudent() { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { //注册mysql驱动 Class.forName("com.mysql.jdbc.Driver"); //连接数据的基本信息url ,username,password String url = "jdbc:mysql://local

2020-11-15 22:04:09 160

原创 软件开发常用结构以及SSM框架的简单介绍

软件开发常用结构一、三层架构1. 三层架构包含的三层:界面层(User Interface layer)业务逻辑层(Business Logic Layer)数据访问层(Data access layer)2. 三层的职责界面层(表示层,视图层):主要功能是接受用户的数据,显示请求的处理结果。使用web页面和用户交互,手机app也就是表示层的,用户在app中操作,业务逻辑在服务器端处理。业务逻辑层:接收表示传递过来的数据,检查数据,计算业务逻辑,调用数据访问层获取数据。数据

2020-11-13 11:26:33 894

原创 关于Servlet的规范扩展———监听器与过滤器

十八、Servlet规范扩展--------------监听器接口1. 介绍(1)一组来自于Servlet规范下接口,共有8个接口。在Tomcat存放servlet-api.jar包。(2)监听器接口需要由开发人员亲自实现,Http服务器提供jar包并没有对应的实现类。(3)监听器接口用于监控【作用域对象生命周期变化时刻】以及【作用域对象共享数据变化时刻】。2. 作用域对象(1)在Servlet规范中,认为在服务端内存中可以在某些条件下认为两个Servlet之间提供数据共享方案,被称为【作用域对

2020-11-08 00:45:57 208

原创 来看看在Servlet开发中的一些真实场景的应用

八、欢迎资源文件1. 前提:用户可以记住网站名,但是不会记住网站资源文件名。如果使用欢迎资源文件可以使用户不用记住网站中具体的资源文件名就可以访问网站。2. 默认欢迎资源文件:用户发送一个针对某个网站的【默认请求】时,由Http服务器自动从当前网站返回的资源文件。正常请求:http://localhost:8080/myWeb/index.html默认请求:http://localhost:8080/myWeb/3. Tomcat对于默认欢迎资源文件定位规则(1)规则位置:Tomcat

2020-11-06 10:13:35 543

原创 用Servlet完成一个简易的【在线考试系统】项目

一、完成准备工作任务:在线考试系统子任务:用户信息注册用户信息查询用户信息删除准备工作: 1.创建用户信息表 User。frm CREATE TABLE Users( userId int primary key auto_increment, #用户编号 auto_increment表示自增序列 userName varchar(50), #用户名称 password

2020-11-01 17:31:02 1271 3

原创 还不会Servlet开发?来这里带你了解Servlet开发的基础知识

一、Servlet规范servlet规范来自于JavaEE规范中的一种作用:(1)在Servlet规范中,指定【动态资源文件】开发步骤(2)在Servlet规范中,指定Http服务器调用动态资源文件规则(3)在Servlet规范中,指定Http服务器管理动态资源文件实例对象规则...

2020-10-31 12:11:57 155 2

原创 看见大佬们的业务结构溜得飞起,难道你还不心动得想学Maven吗?

一、倘若没有 maven当我们新建一个项目,在项目中完成比如需要写一端jdbc代码,去读某张表中的数据。使用Spring开发一个简单的crud。在这些业务创建时需要导入很多jar包,或者在创建很多相似的项目时整体架构同样是相似的,比如需要contextConfiguration.xml、Struts-Config.xml、Hibernate.xml、Properties.xml之类的文件。这些都是重复的操作,如果我们没有maven工程就需要在每次业务中完成这些操作。Maven可以做的事情j

2020-10-25 21:53:19 246 1

原创 LeeCode链表习题训练合集

Leetcode 21. 合并两个有序链表将两个升序链表合并为一个新的升序链表并返回。新链表时通过拼接给定的两个链表的所有节点组成的。示例:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * Li

2020-10-16 20:11:28 97

原创 JS中构造函数的原型prototype

原型prototypr1. 简介在构造函数中有一个属性叫prototypeprototype是一个对象属性,其属性值为对象,称为原型对象可以通过prototype来添加新的属性和方法,此时所有该构造函数创建的对象都会具有这些属性和方法由该构造函数创建的对象会默认链接到该属性上语法:构造函数.prototype.属性名 = 值;构造函数.prototype.方法名 = function(){定义方法体};访问对象属性的查找顺序:首先在当前对象中查找对应的实例对象如果没有,就会到

2020-10-10 18:46:43 1606

原创 JavaScript中数据如何存储在客户端?带你看看Cookie和WebStorage

1. 简介出于记录用户特定数据的目的,需要客户端数据存储技术常用存储机制:Cookie优点:需要与服务器端交互、浏览器自动管理不同站点的数据并发送到服务器缺点:安全性受限、数据量受限(4KB)、可用性受限、文明存储Web StorageHTML5新增,分为localStorage和sessionStorage优点:操作简单、不会自动发送到服务器、存储空间大(浏览器可支持10MB以上)缺点:安全性受限、永不过期、不区分站点、明文存储2. Cookie以键值对形式存储,在客户端

2020-10-10 18:30:53 265

原创 还不明白JS中的内置对象吗? 快来这里!

一、String1. 定义方式语法:var str = 'welcome'; //基本数据类型stringvar str = new String('welcome'); //引用数据类型String使用length属性获取字符串的长度。2. 常用函数方法描述charAt(index)返回在指定索引位置的字符,也可使用[索引]的方式charCodeAt(index)返回在指定的位置的字符串的UnicodeindexOf(字符串.index)返回某个指定的

2020-10-10 11:10:07 200

原创 我们来实现创建JavaScript中的自定义对象

自定义对象1. 简介什么是对象:万物皆对象,如手机、电脑、汽车、坐姿、学生、猫、狗等实现世界中充满了对象,符合人们的思维习惯对象具有特征和行为:特征:对象具有的属性,如学生的姓名、年龄等行为:对象具有的能力,如学生可以学习、跑步、做自我介绍JavaScript是基于对象的语言对象具有的特征,称为属性对象具有的行为,称为方法2. 创建对象三种方式:使用Object//1.创建对象var 对象名 = new Object();//2.为对象添加属性对象名.属性名

2020-10-07 16:09:55 341

原创 还对操作系统的调度算法一知半解?

各种调度算法的学习思路:算法思想算法规则这种调度算法是用于作业调度还是进程调度抢占式?非抢占式?优点和缺点是否会导致饥饿(某进程/作业长期得不到服务)一、先来先服务(FCFS,First Come First Serve)1. 算法思想主要从“公平”的角度考虑(排队买东西)2. 算法规则按照作业/进程到达的先后顺序进行服务3. 用于作业/进程调度用于作业调度时,考虑的是哪个作业先到达后备队列:用于进程调度时,考虑的是哪个进程先到达就绪队列4. 是否可抢占?非抢占式5..

2020-10-05 20:37:22 1480 1

原创 用BOM来实现轮播图效果

BOM简介1. JavaScript由三部分组成:ECMAScript 核心语法 ES6+DOM文档对象模型,核心对象是document,用来操作页面文档BOM浏览器对象模型,核心对象是window,用来操作浏览器2. window对象常用属性:名称含义history有关客户访问过的URL的信息location有关当前URL的信息,子级DOM对象document表示浏览器窗口中的HTML文档,子级DOM对象<script> //w

2020-10-05 20:36:04 607

原创 对JavaScript中的 事件 进行疯狂 处理

一、简介事件:发生在HTML元素上的事情,可以是用户的行为,也可以是浏览器的行为。如:用户点击了某一个HTML元素用户将鼠标移动到某个HTML元素上用户输入数据时光标离开页面加载完成事件源:事件触发的源头,即触发事件的元素,如按钮、输入框、超链接等。事件对象:当一个事件发生时,这个事件相关的详细信息会被保存到一个对象中,称为event对象。事件监听:监听事件的发生,绑定事件函数,当事件被触发后执行该事件函数,即回调函数。二、绑定事件三种方式:静态绑定:通过为标签的事件属性赋值

2020-10-04 16:34:05 227

原创 学JS你不会DOM算真的学会了吗?

一、DOM1. DOM简介Document Object Model 文档对象模型浏览器加载HTML文档时,会将HTML文档解析为一个树形结构,称为DOM树HTML文档和DOM树是一 一对应的关系当DOM树被修改时,与值对应的HTML文档也会随之改变当需要对HTML中的内容进行动态改变时,可以使用DOM来进行操作DOM提供了一组用来操作HTML文档的API,即提供一套属性、方法和事件树上的每一个结点都是一个DOM对象,树的顶层为document对象2. document对象&lt

2020-09-28 16:34:09 302

原创 太难了,我终于把JDBC的代码终于优化了!

开篇声明:需要jar包和配置文件的兄弟们可以去我的主页免费下载。数据库连接池1.概念数据库连接池就是一个容器(集合),存放数据库连接的容器。在之前我们学到的JDBC操作中,我们在进行操作之前都要向系统底层获取连接对象,在执行完操作之后就会对连接进行释放。这样的方法不仅会大大降低执行效率,而且会浪费很多的资源。为了应对这样的情况,就需要数据库连接池。当系统初始化后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完成之后,会将连接对象归还给容器。2..

2020-09-23 22:18:43 236

原创 我终于能在IDEA中使用MySQL了——JDBC!

一、JDBC概念1.2 概念JDBC(Java DateBase Connectivity)是Java的数据库连接,可以用Java语言来进行数据库操作。JDBC的本质是官方(SUN公司)定义的一套操作系统所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)变成,而真正执行的代码是驱动jar包中的实现类。这与在Java中用实现类调用接口相类似。定义一个Person接口,再定义一个Work实现类,再Java中我们会这样实现:Person

2020-09-18 20:34:27 829 1

原创 万字长文,玩转链表

一、单链表的定义和表示我们所了解到的单链表实际上是线性表的一种链式存储结构,其特点是用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。正是因为这种可连续也可不连续的特性就造成了它不能像数组那样每个数据只进行对数据本身的存储。假如我们将前一个结点设为a(i),那么后一个节点就是a(i+1),从上图就可以看出,除了存储本身的数据信息之外,每个结点还需要进行对后继信息的存储。这两部分信息就构成了数据元素a(i)的存储映像,我们称之为结点(node)。我们如果对象上面的

2020-09-15 20:56:58 132

原创 #计算机网络# 的简单总体概述——从入门到还是入门

一、计算机网络的概念、组成、功能和分类1.1 计算机网络的概念计算机网络:使一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。计算机网络是互连的、自治的计算机集合。互连 —— 互联互通 通信链路自治 —— 无主从关系1.2 计算机网络的功能数据通信(连通性,例如文件的发送与接受)资源共享 (硬件、软件、数据共享)分布式处理 (多台计算机各自承担同一工作任务的不同部分)提高可靠性(例如某一台计算机宕机,就会有替代及来

2020-09-12 13:02:42 278

原创 CSP测试第二题合集

稀疏向量题目描述输入格式输出格式样例输入样例输出-20样例解释子任务代码描述#include<iostream>#include<vector>using namespace std;int main(){ int n,a,b; cin>>n>>a>>b; vector< pair<int,int> > u,v; //使用vector容器来存储数据 in

2020-09-11 22:02:00 550

原创 操作系统中的进程是如何 “调度” 的?

一、处理机调度的概念和层次1.1 调度的基本概念当有一堆任务要处理,但由于资源有限,这些事情没法同时处理。这就需要确定某种规则来决定处理这些任务的顺序,这就是“调度”研究的问题。在多道程序系统中,进程的数量往往是多余处理机个数的,这样不可能同时并行地处理各个进程。处理机调度,就是从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程的并发执行。1.2 调度的三个层次——高级调度由于内存孔家有限,有时无法将用户提交的作业全部放入内存,因此酒醋要确定某种规则来决定将作业调入内存

2020-09-10 16:02:52 2869 1

原创 来来来,JavaScript核心基础语句送给你们!

一、JS的两种引入方法1.1 内部引入直接在<head>标签中引入<script>标签后即可书写JS代码。<script type = "text/javascript"> //内部引入</script>1.2 外部引入使用外部引入时,创建一个新的JS文件,并在html文件中的<head>标签中写入<script type="text/javascript" src="main.js" charset="utf-8">

2020-09-09 20:17:49 190

学成在线网站首页制作

使用HTML和CSS完成的学成在线网站首页案例,压缩包中附有完成制作所需要的图片素材,代码大概1000多行,适合初学者练手。

2020-07-31

空空如也

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

TA关注的人

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