自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 十、拦截器

1、拦截器的配置SpringMVC中的拦截器用于拦截控制器方法的执行。SpringMVC中的拦截器需要实现HandlerInterceptor或者继承HandlerInterceptorAdapter类。SpringMVC的拦截器必须在SpringMVC的配置文件中进行配置。 <!--配置拦截器--> <mvc:interceptors> <bean class="com.example.interceptors.FirstIntercept

2021-12-04 12:41:08 175

原创 九、文件上传和下载

1、文件下载使用ResponseEntity实现下载文件的功能: @RequestMapping(value = "/testDown") public ResponseEntity<byte[]> testResponseEntity(HttpSession session) throws IOException{ // 获取servletContext对象 ServletContext servletContext = session.get

2021-12-04 12:40:35 188

原创 八、HttpMessageConverter

HttpMessageConverter,报文信息转换器,将请求报文转换为java对象,或将java对象转换为响应报文。HttpMessageConverter提供了两个注解和两个类型:@RequestBody、@ResponseBody、RequestEntity、ResponseEntity.1、@RequestBody@RequestBody可以获得请求体,需要在控制器方法设置一个形参,使用@RequestBody进行标识,当前请求的请求体就会为当前注解所标识的形参赋值。2、RequestEn

2021-12-04 12:39:56 177

原创 七、RESTFul

1、RESTFUL简介REST:Representational State Transfer,表现层资源状态转移a>资源资源是一种看待服务器的方式,即,将服务器看作是由很多离散的资源组成。每个资源是服务器上可命名的抽象资源。因为资源是一个抽象的概念,所以它不仅仅能代表服务器文件系统中的一个文件,数据库中的一张表等等具体的东西,可以将资源设计的要多抽象有多抽象。一个资源可以由一个或多个URI来表示。URI既是资源的名称,也是资源在Web上的地址。b>资源的表述资源的表述是一段对于资源在

2021-12-04 12:39:18 217

原创 六、SpringMVC的视图

SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户SpringMVC视图的种类很多,默认有转发视图和重定向视图将工程引入jstl依赖,转发视图会自动转换为jstlView若使用的视图技术为Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器,由此视图解析器解析之后所得的是ThymeleafView1、ThymeleafView当控制器方法中所设置的视图名称没有任何前缀时,此时的视图名称会被SpringMVC配置文件所

2021-12-04 12:38:39 103

原创 五、域对象共享数据

1、使用servletAPI向request域对象共享数据 @RequestMapping("/testServletAPI") public String testServletAPI(HttpServletRequest request){ request.setAttribute("testScope", "hello, servletAPI"); return "success"; }2、使用ModelAndView向request域对象共享数据

2021-12-04 12:37:37 175

原创 四、SpringMVC获取请求参数

1、通过ServletAPI获取将HttpServletRequest作为控制器方法的参数,此时HttpServletRequest类型的参数表示封装了当前请求的报文的对象 @RequestMapping("/testServletAPI") public String testServletAPI(HttpServletRequest request){ String username = request.getParameter("username");

2021-12-04 12:36:48 160

原创 三、@RequestMapping注解

1、@RequestMapping注解的功能从注解名称上我们可以看到,@RequestMapping注解的作用就是将请求和处理请求的控制器方法关联起来,建立映射关系。SpringMVBC接收到指定的请求,就会来找在映射关系中对应的控制器方法来处理这个请求。2、@RequestMapping注解的位置@RequestMapping标识一个类:设置映射请求的请求路径的初始信息@RequestMapping标识一个方法:设置映射请求的请求路径的具体信息package com.example.mvc

2021-11-21 22:00:42 519

原创 二、配置SpringMVC

1、创建maven工程在Idea中的pom.xml文件中导入一下依赖:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/

2021-11-21 22:00:01 216

原创 一、SpringMVC简介

1、什么是MVCMVC是一种软件架构的思想,将软件按照模型、试图、控制器来划分M:Model,模型层,指工程中的JavaBean,作用是处理数据JavaBean分为两类:一类称为实体类Bean:专门储存业务数据一类是业务处理Bean:指Service或Dao对象,专门用于处理业务逻辑和数据访问V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据C:Controller,控制层,指工程中的Servlet,作用是接收请求和响应浏览器MVC的工作流程:用户通

2021-11-21 21:58:27 217

原创 6、Java概述——位运算符(>>、<<、>>>)

1、算术右移 >> : 低位溢出,符号位不变,并用符号位补溢出的高位2、算术左移 << : 符号位不变,低位补03、逻辑右移(或者无符号右移)>>>:低维溢出,高位补零4、没有<<<位运算public class BitOperator{ // 编写一个main方法 public static void main(String[] args){ System.out.println(2 & 3); // 1000000

2021-07-13 16:28:50 111

原创 5、Java概述——标识符的命名规范

1、包名:多单词组成时所有的字母都小写:例如:com.lsp.acm2、类名、接口名:多单词组成时,所有单词的首字母大写,例如:LogicOperator3、变量名、方法名:多个单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写,例如:logicOperator4、常量名:所有的字母都大写,多个单词时每个单词用下划线连接,例如:TAX_RATE...

2021-07-13 14:41:37 110

原创 3、Java概述——自动类型转换

一、什么是自动类型转换当java程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型,这个就是自动类型转换。二、自动类型转换的条件是什么自动类型转换的关键在于需要从精度小的类型转换为精度大的数据类型。char -> int -> long -> float -> doublebyte -> short -> int -> long -> float -> double三、有关byte、short、char的运算和转换1、by

2021-07-12 10:39:39 404

原创 4、Java概述——强制类型转换

一、什么是强制类型转换当进行数据的大小从大转换到小的时候,我们就需要使用到强制类型转换。二、强制类型转换的条件是什么使用强制类型转换的关键点在于从数据类型的大范围转换到数据类型的小范围,例如我们要从int类型转换为byte类型,这时我们就需要使用到强制类型转换。三、强制类型转换你的细节1、强制符号只针对最近的操作数有效,往往会使用小括号提升优先级。public class ForceConvertDetail01{ // 编写一个main方法 public static void main(

2021-07-12 10:19:13 4824

原创 2、Java概述——注释

一、Java中的注释类型单行注释多行注释文档注释二、格式(1)、单行注释格式: // 注释文字(2)、多行注释格式: /* 注释文字 */被注释的文字,不会被JVM解释执行;多行注释里面不允许有多行注释嵌套。(3)、文档注释注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档,一般写在类格式:javadoc -d 文件夹名 -xx -yy Demo.java例如有如下源代码:// 文档注释/** * @author 小汤 *

2021-06-22 11:56:30 78 1

原创 1、Java概述——Java转义字符

一、Java常用的转义字符1)\t : 一个制表位,实现对齐的功能2)\n: 换行符3)\\ : 一个\4)\" : 一个"5)\’ : 一个’6)\r : 一个回车二、应用实例public class ChangeChar{ public static void main(String[] args){ // \t: 一个制表位,实现对齐功能 System.out.println("北京\t天津\t上海"); // \n: 换行 System.out.println("j

2021-06-21 09:59:07 815

原创 C++编程<四>—— 构造函数

作用:为了创建类对象而有的一种函数;这里主要说明的是有两种不同的构造函数的定义;方法一:class complex{public: complex(double r = 0, double i = 0) { re = r, im = i; //赋值(assignments) }private: double re, im;};方法二:class complex{public: complex(double r = 0, double i = 0) :re(r), i

2021-01-09 17:52:12 223

原创 C++编程<三>—— Header(头文件中的防护式声明)

例如:complex.h#ifndef __COMPLEX__#define __COMPLEX__/*程序主体/*#endif这种就是防护式声明。第一行首先判断你有没有定义过,如果定义过就跳过该程序,如果没有就继续向下走,定义改函数为 COMPLEX。规范写法。...

2021-01-08 16:04:19 303

原创 C++编程<二>—— 有关于rand()和srand()函数的用法

一、rand()功能:随机数发生器参数:无返回值:​0​ 与 RAND_MAX 间的随机整数值头文件:定义于头文件 < cstdlib >函数说明:rand() 返回随机数值的范围在 0~RAND_MAX 之间。0 ~ RAND_MAX之间每个数字被选中的概率是相同的。注释:不保证生成的随机数列质量。如果在程序中只是用 rand(),那么如果你多次运行的化,产生的随机数是一样的,这个原因就在于每次运行的时候,默认的随机数种子都是一样的,都为1,**rand()**产生的是伪随机数,

2021-01-07 11:58:18 639 1

原创 C++编程<一>——C++面向对象编程简介、泛型编程、程序创建的技巧

一、面向对象编程面向对象编程虽然结构化编程的理念提高了程序的清晰度、可靠性,并使之便于维护。但是它在编写大型程序时,仍然面临挑战。在C++中,类是一种规范,它描述了这种新型数据格式,对象是根据这种规范构造的特定数据结构。OOP程序设计方法首先设计类,它们准确地表示了程序要处理的东西。类定义描述了每个类可执行的操作。从低级组织(如类)到高级组织(如程序)的处理过程叫作自下向上的编程。OOP编程并不仅仅是将数据和方法合并为类定义。多态让您能够为运算符和函数创建多个定义,通过编程上下文来确定使用哪一定义

2020-11-09 20:41:59 283

转载 Python面试题【一】

Python基础一、文件操作1、有一个jsonline格式的文件file.txt 大小约10kdef get_lines():with open('file.txt', 'rb') as f:return f.readlines()if __name__ == '__main__':for e in get_lines():process(e) # 处理每一行的数据现在要处理一个大小为10G的文件,但是内存只有4G,如果在只修改get_lines函数而其他代码保持不变的情况下,应该如何实

2020-09-06 23:00:43 3194

原创 使用graphviz可视化决策树出现Python FileNotFoundError: [WinError 2] 系统找不到指定的文件。

看了很多博客,都是去直接修改代码的,我也尝试了,发现解决了这个问题之后有出现了其他的问题,而且直接去修改源代码也不是很好,后来看到一篇文章,有了新的解决方案。首先,删除原来安装的graphviz库pip uninstall graph然后使用conda 安装 python-graphvizconda install python-graphviz然后重新启动Jupyter的核心,就行了,可以试试参考资料:[1] “RuntimeError: Make sure the Graphv

2020-08-02 09:31:20 1248 1

原创 MySQL完整基础笔记整理——继续更新

主要跟菜鸟MYSQL来整理的,用于学习笔记。一、数据库的基本概念MySql是关系型数据库。1) 术语数据库:数据库是一些关联表的集合。数据表:表是数据的矩阵。在一个数据库中的表类似一个Excel文件。与数据库的关系是,数据库中包含数据表。列:一列数据元素包含了相同类型的数据。行:或者称为一个记录,是一组相关的数据,一个记录。冗余:存储两倍数据,冗余降低了性能,提高了数据的安全性。主键:主键是唯一的(就是每个记录中的主键都不可能重复),一个数据表中只能包含一个主键,你可以使用主键来查询数据

2020-07-12 00:51:12 372

原创 分治算法【五】——应用:Leetcode973. 最接近原点的 K 个点

题目:我们有一个由平面上的点组成的列表 points。需要从中找出 K 个距离原点 (0, 0) 最近的点。(这里,平面上两点之间的距离是欧几里德距离。)你可以按任何顺序返回答案。除了点坐标的顺序之外,答案确保是唯一的。示例 :输入:points = [[1,3],[-2,2]], K = 1输出:[[-2,2]]解释: (1, 3) 和原点之间的距离为 sqrt(10),(-2, 2) 和原点之间的距离为 sqrt(8),由于 sqrt(8) < sqrt(10),(-2,

2020-07-07 00:03:59 275

原创 分治算法【四】——应用:Leetcode241. 为运算表达式设计优先级

题目:为运算表达式设计优先级给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +, - 以及 * 。示例一:输入: “2-1-1”输出: [0, 2]解释: ((2-1)-1) = 0 (2-(1-1)) = 2这里主要是以分治算法来求解这道题,关于分治算法的思路,可以click here,。1、要解决什么?给定含有数据和运算符的字符串,填上括号,救出不同值结果的个数。2、如何使用分治算法去解决

2020-07-06 00:20:08 176

原创 分治算法【三】——应用:Leetcode215. 数组中的第K个最大元素

题目:数组中的第K个最大元素在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。这里主要是以分治算法来求解这道题,关于分治算法的思路,可以click here, 有关很多的其它解法可看leetcode官方解法1、 要解决什么?求解数组中第K个最大值。2、如何使用分治算法去解决?首先,我们应该先将这题转换为利用分治算法去解决排序问题,按从大到小排序,然后取出排序后的第k个值即可。3、分治排序模板?def Merge_S

2020-07-05 00:50:38 370

原创 分治算法【二】——应用:Leetcode169:多数元素

题目:多数元素给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。这里主要是以分治算法来求解这道题,关于分治算法的思路,可以click here, 有关很多的其它解法可看leetcode官方解法。1、 要解决什么?这里解决的问题很简单,就是跟你一个数组,找出其中的众数。2、回想以下分治算法步骤?分解 ==> 求解 ==> 合并3、这题如何使用分治算法?首先就是要将给

2020-07-05 00:05:49 534

原创 分治算法【一】—— 基本概念与思路

1)分治算法【二】——应用:Leetcode169:多数元素一、什么是分治算法?分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。二、分治算法的基本思想?当我们求解某些问题时,由于这些问题要处理的数据相当多,或求解过程相当复杂,使得直接求解法在时间上相当长,或者根本无法直接求出。对于这类问题,我们往往先把它分解成几个子问题,找到求出这几个子问题的解法后,再找到合适的方法,把它们组合成求整个问题的解法。如果这些

2020-07-05 00:05:23 707

原创 机器学习常用优化算法【一】—— Gradient Descent 系列

一、Gradient Descent(梯度下降算法)(1)、Batch Gradient descent(BGD, 指计算梯度时用的是全部样本的梯度的均值)Batch Gradient descent 是一种求最小局部变量的一阶迭代优化算法。利用gradient descent来求一个函数的最小值,我们每一步都在当前点加上一个负梯度的倍数。如果我们采用的是正梯度,则计算的是函数的局部最大值。这就像我们要从山上的某个点下山,如何最快的到达山底,我们的方法就是在当前点选择下山的最陡的方向走,这就是梯度下降

2020-07-03 20:15:14 513

原创 Python项目【杭州房价数据分析】—— 爬虫、数据库、数据可视化[完整版]

给出GitHub链接 click here最近这一周要准备考试,没时间写,后续完成

2020-07-03 20:00:36 7207 9

原创 python【debug】- 绘制的html无法显示相对应的城市地图

当我运行以下代码(我的pyechars==0.1.9.6)时,要绘制的是杭州的地图:import numpy as npfrom pyecharts import Mapprint(pyecharts.__version__)areas = ['上城区', '西湖区', '临安区']values = np.random.randint(1, 100, size=3)test_map = pyecharts.Map("test", width=1200, height=600)test_ma

2020-07-03 18:48:26 1540 1

转载 python 连接MySql数据库

在本文中介绍 Python3 使用PyMySQL连接数据库,并实现简单的增删改查。(注意是python3)1、安装PyMySQL PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。① 使用pip命令安装 pip instal

2020-07-03 15:16:50 1936

转载 python【debug】- pymysql KeyError:255

在weibospider项目新建所有的表时遇到的错误:Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sqlalchemy/pool.py", line 1122, in _do_get return self._pool.get(wait, self._timeout) File "/Library/

2020-07-03 15:07:19 247

原创 Python网络爬虫【2】--正则表达式、Scrapy库的使用

单元四、信息组织与提取方法1)信息标记的三种方式XML, JSON, YAML2)信息提取的一般方法方法一:完整解析信息的标记形式,再提取关键信息XML JSON YAML需要标记解析器 例如:bs4库的标记树遍历优先:信息解析准确缺点:提取过程繁琐,速度慢方法二:无标记形式,直接搜索关键信息搜索对信息的文本查找函数即可。优点:提取过程简单,速度较快缺点:提取结果准确性与信息内容有关方法三:融合方法:结合形式解析与搜索方法,提取关键信息XML JSON YAML 搜

2020-07-01 10:51:41 479

原创 Python网络爬虫【1】-- Request库、 Robos协议 、BeautifulSoup库 、简单爬虫项目

单元一:Requests库入门-HTTP协议及Requests库方法(SHD)1、Requests库的7个主要方法方法说明requests.request()构造一个请求,支撑一下各个方法的基础方法requests.get()获取HTML网页的主要方法,对应于HTTP的GETrequests.head()获取HTML网页头信息的方法,对应于HTTP的HEADrequests.post()向HTML网页提交POST请求的方法,对应于HTTP的POSTre

2020-06-29 23:36:40 353

原创 常用的Linux命令终于准备好了!

一、Linux系统的文件结构(FHS)目录应放置文件内容/bin系统有很多放置运行档的目录,但/bin比较特殊。因为/bin放置的是在单人维护模式下还能够被操作的指令。/boot这个目录主要在放置开机会使用到的文件,包括Linux核心文件以及开机菜单与开机所需设置档等等。/dev在Linux系统上,任何设备与周边设备都是以文件的型态存在于这个目录当中的。/etc系统主要的设置档几乎都放置在这个目录内,例如人员的帐号密码档、 各种服务的启始档等等。一般来

2020-06-27 21:14:22 265

原创 机器学习算法准备提升——线性模型(4)感知机

参考资料:【1】统计学习方法

2020-06-27 15:42:05 93

原创 机器学习算法准备提升——线性模型(3)【逻辑斯谛回归】

参考资料:【1】Logistic function【2】Logistic Regression — Detailed Overview

2020-06-26 20:48:17 105

原创 机器学习算法准备提升——线性模型(2)【贝叶斯回归】

记录一下学习笔记,这些公式用markdown打起来太费时间了,哈哈,就改成了这种方式记录笔记。参考资料:【1】机器学习-白板推导系列(十九)-贝叶斯线性回归(Bayesian Linear Regression)【2】Bayesian linear regression【3】Bayes’ theorem...

2020-06-26 20:43:31 144

原创 Python高级编程(四)——Python多任务==》线程、进程、协程

一、基本概念并行:真的多任务(核心数大于任务数)并发:假的多任务(核心数小于任务数)举个例子:比如我的电脑是2核心处理器,但是我电脑上只有四个应用在运行,这样只要有4个核心处理器来分别处理我这四个应用就行了,这是真的多任务。但是如果我现在电脑上要运行四个应用,这2个核心的处理器办不到在同一时间去运行这四个应用,如要同时运行,那就只能每个应用在每个处理器上运行一段时间(时间很短)后然后切换到另一个应用去运行,这样让你感觉是在同时运行的。二、进程(process)(1)什么是进程进程(proces

2020-06-25 23:46:58 319

空空如也

空空如也

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

TA关注的人

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