自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 stream流

函数式接口:接口中只有一个抽象方法,可使用@FunctionalInterface注解表明。使用后,接口中添加第二个抽象方法会报错。4大内置核心函数式接口Consumer<T>:消费型接口 void accept(T t);Supplier<T>:供给型接口 T get();Function<T,R>:函数型接口,T为参数,R为返回值 R apply(T t);Predicate<T>:断言型接口 boolean test(T t);..

2021-09-19 19:17:26 641

原创 读取应用配置

Spring Boot提供了3种方式读取application.properties配置文件。分别为Environment类、@Value和@ConfigurationProperties。EnvironmentEnvironment是一个通用的读取应用程序运行时的环境变量的类,可通过key-value方式读取application.properties。例:application.properties添加test.msg=read config在测试类中使用@Autowired注入Enviro

2021-06-11 16:03:15 241 1

原创 参数化测试

测试环境准备注意点使用@RunWith(parameterized,class)注释测试类创建一个使用@Parameters注释的公共静态方法,该方法返回一个对象集合作为测试集创建一个构造函数或使用@Parameter注解来接收“测试数据”的内容举例//注释测试类@RunWith(Parameterized.class)public class ParametersTest { int except; int input1; int input2;

2021-05-29 14:28:36 420

原创 元素内容必须由格式正确的字符数据或标记组成。

