自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 CSS 五种布局方式

一、浮动布局 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>浮动布局</title> <style type="text/css"> .wrap1 div{ min-heig...

2019-08-29 22:32:00 604

原创 SpringBoot第十三课——整合pagehelper分页插件

接着上一篇https://blog.youkuaiyun.com/sinat_22808389/article/details/97239750,我们继续整合pagehelper,步骤如下: 1.引入插件依赖 <!--pagehelper --> <dependency> <groupId>com.github.pagehelper</groupId&gt...

2019-07-30 11:29:41 273

原创 mybatis自动生成代码

想想在手写很多entity、mapper及mapper对应的接口的时候,很多重复的东西,手写,太费时了!可以通过自动生成代码来提高效率。下面来看看mybatis怎么自动生成我们所需的代码。 1.添加mybatis-generator依赖包 <dependency> <groupId>org.mybatis.generator</groupId> &lt...

2019-07-30 10:23:39 251

原创 SpringBoot第十二课——整合mybatis

mybatis的详细内容可参考:https://blog.youkuaiyun.com/hellozpc/article/details/80878563#1JDBC_1,下面开始mybatis与SpringBoot的整合。 一、注解方式 1.引入mybatis依赖及数据库 <dependency><!--添加MySql依赖 --> <groupId>my...

2019-07-25 11:25:41 199

原创 SpringBoot第十一课——统一异常处理

关于异常的概念什么的这里就不多说了(详见:https://www.cnblogs.com/williamjie/p/9103658.html),我们来直接看在SpringBoot中怎么统一处理异常吧。 1.创建统一处理异常的类 @ControllerAdvice public class MyExcepthonHandler { @ResponseBody @ExceptionHan...

2019-07-24 15:08:20 168

转载 SpringBoot第十课——过滤器及拦截器

一、拦截器与过滤器   在讲Spring boot之前,我们先了解一下过滤器和拦截器。这两者在功能方面很类似,但是在具体技术实现方面,差距还是比较大的。在分析两者的区别之前,我们先理解一下AOP的概念,AOP不是一种具体的技术,而是一种编程思想。在面向对象编程的过程中,我们很容易通过继承、多态来解决纵向扩展。但是对于横向的功能,比如,在所有的service方法中开启事务,或者统一记录日志等功能...

2019-07-23 16:58:51 186

原创 SpringBoot第九课——整合JPA

一.JPA概念: JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。(来自百度)。 二、整合JPA 1.引入依赖 <dependency><!--添加JPA依赖 --> <groupId>org.spring...

2019-07-22 14:14:20 144

原创 SpringBoot第八课——定时任务与异步

定时任务在很多场景有用,比如定时监控某服务,定时处理某处理等等,那么SpringBoot里面这么搞定时任务呢?下面我们来看看SpringBoot 定时任务的几种方式。 1.基于注解(最简单明了的一种) 来看看怎么注解,我们在service层定义个定时任务类吧,就叫ServiceJob: @Component @EnableScheduling //开启定时任务 public class S...

2019-07-19 17:08:23 223

原创 SpringBoot第七课——单元测试

不写单元测试的项目不是好项目,不写单元测试的程序猿不是好测试,下面我们来看看SpringBoot怎么整合测试,这里只讲controller的测试,其他层的测试很简单,这里就略过: 1.引入测试依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactI...

2019-07-17 21:49:06 168

原创 Springboot第六课——整合模板引擎

这里我们整合模板引擎FreeMarker 1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> 2.配...

2019-07-17 15:46:47 167

原创 SpringBoot第五课——整合日志

SpingBoot框架默认使用SLF4J抽象层和Logback实现,这里SLF4J是日志门面,是一种抽象,不是日志的具体实现,具体实现是Logback。(详细可看:https://mp.weixin.qq.com/s/vCixKVXys5nTTcQQnzrs3w) 1.pom引入日志依赖 <dependency> <groupId>org.springfr...

2019-07-16 21:56:10 134

原创 SpringBoot第四课——常用传参方式

接着第一课:https://blog.youkuaiyun.com/sinat_22808389/article/details/81590042 1.path传参 在RestController 下添加如下方法: //path 传参数 get请求方式 @RequestMapping(value = "/postPath") public String postByPath(@Req...

2019-07-16 20:48:51 641

原创 SpringBoot 第三课——跨域请求

现在的很多开发模式是前后端分离的,所以前端页面和后端服务通常不在同一个域中,但是浏览器有一个安全策略,就是不允许跨域请求数据,为什么不允许,可以找相关文章学习。下面我们来解决我们的后端服务允许跨域请求。 本地桌面写一个页面crossdomain.html,通过ajax请求后端数据: <!DOCTYPE html> <html style="height: 100%; ma...

2019-07-16 16:11:03 149

原创 SpringBoot 第二课——热加载

接上一篇:https://blog.youkuaiyun.com/sinat_22808389/article/details/81590042 在开发过程中,每次修改代码都要重新启动服务?好费时间啊,来看看怎么样让springBoot实现热加载,即不用重启服务,修改的代码即时生效。 很简单,引入依赖如下,便可: <dependency> <groupId>org.sprin...

2019-07-16 14:23:02 203

原创 Dajango 搭建Web笔记

一、环境搭建 1.要使用 Django ,首先需要建立一个虚拟工作环境。 虚拟环境 是系统的一个位置,你可以在其中安装包,并将其与其他 Python 包隔离 新建一个目录,将其命名为 learning_log ,再在终端中切换到这个目录,并创建一个虚拟环境。如果你使用的是 Python 3 , 可使用如下命令来创建虚拟环境. learning_log$ python -m venv ll_e...

2019-07-11 17:01:58 460

原创 pip 笔记

1.如果pip安装包时出现如下错误: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection 原因是请求超时导致的,可自己定义安装源 pip命令后自己设定收集源(-i +url) 例如:pip install requests -i http://py...

2019-07-11 09:30:00 198

原创 排序——快速排序

快速排序 算法思路:快速排序采用双向查找的策略,每一趟选择当前所有子序列中的一个关键字作为分割线,将子序列中比分割线小的前移,比分割线大的后移,当本趟所有子序列都被分割线按上述规则划分完毕后将会得到新的一组更短的子序列,他们将成为下趟划分的初始序列集。 下面来看代码: public void quickSort(int a[], int low, int high) { if (low...

2019-07-10 15:04:13 185

原创 排序——归并排序

归并排序算法思想: 归并排序的思路是大问题不断地化简为小问题,即不断地将待排序的序列拆分成更小的序列,直到不可拆分(只有一个元素)为止,然后将各个排好序的序列合并起来,最终得到一个有序的序列,每次拆分将序列拆分为原来的一半,子问题排好序后合并,所以归并排序的时间复杂度为O(n*logn)。下面来看代码: public void mergeSort(int[] arr) { //...

2019-07-08 15:05:42 150

原创 排序——选择排序

选择排序思想: 选择排序,从第一个元素开始,每次从后面的元素中选择一个最小的依次放入前面的位置。下面来看代码: public void selectSort(int arr[]) { for (int i = 0; i < arr.length; i++) { int minIndex = i; // 找到最小值元素的位置minIndex for (i...

2019-07-08 11:14:12 129

原创 排序——插入排序

一、插入排序 插入排序思想:回想一下我们打扑克的时候摸牌的过程,有时喜欢把牌按大小顺序排列起来,每次摸到的牌和手中的牌比较,如果小的话就往前找位置,一直移到比它小的牌后面,比它大的牌前面,然后将牌插入,一直到牌摸完,我们手中的牌最后就是有序的。而插入排序就像我们打扑克牌摸牌的过程是一样的。 来看代码: public void insertSort(int[] arr) { fo...

2019-07-05 17:01:30 140

原创 python极简笔记——单元测试

#Python 标准库中的模块 unittest 提供了代码测试工具. def formatName(firstName,lastName): return (firstName + ' ' + lastName).title() import unittest class NamesTestCase(unittest.TestCase): #测试formatName函数 ...

2019-07-05 10:19:53 209

原创 python极简笔记——模块导入import

#从 functionDemo 模块导入 anyNumKeyPram 方法,别名为f from functionDemo import anyNumKeyPram as f #通过别名调用 anyNumKeyPram 方法 f(name='xyp', age='17')

2019-07-05 10:17:23 234

原创 python极简笔记——文件操作

#文件操作 #1.读取文件 #打开文件,关键字with 在不再需要访问文件后将其关闭 with open('data\data1.txt') as fobj: #读取文件内容 contents = fobj.read() print(contents) #逐行读取 with open('data\data1.txt') as f: for line in f: p...

2019-07-05 10:14:51 185

原创 python极简笔记——函数与传参

#python 函数定义格式 def 函数名 def kePram(name,age): print(name,age) #关键字实参 kePram(name='xx', age='18') #参数默认值 def funcPramDefault(name, age = 18): print(name,age) funcPramDefault('xh') funcPramDefau...

2019-07-05 10:11:56 191

原创 python极简笔记——异常

#异常 def exceptionFunc(): print(7/0) #exceptionFunc() #使用try-except 处理异常 def sloveExecption(): try: print(7/0) except ZeroDivisionError: print('divide by zero!!!!') sloveExecption() #e...

2019-07-05 10:08:30 164

原创 python极简笔记——类

#1.创建类及使用类创建实例 class Animal: #__init__类似java中的构造函数 self类似java中的this def __init__(self, name, age): self.name = name self.age = age #实例的方法必须有self def run(self): print(self.name,' ...

2019-07-05 10:06:49 178

原创 表单重复提交问题解决

重复提交:用户在点击提交后,后台程序还未处理完成,用户不知道,等得不耐烦了,又不断的点击提交,导致后台多次操作重复提交的数据,导致数据错误。所以怎样解决这样的问题呢? 解决的途径有两种: 1.前端控制 2.后台session判断 前端控制有两种方法,一个是提交后通过该将提交按钮置灰(这种体验极不好不推荐),一个是通过js控制只提交一次。 下面我们来看看通过js控制只提交一次的方式: ...

2019-07-03 14:12:23 329

原创 哈夫曼树

哈夫曼树: 当树中的节点被赋予一个表示某种意义的数值,我们称之为该节点的权。从树的根节点到任意节点的路径长度(经过的边数)与该节点上权值的乘积称为该节点的带权路径长度。树中所有叶节点的带权路径长度之和称为该树的带权路径长度(WPL)。当带权路径长度最小的二叉树被称为哈夫曼树,也成为最优二叉树。 哈夫曼树的构造: 哈夫曼树在构造时每次从备选节点中挑出两个权值最小的节点进行构造,每次构...

2019-07-01 15:09:07 745

原创 递归回溯——八皇后问题

八皇后问题: 国际象棋中皇后能横向,纵向和斜向移动,在这三条线上的其他棋子都可以被吃掉。所谓八皇后问题就是:将八位皇后放在一张8x8的棋盘上,使得每位皇后都无法吃掉别的皇后,(即任意两个皇后都不在同一条横线,竖线和斜线上),问一共有多少种摆法? 解决思路: 1.将第一行第一列放入 2.在第二行适合的位置(不在上一个皇后的同行同列及对角线上)放入 如此类推,直到放到第八个皇后即为一种解...

2019-07-01 13:44:31 230

原创 字符串匹配——KMP算法

算法思路: 假设文本串S匹配到 i 位置,模式串P匹配到 j 位置如果j = -1,或者当前字符匹配成功(即S[i] == P[j]),则令i++,j++,继续匹配下一个字符;如果j != -1,且当前字符匹配失败(即S[i] != P[j]),则令 i 不变,j = next[j]。此举意味着失配时,模式串P相对于文本串S向右移动了j - next [j] 位。next数组的求解: ...

2019-06-27 13:43:01 161

原创

堆是一种数据结构,分为大根堆和小根堆。 下面以大根堆为例 1.大根堆有着如下特点: a.顺序:堆顶元素永远是最大的。 b.形状:堆是一颗完全二叉树。 这两个特性保证了堆在插入和删除的过程中最大时间复杂度也是满足O(logn)的,所以是一种非常高效的数据结构格式。 2.更新堆的两种方式,分别对应了插入元素和删除堆顶元素操作: 自底向上 ...

2019-05-22 15:15:26 236

转载 elasticsearch 入门教程

原文链接:http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html

2019-05-14 10:28:49 855

转载 SpringBoot使用数据链接池Druid进行监控

原文链接:https://blog.youkuaiyun.com/u014427391/article/details/70890506 Druid Druid:一款为监控而生的数据库连接池框架,整个项目由数据库连接池、插件框架和SQL解析器组成。 Druid功能介于PowerDrill和Dremel之间,它几乎实现了Dremel的所有功能,并且从PowerDrill吸收一些有趣的数据格式。Druid...

2019-04-28 14:09:14 998

转载 阿里java及SQL开发规范

原文链接:https://blog.youkuaiyun.com/JobsandCzj/article/details/78049526 Java开发规范 命名 【规范】类名使用UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外: ( 领域模型的相关命名 )DO / BO / DTO / VO 等。 正例: MarcoPolo / UserDO / XmlService / TcpUd...

2019-04-26 10:40:56 2226

转载 SQL 规范

原文链接:https://www.jianshu.com/p/359ed85c3243 适用场景:并发量大、数据量大的互联网业务 一、 基础规范 1. 推荐使用InnoDB存储引擎 支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 2. 使用UTF8字符集 万国码,无需转码,无乱码风险,节省空间 3. 数据表、数据字段必须加入中文注释 4. 高并发场景下...

2019-04-26 10:25:37 242

转载 为什么hashMap线程不安全

转自:https://www.jianshu.com/p/e2f75c8cce01

2019-03-19 15:10:37 278

转载 HashMap实现原理及源码分析

HashMap实现原理及源码分析   哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。 目录...

2019-03-12 09:24:42 1057

转载 图解红黑树

———————————— 二叉查找树(BST)具备什么特性呢? 1.左子树上所有结点的值均小于或等于它的根结点的值。 2.右子树上所有结点的值均大于或等于它的根结点的值。 3.左、右子树也分别为二叉排序树。 下图中这棵树,就是一颗典型的二叉查找树: 1.查看根节点9: 2.由于10 > 9,因此查看右孩子13: ...

2019-03-11 22:30:15 338

转载 java简单实现RPC框架

一、RPC简介 RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议。它允许像调用本地服务一样调用远程服务。它可以有不同的实现方式。如RMI(远程方法调用)、Hessian、Http invoker等。另外,RPC是与语言无关的。     RPC示意图 如上图所示,假设Computer1在调用sayHi()方法,对于Computer1而言调...

2019-02-27 15:29:14 997

转载 Struts2表单回显

struts2表单回显 问题提出:Struts2是如何帮助我们进行表单回显的? 问题解决: 首先写一个简单的测试程序 1)JSP页面主要内容如下(JSP页面名称为form-tag.jsp): &lt;s:debug&gt;&lt;/s:debug&gt; &lt;s:form action="userAction_save" method="post"&gt; &lt;s:text...

2018-12-26 20:20:09 208

空空如也

空空如也

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

TA关注的人

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