- 博客(60)
- 收藏
- 关注
原创 在Visual Studio中使用C#开发Windows窗体应用程序时,如何实现点击TextBox弹出修改对话框并更新值的功能
希望点击TextBox时弹出一个对话框,里面显示原值并允许输入新值,确认后更新原TextBox的值。
2025-03-06 16:31:46
420
原创 SpringBoot2.0服务器端主动推送SSE技术应用
目录标题一、概述二、与WebSocket区别四、测试一、概述服务端主动推送:SSE (Server Send Event)html5新标准,用来从服务端实时推送数据到浏览器端,直接建立在当前http连接上,本质上是保持一个http长连接,轻量协议客户端发送一个请求到服务端 ,服务端保持这个请求直到一个新的消息准备好,将消息返回至客户端,此时不关闭连接,仍然保持它,供其它消息使用。SSE的一大特色就是重复利用一个连接来处理每一个消息(又称event)。二、与WebSocket区别服务端主动推送:
2022-04-18 15:11:53
2688
原创 利用SpringBoot整合邮箱(QQ邮箱)发送验证码邮件
文章目录前言一、配置application.properties二、核心代码1.Controller层2.service层3.工具类Swagger测试前言添加pom.xml依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId>
2021-11-26 22:40:09
1321
1
原创 编辑器(IDEA)提示markdown插件集成路径问题:“Uncaught ReferenceError: editormd is not defined”
问题描述:静态页面下,可以运行起markdown插件,但是,整合到服务器后,却发现无法正常使用,报错信息: 原因分析:JS/CSS的路径出现错误解决方案:确保jquery.min.js在editormd.js的前面<script src="https://cdn.jsdelivr.net/npm/jquery@3.2/dist/jquery.min.js"></script><script src="https://cdn.jsdelivr.ne
2021-09-28 10:45:52
875
原创 关于Mybatis中逆向工程去掉**withBlobs文件后TEXT类型的映射处理方法。
问题:通过逆向生成的某个类会多个文件>原因在数据库中有TEXT类型的字段,mybatis自动对其进行处理。>解决方式将text类型单独搞到ResultMapWithBLOBs,这意味着我们需要调用selectByExampleWithBLOBs而不是selectByExample或者将text列指定为varchar在逆向工程的配置文件所需要映射的表添加:这里将TEXT类型转化为VARCHAR类型。...
2021-09-26 22:32:28
586
原创 mybatis-generator逆向工程出现**WithBLOBs解决办法
一、描述:在使用mybatis-generator的逆向工程时出现**WithBLOBs二、原因:表中有text的字段, 当表中有Text类型的字段时,generator会生成WithBLOBS.java文件并继承entity,同时具有带有text等类型字段的属性。三、解决办法:在generator.xml配置文件中加上 <columnOverride column="nick" javaType="java.lang.String" jdbcType="VARCHAR" />
2021-09-26 20:08:59
1525
原创 MySQL和Oracle的一些区别
mysql和oracle的区别:1、类型和成本的区别oracle数据库是一个对象关系数据库管理系统(ORDBMS),一个重量型数据库。它通常被称为Oracle RDBMS或简称为Oracle,是一个收费的数据库。MySQL是一个开源的关系数据库管理系统(RDBMS),一个是轻量型数据库。它是世界上使用最多的RDBMS,作为服务器运行,提供对多个数据库的多用户访问。它是一个开源、免费的数据库。2、存储上的区别与Oracle相比,MySQL没有表空间,角色管理,快照,同义词和包以及自动存储管理。3、
2021-09-09 09:15:14
145
原创 Error creating bean with name ‘org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#0‘:
项目场景:配置出错Error creating bean with name’org.springframework.web.servlet.handler.SimpleUrlHandlerMapping0’: Instantiation of bean failed;问题描述:05-Sep-2021 16:44:18.866 信息 [http-apr-8080-exec-8] org.springframework.web.servlet.FrameworkServlet.i
2021-09-05 17:30:54
6307
1
原创 java中几种常见的体系结构分析
目录一、多线程体系二、集合体系三、异常体系一、多线程体系在jdk1.0时,java中就为我们提供了2种多线程的创建方式。分别是创建Thread的子类,实现Runnable接口的类。在jdk1.5时,又添加了2种,分别是实现Callable接口,利用线程池的方式。整体体系如下@FunctionalInterfacepublic interface Runnable { public abstract void run(); // 在Runnable接口中仅仅只有一个抽象的run方法,为子
2021-08-22 15:31:23
422
原创 jvm中虚拟机栈的各部分运行情况
目录一、虚拟机栈中的结构二、字节码运行情况三、动态链接一、虚拟机栈中的结构在虚拟机栈中的基本单位是栈帧,一个方法对应一个栈帧。一个方法的调用意味着一个栈帧进入栈中,当这个方法遇到return或异常时意味着方法的结束,相应有一个出栈的操作。每个栈帧中5部分结构:局部变量表、操作数栈、方法返回地址、动态链接、一些附加信息。二、字节码运行情况通过一端简单的代码,看看指令情况。 public static void main(String[] args) { int a =15;
2021-08-10 20:25:51
202
原创 jvm中的程序计数器的两个常见问题
目录一、简单了解程序计数器二、pc寄存器存储字节码指令的作用?三、pc寄存器为什么被设定为私有的?一、简单了解程序计数器在jvm的运行时数据区中,我们知道每个线程都会有一些独立、私有的区域,例如程序计数器。作用是存储下一次所执行的指令的地址,由执行引擎读取下一条指令。在jvm中,程序计数器占很小的内存,几乎可以忽略不计,但它是运行速度最快的区域。它是程序跳转的控制器,分支、选择、循环等操作都要靠这个来完成。它是唯一一个在jvm没有outOfMemoryError这个情况的区域。二、pc寄存器存
2021-08-09 22:27:51
230
原创 jvm内存自动管理之垃圾收集器(一)
在java程序中,没有了像其他类型编程语言那样的由程序创建者所自行管理内存的方法。转而把内存管理交给了jvm自动进行管理,包含了创建到销毁的全过程。其中销毁的过程由一个
2021-08-05 10:25:53
176
原创 if和switch的执行效率问题
能用switch解决的问题都可以用if,else解决,能用if,else解决的问题不一定可以用switch解决。if (condition) { } else { } switch (key) { case value: break; default: break; }1.当分支较多时,当时用switch的效率是很高的。因为switch是随机访问的,就是确定了选择值之后直接跳转到那个特定的分支,但是if。。else是遍历所以得可能值,.
2021-08-04 17:50:03
1154
原创 jvm的自动内存管理机制之数据区域简介
目录一、运行时的数据区域二、程序计数器三、虚拟机栈一、运行时的数据区域java虚拟机在执行java程序的时候会把管理的内存划分为多个区域进行数据管理,不同的区域的创建和销毁时间可能不同。java虚拟机会创建如下区域:二、程序计数器程序计数器是内存较小的一块区域,用来记录当前线程所执行到的代码行号,jvm中的解释器的作用就是通过改变计数器的值读取相应的指令。在多线程的程序中,每个程序需要记录的执行位置不尽相同,所以就需要为每个线程分配一个计数器。因此,计数器就不能由所有程序共享。三、虚拟机栈虚
2021-08-04 09:50:24
144
原创 Java进行三目运算时的自动类型转换
三目表达式的语法如下:当我们在进行三目运算符的运算时,一般,表达式1和表达式2的数据类型是一致的,但是有时候在面试的时候往往会有一些比较刁钻的题,这时我们可能需要知道一些原理,以便进行的记忆和理解。尝试着写出下列语句的输出结果?public class Main { public static void main(String[] args) { System.out.println(false?1.0:99); char x='x'; int
2021-08-03 22:10:13
762
2
原创 java类编译、加载、运行的过程
目录Java代码编译过程java代码加载过程java代码的运行过程Java代码编译过程在我们编写好的java程序后,有一个java源程序文件是以.java结尾的。我们可以通过jdk携带的javac.exe这个编译器来编译我们的java源程序,直接可以使用javac One.java 这个命令来完成编译。编译完成后,会生成一个.class结尾的文件,也是因为有了这个文件,使得我们的字节码文件能够在不同的操作系统上去运行,从而实现跨平台执行。java代码加载过程在java中,负责把class文件加
2021-08-01 15:08:24
1146
原创 linux中的常用指令(三)
目录特殊字符查看内容cat 命令more命令vi编辑器命令模式命令行模式环境变量归档压缩解压特殊字符Shell命令可以接受一些特殊的字符来表示特殊的含义*表示统配符,可以代表0-n 个字符例如,列出所有以 .txt 结尾的文件ls *.txt ? 表示任意一个字符ls a?.txt ; 表示在一行命令执行多个命令,以 ;分割例如:回到家目录,并列出所有文件cd;ls >和>>以及<输出重定向符合,将来原本输出到命
2021-07-31 23:43:38
224
原创 linux常用命令(二)
目录touch 命令创建一个文件或者修改文件更新的时间mkdir 命令创建目录cp命令复制多个文件,到一个指定目录复制文件夹和它的内容,到另一个文件夹中mv命令rm命令man命令telnet命令touch 命令创建一个文件或者修改文件更新的时间touch a.txt当a.txt不存在的时候,创建该文件文件存在的时候,更新文件时间创建多个文件touch a b c d创建四个文件a b c dmkdir 命令创建目录创建dir1 目录mkdir dir1创建多个目录mkd
2021-07-31 17:45:52
208
原创 Linux常用命令(一)
用户管理linux是一个多用户,多任务的分时操作系统,任何想要使用该系统的用户需要向管理员提出申请一个账号,然后用账号登入。二级标题
2021-07-31 17:11:33
155
原创 在Ubuntu安装jdk教程
目录一、在vm软件上配置Ubuntu二、安装jdk一、在vm软件上配置Ubuntu(1)可以打开vm软件,如下选择。(2)选择合适的OVF模板部署虚拟机(3)导入完成后,即可开启虚拟机二、安装jdk(1)将你的jdk压缩包移到虚拟机的/opt里面(2)如果无法移动进去,可以给opt文件夹赋权限,可以用如下命令sudo chmod 777 /opt(3)进入opt目录,进行解压cd /opt这里选择好自己压缩包的名字即可tar -zxvf jdk-8u171-lin
2021-07-27 23:03:46
5561
原创 贪心法
目录算法设计思想典型例题一、找零钱问题算法优化二、最优装载三、哈夫曼编码算法设计思想贪心法的基本思想是逐步获得最优解。贪心法在求解最优解的问题时,从最初阶段开始,每一个阶段总是做一个局部最优的贪心选择,不断将问题转化成规模最小的子问题。因此,贪心法并不是从整体最优考虑,它只是在某种程度上的局部最优解。贪心法有两个最重要的性质:1.最优子结构的性质:当一个问题的最优解包含子问题的最优解时,称此问题有最优子结构。2.贪心选择性质典型例题一、找零钱问题某单位给每个员工发工资。为了确保不要临时
2021-03-24 21:56:07
151
原创 分治法中的归并排序和快速排序
目录算法设计思想典型例题一、归并排序运行结果二、快速排序算法设计思想分治法字面上理解就是“分而治之”,把一个复杂的问题分解成两个或者多个相似的问题,再把子问题分成更小的子问题,直到子问题可以简单的直接求解,原问题的解即子问题解的合并。分治法的基本步骤:1.分解:将原问题分解为若干个子问题;2.解决:若子问题规模较小而比较任意解决,否则继续分解为更小的子问题,直到分解到能够解决掉的子问题;3.合并:将已求解的子问题逐步合并为原问题的解。合并的代价因情况不同有很大的差异,分治法的有效性很大程度上依
2021-03-23 17:41:58
566
原创 枚举法
目录算法的设计思想典型例题一、马虎的算式二、完美立方三、生理周期算法的设计思想枚举法是一种蛮力策略,是一种简单的直接解决问题的方法,也是一种非常普遍的方法。它是根据题目中的内容将所有的结果一 一列举出,从中找出合适的解。此方法通常需要多重循环来实现,对每个变量都进行验证,满足条件就为题目的一个解。因此,用枚举法设计的算法时间复杂度通常都是指数级的。利用枚举法解决问题,通常可以从以下两方面进行算法设计1.找出枚举范围,分析问题涉及的各种情况2.找出约束条件,分析满足问题条件的解。典型例题一、
2021-03-22 12:48:38
2689
原创 Git合并分支时解决合并冲突的方法
合并分支发生冲突当两个分支修改的内容在同一个文件的同一个位置时,git就无法自动合并两个分支的内容。这是的选择权给到操作员。解决冲突第一步:编辑文件,删除特殊符号第二步:把文件修改到满意的程度,保存退出第三步:git add [文件名]第四步:git commit -m “日志信息”注意:此时 commit 一定不能带具体文件名...
2021-03-10 21:22:57
809
原创 手动添加 Git bash 到鼠标右键
Step 1 : 在cmd中输入 “regedit”Step 2 : 运行注册表管理器Step 3:定位到HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell在 [Background] 下如果没有 [shell],则右键-新建项 [shell];Step 4:右键点击 “shell” 选择 New > Key. 将KEY命名为 “Bash”Step 5 : 设置值为 “open in Bash”Step 6
2021-03-09 23:36:25
175
原创 递归法
目录算法设计思想典型例题一、母牛繁殖问题二、输出各位的数字三、汉若塔问题算法设计思想递归就是一个过程或函数在其定义中直接或间接调用自身的一种方法。它通常把一个大型的复杂问题层层转化为一个与原问题相似的规模较小的问题来求解,递归方法只需要少量的程序就可以描述出多次重复计算的解题过程,大大减少了代码量。递归的两个基本要素: 1、递归关系式:确定关系式,即原问题是如何分解为子问题的 2、递归出口:确定递归到什么
2021-03-09 21:24:07
3186
原创 linux中的yum(错误:Cannot find a valid baseurl for repo: base)
项目场景:使用linux中yum时,无法有效的展示软件包,和下载软件。问题描述:已加载插件:fastestmirror, refresh-packagekit, security设置安装进程Loading mirror speeds from cached hostfileYumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. Invalid release/repo/arch combination/
2021-03-09 12:54:57
1044
原创 递推法
目录设计思想典型例题一、兔子繁殖问题二、最大公约数三、猴子吃桃问题设计思想 利用所求解问题的本身具有的性质(递推关系)来求得问题解得有效方法。具体的做法是:对于一个问题,可以根据N=n之前的一步(n-1)或多步(n-1,n-2,n-3,·····)的结果推导出n时的解:f(n)=F(f(n-1),(n-2),·····) 称为递推关系式。递推算法的关键问题是得到相邻的数据项之间的关系,即递推关系。一般步骤:(1)确
2021-03-07 14:54:37
2188
1
原创 累乘法
这里写目录标题设计思想典型例题一、国王奖赏问题二、交换的算式三、截取数字设计思想多次按相同的累乘规则进行累乘,多次累乘可以用循环结构实现。典型例题一、国王奖赏问题国际象棋有64格,国王奖赏给大臣一些麦子,按第一个格子放1粒,第二格放2粒,第三格放4粒,以后每个格子放前一个格子的两倍。问一共有多少麦子。import java.math.BigInteger;public class Main { public static void main(String[] args) { BigI
2021-03-06 23:54:44
2473
4
原创 累加法
目录设计思想典型例题一、统计对称数(回文数)二、判断天数设计思想累加是指在一个值得基础上重复加上其他的值,典型应用有:求和,计数。典型例题一、统计对称数(回文数)统计10~1000之间的对称数的个数,并打印所有对称数。对称数指一整数从左到右和从右到左是相同的数。例如:12321、656、45654.public class Main { private static int count = 0; public static void main(String[] args) { //
2021-03-06 22:50:57
1950
1
原创 求值法
目录求值法一、判断闰年二、孪生数三、螺旋阵四、百灯判熄求值法求值法是一种最简单的问题求解方法,也是常用的设计算法方法,它是根据给定条件,运用基本的顺序、选择、循环控制结构结局问题。一、判断闰年由键盘输入任意一个年份year,通过程序判断,输出这个年份是否是闰年。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scann
2021-03-06 17:59:30
329
3
转载 javaWEB请求转发和重定向
JavaWeb——请求转发与请求重定向 1、概念 请求转发:服务器行为,request.getRequestDispatcher(URL地址).forward(request,response);是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变。 请求重定向:客户端行为,response.sendRedirect(URL地址),从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的URL地址会改变。 2、工作流程(假设只请求一次<转发/重定向>)请求转发
2021-02-25 19:39:48
737
原创 ssm整合完测试时查询数据出现空指针异常问题
项目场景:测试查询出现问题java.lang.NullPointerException at junitTest.test1(junitTest.java:21) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.Delegati
2021-02-22 21:36:01
975
原创 基于maven的ssm搭建的完整配置(二)最终篇
这里写目录标题SpringMVC层Controller 和 视图层编写编写首页 index.jsp书籍列表页面 allbook.jsp配置Tomcat,进行运行!## 第一部分看这里 —> [基于maven的ssm搭建(一)](https://blog.youkuaiyun.com/JasomMNn/article/details/113843375)SpringMVC层web.xml<?xml version="1.0" encoding="UTF-8"?><web-
2021-02-18 23:02:43
193
Modbus Poll、Modbus Slave及VSPD安装包
2025-03-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人