自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(85)
  • 收藏
  • 关注

原创 算法练习——除数博弈和无重复子串

除数博弈爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作:选出任一 x,满足 0 < x < N 且 N % x == 0 。用 N - x 替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回 True,否则返回 false。假设两个玩家都以最佳状态参与游戏。示例 1:输入:2输出:true解释:爱丽丝选择 1,鲍勃无法进行操作。示例 2:输入

2020-07-24 18:05:47 161

原创 算法练习——动态规划(一)

最小路径和给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[ [1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-path-sum解题思路满足最优子结构,即最长路径的子路径也是对应顶点的

2020-07-23 23:11:26 238

原创 算法练习——双指针解法

两数之和 II - 输入有序数组给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], target = 9输出: [1,2]解释: 2 与 7 之和等于目标数 9 。因此

2020-07-20 14:18:02 208

原创 WebMagic爬虫框架

WebMagic架构介绍WebMagic的结构分为Downloader、PageProcessor、Scheduler、Pipeline四大组件,并由Spider将它们彼此组织起来。这四大组件对应爬虫生命周期中的下载、处理、管理和持久化等功能。WebMagic的设计参考了Scapy,但是实现方式更Java化一些。Spider则将这几个组件组织起来,让它们可以互相交互,流程化的执行,可以认为Spider是一个大的容器,它也是WebMagic逻辑的核心。WebMagic总体架构图如下:WebMag

2020-07-20 10:16:50 270

原创 会话技术——Session(附案例源码)

Session概念服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器短的对象(HTTPSession)中Session快速入门获取Session对象:HttpSession session = request.getSession();使用HttpSession对象:Object getAttribute(String name)void setAttribute(String name, Object value)void removeAttribute

2020-07-17 18:57:59 418 1

原创 模拟登陆并爬取教务处信息(附源码)

分析登录请求教务处登录页面输入账号和密码,点击登录浏览器抓取登录的请求信息如下,可以得出点击登录时发送的是Post请求,而且登录时的状态码为200而不是302,说明登录时没有发生重定向,而是直接通过响应传回登录后的页面数据,在通过解析呈现出来请求所带的表单信息如下userName和password携带的是我之前登录输入的用户名和密码经过多次尝试和分析,rnd和code的值是随机的,且对登录没有影响,可以不用管它我尝试用不同的账号和密码登录,发现webfinger的值是固定的us

2020-07-14 17:10:57 636 1

原创 Java网络爬虫(五)——Jsoup解析爬取的数据

Jsoup介绍为什么用Jsoup?我们抓取到页面之后,还需要对页面进行解析。可以使用字符串处理工具解析页面,也可以使用正则表达式,但是这些方法都会带来很大的开发成本,所以我们需要使用一款专门解析html页面的技术。Jsoup介绍Jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。Jsoup的主要功能从一个URL、文件或字符串中解析HTML;使

2020-07-13 18:54:32 328

原创 Java网络爬虫(四)——连接池和请求参数配置

连接池如果每次请求都要创建HttpClient,会有频繁创建和销毁的问题,可以使用连接池来解决这个问题。测试以下代码,并断点查看每次获取的HttpClient都是不一样的。public class HttpClientPoolTest { public static void main(String[] args) { //创建连接池管理器 PoolingHttpClientConnectionManager connectionManager = new

2020-07-13 13:53:41 413

原创 Java网络爬虫(三)——POST请求

POST请求使用POST访问CSDN首页代码:public class HttpPostTest { public static void main(String[] args) { //创建HttpClient对象 CloseableHttpClient httpClient = HttpClients.createDefault(); //创建HttpPost对象,设置URL访问地址 HttpPost httpPost =

2020-07-13 13:17:09 1080

原创 Java网络爬虫(二)——GET请求

HttpClient网络爬虫就是用程序帮助我们访问网络上的资源,我们一直以来都是使用HTTP协议访问互联网的网页,网络爬虫需要编写程序,在这里使用同样的HTTP协议访问网页。这里我们使用Java的HTTP协议客户端 HttpClient这个技术,来实现抓取网页数据。GET请求代码:public class HttpGetTest { public static void main(String[] args) { //创建HttpClient对象 C

2020-07-12 20:16:03 468

原创 Java网络爬虫(一)——初识

网络爬虫的概念网络爬虫(Web crawler)也叫做网络机器人,可以代替人们自动地在互联网中进行数据信息的采集与整理。它是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,可以自动采集所有其能够访问到的页面内容,以获取相关数据。从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分。爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。爬虫入门程序环境准备JDK1.8IDEAMave

2020-07-12 20:15:23 173

原创 会话技术——Cookie

会话技术概述会话:一次会话中包含多次请求和相应一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止功能:在一次会话的范围内,共享数据方式:客户端会话技术:Cookie服务器端会话技术:SessionCookie概念:客户端会话技术,即将数据保存在客户端快速入门:使用步骤:创建Cookie对象,绑定数据new Cookie(String name, String value)发送Cookie对象response.addCookie(

2020-07-11 21:58:44 901

原创 ServletContext学习

ServletContext对象概念:代表整个Web应用,可以和程序的容器(服务器)来通信获取:通过request对象获取:request.getServletContext()通过HttpServlet获取:this.getServletContext()功能:获取MIME类型MIME类型:在互联网通信过程中定义的一种文件数据类型格式:大类型/小类型 text/html image/jpeg获取:String getMimeType(String file)

2020-07-11 12:09:13 141

原创 Response案例:网页验证码的随机生成

案例:验证码的生成本质:图片目的:防止恶意注册代码:@WebServlet("/checkCodeServlet")public class CheckCodeServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int widt

2020-07-10 22:10:53 143

原创 HTTP——Response响应消息

HTTP协议请求消息:客户端发送给服务器的数据数据格式:请求行请求头请求空行请求体响应消息:服务器端发送给客户端的数据数据格式:响应行组成:协议/版本 相应状态码 状态码描述相应状态码:服务器告诉客户端浏览器本次请求和相应的一个状态状态码都是3为数字分类:1**:服务器接收客户端消息,但没有接收完成,等待一段时间后,发送1**多状态码2**:成功,例:2003**:重定向,例:302(重定向),304(访问缓存)4**:客户端错误,例:404(请求路

2020-07-10 21:39:47 344

原创 JavaScript——DOM的使用

DOM简介当网页被加载是,浏览器会创建页面的文档对象模型(Document Object Model)DOM操作HTMLJavaScript改变页面中所有的HTML元素JavaScript改变页面中所有的HTML属性JavaScript改变页面中所有的CSS样式JavaScript改变页面中多有的事件做出反应DOM操作HTML改变HTML输出流:注意:绝对不要在文档加载完之后使用document.write(),这会覆盖文档。寻找元素 :通过id找到HTML元素:

2020-07-06 23:35:01 210

原创 Servlet—Request案例:用户登录

用户登录案例需求编写login.html登录页面username&password两个输入框使用Druid数据库连接池技术,操作MySQL,duing数据库中的user表使用JdbcTemplate技术封装JDBC登陆成功跳转到SuccessServlet展示:登陆成功!用户名,欢迎您登陆失败跳转到FailServlet展示:登录失败!用户名或密码错误登录案例逻辑...

2020-07-05 17:08:25 266

原创 Servlet—HTTP—Request

request对象和response对象的原理request和response对象是由服务器创建的,用来给我们使用。request对象是来获取请求消息,response对象是来设置响应消息。执行原理Tomcat服务器会根据请求url中的资源路径,创建对应的ServletDemo1的对象。Tomcat服务器会创建request和response对象,request对象中封装请求消息的数据。Tomcat服务器将request和response两个对象传递给service方法,并且调用serv

2020-07-04 19:08:02 156

原创 字符串匹配问题——暴力法与KMP算法详解

1.案例题题目描述给出两个字符串 s1和s2,其中s2为 s1的子串,求出 s2在 s1中所有出现的位置。为了减少骗分的情况,接下来还要输出子串的前缀数组 next。(如果你不知道这是什么意思也不要问,去百度搜 kmp算法 学习一下就知道了。)输入格式第一行为一个字符串,即为s1。第二行为一个字符串,即为s2。输出格式若干行,每行包含一个整数,表示s2在s1中出现的位置接下来 1 行,包括 |s2|个整数,表示前缀数组 next[i] 的值。输入输出样例输入abababCaba

2020-06-14 22:32:31 887

原创 Servlet——认识HTTP

概念全称:Hyper Text Transfer Protocol 超文本传输协议传输协议:定义了客户端和服务端通信时,发送数据的格式特点:基于TCP/IP的高级协议默认端口号:80基于请求/响应模型的:一次请求对应一次响应...

2020-06-09 23:57:10 152

原创 Servlet体系结构及相关配置

体系结构Servlet – 接口GenericServlet – 抽象类HttpServlet – 抽象类GenericServlet

2020-06-08 00:01:27 158

原创 Servlet入门学习

概述概念:Servlet:server applet概念:运行在服务器端的程序。Servlet是一个接口,定义了Java类被浏览器访问到(Tomcat识别)的规则。将来我们自定义一个类,实现Servlet接口,复写方法。快速入门创建一个JavaEE项目定义一个类,实现Servlet接口public class ServletDemo1 implements Servlet实现接口中的抽象方法重写了service方法: @Override pu

2020-06-06 00:07:41 114

原创 Jsoup——html/xml解析器

概念jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。快速入门步骤:导入Jsoup的jar包获取Document对象获取对应标签Element对象获取数据代码:xml文档<?xml version="1.0" encoding="utf-8" ?><students> <student numb

2020-05-30 11:33:47 261

原创 认识XML

概念Extensive Markup Language 可扩展标记语言可扩展:标签都是自定义的。<user> <student>功能存储数据配置文件在网络中传输xml和html区别xml标签都是自定义的,html标签是预定义的。xml的语法严格,html语法松散。xml是存储数据的,html是展示数据的。语法基本的语法xml文档的后缀名为.xmlxml第一行必须定义为文档声明xml文档中有且仅有一个根标签属性值必须使用引号(

2020-05-29 22:39:57 146

原创 Java反射

反射:框架设计的灵魂框架:半成品软件。可以在框架的基础上进行软件的开发,简化编码。反射:将类的各个组成部分封装为其他对象,这就是反射机制。Java代码在计算机中经历的阶段:三个阶段好处:可以在程序运行过程中,操作这些对象(Field、Method、Construct)可以解耦,提高程序的可扩展性获取字节码Class对象的三种方式Class对象功能:先给出要获取的Class信息public class Person { private String name;

2020-05-24 21:26:15 160

原创 计算机导论课程小结2(补充)

计算机导论课程小结2(补充)一.工作站1.定义工作是一种高端的通用微型计算机,它以个人计算机和分布式网络计算为基础,提供了比个人计算机更强的性能,尤其是在图形处理和任务并行方面,它主要面向专业应用领域。2.分类(1)按照软硬件平台分类:UNIX、NT(2)按照工作站的结构形式分类:台式、移动、无盘3.刀片工作站刀片工作站是一套端到端的应用方案,前后工作站之间可以实现一对一、多对一、...

2020-05-22 12:11:59 223

原创 Java多线程—线程的创建

多线程概述什么是进程?程序是静止的,运行中的程序就是进程。进程的三个特征:动态性:进程是运行中的程序,要动态的占用内存、CPU和网络等资源。独立性:进程与进程之间是相互独立的,彼此有自己的独立内存区域。并发性:在同一时间内,多任务交替的执行任务。假如CPU是单核,同一个时刻其实内存中只有一个进程在被执行。CPU会分时轮流切换一次为每个进程服务,因为切换的速度非常快,给我们的感觉就是这些进程在同时执行,这就是并发性。并行:同一个时刻有多个任务在执行。什么是线程?线程是属于进程的,一

2020-05-21 00:27:10 151

原创 Java学习—Junit测试

测试分类:黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。白盒测试:需要写代码,关注程序具体的执行流程。Junit单元测试Junit使用:(白盒测试)步骤:定义一个测试类(测试用例)建议:测试类名:被测试的类名+Test CalculatorTest包名:xxx.xxx.xx.test cn.itcast.test定义测试方法:可以独立运行建议:方法名:test+测试的方法名 testAdd()返回值:void参数列表:空参给方法

2020-05-10 20:12:28 269

原创 前端学习之CSS(04)布局

CSS布局与定位概述内容盒子模型页面元素的大小边框与其他元素的距离定位机制文档流浮动定位层定位盒子模型注:页面上的区域、图片、导航、段落,都可以是盒子,占据着一定的空间。盒子模型组成content内容height高度width宽度border边框padding内边距:边框和内容之间的空白距离。margin外边距:两个边框之间的距离。图例:一个盒子的实际宽度、高度 = content+padding+border+margin案例:代码:&

2020-05-09 14:31:40 201

原创 Java学习05(泛型)

泛型的概述泛型就是一个标签:<数据类型>泛型可以在编译阶段约束只能操作某种数据类型。注意:1.jdk1.7开始之后,泛型后面的声明可以省略不写。2.泛型和集合都只能支持引用数据类型,不支持基本数据类型。比如< >里面用int就会报错,而用Integer则不会。案例:代码:public class TestDemo01 { public static void main(String[] args) { //未加泛型 Arra

2020-05-08 21:21:46 195

原创 前端学习之CSS(03)常用样式

文字样式一、基本单位px 像素em 字符(自动适应用户所使用的字体)% 百分比(不同情况下相对值不同)二、颜色red,blue,green:三基色rgb(x,x,x):RGB值,每个颜色分量取值0~255,红色:rgb(255,0,0);灰色:rgb(66,66,66)rgb(x%,x%,x%):RGB百分比值,效果如上,只是度量不同蓝色:rgb(0,100%,0)rg...

2020-05-06 23:30:07 282

原创 Java学习04(多态)

多态多态的形式父类类型 对象名称 = new 子类构造器;接口 对象名称 = new 实现类构造器;父类类型范围 > 子类类型范围多态的概念:同一个类型的对象,执行同一个行为,在不同状态下表现出不同的行为特征。案例:代码:public class Demo01 { public static void main(String[] args) { ...

2020-05-04 23:23:45 218

原创 前端学习之CSS(02)选择器

CSS选择器一、标签选择器功能:样式\选择器的名字就是标签的名字代码:body{background-color: aquamarine; text-align: center; font-size: 15px;}h1{font: "黑体";font-size: 20px;}p{color: red;font-size: 16px;}hr{width: 200px;}&l...

2020-05-01 20:46:42 194

原创 Java学习03(抽象代码块final枚举)

一、静态代码快格式:static{ 内容...}注:必须用static修饰,属于类,会与类一起优先加载,而且自动触发执行一次!作用:静态代码块可以用于在执行类的方法之前进行静态资源的初始化操作。案例:代码:public class TestDemo01 { public static List<String> cards = new ArrayLis...

2020-04-28 15:03:25 322

原创 前端学习之CSS(01)概述及添加方式

CSS概述及添加方法一、CSS样式HTML标签 属性——网页的内容和样式HTML:网页的内容CSS:内容的样式内容和样式相分离,便于修改样式,而不会影响内容的部分。样例仔细看这两张图片,他们的风格和样式是截然不同的,但是你仔细观察他们的内容,会发现他们有着相同的结构和内容,因为他们有着相同的HTML部分和不同的CSS部分。二、CSS简单案例案例代码:<...

2020-04-27 22:38:10 419 2

原创 Java学习02(继承)

继承讲解一、继承的概述和格式解释:继承是Java中一般到特殊的关系,是一种子类到福利额的关系。例如:学生类继承了人类,猫类继承了动物类。被继承的类:父类/超类继承父类的类:子类继承的特点:子类继承了一个父类,子类就可以直接得到父类的属性(成员变量)和行为(成员方法)了。继承的作用:可以提高代码的复用,相同代码可以继承在父类中。然后子类通过继承父类,就可以直接使...

2020-04-26 20:10:26 196

原创 Java学习01(基础)

基础内容巩固一、规范一个class文件中只能有一个public修饰的类,且该类的名称与class文件相同。二、类的五大成分(五大金刚)成员变量成员方法构造器代码块内部类讲解:public class Study01 { System.out.println("hellowrld!");}代码会报错,原因是中间的语句不是类的五大成分。三、this关键字...

2020-04-26 00:47:36 149

原创 前端自学之HTML(03)

HTML自学笔记03一、表单表单form说明:是一个区域,采集用户信息。代码: <form action="数据处理网页"> 表单元素 </form>二、表单元素文本框、密码框input——text password代码: <form action="数据处理网页"> 账户:<input type...

2020-04-25 16:50:49 138

原创 前端自学之HTML(02)

HTML自学笔记02(接着上一篇)超链接a分为:文字超链接、图片超链接和导航栏代码<a href="网址">文字或图片</a>连接到本站点其他网页<a href="news.html">新闻</a>连接到其他站点<a href="https://www.baidu.com/">百度</a>虚拟超链接...

2020-04-24 00:27:38 118

原创 前端自学之HTML(01)

HTML自学笔记01一、定义HTML:超文本标记语言,即对文本进行排版的标记性语言。注意:HTML非编程语言。二、组成由标签、元素、属性组成。例如:<img src="logo.jpg" alt="标识" />是一个元素<img />是标签src和alt是属性"logo.jpg"和"标识"是属性的值<title> 你好 <...

2020-04-19 21:45:33 198

空空如也

空空如也

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

TA关注的人

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