- 博客(41)
- 资源 (1)
- 收藏
- 关注
原创 酒店搜索功能实现的总结
总结开发前的准备项目进行中优化与最后的总结开发前的准备 根据需要实现的项目需求考虑好业务流程,我这是通过脑图简单梳理了下业务流程。然后确定需要用到的些技术与工具。接口的设计采用的是rest风格(/业务线/模块/具体功能,其中单词间-隔开),使用的工具是ApiPost,数据库设计使用的工具为chinner,代码管理工具gitee,搜索实现我们使用到了枚举与es。最后进行功能实现的代码进行优化与测试,遵守组内开发规范。项目进行中 我们采用MybatisPlus实现业务功能,其中能直接使用来自
2022-05-03 23:29:53 1561
原创 git常用命令的一些记载总结
git clone 复制项目链接的命令git checkout -b np-dev 创建分支git commit -am “这是第一次提交” 提交命令git push 推送代码到远程的命令git commit -am 等同于 git add 加 git commitgit pull 拉取代码git reset [–soft | --mixed | --hard] [HEAD] 三种重置还原操作git status 查看git checkout np
2022-05-03 23:25:18 527
原创 重载和重写的区别
方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同、的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有特殊的要求。...
2022-04-26 23:27:40 259
原创 linux中通过命令将base64编码的图片文件转为图片
把图片转换成base64字符串,且保存为文本文件base64 test111.jpg > string.txt把含有base64字符串的文本文件转换回图片文件base64 -d string.txt > test222.jpg也可直接将base64编码的图片文件内容存为文本文件在用命令转为图片,base64编码的图片文件格式为:data:image/jpg;base64,…也可以直接在本机浏览器中通过在线base64编码转图片的工具:https://tool.jisuapi.
2022-04-25 16:13:10 2599
原创 Java中实现动态代理的方式?
Java 中,实现动态代理有两种方式:1、JDK 动态代理:java.lang.reflect 包中的 Proxy 类和 InvocationHandler 接口提供了生成动态代理类的能力。2、Cglib 动态代理:Cglib (Code Generation Library )是一个第三方代码生成类库,运行时在内存中动态生成一个子类对象从而实现对目标对象功能的扩展。JDK 动态代理和 Cglib 动态代理的区别:JDK 的动态代理有一个限制,就是使用动态代理的对象必须实现一个或多个接口。如果想代理
2022-04-23 23:57:51 5512
原创 (sleep与wait区别)&&(start与run区别)
sleep与wait区别对于sleep()方法,我们首先要知道该方法是属于Thread类中的。而wait()方法,则是属于Object 类中的。sleep()方法导致了程序暂停执行指定的时间,让出cpu给其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池准备获取对象锁进入运行状态
2022-04-22 23:50:08 108
原创 final, finally, finalize 的区别
final—修饰符(关键字)如果一个类被声明为 final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract 的,又被声明为 final 的。将变量或方法声明为 final,可以保证它们在使用中不被改变。被声明为 final 的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch .
2022-04-21 23:35:52 1355
原创 数据库什么时候索引失效?
索引失效的地方:不满足最左匹配原则使用了select *索引列上有计算,如:id有索引,where id +1 = 3 这样索引列上用了函数字段类型不同,在这推荐数据库拼接时用concat关键字like左边包含%,如:like “%h”列对比,如:有着id和parentId两个字段,where id = parentId使用or关键字,要在使用or时走索引需要它前面和后面的字段都有加索引,才不会索引失效。not in和not exists,主键字段中使用not in查询数据范围,仍然可以
2022-04-20 23:45:41 1465
原创 throw和throws的区别
位置不同: throws 用在函数上,后面跟的是异常类,可以跟多个,而 throw 用在函数内,后面跟的是异常对象。功能不同:1. throws 用来声明异常,让调用者只知道该功能可能出现的问题,可以给出预先的处理方式;throw 抛出具体的问题对象,执行到 throw,功能就已经结束了,跳转到调用者,并将具体的问题对象抛给调用者。也就是说 throw 语句独立存在时,后面不要定义其他语句,因为执行不到。2. throws 表示出现异常的一种可能性,并不一定会发生这些异常;throw 则是抛出
2022-04-19 23:42:04 269
原创 为什么要有hashCode
我们先以“HashSet 如何检查重复”为例子来说明为什么要有 hashCode: 当你把对象加入 HashSet时,HashSet 会先计算对象的 hashcode 值来判断对象加入的位置,同时也会与该位置其他已经加入的对象的 hashcode 值作比较,如果没有相符的 hashcode,HashSet 会假设对象没有重复出现。但是如果发现有相同 hashcode 值的对象,这时会调用 equals() 方法来检查 hashcode 相等的对象是否真的相同。如果两者相同,HashSet 就不会让其加入
2022-04-17 22:42:28 570 1
原创 get和post的区别
Form 中的 get 和post 方法,在数据传输过程中分别对应了 HTTP 协议中的 GET 和 POST 方法。二者主要区别如下:Get 是用来从服务器上获得数据,而 Post 是用来向服务器上传递数据;Get 将表单中数据按照 variable=value 的形式,添加到 action 所指向的 URL 后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post 是将表单中的数据放在 form 的数据体中,按照变量和值相对应的方式,传递到 action 所指向 URL;
2022-04-16 23:52:59 73
原创 String,StringBuffer和StringBuilder的区别
String是不可变的对象,每次对String类型进行改变的时候其实是产生了一个新的String对象,然后指针指向新的String对象。StringBuffer是线程安全的可变字符序列,需要同步的时候,则使用。StringBuilder线程不安全,速度更快,单线程使用。 总结:StringBuffer和StringBuilder都是可变的。所以每次修改String对象的值都是新建一个对象再指向这个对象。而使用StringBuffer则是对StringBuffer对象本身进行操作。所以字符串经常改.
2022-04-15 23:35:31 204
原创 mysql的binlog有几种录入格式?
有三种格式,分别是:statement,row和mixed。 statement模式下,每一条修改数据的sql语句都会记录在binlog中。不需要记录每一行的变化,减少了binlog的日志量,同时节约了IO,还提高了性能。由于sql的执行是有上下文的,因此在保存的时候需要保存相关的信息,同时还有一些使用了函数之类的语句是无法被记录复制。 row级别下,不记录sql语句上下文相关信息,仅保存哪条记录被修改。记录单元为每一行的改动,基本上是可以全部记下来,但是由于很多操作,会导致大量行的改动(例
2022-04-14 21:51:10 788
原创 springboot不同环境下的配置文件名称
可以是 application-{profile}.properties/yml ,但默认是启动主配置文件application.properties,一般来说我们的不同环境配置如下。application.properties:主配置文件application-dev.properties:开发环境配置文件application-test.properties:测试环境配置文件application.prop-properties:生产环境配置文件...
2022-04-12 23:39:29 468
原创 使用vscode安装webpack,最完整的配置,从前置条件到安装成功
npm与cnpm两种方式的安装与配置第一步,安装npm且配置第二步,安装cnpm且配置第三步,以管理员身份打开vscode第一步,安装npm且配置 首先要先安装node.js,node.js的安装包里自带有npm。node.js官网下载 然后就是下一步下一步的傻瓜式安装,下载到哪可以自己选择,最新版的安装过程中会有给可以勾选的自动下载一些东西,可以不勾选。然后安装完毕。 根据你node.js下载的地方,你要做的配置有:(我这边自己选择的下载安装路径是D:\Program Files\node
2021-09-25 15:47:13 3523
原创 第一次与人做真项目的总结
项目总结开发前的准备项目进行中优化与最后总结开发前的准备 需要现根据项目实际需求思考好业务流程,我们是用脑图制作了下业务流程的梳理。然后再根据所要做的需求确定好一些需要用到的技术与工具。确定完业务流程后,再根据流程分工,一些人做架构,架构分为auth,common,config,gateway,job,monitor,search。一些人做业务,功能的接口我们选择了Apifox来测试需要的接口,使用gitee协同开发。一些人做检查代码与文档等规范,我们规范选用了阿里巴巴java开发手册(嵩山版)。项
2021-09-06 20:24:38 76
原创 费马测试讲解
观看了《我的第一本算法书》,学到了一些没学过的算法,且巩固了下以前学过的算法,这边讲一个,我觉得挺有意思的算法,以前都没听说过。 素性测试是判断一个自然数是否为素数的测试。素数(prime number)就是只能被 1 和其自身整除,且大于 1 的自然数。素数从小到大有 2、3、5、7、11、13……目前在加密技术中被广泛应用的 RSA 算法就会用到大素数,因此“素性测试”在该算法中起到了重要的作用。 费马测试被称为概率性素性测试,它判断的是“某个数是素数的概率大不大”。 这边举个例子:5是
2021-09-06 19:30:16 1103
原创 在docker里安装和卸载docker-compose
首先启动docker:systemctl start docker然后安装docker-compose,以编译好的二进制包方式安装:curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose然后设置文件的可执行权限chmod +x /usr/local/bin/docker-
2021-08-25 15:35:14 441
原创 docker安装部署jdk1.8
dokcer下jdk环境配置先下载centos7创建容器jdk1.8退出容器进入容器后的查看命令启动容器和进入容器安装部署完成先下载centos7先下载Linux版本的jdk1.8再用docker下载centos7的镜像:docker pull centos:7下载完查看镜像是否存在docker images然后将下载的linux版本的jdk1.8的包从本地上传到/usr/local/src目录下。在/usr/local目录下创建jdk目录,把/usr/local/src下的jdk
2021-08-22 21:18:01 3004
原创 粗心犯得错误,有时会导致的idea报错误导
当我在配置通过码云gitee来实现自动刷新配置时,因为提前写了个配置中不存在的age属性,原意是要通过该属性来测试自动刷新配置的是否成功,但由于提前写了该属性,而在gitee上的配置并没有写上该属性,运行服务的启动器时便开始了循环报错,还显示出了rabbitmq消息队列找不到,好一阵忙活,都找不到哪里出错~~ 所以有时也不要盲目相信idea的报错,它也不是万能的,但是大多数的报错还是能够帮助我们找出错误的。便是因为配置中,没写上test.age这个属性,然后就开始报错。。。...
2021-08-09 15:59:26 182
原创 springcloud+layui前后端分离数据的传输
由于是使用layui作为前端,便需使用layui可以接收的json数据格式,便自己写了个封装类。AjaxResultVO封装类public class AjaxResultVO<T> { private Integer code = 0; //返回的状态码 0为正常,1为失败 private String msg = "ok"; //返回的信息(一般错误的信息或者异常信息) private Long count; //数据条数 private Li
2021-08-09 15:44:13 822
原创 layui通过本地存储数据,实现在其他页面的数据回显,附了解window.localStorae
在使用前我们先简单了解下window.localStorae. localStorage 和 sessionStorage 属性允许在浏览器中存储 key/value 即键值对的形式的数据。 localStorage 会永久保存整个网站的数据,保存的数据不会过期,直到手动去删除,即使关闭页面也会存在。 提示: 如果你只想将数据保存在当前会话中,可以使用 sessionStorage 属性, 该数据对象临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。(其实这
2021-08-09 12:31:46 2009
原创 layui 的日期时间等格式化的方法
在layui的table数据表格中的日期格式化:templet: "<div>{{layui.util.toDateString(d.time, 'yyyy-MM-dd HH:mm:ss')}}</div>" 其中d.time的time要换成你的字段名field是什么,就换成什么,不然显示的时间便会是当前的时间。像我是billTime,我便换成了d.billTime。效果如下图:使用格式化日期插件laydate 第一种方法:下载layui引入layui.css和l
2021-08-09 01:52:31 10395 1
原创 layer.open打开的页面关闭时,父页面刷新的方法
在layer.open中添加 end: function(){ window.parent.location.reload();//关闭open打开的页面时,刷新父页面 }
2021-08-09 01:23:39 1955
原创 layuimini模板的使用
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-08-09 00:51:47 20065 2
原创 mysql的安装与配置
Windows下安装MySQL5.7.171.下载安装包在MySQL官网 http://dev.mysql.com/downloads/mysql/ 上面下载ZIP安装包(第二个:Windows (x86, 64-bit), ZIP Archive)。2. 下载完成后解压,将其放到想要安装的目录下。例如:D:\MySQL5.7\mysql-5.7.17-winx643. 新建一个my.ini配置文件my.ini的内容如下:[mysql] default-character-set=utf8[
2021-06-18 15:15:35 98
原创 海明码傻瓜式讲解
用大家普遍讲解用的例子:求信息1011的海明码。1、确定信息位数和校验位数 公式是 2^r≥m+r+1题目是求1011,因为是4位数,所以信息位是4位,即信息位m=4;校验位数r要满足公式,求得最小值是3,即校验位数是3。2、画表分析 校验码位置是固定的,一般都为2^n 的位置,也就是n取0到n,位置为1,2,4到2^n ,则校验码的位置
2021-05-06 21:32:14 1334 1
原创 新版idea java错误 不支持发行版本5 的两种解决方案
解决方案一我个人是有配置了maven里的settings.xml的,但是不起效果,很无奈,只能用低级点的办法了。但大多数人还是有效果的这里也配上这个方法。(就是在你安装的maven路径的文件下)打开settings.xml加上一下代码,看你安装的jdk是多少,我这里是11<profile> <id>jdk-11</id> <activation> <activeByDefault>true</activeByD
2021-04-07 19:48:40 1161
原创 新版idea像eclipase那样左侧同时展示多个项目
点击新建项目选择Empty Project,点击next再选择自己要建的项目,我这边建maven这里可以选择你刚刚新建的项目名下,以便后面打开时也是多个项目样子随后点击ok即可。要在建项目的话,选定图中的External Libraries 再新建maven项目,操作同刚刚一样,新建一个...
2021-04-07 18:47:55 3387
原创 ajax结合json的实例
json与ajax的实例这个实例可以结合数据库jdbc使用,但是这边为了简单演示就直接创建了对象来做。实例开始前的准备(导入需要的jar包等)先要导入对应需要的jar包还有导入要用到的jQuery的库运行过程中可能你的tomcat里也需要加入对应的jar包1、首先创建个jsp页面,写好输入前端<body> uid:<input type="text" id="uid"><br> name:<input type="text" i
2021-04-01 23:04:54 265
原创 将本机文件复制到安装的虚拟机系统中的两种方法
大家可直接跳到第二种方法,比较简单一、第一种方法1、首先打开虚拟机,选择自己安装的操作系统(已经安装的虚拟机系统),鼠标点击一下2、在展开的操作系统详情页面,选择硬盘,鼠标左键双击3、在虚拟机设置这,选择硬盘,再点击映射4、在打开的映射虚拟磁盘,选择要复制到虚拟机里的哪个盘(1-c盘,2-d盘),记得取消勾选“以只读模式打开文件”,然后点击确定。(页面里有个驱动器就是待会确定了,会跳出的盘,但有的人也不会跳出该盘)5、点击“是”6、要是没有跳出驱动器z盘的,可以在自己的此电脑里找到z
2021-03-27 09:45:19 129138 14
原创 idea上传代码到码云(gitee)
1、首先在idea安装gitee插件,这边我是安装过了2、然后克隆gitee上的项目到idea里选择完点击clone3、选择完点击clone,然后再clone下来的代码里随便建个文件测试下,上传4、commit,push5、上传成功...
2021-03-26 18:54:03 138
原创 eclipase 2019创建javaweb项目配置
1、打开eclipase选择Help,再找到Install New Software选择。2、在Work with里下拉选择自己安装的eclipase(我这里是2019-12这个)然后等待搜索出来。3、在搜出来的下拉到最后找到Web,XML这些整个勾选,再点击Next。4、选择I accept ,最后finish。5、配置完web了,在File里新建一个项目。6、找到Web文件夹选中里面的Dynamic Web Project,点击Next。7、Project name(项目名自填)N
2021-03-05 12:09:51 338
原创 新版idea 创建servlet会遇到的一个问题
当你配置好了tomcat,创建好了java web项目,但是你会发现不能导入servlet创建需要的包。新版idea中tomcat的创建: https://blog.csdn.net/qq_41486333/article/details/114027307?spm=1001.2014.3001.5501新版idea中javaweb项目的创建:https://blog.csdn.net/qq_41486333/article/details/114026475?spm=1001.2014.3001.55
2021-02-26 15:59:30 415
原创 新版IDEA 2020.3.2 配置tomcat
1、打开idea,选择Run选项,点击图中箭头指向的Edit Configurations……2、然后选择+点击3、下拉选择Tomcat Server里的 Local(表示本机)4、初次配置,需点击Configure……选择你安装的tomcat位置,最后点击Apply,再OK即可。5、完成配置。...
2021-02-24 16:52:49 2576
原创 新版idea 2020.3.2新建JavaWeb项目
1、新建一个java项目,选中java,点击Next,Next,项目名(Project name)自取,最后点击Finsh即可。2、在第一个箭头处鼠标右击,点击选择第二个箭头的选项。3.勾选两个图中箭头的选项,点击OK即可。4.java web项目的创建就完成了。...
2021-02-24 16:32:52 1242 4
原创 JSON的解析与jar的导包
json解析方法json解析有两种方法:一种是谷歌的gson,另一种是阿里的fastjson。导jar包将下载好的jar包复制在这我是创建了个lib文件夹,粘贴到文件夹中,点击ok即可粘贴完文件夹后,鼠标点击file,选择Project Structure再点击Libaries,选择java确定再找到你粘贴的文件夹中的jar包选中点击ok,再ok记得点击apply应用上Gson将对象转换为JSON字符串转换json字符串的步骤:1.引入gson的jar包2.在需要
2021-01-29 18:15:17 2011
转载 显示锁和隐式锁的区别,还有线程不安全的解决方法
线程不安全解决方案1:同步代码块格式: synchronized(锁对象){} //java中任何对象都可以作为锁对象加上锁标记100个对象要上同个锁才能合理解决方案2:同步方法(还需了解)public synchronized boolean sale(){//不是静态就是this 是静态就是类名.class}解决方案3:显示锁Lock同步代码块和同步方法都属于隐式锁显示锁Lock子类 ReentrantLock()private Lock lo = new Reentr
2021-01-25 21:25:59 127
原创 Snipaste截图软件的下载和使用(日常常用的一些功能)
文章目录前言一、如何安装二、如何使用1.开始截图2.快速复制截图3.快速将截好的图缩小4.可同时进行多个截图放在一边5.获取截图中的rgb格式颜色或16进制HEX来表示颜色6.其他总结前言强烈推荐这款截图软件Snipaste,这里简单讲到了该软件的安装和使用。一、如何安装官网下载地址:https://zh.snipaste.com/1、进入官网就可以看到这样,在此我的电脑是win10 64位的,所以选择这个下载,大家根据自己的电脑是几位的自选选择下载。2、接着下载下来的是一个压缩包,解压即可。
2021-01-20 22:51:32 6011 6
原创 Java猜拳游戏(新手入门第一次做)
项目要求通过控制台方式实现一个人机对战的猜拳游戏,用户通过输入(1,.剪刀 2.石头 3.布),机器随机生成(1,.剪刀 2.石头 3.布),胜者积分,n局以后通过积分的多少判定胜负。一、我创了两个类Game和GameRuleGame是测试类,GameRule是放了需要用到的一些方法。二、思考步骤1.思考怎么完成这个项目首先我们要获取用户的输入,这就要用到Scanner获取用户的输入:Scanner input = new Scanner(System.in);这个方法还需要导入一个包,
2020-12-27 20:19:20 2782 1
基于vscode的仿京东页面
2021-01-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人