问题:偷懒用注解方式写sql的时候,遇到了这个错误。如下图: @Select({"<script> ", "select * from coupon where over<=#{price} and startTime<=now() and now()<=endTime and id in ", "<foreach item='item' index='index' collection='couponIds' open='(' separator=','

2021-04-25 17:39:08 14058 1

原创 小程序之前端请求传递对象给后台

在开发过程中中查找了很多资料,发现就如何传递对象给后台的问题,没搜到有用的答案,经过多次尝试,终于找到了一种方法实现传递对象给后台。例子:以注册为例,前端请求如下header请求头为默认json,需要传递的data数据为一个对象。先需要在 pom.xml引入阿里巴巴的fastjson依赖。后台代码如下: @RequestMapping(value = "/regist",method = RequestMethod.POST) @ResponseBody public ServerRespo

2021-03-07 22:06:49 1391 1

原创 微信小程序使用npm引入weui-miniprogram

下载安装nodejsnodejs官方下载地址直接下载左面的LTS版本即可命令行输入 npm -v 看看是否安装成功,如果没有,请执行下面的操作手动添加路径安装好后找到node.exe,然后复制路径高级系统设置里,系统属性》高级》环境变量。找到path,然后编辑-》新建,将刚才的路径粘贴上去就ok了。安装好如下:使用npm安装第三方包跳转到项目所在的根目录下(例如我的演示项目是manage,那么命令行到达manage就ok了)PS:如果是第一次在微信小程序里使用npm,是没

2021-01-30 17:40:59 2514 1

原创 微信小程序事件绑定无效

在写顶部标签栏的时候,点击标签栏无反应,绑定的事件不执行。然后就各种试,改标签之类的都没用,然后开始看wxml,偶然发现标签栏左右那部分(红色框)点击后,事件执行了,点击文字的时候死活不会执行,好家伙,终于找到问题所在了???? 。问题解释:因为我在view标签里添加了文字标签,这样的话文字标签在上面,view标签在下面,而我把事件绑定到了view,所以那部分被text覆盖了,点击不了,而旁边空白部分没有被覆盖,所以可以正常使用。所以问题在wxss上面<view bindtap='绑定事件'

2021-01-29 13:28:57 1974 1

原创 美团Java后台开发面经

一面(47min)自我介绍简单的聊了聊项目和博客,比赛经历这些,讲了讲收获。写sql语句(行转列)索引了解吗,说一下b+树,有什么优点。java基础知识(脑子不好使,忘记了)联合索引,怎么样会失效线程池参数及执行流程,拒绝策略等等算法:(先讲了实现思路,再写代码)2个相交的链表,求交点。2个相交的直线,求交点开放题:打开美团app,如何找到离你100米的商家。(讲一下思路)反问(介绍了下他的部门是地图方向的,我脑壳一抽问了一下地图,然后他反手给我加了一道题)如何判断一个点在一个

2020-09-09 15:19:53 1576 3

转载 浅谈MySQL中优化sql语句查询常用的30种方法

原文地址:http://www.jb51.net/article/39221.htm1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认

2020-08-30 21:31:40 117

原创 常用正则表达式

数字数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9]\[0-9]*)$非零开头的最多带两位小数的数字:^([1-9]\[0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$有两位小数的正实数:^[0-9]+(.[0-9]{2})?$有1~3位小数的正实数:^[

2020-08-09 16:56:12 142

原创 回文最少分割数

题目给定一个字符串str,返回把str全部切成回文子串的最小分割数。举例str=“ABA”。本身是回文串,所以不需要切割,返回0。str=“ACDCDCDAD”。最少需要切2次变成3个回文子串,比如“A”、“CDCDC”、“DAD”。返回2。解答经典动态规划。定义动态规划数组dp,dp[i]的含义是子串str[0…i]至少需要切割几次,才能把str[0…i]全部切割成回文串,所以dp[len-1]就是最终答案。从左往右计算dp[i]的值,i初始为1(str[0]是单个字符,很显然是回文串,不需

2020-07-28 23:02:36 531

原创 根据后序数组重建二叉树

题目       给定一个整型数组arr,已知没有重复值,判断arr是否可能是节点值类型为整型的搜索二叉树后序遍历的结果。       进阶问题:如果整型数组中没有重复值,且已知是一棵二叉搜索树的后序遍历结果,通过arr重构二叉树。解答:二叉树的后序遍历是先左、再右、最后根的顺序,所以,头节点一定是数组的最后一个元素。根据搜索二叉树的性质,比后序数组最后一个元素

2020-07-23 09:23:34 320

原创 未排序数组中累加和为给定值的最长子数组系列问题

题目给定一个无序数组arr 其中元素可正、可负、可0。给定一个整数k,求arr所有的子数组中累加和为k的最长子数组长度。解答假设s(i)是子数组arr[0…i]的累加和,那么s(j)就代表arr[0…j]的累加和,那么可求得arr[j+1…i]=s(i)-s(j)。流程:初始化变量sum=0,表示从arr[0]一直加到arr[i]的累加和。初始化变量len,表示累加到和为k的最长子数组长度。设置一个map,用来记录出现过的sum值和的它出现的最早位置,即第一次出现的位置。key代表出现过的sum

2020-07-05 16:06:38 1829 4

原创 git学习(五)分支管理

分⽀在实际中有什么⽤呢?假设你准备开发⼀个新功能,但是需要两周才能完成,第⼀周你写了50%的代码,如果⽴刻提交,由于代码还没写完,不完整的代码库会导致别⼈无法干活。如果等代码全部写完再⼀次提交,⼜存在丢失每天进度的巨⼤⻛险。现在有了分⽀,就不⽤怕了。你创建了⼀个属于你⾃⼰的分⽀,别⼈看不到,还继续在原来的分⽀上正常⼯作,⽽你在⾃⼰的分⽀上干活,想提交就提交,直到开发完毕后,再⼀次性合并到原来的分⽀上,这样,既安全,⼜不影响别⼈⼯作。创建与合并分支每次提交,git都会把它们串成时间线,这就是一个分支,当前

2020-06-11 23:08:52 295

原创 git学习(四)创建远程仓库,推送本地文件到远程仓库

添加远程仓库先自己创建一个仓库在本地learn_git目录下运行命令:$ git remote add origin https://try.gogs.io/distance/test_java.git网址如下添加后,远程库的名字就是origin,这是默认叫法,当然你也可以改成其他的。将本地仓库内容推送到远程仓库的master分支。$ git push -u origin masterEnumerating objects: 4, done.Counting objects:

2020-06-09 19:53:27 546

原创 git学习(三)撤销修改/删除/移动文件

撤销修改git checkout – filename可以丢弃⼯作区的修改。$ git checkout -- test2.txt这个命令是把test2.txt在工作区的修改撤销,有2种情况:test2.txt修改后不在暂存区,即没有add,现在撤销就回到版本库一样的状态。这是当前版本库中的文件内容$ cat test2.txt12345678900987654321然后修改文件内容如下$ cat test2.txt12345678900987654321修改了test2.t

2020-06-07 20:17:35 455

原创 git学习(二)工作区,版本库和暂存区

工作区、版本库和暂存区工作区(working directory):就是存放所有文件的那个目录,比如我新建的git-repository目录,然后进入git-repository目录,用git init 把这个目录变成了git可以管理的目录。所以git-repository就是工作区。版本库(repository):git init后,工作区有生成隐藏的.git目录,这就是git的版本库,commit提交的就是这个地方。暂存区(stage):打开.git目录$ ls .git/COMMIT_EDI

2020-06-07 14:36:34 161

原创 git学习(一)创建本地仓库,提交文件,版本回退

首先安装git,然后启动。然后配置一个全局的用户名和邮箱$ git config --global user.name "名字"$ git config --global user.email "邮箱"用了–config这个参数,表示所有的仓库都使用这个配置,如果想对某个特定仓库进行设置,则可以把–config去掉$ git config user.name ‘名字’ $ git config user.email ‘邮箱’可以使用git config --list(2个“-”) 来查看当

2020-06-07 09:38:53 628

原创 SpringMVC绑定控制器类处理方法入参

当页面触发请求时,一般会把一些请求参数(key/value)带到后台来处理,SpringMVC中可以通过参数绑定来完成绑定,它支持将多种途径将传递的参数绑定到控制器类的处理方法的参数中。1. 映射URL绑定的占位符到方法入参使用@PathVariable注解可以把URL中的占位符绑定到方法入参。代码如下:@RequestMapping(value="/test1/{username}")public String test1(@PathVariable("username")String user

2020-06-05 20:19:07 689 2

原创 validation表单验证框架

1.导入框架<script src="jquery-1.8.3.js" type="application/javascript"></script><script src="jQuery_Validation_1.14.0.js" type="application/javascript"></script>2.框架常用规则:required:true 必须输入的字段email:true 必须输入正确格式的电子邮件url:true 必须输入正

2020-05-28 17:29:58 492

原创 Myeclipse2017的安装教程

下载 Myeclipse 2017Myeclipse 2017链接:https://pan.baidu.com/s/1oV6QQDcohuxExHqJqdFWQw提取码:4d1y安装Myeclipse,安装完成之后不要启动运行Myeclipse下载Myeclipse 2017 破解文件Myeclipse破解版文件链接:https://pan.baidu.com/s/1p2zuZGeu1vKnYMyhgR4DZg提取码:yk18打开Myeclipse2017_keygen目录并运行crac.

2020-05-18 14:08:03 319

原创 host xxx is not allowed to connect to this Mysql server

使用客户端远程登录华为ECS鲲鹏弹性云服务器的MySQL时连接失败。查看发现mysql数据库下的user表发现登录用户的Host字段值为localhost解决方法,终端下依次执行以下指令:mysql -u你的用户名 -p你的密码;(u:user; p:password)use mysql;update user set host=’%’ where user=‘root’;flush privileges;(刷新权限,很重要)测试结果如果还连接失败,检查一下服务器使用的安全组有没有开放m

2020-05-13 19:53:55 201

原创 循环+递归 实现二叉树镜像

       递归:void mirrorRecursively(TreeNode root) { if(root==null||(root.left==null&&root.right==null)) { return; } TreeNo...

2020-04-24 20:32:23 217 1

原创 计数排序(java实现)

       计数排序是一个非基于比较的线性时间排序算法,是一种稳定排序的算法。它的基本思想是对于给定的输入序列中的每一个元素 x,确定该序列中值小于 x 的元素的个数。一旦确定了这一信息,就可以将 x 直接存放到最终的输出序列的正确位置上。例如,如果输入序列中只有 9 个元素的值小于 x 的值,则 x 可以直接存放在输出序列的...

2020-04-08 17:19:12 780

原创 最大/最小堆

       首先了解一下堆的定义:n个元素的序列{k1 ,k2 , … , kn },当且仅当满足下列关系,称为堆。①ki ≤k2i && ki ≤k2i+1②ki ≥k2i && ki ≥k2i+1(i = 1,2,…,⌊ n/2 ⌋ )如果满足①,则是小顶堆,满足②则是大顶堆。&...

2020-04-05 13:41:29 141

原创 数据库查询和代码查询结果不一致,部分字段对应的结果为null

今天遇到了一个很疑惑的问题。java代码查询数据库的一条记录居然和表内的数据不一样,当时看到的时候,黑人问号.。错误如下:数据库查询结果如下代码查询结果[Cart [id=121, userId=null, productId=null, quantity=1, checked=1, createTime=null, updateTime=null]]最终终于找到了问题所在分析:可...

2020-03-21 22:49:03 1806

原创 后台查询日期,返回前端却是null

数据库内查询是有日期的,但是将结果返回给前端后,时间字段变为null。错误如下原因是实体类内的Date类型的属性没有和数据库内datetime类型的字段没有进行映射所导致的。解决方法:将字段和pojo实体类属性进行映射。column为数据库字段,property为pojo类的属性。@Results({ @Result(column="create_time",property...

2020-03-19 17:29:13 4053 2

原创 eclipse创建ssm项目详细步骤

1.环境搭建点击File->new->Maven Project。选中Create a simple project.然后点击next。填写Group Id和Artifact Id,然后选择Packaging为war包。然后点击finish完成创建。右击项目,选择Properties->Project Facets.将java版本改为9;然后取消Dynamic Web ...

2020-03-14 20:13:35 10772 15

原创 二叉树的三种迭代遍历

先序遍历public List<Integer> preorderTraversal(TreeNode root) { List<Integer> list = new ArrayList<>(); if(root==null) { return list; } Stack<TreeNode> sta...

2020-02-26 12:49:39 297

原创 父类子类执行顺序

父类静态代码块子类静态代码块父类非静态代码块父类构造方法子类非静态代码块子类构造方法子类方法public class SuperClass { static { System.out.println("父类静态代码块"); } { System.out.println("父类非静态代码块"); } publi...

2020-02-21 14:07:06 153

原创 Spring MVC拦截器

       SpringMVC提供了Interceptor拦截器机制,用于拦截用户的请求并作出相应处理。它是可拔插式的设计,需要某一功能拦截器,只需在配置文件中应用该拦截器即可;如果不需要,只需要在配置文件中取消拦截器。有2种方法定义拦截器:实现 HandlerInterceptor接口,或者继承实现HandlerInt...

2020-02-10 23:55:08 253

原创 快速排序

快速排序以整个数组为对象执行quickSortquickSort流程如下2.1 通过分割将对象局部数组分割为前后两个局部数组。2.2 对前半部分数组执行quickSort。2.3 对后半部分数组执行quickSort。分割如下图,数组A的分割范围为p ~ r(包含p和r)。这里分割的基准(即A[r],数组的最后一个元素)为x。接下来移动A中的元素,将小于等于 x 的元素移到p ~...

2020-02-10 10:00:45 250

原创 归并排序

归并排序将给定的包含n个元素的局部数组“分割”为俩个局部数组,每个数组包含 n/2 个元素。对两个局部数组分别进行归并排序。通过归并把两个已经排序的局部数组“整合”成一个数组。举例:以 a = [9,6,7,2,5,1,8,4,2]进行归并排序注:红色数字代表执行顺序。代码:import java.util.Arrays;public class MergeSort { ...

2020-02-10 10:00:12 224

原创 Mybatis 缓存

       Mybatis 支持查询缓存,有效地提高了数据库查询的性能。Mybatis缓存分为一级缓存和二级缓存。一级缓存       Mybatis的一级缓存是SqlSession级别的缓存,当在同一个SqlSession中执行2次相同的SQL语句时,...

2020-02-03 23:22:17 140

原创 动态SQL

       Mybatis的动态SQL是基于OGNL【对象导航图语言(Object Graph Navigation Language)】表达式的,Mybatis中用于实现动态SQL的元素主要包括 if、choose(when, otherwise)、trim、where、set、foreach等。<if>元素...

2020-02-02 18:45:51 439

原创 Spring MVC文件上传与下载

       Spring MVC 中 MultipartResolver(多部件解析器)接口为文件上传提供了直接支持,此接口由于处理上传请求,将上传请求包装为可以直接获取文件的数据,方便操作。它有2个实现类:StandardServletMultipartResolver:是spring3.1后的产物,使用Servlet3...

2020-01-29 14:47:36 211

原创 修改tomcat项目发布路径

tomcat项目默认发布路径移除 tomcat下的所有项目,然后右击,选择clean…,确认。双击Tomcat服务器,点击Overview,找到Server Locations,选择第2个Use Tomcatinstallation。Server path为默认的项目发布路径。如果Server Locations下的3个选项无法选择,重复第1个步骤。然后修改Server path,选...

2020-01-29 13:24:55 743

原创 希尔排序

        希尔排序就是充分发挥插入排序的特点的算法,是插入排序算法的一种更高效的改进版本。希尔排序中,程序会重复进行以间隔为 g 的元素为对象的插入排序。希尔排序是非稳定排序算法。以A = {4,8,9,1,10,6,2,5,3,7} 进行 g = {4,1}的希尔排序,过程如下:g=1就是插入排序,详细...

2020-01-19 22:04:53 131

原创 基于@AspectJ注解的AOP实现

@AspectJ注解的说明:@Aspect:切面@Pointcut:切入点@Before:前置通知@AfterReturning:后置通知@AfterThrowing:异常通知@Around:环绕通知:@After:最终通知,不管是否异常,都会执行项目所需要的jar包链接:jar包资源提取码:mrcr创建包com.ssm.service,包中创建接口ProductSe...

2020-01-19 17:20:06 195

原创 选择排序

选择排序数组分为“已排序部分”和“未排序部分”。原理:重复执行N-1次下面步骤找出未排序部分最小值的位置minj;将minj位置的元素与未排序部分的起始元素交换。例:以 A = {5,4,8,7,9,3,1}为例,选择排序过程如下:所需要的主要变量A[N]长度为N的整型数组i循环变量,表示未排序的开头元素,从数组开头向末尾移动minj格轮循环...

2020-01-18 22:04:35 100

空空如也

空空如也

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

TA关注的人

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