自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

凉拌糖醋鱼

我的学习笔记

  • 博客(82)
  • 资源 (2)
  • 收藏
  • 关注

原创 Tkinter使用多线程时的线程阻塞问题

在使用tkinter时,同时启用了多线程,还想要在多线程执行的过程中更新GUI?那么就会遇到主线程阻塞的问题,该如何解决?解决方案就是单独开辟线程去处理耗时任务,从而避免耗时任务阻塞主线程,使用root.after()来更新GUI,具体如何,看看文章内容和源码吧。

2024-07-21 10:55:14 600

原创 Python-PDF文件密码移除小工具

通过Python实现一个PDF文件密码破解的小工具,使用了tkinter做了简单GUI,可以在日常遇到PDF加密的时候进行解密。

2024-06-25 22:34:33 441

原创 Python-批量日期数据格式化处理

在工作中遇到了大量不规则的日期格式需要格式化为"YYYY-MM-DD"这种格式,本文通过Python实现了一个大批量格式化日期文件的脚本,并为其增加了GUI操作界面,用户可以通过点击按钮选择要处理的文件及输出的文件路径,快速的完成批量日期字符串格式化。

2024-06-25 21:33:32 422

原创 发送ajax请求时由于click事件重复绑定导致的请求重复发送问题

通过ajax向后端传递数组数据时,后端的RequestBody不应该是List这种接口对象,应该以ArrayList代替或者干脆使用String[]数组接收;在JavaScript中绑定事件时,如果存在嵌套绑定,就是一个绑定事件里面又绑定另外一个,就会导致重复绑定的发生,会导致在多次点击外层绑定的事件后,内部的绑定了多次,会出现点击一次实际响应两次的问题,应避免。

2024-06-23 21:26:00 1006

原创 分页插件bs_pagination与Bootstrap4、jQuery3.7.1不兼容的问题

使用JQuery3.7.1及BootstrapV4版本以上的框架时,如果项目中需要用到bs_pagination分页插件,就会出现版本不兼容问题,JQuery会报出this.size is not a funcion错误,而Bootstrap的样式也无法在分页组件中显示,本文描述了问题的影响、原因分析及解决方案。

2024-06-20 00:10:29 701

原创 Intelij IDEA中Mapper.xml无法构建到资源目录的问题

如果将Mapper接口与mapper.xml放在src/main/java文件夹中,那么在IDEA中遇到部署web项目至Tomcat中时可能会报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): ,主要原因就是Maven项目构建时未将mapper.xml文件识别为资源文件,本文提到了两种解决方案,均可以解决。

2024-06-19 00:05:42 986

原创 MyBatis进行模糊查询时SQL语句拼接引起的异常问题

在使用XML格式的Mapper配置SQL语句时,参数#{name}与"%"中间如果不空空格的话,就会导致模糊查询错误,只要#{name}中传入参数,则模糊查询必然无法查询到任何数据,通过使用CONCAT()函数或者在参数与"%"中间添加空格可以避免该问题。

2024-06-13 00:43:20 1023

原创 jquery.datetimepicker无法添加清除按钮的问题

在jquery.datetimepicker的clearBtn参数无法生效的啥时候,方案B就是针对页面中的输入框单独添加清空按钮并批量绑定单击事件。本文就是一个运用了Bootstrap、jQuery及datetimepicker针对该问题的一个简单实现。

2024-06-10 22:00:08 1126 1

原创 jquery.datetimepicker控件不弹出的问题

