自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 收藏
  • 关注

原创 Codeforces Round #681 Div. 2 D. Extreme Subtraction

题目链接题意:可以选择包含a[0]的连续前任意个数字-k,或者选择包含a[n-1]在内的连续后任意个数字-k,要求最后能把a数组全减为0。输出YES或NO思路:可以选择前一段或者后一段-k,我就把数组a拆成两部分处理,分别为包含a[0]和a[n-1]的两段,可以有交集。第一段要满足不递增才能使a数组变为0,为了让第一段不递增,我就应该能通过第二段的减k来使第一段的开始递增的那个点a[i]减为至少a[i-1]。Exampleinput431 2 1511 7 9 6 851 3 1 3

2020-11-03 20:12:01 227 1

原创 定义选择器

CSS 样式规则有两个主要部分。选择器决定将格式化应用到哪些元素,而声明则定义要应用的格式化。最简单的选择器可以对给定类型的所有元素(如所有的 h2 标题)进行样式化,有的选择器允许我们根据元素的类、上下文、状态等来应用格式化规则。请记住,我们可以在一个选择器中组合使用多个选择器,例如,编写类选择器和属性选择器的复合选择器。选择器决定样式规则应用于哪些元素。例如,如果要对所有的 p 元素添加 Georgia 字体、12 像素高的格式,就需要创建一个只识别 p 元素而不影响代码中其他元素的选择器。如果要对

2020-08-12 15:33:09 537

原创 操作样式表

创建外部样式表外部样式表非常适合给网站上的大多数页面或者所有页面设置一致的外观。可以在一个外部样式表中定义全部样式,然后让网站上的每个页面加载这个外部样式表,从而确保每个页面都有相同的设置。尽管后面你将学到嵌入式表和内联样式表,但从外部样式表为页面添加样式才是最佳实践,推荐使用这种方法(允许偶尔的例外)。创建外部样式表的步骤(1) 在你选择的文本编辑器中创建一个新文档。大多数人使用同一个编辑器创建 HTML 和 CSS 文档。(2) 为网页定义样式规则,同时,根据需要在 CSS 中添加注释。(3)

2020-08-11 16:57:32 148

原创 CSS 构造块