在使用datetimepicker过程中,按照官方文档中给出的在script标签中直接使用选择器及datetimepicker()方法,会导致日期选择控件无法正常弹出,需要将其放入入口函数$(function(){...}中方可正常使用。

2024-06-09 02:16:33 539

原创 纵向导航栏使用navbar-nav-scroll溢出截断问题

在使用Bootstrap的格栅系统进行纵向布局时,纵向导航栏使用了flex-column和navbar-nav-scroll类,导致当纵向导航栏的项目达到一定数量时,内容出溢出截断,使得页面底部会空出来一截,所以在类似的布局中应避免使用Flex布局,使用按钮组或列表组的形式做出纵向导航栏的效果,使用JS来实现动态点击效果。

2024-06-01 17:32:39 945

原创 eclipse启动时间过长的问题

eclipse启动时间过长的问题,主要原因是JDK在环境变量中的顺序太靠后,导致启动时花过长时间遍历环境变量,只需要将JDK移动至Path的前面部分,重启后即可解决!

2024-05-29 00:11:58 503

原创 Tomcat10的servlet依赖问题

部署Tomcat10版本的服务器时遇到的Servlet依赖问题,Tomcat10以后需要jakarta.servlet而不再是javax.servlet.api

2024-05-20 02:09:38 1097

原创 坦克大战游戏代码

坦克大战游戏的Java代码实现,通过swing组件实现坦克大战游戏。

2024-01-20 23:47:34 633

原创 Springframework框架手册

Spring框架快速上手为什么使用Spring框架——Spring框架的优点程序的耦合与解耦耦合的分类以往一些代码中的耦合现象使用工厂模式解耦控制反转(Inversion of Control)使用Spring的IoC功能解耦Spring 框架是由于软件开发的复杂性而创建的。Spring 使用的是基本的 JavaBean 来完成以前只可能由EJB完成的事情。然而,Spring 的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分 Java 应用都可以从 Spring 中受益。——

2020-10-20 22:19:20 703

原创 一文入门Mybatis框架

Mybatis是一款优秀的持久层框架,它是用Java语言编写的,它封装了JDBC操作的很多细节,使用了ORM思想实现了结果集的封装,使得开发者只需要关注SQL语句本身,而无需关注注册驱动、创建连接等繁杂过程。

2020-09-18 14:56:40 310

原创 给Ubuntu系统上的Apache配置SSL证书开启HTTPS访问

给Ubuntu系统上的Apache配置SSL证书开启HTTPS访问申请免费版个人SSL证书1. 腾讯云平台申请2. 阿里云平台申请上传下载的证书开始部署SSL证书配置http的URL重定向到https现在,我们已经进入了网络时代,信息安全逐渐成为了我们的最大威胁,很多“普通网民”也渐渐地开始重视起来,之前的http协议虽然应用极广,但是它的安全缺陷却不小,尤其是其数据的明文传送和消息完整性检测的缺乏,在现在新兴的网络交易,网络支付领域,这两点是相当重要的。如果你搭建了自己的网站,那么在你的网站上面部署S

2020-08-29 17:53:48 1037

原创 自己动手实现一个简单的二叉树结构

自己动手实现一个简单的二叉树结构二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个结点最多只能有两棵子树,且有左右之分。在这篇文章中,尝试去实现一个二叉树结构,一些基本的概念在本文就不再赘述了,有兴趣的朋友可以去查找相关的资料来阅读。在本例中,数据插入的规则是按照顺序大小插入,从根结点开始,将要插入的数据与当前结点比较,如果小

2020-08-12 00:31:26 772

原创 使用递归的思想解决汉诺塔问题

使用递归的思想解决汉诺塔问题法国数学家爱德华·卢卡斯曾编写过一个印度的古老传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽。不管这个传说的

2020-07-21 19:56:14 909

原创 自己动手写一个简单的双向链表结构

自己动手写一个简单的双向链表结构在前面两篇博客中,学习了单向链表和双端链表,并尝试着自己动手去实现了这两个结构,如果你看过那两篇文章中的代码,你可能会发现那两篇代码的实现均没有使用泛型,只是做了一个逻辑功能的实现,可能没有什么实际的应用价值。这篇文章,主要是沉淀自己对双向链表结构的学习,在学习过单向链表和双端链表之后,再学习双向链表,还是比较容易理解的,就逻辑来讲,无非是加了一个向前引用嘛。所以在这篇文章中,我尝试去写一个双向链表结构,并且使用了泛型,这样数据结点的数据类型就不会像前几篇那样局限于单一的

2020-07-18 17:31:21 473

原创 自己动手写一个简单的双端链表结构

自己动手写一个简单的双端链表在上一篇博客中,我尝试自己动手写了一个简单的单向链表,它的特点是插入数据比较方便,但是,它也有很大的局限,虽然单向链表的头插法插入数据结点非常的快捷方便,但是,如果想要在链表的尾端插入数据就会比较麻烦,所以,双端链表主要是为了解决尾端插入的问题,实现也比较简单,就是在链表结构体中,除了保存头结点的引用,还保存了尾结点的引用,这样,如果想要在尾端插入,就可以直接插入,而不用从头遍历链表,判断next指针域是否为空,使得尾部插入更加高效快捷。但是,双端链表仍然有它的局限性,那就是

2020-07-13 00:09:13 195

原创 自己动手写一个简单的单向链表结构

自己动手写一个简单的单向链表结构链表结构,是一个相对比较复杂的结构,不过也不难理解。尤其是我们在学习了Java中的数据类型之后,了解了除了基本的数据类型,其他的数据类型都是引用数据类型,也就是说,引用了它们的地址值。关于链表结构,它的特点是插入删除特别的方便,但是查询就会比较麻烦,因为单向链表只在头结点保存了对下一个结点的引用,如果你要查询链表中某个元素的数据,那么就得从头结点开始遍历整个链表,可以说是相当慢了。但是插入元素结点是很方便的,只需要将要查如位置的前一个元素结点的指针域指向要插入元素结点,再

2020-07-11 00:02:34 399

原创 自己动手写一个简单的队列结构

自己动手写一个简单的队列结构队列(Queue)是除了数组和栈之外另一个比较简单的数据结构,它的特点跟栈有点区别,它的特点是“先进先出”,如果说栈是一个桶,那么队列就是一个管道,只能从一头添加元素,一头删除元素。在这个例子中,我们的队列的底层是一个数组,通过两个指针来达到队列的效果,具体的原理如图。通过两个指针来定义队列中的元素当指针大于数组长度的时候,则重置为初始化值,从头指针到尾指针之间即是整个队列中的元素。实现代码如下:package myQueue;public class MyQu

2020-07-10 00:38:05 984

原创 自己动手写一个简单的栈结构

自己动手写一个简单的栈结构栈,是从刚开始接触数据结构时,除了数组之外,第二个学习的结构,所以如果你问栈的特点是什么,很多人可能脱口而出:“先进后出”,没错,“先进后出”就是“栈”这种结构的特点。那么如果要我们自己去写一个栈,该如何写呢?首先,栈的底层是一个数组结构,知道了这一点,其他的工作都好说。知道了栈的底层是一个数组结构,那么我们就可以将一个数组包装成为一个栈结构,栈的常用方法无非就是压栈,弹栈,查询栈顶元素,相对来讲还是比较简单的。具体请看代码:package myStack;publi

2020-07-09 22:00:07 748

原创 自己动手封装一个功能丰富的数组类

尝试写出自己的数据结构数组(Array)栈(Stack)这篇文章主要记录了几种基本的数据结构的学习过程,包括数组、栈、队列、单向链表、双端链表和双向链表,自己也试着去用Java语言动手写了栈、队列和链表,以加深印象。途中遇到了很多小问题,在解决的过程中,自己对这几种数据结构的理解也逐渐加深了。其中数组、栈和队列是相对比较简单的,基本上接触过编程语言的人都接触过数组,记得当时大学学的是VB,里面也讲到过数组和栈,所以前面的三个是之前遇到过的,也不难理解; 对我来讲,难点是链表,因为这个数据结构之前只有非常浅

2020-07-02 02:19:29 310

原创 搞懂Linux Shell中的变量

如何在Bash中合理的设置变量变量与变量内容以一个等号“=”来连接;variable=ABC等号两边不能直接接空格;变量名称只能是英文字母与数字组合,且开头字符不能是数字变量内容如果有空格符,可以使用双引号或者单引号将变量内容包起来;variable="I like you"双引号包起来的变量内容和单引号包起来的变量内容有一些区别,双引号内的特殊字符如 $ 等可以保有原来的特性; 单引号内的特殊字符则只能为一般字符;variable1="language is $LANG

2020-06-24 23:20:21 355

原创 Eclipse也可以高大上

Eclipse的配置更换主题安装步骤自动代码提示更换主题自带的几个主题看着实在不喜欢,有一款主题挺不错——Darkest Dark Theme with DevStyle, 这套主题里面又有好几个不同的风格,是非常受欢迎的一套主题。安装步骤Created with Raphaël 2.2.0Help(在软件的菜单栏最后一个)Eclipse Marketplace(从下往上第三个)在搜索框搜索“Darkest”,第一个就是点击Install来安装安装完成后,再到菜单栏Window里面的Prefere

2020-06-15 17:24:23 238

原创 用ShellScript脚本来批量解压文件

写一个shellscript来解压指定文件夹下指定格式的压缩文件之前呢,看过一点儿shellscript的知识,但是我平常并不做Linux服务器的运维管理,所以就用的比较少,看得也是马马虎虎,心想命令嘛,我一行一行敲就行了,就比如解压个文件,不就是一条命令解决的嘛,但是最近有个学习视频,一个文件夹里面有几十个压缩文件,这尼玛一条一条得解到啥时候,果断回过头来看ShellScript,三十行代码完成,命令还是比较基础的,就是一个循环语句嘛。但是在这之前,有必要说一下Linux系统下的解压工具,具体请看:Li

2020-06-05 09:54:49 591 2

原创 ArchLinux安装配置和环境搭建

本文是讲ArchLinux+kde的安装教程,参考了很多前辈的优秀博文(见参考文献),目的呢,也是为了以后自己换电脑或者什么的重装系统的时候做参考,如果能帮助到有体验ArchLinux系统的小伙伴,那就最好了。

2020-05-31 22:12:50 1954

原创 Java基础算法题(45):判断一个素数能被几个9整除。

查看所有50道基础算法题请看:Java的50道基础算法题package Demo45Divided_By_Nine;import java.util.Scanner;/** * 判断一个素数能被几个9整除。 *//*分析:该题判断一个素数可以被几个9整除,需要判断两点,一个是判断一个数是否是素数,一个是判断它能不能被9整除,如果可以整除 则需要计数。可以将判断一个数字...

2020-04-12 20:14:59 1285

原创 Java基础算法题(44):一个偶数总能表示为两个素数之和。

查看所有50道基础算法题请看:Java的50道基础算法题package Demo44An_Odd;import java.util.InputMismatchException;import java.util.Scanner;/** * 一个偶数总能表示为两个素数之和。 *//*分析:这道题包含两部分,一个是要确定一个数是偶数,另一个是确定一个数是素数 我是这样想的,...

2020-04-07 23:59:27 1429

原创 Java基础算法题(43):求0—7所能组成的奇数个数。

查看所有50道基础算法题请看:Java的50道基础算法题这道题看似简单,其实是个陷阱题,百度搜到的答案,十个有九个是错误的,剩下那个正确的我也没有找到。这道题的难度是组合时数字不能重复,这样就不能简单的遍历了,看题:情况分为首位和中间位的情况,首位的取值范围为6种情况,中间位的取值,从6开始(0可以在中间位使用),每使用一位,则少一种情况,所以遍历计算的时候,每遍历一次,该位使用的情况就会少一...

2020-04-07 23:58:21 2493 1

原创 Java基础算法题(42):809*??=800*??+9*??+1其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。

查看所有50道基础算法题请看:Java的50道基础算法题package Demo42Find_The_Number;/** * 809*??=800*??+9*??+1其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。 *//*分析:??是一个两位数,则可以用两层循环嵌套的方式来遍历((10*x)+y),x的取值为1~...

2020-04-07 23:55:51 950

原创 Java基础算法题(41):海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样

查看所有50道基础算法题请看:Java的50道基础算法题海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?package Demo41Allot_Peach;/** * ...

2020-04-07 23:52:20 1577

原创 Java基础算法题(40):字符串排序。

查看所有50道基础算法题请看:Java的50道基础算法题package Demo40String_Sort;import java.util.*;/** * 字符串排序。 *//*分析:因为字符串的比较要一个字符一个字符的比较,所以我觉得先把这些字符串装到一个数组里面,然后通过comparator来进行排序 字符串需要用户输入,就让用户一次输入完吧,用“|”来做间隔,待会...

2020-04-07 23:51:08 444

原创 Java基础算法题(39):编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n(利用指针函数) 。

查看所有50道基础算法题请看:Java的50道基础算法题package Demo39Pointer_Function;//首先定义一个接口@FunctionalInterfacepublic interface Sums{ public double sum(int n);}package Demo39Pointer_Function;// 定义一个类,包含两个方法,分别...

2020-04-07 23:49:36 1404 1

原创 Java基础算法题(38):写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

查看所有50道基础算法题请看:Java的50道基础算法题package Demo38Length_Count;import java.util.Scanner;/** * 写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。 *//*分析:字符串的长度不就是length()方法嘛?关键是要把它封装为一个方法 */public class Length_Co...

2020-04-07 23:47:36 1424

原创 Java基础算法题(37):有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

查看所有50道基础算法题请看:Java的50道基础算法题package Demo37Circle_Man;import java.util.Arrays;import java.util.Scanner;/** * 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。 *//*分析:n是由用户输入的,用户输入后,每...

2020-04-07 23:45:33 1807

原创 Java基础算法题(36):有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。

查看所有50道基础算法题请看:Java的50道基础算法题package Demo36Number_Roll;import java.util.Arrays;import java.util.Scanner;/** * 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。 *//*分析:1.这n个数是由用户输入的,m也是用户输入的 2.这n个数装到数...

2020-04-07 23:44:02 1613

原创 Java基础算法题(35):输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

查看所有50道基础算法题请看:Java的50道基础算法题package Demo35Max_Min_Exchange;import java.util.Arrays;import java.util.Scanner;/** * 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。 *//*分析:交换数据很简单,但首先要先找到最大跟最小数字的index。 */...

2020-04-07 23:41:30 2195 1

原创 Java基础算法题(34):输入3个数a,b,c,按大小顺序输出。

查看所有50道基础算法题请看:Java的50道基础算法题package Demo34Sort_ABC;import java.util.Arrays;import java.util.Scanner;/** * 输入3个数a,b,c,按大小顺序输出。 *//*分析:前面好像有类似的案例吧,首先,获取用户输入的三个数字,是字符串形式的,通过字符串的Split()方法解析为一个长度为...

2020-04-07 23:40:22 1513

Mysql基础速查手册.pdf

Mysql基本的CRUD命令速查手册,囊括了初学者学习JDBC的过程中常用的命令及简单的数据库权限操作命令,简单好用。

2020-04-07

空空如也

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

TA关注的人

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