样式表中的每条规则都有两个主要部分:选 择 器(selector) 和 声 明 块(declaration block)。选择器决定哪些元素受到影响;声明块由一个或多个属性 - 值对(每个属性 - 值对构成一条声明,declaration)组成。构造样式规则的步骤(1) 输入selector,这里的selector 表示希望进行格式化的元素。(2) 输入 {(前花括号)开始声明块。(3) 输入property:value;,其中property是 CSS 属性的名称,描述要应用哪种格式;value

2020-08-10 16:41:46 184

原创 链接

链接是万维网的命脉。没有它们,每个页面都只能独立存在,同其他所有页面完全地分开。链接有两个主要的部分:目标和标签。使用目标(destination)可以指定访问者点击链接时会发生什么。可以创建链接进入另一个页面,在页面内跳转,显示图像,下载文件,呼叫电话,等等。不过,最常见的是连接到其他网页的链接,其次是连接到其他网页特定位置(称为锚,anchor)的链接。目标是通过编写 URL 定义的,通常只能在(桌面)浏览器的状态栏中看到。链接的第二个部分是标签(label),即访问者在浏览器中看到或在屏幕阅读器

2020-08-09 16:54:06 207

原创 图像

JPEG 格式适用于彩色照片,因为它包含大量的颜色并进行了合理的压缩,采用这种格式保存的文件相对较小。图像的文件变小(且不论是何种格式),下载速度就会变快,访问者就不必等待较长时间才能看到图像。不过,JPEG 是一种有损的格式,因此在将图像保存为 JPEG 时会丢失一部分原始信息,但通常有必要这样做,因为我们可以将图像质量的损失控制在用户不易觉察的范围内,却能显著改善图像的加载速度。注意,对 JPEG 进行解压缩无法还原图像先前丢失的细节。因此,如果未来还有可能对图像进行编辑,就应该保存一份使用无压缩格

2020-08-08 19:53:11 164

原创 文本

HTML 会忽略你在文本编辑器中输入的回车符和其他额外的空格。要在网页中开始一个新的段落,应该使用 p 元素。创建新段落的步骤:(1) 输入 < p>。(2) 输入新段落的内容。(3) 输入 < /p> 结束这个段落根据 HTML5,small 表示细则一类的旁注(side comment),“通常包括免责声明、注意事项、法律限制、版权信息等。有时我们还可以用它来表示署名,或者满足许可要求。”small 通常是行内文本中的一小块,而不是包含多个段落或其他元素的大块文本。指

2020-08-07 15:56:00 260

原创 基本HTML结构

编写 HTML5 页面开头的步骤:(1) 输入 ,声明页面为HTML5 文档。(关于 HTML 早期版本的相关信息,参见本节末尾的“改进后的 HTML5 DOCTYPE”。)(2) 输入 < html lang=“language-code”>,开始文档的实际 HTML 部分。其中,language-code 是页面内容默认语言的代码。例如,< html lang=“es”> 表示西班牙,< html lang=“fr”>表示法语。还可以写得更详细些,如 < .

2020-08-06 17:36:50 184

原创 处理网页文件

规划网站1.在纸上画出网站结构的草图,确定你在每个页面希望呈现的内容。与其他的工作不同,这项工作是能指导网站设计的。2.为页面、图像和其他外部文件设计一个简单且一致的命名规则。创建网站并不需要特殊的工具。可以使用任何文本编辑器,甚至是 Windows 自带的记事本 Notepad,或者 OS X 上的免费软件TextWrangler(www.barebones.com/products/textwrangler)(Mac 也自带一款编辑器,名为 TextEdit,但它在 OS X 某些版本中存在漏洞,

2020-08-05 17:49:16 229

原创 网页的构造块

一个网页主要包括以下三个部分:1.文本内容(text content):在页面上让访问者了解页面内容的纯文字,比如关于业务、产品、家庭度假的内容,以及页面关注的其他任何内容。2.对其他文件的引用(references to other files):我们使用这些引用来加载图像、音频、视频文件,以及样式表(控制页面的显示效果)和JavaScript文件(为页面添加行为)。这些引用还可以指向其他的 HTML 页面和资源。3.标记(markup):对文本内容进行描述并确保引用正确地工作。(HTML一词中的字

2020-08-04 17:35:49 119

原创 编程模式与设计模式

编程模式(coding pattern)——一些专门为 JavaScript 语言开发出的最佳实践方案;设计模式(design pattern)—这些模式与具体语言无关,它们主要来自那本著名的GoF 所著的《设计模式》一书。编程模式主要的模式有:行为隔离;命名空间;初始化分支;延迟初始(惰性初始);配置对象;私有变量和方法;特权方法;私有函数的公有化;即时函数;链式调用;JSON。网页三要素:内容(HTML);外观(CSS);行为(JavaScript)。通常情况下,内容(H

2020-07-30 13:28:48 426

原创 浏览器事件和XMLHttpRequest 对象

事件为事件指定相应的 JavaScript 函数,这些函数通常被称为事件监听器(event listener)或事件处理器(event handler)。内联 HTML 属性法最简便也最难以维护的方式就是通过标签的特定属性来添加事件元素属性法关于单击事件函数,我们还有另一种编写方式,那就是将其设置为 DOM 元素节点的属性。事实上这也是一种更好的选择。因为这种方式可以帮助我们理清与相关JavaScript代码之间的关系。一般情况下。我们总是希望页面中的内容归 HTML、行为归 JavaScri

2020-07-28 21:02:52 379

原创 js浏览器环境

1.BOM(Browser Object Model,即浏览器对象模型)。2.DOM(Document Object Model,即文档对象模型)。3.浏览器事件。4.XMLHttpRequest 对象。在 HTML 页面中引入 JavaScript 代码,我们需要用到< script >标签浏览器会在页面中按顺序执行所有的 JavaScript 代码,且所有标签中的代码都共享同一个名字空间(namespace),所以变量可以在不同代码块通用。DOM 是一个标准,由世界万维网联合协会

2020-07-27 20:11:21 392

原创 javascript继承

原型链是 JavaScript 中实现继承的默认方式JavaScript 是一种完全依靠对象的语言,其中没有类(class)的概念当我们用某一个构造器创建对象时,其属性就会被添加到 this 中去。并且当被添加的属性实际上不会随着实体改变时,这种做法会显得很没有效率。我们也可以选择将 name 属性添加到原型上去,这样一来所有实体就可以共享这个属性了:function Shape() {}Shape.prototype.name = ‘Shape’;这样一来,当我们再用 new Shape()新

2020-07-26 18:08:35 57

原创 JavaScript原型

在 JavaScript 中,函数本身也是一个包含了方法和属性的对象每个对象都会有一个构造器,而原型本身也是一个对象,这意味着它必然也有一个构造器,而这个构造器又会有自己的原型。于是这种结构可能会一直不断地持续下去,并最终取决于原型链(prototype chain)的长度,但其最后一环肯定是 Object 内建对象,因为它是最高级的父级对象。对象自身属性的优先级高于原型属性。可以通过 hasOwnProperty()方法来判断一个属性是自身属性还是原型属性并不是所有的属性都会在 for-in 循

2020-07-24 19:29:17 99

原创 JavaScript对象

对象:与定义数组时所用的中括号[]不同,对象使用的是大括号{}; 括号中用逗号分割的是组成该对象的元素(通常被称之为属性)键/值对之间用冒号分割,例如,key: value。另外,由于我们可以像访问数组一样用中括号来访问属性,因此这意味着我们同样可以用中括号来调用方法,使用中括号来调用方法在实践中并不常见,除非属性名是在运行时定义的。delete语句可以直接删除对象属性。当我们引用 this 值时,实际上所引用的就是“这个对象”或者“当前对象”。我们还可以通过构造器函数(construct

2020-07-23 21:45:25 99

原创 JavaScript的函数

函数函数声明通常由以下几部分组成:1.关键词 function2.函数名称 3. 函数所需的参数,一个函数通常都具有 0 个或多个参数,参数之间用逗号分隔。4.函数所要执行的代码块,我们称之为函数体。5.return 子句。函数通常都会有返回值,如果某个函数没有显式的返回值,我们就会默认它的返回值为 undefined需要注意的是,一个函数只能有一个返回值,如果我们需要同时返回多个值,可以考虑将其放进一个数组里,以数组元素的形式返回但如果设定了参数,而又在调用时忘了传递相关的参数值,Ja

2020-07-21 17:51:34 79

原创 JavaScript基础

JavaScript这个术语通常涵盖了以下3个部分:1.ECMAScript:语言 的核心部分(即变量,函数,循环等等):这个部分独立于浏览器之外,并可以在其他环境中使用。2.文档对象模型(DOM):它实际上是提供了一种与HTML、XML文档交互的方式。最初,JavaScript只能提供对页面,上一部分元素的有限访问能力,主要集中在表单,超链接和图片这些元素上。后来权限逐渐被扩大,如今几乎所有元素都已经可以访问了。为此,万维网联盟(W3C)还专门创建了DOM标准。该标准是一种独立的( 即它并不依赖于Ja

2020-07-20 22:21:32 110

原创 网络编程(下)

TCP通信UDP不区分客户端与服务器端,计算机之间可以任意的发送数据。TCP是分客户端和服务器端的,在通信时,必须先建立连接才能通信(上一篇写了连接的三步骤)JDK提供了ServerSocket类实现服务器端,Socket类实现客户端。通信时,先创建代表服务器端的ServerSocket对象,该对象相当于开启一个服务,并等待客户端的连接,然后再创建代表客户端的Socket对象向服务器端发出请...

2020-04-09 23:04:38 135

原创 网络编程(上)

网络编程可以用来实现信息数据的交换,如果想实现彼此的通信,必须通过编写网络程序来实现。网络通信协议在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传输格式、传输速率、传输步骤做了统一规定,通信双方必须同时遵守规定才能进行数据交换。常见的通信协议:TCP/IP协议,它是一个包括TCP协议、IP协议、UDP协议、ICMP协议和一些其他协议的协议组。它分为四层:应用层:如HTT...

2020-04-08 21:05:46 129

原创 Swing

Swing包中提供了更加丰富、便捷、强大的GUI组件,而且这些组件都是java语言编写而成的,因此,Swing组件不依赖于本地平台,可以真正做到跨平台运行,Swing有JWindow、JFrame、JDialog三个组件JWindow很少使用JFrameJFrame是独立存在的顶级窗口,不能放在其他容器中。JFrame用来创建一个窗口,简单操作有如加入按钮,并且可以实现按钮相关功能。JFram...

2020-04-06 22:05:50 450

原创 反射

通过反射查看类信息大部分对象在不同情况下是不同类型的,可能编译和运行时的类型是不同的,可能用到它时它的类型不是我们所需要的那个类型。解决这一问题通常有如下两种方法:1.第一种做法是假设在编译时和运行时都完全知道类型的具体信息,在这种情况下,可以先使用instanceof运算符进行判断,再利用强制类型转换将其转换成其运行时类型的变量即可。2.第二种做法是编译时根本无法预知该对象和类可能属于哪些...

2020-04-03 21:45:50 129

原创 类加载机制

类的加载连接和初始化当运行java程序时,总会启动一个java虚拟机,不管该Java程序有多么复杂,该程序启动了多少个线程,它们都处于该Java虚拟机进程里。同一个JVM的所有线程、所有变量都处于同一个进程里,它们都使用该JVM进程的内存区。如下几种情况JVM进程将会被终止:1.程序运行到最后正常结束。2.程序运行到使用System.exit()或Runtime. getRuntime()...

2020-04-02 21:07:35 87

原创 IO(下)

其他IO流JDK提供了ObjectInputStream和ObjectOutputStream(对象输入输出流)第一个实现对象的序列化(把对象永久保存,转为字节数据写入硬盘),此前必须保证该对象实现了Serializable接口。第二个实现反序列化,把序列化后的二进制数据恢复成之前的java对象。当不需要存储整个对象的信息,只要存储对象的成员数据(基本数据类型)的时候,可以用DataInput...

2020-04-01 22:23:54 191

原创 IO(上)

IO流按操作数据的不同可以分为字节流和字符流,按数据传输的方向的不同又可以分为输入流和输出流。IO包中,字节流的输入输出分别用java.io.InputStream和java.io.OutputStream表示,字符流的输入输出分别用java.io.Reader和java.io.Writer表示。字节流可以把InputStream和OutputStream看成两根水管,所有输入输出的字节都需要...

2020-03-31 20:32:02 146

原创 多线程

多线程,就比如我们用电脑时,可以同时开多个网站或应用(边看电视剧边敲代码 ),各个线程之间是独立的。线程的创建1.继承Thread类创建多线程:覆写run()方法,在run()方法中实现运行在线程上的代码。Thread提供了start()方法用于启动新线程。(就算是死循环,也能同时进行)2.Runnable接口创建多线程:由于java只能单继承,所以继承了父类的就不能用Thread创建多线程...

2020-03-30 21:20:45 226

原创 事务处理、分析数据库信息、使用连接池管理连接

事务处理事务是由一步或几步数据库操作序列组成的逻辑执行单元,这系列操作要么全部执行,要么全部放弃执行。程序和事务是两个不同的概念。一般而言,一段程序中可能包含多个事务。事务的四个特性(ACID性):原子性,一致性,隔离性,持续性。事务是最小的逻辑执行体,所以它执行时,一定是完全完成的状态;各个事物之间互不相干;事务一旦提交,对数据库改变是永久的,保存进物理数据库。数据库的事务由下列语句组成...

2020-03-26 20:36:09 162

原创 管理结果集、java7的RowSet 1.1

管理结果集JDBC使用ResultSet 来封装执行查询得到的查询结果,然后通过移动ResultSet的记录指针来取出结果集的内容。除此之外,JDBC还允许通过ResultSet 来更新记录,并提供了ResultSetMetaData 来获得ResultSet对象的相关信息。可以使用absolute()、 previous()、 afterLast()等方 法自由移动记录指针的ResultSe...

2020-03-25 21:25:09 148

原创 VJ测试题解

A题意:给出两个数组,让你根据题目给出的公式算出结果,最后的结果要是最简分式。思路:分子分母分开算,模拟一遍,再将分子分母约分(找最大公因数,把他们都除个最大公因数)模拟的顺序是从尾部开始,分子是b[n],分母为a[n],每次都是除式,分子变分母,分母变分子,再把值也相应的变一下1 1 12 3 42/(1+3/(1+1/4)): 1:1/4 ,2:12/5,3: 5/4/#inclu...

2020-03-25 10:53:33 1427 2

原创 JDBC典型用法、执行SQL语句方式

JDBC典型用法API:DriverManager:用于管理JDBC驱动的服务类。程序中使用该类的主要功能是获取Connection对象Connection: 代表数据库连接对象,每个Connection代表一个物理连接会话。要想访问数据库,必须先获得数据库连接Statement:用于执行SQL语句的工具接口。该对象既可用于执行DDL、DCL语句,也可用于执行DML语句,还可用于执行SQL...

2020-03-22 20:07:54 2642

原创 SQL语法下

DML语句DDL主要操作数据库对象,DML主要操作数据库的数据,他可以插入新数据;修改已有数据;删除不需要的数据。DML语句由insert into、update 和delete from三个命令组成。insert into语句用于向指定数据表中插入记录,每次只能插入一条记录。语法:insert into table_name [ (column [,column…]) ]values...

2020-03-20 19:20:35 131

原创 SQL语法(上)

关系数据库基本概念和MySQL基本命令通常所说的数据库既包括存储用户数据部分,也包括数据库的管理系统。DBMS是所有数据的知识库,它负责管理数据的存储、安全、一致性、并发、恢复和访问等操作。DBMS有一个数据字典(有时也被称为系统表),用于存储它拥有的每个事务的相关信息,例如名字、结构、位置和类型,这种关于数据的数据也被称为元数据(metadata)。在数据库发展历史中,按时间顺序主要出现了...

2020-03-19 20:52:58 174

原创 JDBC

由于java的跨平台性,所以程序可以实现跨数据库,具有非常优秀的可移植性JDBC是Java数据库连接,它是一种可以执行SQL语句的Java API。程序可通过JDBC API连接到关系数据库,并使用结构化查询语言(SQL,数据库标准的查询语言)来完成对数据库的查询、更新。JDBC可以完成以下三个基本工作1.建立与数据库的连接。2.执行SQL语句。3.获得SQL语句的执行结果。通过JDB...

2020-03-17 19:58:42 130

原创 异常处理(下)

throw抛出异常异常是相对性的概念,对于不同的需求来说,异常不一定就是异常,所以我们不是对于每次判断的异常都要抛出,还有系统判断不出的异常,需要靠程序员抛出。如果需要在程序中自行抛出异常,则应使用throw语句,throw语句可以单独使用,throw语句抛出的不是异常类,而是一个异常实例,而且每次只能抛出一一个异常实例。throw语法:throw ExceptionInstance;系统自...

2020-03-15 18:49:54 114

原创 异常处理(上)

异常机制可以使程序中的异常处理代码和正常业务代码分离,保证程序代码更加优雅,并可以提高程序的健壮性。Java的异常机制主要依赖于try、catch、 finally、 throw 和throws五个关键字,其中try关键字后紧跟一个花括号扩起来的代码块(花括号不可省略),简称try块,它里面放置可能引发异常的代码。catch后对应异常类型和一个代码块,用于表明该catch块用于处理这种类型的代码...

2020-03-14 19:32:07 75

原创 泛型

Java集合有个缺点,把一个对象“丢进”集合里之后,集合就会“忘记”这个对象的数据类型,当再次取出该对象时,该对象的编译类型就变成了Object类型(其运行时类型没变)。Java集合之所以被设计成这样,是因为集合的设计者不知道我们会用集合来保存什么类型的对象,所以他们把集合设计成能保存任何类型的对象,只要求具有很好的通用性。但这样做带来如下两个问题:1.集合对元素类型没有任何限制,这样可能引发一...

2020-03-12 19:30:06 108

原创 Collections类和Enumration接口

操作集合的工具类:Collections是用来操作Set,List,Map三种容器的工具类排序操作:1.对List的排序好像在纸牌游戏中需要简单的用到他们。用于查找、替换集合元素的方法:在比大小里面,Comparator就像是c++,在sort里面添加一个自己写的cmp函数。Collections类中提供了多个synchronizedXxx(方法,该方法可以将指定集合包装成线程同步的...

2020-03-11 17:50:59 252

原创 今日java汇总

Lambda表达式枚举类、对象与垃圾回收修饰符适用范围、JAR文件、java基础类库正则表达式、国际化与格式化常用类日期时间类Java 8新增的日期、时间格式器;java集合概述;Collection和Iterator接口Set集合和List集合Queue集合,Map集合,HashSet、HashMap性能...

2020-03-10 21:58:10 74

原创 Queue集合,Map集合,HashSet、HashMap性能

Queue集合Queue集合用来实现队列,通常队列不允许随机访问队列元素,以下是Queue接口中的方法PriorityQueue保存队列元素的顺序并不是按加入队列的顺序,而是按队列元素的大小进行重新排序。因此当调用peek0方法或者poll()方法取出队列中的元素时,并不是取出最先进入队列的元素,而是取出队列中最小的元素。从这个意义上来看,PriorityQueue 已经违反了队列的最基本规则...

2020-03-10 19:27:20 373

原创 Set集合和List集合

Set集合HashSet是set集合最常见的实现类,他按照hash算法存储集合的元素,因此具有很大存取和查找性能。HashSet 集合判断两个元素相等的标准是两个对象通过equalsQ方法比较相等,并且两个对象的hashCode(方法返回值也相等。重写HashCode()方法的基本规则:1.在程序运行过程中,同一个对象多次调用hashCode()方法应该返回相同的值。2.当两个对象通过e...

2020-03-09 18:21:18 466

空空如也

空空如也

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

TA关注的人

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