凯哥Java
文章平均质量分 72
凯哥Java
这个作者很懒,什么都没留下…
展开
-
Nginx实用篇:实现负载均衡、限流与动静分离
Nginx 以其灵活多变的配置方式和高效的执行能力,成为现代 Web 架构不可或缺的一部分。无论是通过反向代理实现的负载均衡,还是限流机制以及动静分离策略,都能极大地改善服务质量和用户体验。熟练掌握这些配置技巧,可以帮助我们更好地发挥 Nginx 的潜力,进一步提升 Web 应用的整体性能。原创 2024-09-16 09:16:17 · 1333 阅读 · 0 评论 -
Nginx实用篇:实现负载均衡、限流与动静分离
Nginx 以其灵活多变的配置方式和高效的执行能力,成为现代 Web 架构不可或缺的一部分。无论是通过反向代理实现的负载均衡,还是限流机制以及动静分离策略,都能极大地改善服务质量和用户体验。熟练掌握这些配置技巧,可以帮助我们更好地发挥 Nginx 的潜力,进一步提升 Web 应用的整体性能。原创 2024-09-16 11:15:00 · 843 阅读 · 0 评论 -
JavaScript 与Java什么关系?为什么名字中带有Java?
JavaScript被命名为"JavaScript",是因为它最初的版本是在1995年由网景公司开发的,它的原名是"Mocha",之后在不久后改名为"LiveScript"。在这个时期,Java语言正受到热烈关注,因此网景公司决定将"Livescript"改名为"JavaScript",以便能够借用Java的声誉来推广这门新的脚本语言。JavaScript和Java之间的共同点是Java语言的一些思想和语法被部分应用在了JavaScript中,例如基本语法、面向对象编程、方法调用等。原创 2024-02-01 19:06:34 · 959 阅读 · 0 评论 -
解锁讯飞星火:从零开始,教你如何轻松驾驭这款全能AI工具
玩法举例:假如你需要一份2023年的部门年终总结报告,只需告诉星火助手大致框架和关键数据,它就能为你生成一份初步的报告草稿,你只需稍加润色和补充个性化内容即可。智能写作助手接入如下:智能写作助手案例截图程序编写助手功能点:根据用户需求,生成对应的代码片段,并提供详尽的参数说明和注意事项。玩法举例:当你需要将Word文档转换为PDF格式的代码时,只需向星火助手输入“请帮我生成将Word转PDF的代码”,它会快速提供一段转换代码,同时告知你运行该代码所需的环境配置和步骤。程序编写助手实例截图。原创 2024-01-31 23:10:40 · 1852 阅读 · 0 评论 -
ThinkPad产品如何升级BIOS程序
4) 在驱动列表页面上,选择相应的操作系统信息,单击“BIOS”(有光盘版和非光盘版两个版本,如Windows系统可以正常进入,建议选择非光盘版“BIOS 升级程序”)。进如Windows系统后,按下 “Win+R” 组合键打开运行窗口,输入dxdiag,单击确定,弹出的窗口中可以看到当前BIOS版本信息。三、查看协议,选择“I accept the agreement”,单击"Next"按钮。四、选择“Install”(安装),单击"Next"按钮。五、确认进行安装操作,单击"Install"按钮。原创 2024-01-01 13:44:26 · 1740 阅读 · 0 评论 -
MySQL的替换函数及补全函数的使用
不支持树形结构递归查询的。但是,又想实现树形结构的一种思路在实际开发中,有时候,我们会遇到这样的情况,数据库存储树形结构,又想展示出树形结构,MySQL数据库是8.0以下的。怎办?树形结构如下图:要实现上面的功能?怎么实现呢?凯哥这里提供一种变相的方法:先使用MySQL的替换函数,将上文中的exclld种地小数点去掉。原创 2023-12-25 13:09:29 · 598 阅读 · 0 评论 -
使用office打开word文档时候提示错误:0x426-0x0的解决方案
昨天还用的好好的,怎么今天就不行了?为什么呢?这个错误导致office无法启动通常是由于office软件所依赖的服务无法正常运行导致。为什么会无法启动呢?突然想到,凯哥昨天手贱,昨天电脑重启时候,提示有需要优化的启动项,于是在wind+R,运行中输入msconfig,然后找到启动,咔咔咔的一顿禁止启动,可能不小心把office启动也给关闭了:今天在来看启动应用:Microsoft To Do 果然是禁用的,启动后,在打开word试试。还是不行,还不能打开。那么是不是还有其他服务没有启动呢?原创 2023-12-24 08:46:22 · 2527 阅读 · 0 评论 -
【已解决】Spring data jpa的@query的传入参数是对象怎么匹配参数
这里,我们使用#{}来访问employee对象的firstName和lastName属性。注意,#{}的内容需要用双引号括起来。在使用@Query注解时,可以使用spel表达式来访问对象的属性。我们知道,在使用JPA的时候,如果参数是一个一个的话,有两种方式匹配。Spring Data JPA会自动将该对象转换为查询语句中的参数。或者在 String id前面加上@Param("id")③:如果入参是一个对象的话,那么,参数又是如何匹配的呢?2正好对应入参的cId和id。②:使用@Param进行显示指定。原创 2023-12-23 12:00:38 · 1295 阅读 · 0 评论 -
【已解决】使用fastjson返回给echarts的时候怎么不忽略null值?
在使用fastjson的将对象序列化成json字符串的时候,如果对象属性为null的话,会被忽略掉的。有时候,这些null值还是很有用的。比如我们在使用echarts的时候,返回给前端就不能因为null而忽略,如果忽略了null值,就会出现如下的错误:那么使用fastjson怎么解决这个问题?原创 2023-12-22 13:28:35 · 772 阅读 · 1 评论 -
【已解决】在使用frp内网穿透访问VUE项目提示:Invalid Host/Origin header 解决方案
在使用frp作为内网穿透的时候,配置了多端口穿透(也是第一次配置frp多端口),端口配置如下:8079:vue项目的管理系统8080:vue项目的前台系统8082:普通的web项目。原创 2023-12-22 12:58:51 · 1248 阅读 · 2 评论 -
frp配置多端口内网穿透?frp多端口怎么配置?
使用frp作为内网穿透的时候,有时候,我们需要多个端口穿透,怎么配置呢?思考:我们知道frp要想内网穿透,需要配置服务端和客户端。如果需要直接访问80端口的话,需要还需要在nginx做配置。原创 2023-12-22 12:48:19 · 1969 阅读 · 0 评论 -
在Docker中安装kafka遇到问题记录
这样,Kafka就会告知客户端通过连接到宿主机的IP地址的9092端口来访问Kafka,从而使Windows宿主机能够访问到Kafka服务。要使Windows宿主机能够访问到容器内的IP地址,可以尝试使用Docker的端口映射功能,将容器的端口映射到宿主机上的一个端口。如果在Windows的宿主机上无法ping通172.17.0.2,但在Docker中的zk能够ping通宿主机的IP,这可能是由于Windows主机上的网络配置导致的。,指定了Kafka连接到的Zookeeper服务的地址和端口。原创 2023-12-21 12:45:17 · 1272 阅读 · 0 评论 -
SDK和API的区别
简单一句话:api就是一个函数接口,函数内容的功能无法独立运行,只有连接到服务器才可以发挥作用。sdk是开发工具包,含有功能和函数接口,可以独立运行。原创 2023-12-21 12:43:10 · 425 阅读 · 0 评论 -
【已解决】Java中,判断:集合中是否包含指定元素(模糊匹配)比如权限中的user:list或者是user:*这种判断
在工作中,有时候,我们需要对list中是否包含了指定元素进行判断,但是,有时候又需要支持模糊匹配,这个时候怎么办呢?比如权限,我们知道,权限不仅可以配置完整的路径,也可以配置通配符。比如,系统管理员角色直接返回的权限是*。子公司A的管理员返回的是:departmentA:*的权限。子公司A的人事权限是:hrA:*。你自己登录系统后,返回的权限是:userA:view这个权限。类似这样的,一个人不止是只有一个权限。原创 2023-12-21 12:40:48 · 1480 阅读 · 0 评论 -
java 怎么读取文件创建时间?
在工作时候,我们有时候需要获取到文件的最后更新时间,根据最近更新时间,来处理其他业务。接下来,我们可以调用File对象的lastModified()方法来获取文件的最后修改时间。通过上述步骤,你可以轻松地获取文件的创建时间并进行进一步的处理。需要注意的是,你需要将上述代码中的“文件路径”替换为你实际要读取的文件的路径。下面是一个完整的代码示例,演示了如何实现Java读取文件创建时间的功能。请将上述代码中的"文件路径"替换为你实际要读取的文件的路径。下面是一个简单的关系图,描述了本文中涉及到的类之间的关系。原创 2023-12-21 12:36:14 · 1967 阅读 · 1 评论 -
【已解决】修改了网站的class样式name值,会影响SEO,搜索引擎抓取网站及排名吗?
修改了网站的class样式name值,会影响搜索引擎抓取网站及排名吗?如果你仅仅修改了网站class样式的名称,而没有改变网站的结构和内容,那么搜索引擎通常不会因此而影响它对网站的抓取和排名。但如果你改变了class名称,而导致网站结构或内容发生了变化,那么搜索引擎就会重新抓取你的网站,并且可能会重新评估你的网站排名。同时,也需要考虑修改class样式名称是否对网站的用户友好性产生影响,因为用户体验也是搜索引擎考虑的重要因素之一。原创 2023-12-21 10:39:52 · 1131 阅读 · 0 评论 -
【已解决】本地使用Git拉取代码的时候提示:master has no tracked branch的解决办法
操作步骤:现在自己的Git服务器上,新建了对应的项目,直接在Git页面中,添加了redme文件后,再git clone到本。把下载的zip解压后,放到Git检出的目录下,修改东西,准备提交。请注意,执行这个命令时要慎重,因为它会合并远程仓库和本地仓库的数据。你遇到的问题“master has no tracked branch”通常是因为远程仓库和本地仓库的起始点不一致导致的。需求描述:因为是从GitHub上下载的一个项目,直接下载的ZIP包,然后想把这个推送到自己Git服务器上。原创 2023-12-21 10:36:32 · 8089 阅读 · 0 评论 -
mybatis 批量查询时候多条件,怎么写?
在循环体中,我们将每个detail对象中的schedulingId和name作为查询条件,使用AND操作符连接。在MyBatis中,根据传入的details参数来动态生成查询条件是比较复杂的。这样,当调用selectList()方法时,MyBatis会根据传入的details参数动态生成查询条件,返回符合条件的Detail对象列表。最后,将生成的查询语句放在<select>元素的内部。查询结果的类型是Detail。首先,我们需要使用<select>元素来定义查询语句的id、参数类型和结果类型。原创 2023-12-20 13:26:46 · 625 阅读 · 0 评论 -
【已解决】Redis序列化反序列化不一致 - String类型值多了双引号问题
在项目中使用spring 的RedisTemplate从redis中获取数据的时候,发现字符串的value多了双引号。原创 2023-12-20 13:23:32 · 1971 阅读 · 0 评论 -
在使用Map的时候,怎么保证插入数据的数据,就是map的put顺序呢 ?
在Java中,Map接口的实现类并不能保证元素的顺序。但是可以通过使用TreeMap来实现按照插入顺序排序的Map。TreeMap是基于红黑树实现的,可以按照元素的自然顺序或者自定义的顺序进行排序。这里使用LinkedHashMap代替了TreeMap,LinkedHashMap可以保持元素的插入顺序。这样,插入到Map中的顺序将会保持不变。那么我们将HashMap缓存TreeMap,发现,依然是不能按照我们put进去的顺序入库的。上面代码,怎么保证入库后顺序就是put到map的顺序?原创 2023-12-20 13:10:11 · 984 阅读 · 0 评论 -
简单快速的用SpringBoot访问静态资源包括(图片、html)及spring.resources.static-locations不能正常访问其他盘符文件解决方案
如果文件不多的话可以考虑将图片放到项目的静态文件夹中。如果图片多的话就不可能一张一张的往里面放了!表示图片资源在本地的位置。表示静态资源访问的格式。原创 2023-12-20 13:07:56 · 990 阅读 · 0 评论 -
【已解决】Mysql在更新的时候,需要更新的字段是其他表查询的值,这个时候update语句怎么写
执行上面语句之后就能将A表中id =5的且B表type=5查询后的id设置个A表的floor字段了。例如:我想要更新A表中的floor字段。但是这个字段的是是根据条件在B表中查询后,得到的值。Mysql在更新的时候,需要更新的字段是其他表查询的值,这个时候update语句怎么写?要点:这里使用到了JOIN...ON语句。这样需求的sql语句怎么写?原创 2023-12-20 13:03:45 · 453 阅读 · 0 评论 -
【已解决】解决Springboot项目访问本地图片等静态资源无法访问的问题
今天在开发一个招聘系统的时候,有功能,有投递就会有随之而来的对吧,我投递过的简历,,就是说,用于存放PDF(),比如说文件夹在这个位置,那么我的项目就得必须读取到这个文件夹的url里的pdf文件也好,img也好,然后我就遇到了各种问题读取不到;那么。原创 2023-12-20 13:00:41 · 3002 阅读 · 0 评论 -
系统可控实现方案
通过约定一个加密算法,客户端在发起请求时将所有的非空参数按程序拼接在一起,形成一个sign,并将其放在请求头中传递给后端服务,后端服务端使用相同的算法生成sign,并将其与传入的sign进行比较,以判断是否被篡改。加解密是保护数据安全和防止数据泄露的重要手段。总结: 通过以上方案和技术的应用,可以有效实现系统的可控性,保护用户数据的安全和隐私,防止接口数据的篡改、暴力请求以及数据的泄密。系统可控实现方案是指通过一系列的技术和策略,确保系统在运行过程中受到合理的保护,防止数据被篡改、泄密以及暴力请求的攻击。原创 2023-12-20 12:52:02 · 1114 阅读 · 0 评论 -
为什么hash数据结构的底层,使用skiplist比直接使用hash会更节省内存呢?
元素:abc,权重:3」节点的 leve[1] 的下一个指针指向了「元素:abcde,权重:4」的节点,然后将其和要查找的节点比较。虽然「元素:abcde,权重:4」的节点的权重和要查找的权重相同,但是当前节点的 SDS 类型数据「大于」要查找的数据,所以会继续跳到「元素:abc,权重:3」节点的下一层去找,也就是 leve[0];「元素:abc,权重:3」节点的 leve[0] 的下一个指针指向了「元素:abcd,权重:4」的节点,该节点正是要查找的节点,查询结束。举个例子,下图有个 3 层级的跳表。原创 2023-12-20 12:50:50 · 382 阅读 · 0 评论 -
【已解决】taos时序数据库3.0版本,怎么按照时间分组?
taos数据库中按照时间分组,在2.4版本时候可以直接使用INTERVAL(time_unit)来查询。前面可以直接添加_ts的。那么在3.0版本时候,怎么修改呢?原创 2023-12-20 12:49:48 · 772 阅读 · 0 评论 -
页面菜单,通过get请求一个url后,跳转另外一个页面,+丢失问题
当 URL 中的 '+' 被解析为空格后,你可以在前端再次进行编码,将空格转换回 '+',然后再发起 POST 请求。比如accessToken的值:YU+OHLJ2pyDRbiZWOuo4LQ== 这个时候,在post请求后端,后端接受到的参数,+变空格了。A系统菜单是get请求到B系统的一个缓冲页面,然后这个缓冲页面获取到url中的accessToken后,在这个页面中通过post请求后端接口。然后将编码后的 accessToken 作为参数添加到 POST 请求中。原创 2023-12-20 12:47:59 · 676 阅读 · 0 评论 -
Java实现对图片压缩指定大小。比如1260*945。如果图片尺寸大于,就压缩。小于,就拉伸到指定大小
Java实现对图片压缩指定大小。// 创建一个新的 BufferedImage,用于存放处理后的图片。System.out.println("图片处理完成。// 创建一个 Graphics2D 对象,用于绘制新图片。// 如果原始图片尺寸小于目标尺寸,则进行拉伸。// 如果原始图片尺寸大于目标尺寸,则进行压缩。// 获取原始图片的尺寸。// 保存处理后的图片。原创 2023-12-16 20:28:59 · 1511 阅读 · 0 评论 -
在非Spring环境下Main方法中,怎么使用spring的ThreadPoolTaskScheduler启动Scheduler?
作为Java开发人员,在使用spring框架的时候,如果想要获取到线程池对象,可以直接使用spring框架提供的ThreadPoolxxx来获取。// 初始化你的任务和触发器(这里假设 jobDTO 和 cronTrigger 已经定义)其实就是在调用任务器调度任务前执行taskScheduler.initializer()就可以了。// 初始化你的任务和触发器(这里假设 jobDTO 和 cronTrigger 已经定义)通过上面两步,就可以在Spring环境下使用带有定时任务的线程池了。原创 2023-12-07 13:09:25 · 998 阅读 · 0 评论 -
OOM了?物理内存不够了?试试这个方法来提升内存容量,不花钱的
在真实的环境中,合理配置虚拟内存大小,结合物理内存和系统负载进行调优,是确保系统平稳运行的关键。最近遇到一个情况,物理内存不够,导致项目一两天就自动死掉了。服务器物理内存就2GB,上面有好多服务,但是,又不能停,导致一个新上的项目,总是过一两天就自己死掉了。从上图中,我们可以看到,swap区域的默认大小是1GB的,可用空间为0.这说明,交换区域已经被占满了,看来是需要提高swap区大小了。好了,通过上面介绍,我们知道了,虚拟内存是什么了,那么接下来我们,需要思考的是,Linux操作系统下怎么扩大交换区呢?原创 2023-12-02 12:35:12 · 987 阅读 · 0 评论 -
【已解决】如果将MySQL数据库中的表生成PDM
①:打开MySQL客户端,连接到需要生成PDM的数据库,并将表导出成sql文件的。注意:这里只导出结构,不需要导出数据的。自动生成的,不会添加表之间的关系。如果需要添加表结构之间的关系,需要自己在PowerDesigner中手动的去添加关联关系的。有时候,我们需要MySQL数据库中的表生成对应的PDM文件,这里凯哥就讲讲第一种将MySQL数据库的表生成对应的PDM文件。这里凯哥使用的是PowerDesigner来生成PDM的。⑤:点击确当,就可以生成对应的PDM文件了。需要生成PDM的数据库文件。原创 2023-07-31 22:05:14 · 351 阅读 · 0 评论 -
【已解决】Spring boot项目获取到resource目录下文件完整路径怎么获取 ?
在实际开发过程中,可能有时候,我们将文件放在resource下,在程序中需要获取到文件路径然后操作。比如,将公钥放到resource文件夹下,在程序中需要获取到这个公钥的完整路径。怎么操作?原创 2023-07-02 18:21:08 · 2956 阅读 · 0 评论 -
【图文教程】云服务器上,Linux安装VSFTPD组件及遇到的问题
我们知道,ftp服务器,可能会提供出去(虽然凯哥这里不会提供出去),给其他的三方人员使用,从数据及服务器安全角度来考虑,我们给ftp服务一个单独的用户。如果,你不行,服务器重启之后,FTP服务就不能访问,或者每次重启服务器之后,都需要手动启动VSFTPD的话,可以将VSFTPD设置成随机启动的。这个被动默认是开启的。如果你的服务器上,SElinux是开启的,可能会出现,外网可以访问,没目录返回,且也上传不了。在执行完上面命令后,如果返回结果中,看到上图高亮的两个是off的话,就代表,没有开启外网访问。原创 2023-01-12 17:37:27 · 733 阅读 · 1 评论 -
Docker高级篇:实战Redis集群-从3主3从变为4主4从
通过前面两篇,我们学会了三主三从的Redis集群搭建及主从容错切换迁移,随着业务增加,可能会有主从扩容的,所以,本文我们来实战主从扩容在之前3主3从的架构,随着业务的增加,流量扛不住了。需要由3主3从变为4主4从。架构变化图如下:回顾下之前3主3从槽位分配如下:那么现在变成了4主4从了。多出来的这一对主从,槽位怎么分配ne?实战步骤。原创 2022-12-21 10:11:07 · 226 阅读 · 0 评论 -
【图文教程】若依前后端分离版本-菜单怎么设置
在使用若依前后端分离版本作为基础架构的时候,需要新建菜单怎么操作?本文凯哥将详细讲解怎么添加。1:登录若依系统后,[系统管理]>>[菜单]先新建一个一级菜单。可以模仿【系统管理】菜单来创建:系统菜单:我们自己创建的【淘宝客】菜单如下:这里需要注意,路由地址。创建完成之后,我们使用代码自动生成工具,生成我们需要的表相关的controller、server等2:将代码添加到对应位置,执行菜单sql语句。3:修改sys_menu中,刚插入的数据。将刚插入的菜单,的parent_id修改成,我们刚才手动创建的【淘宝原创 2022-12-03 18:44:09 · 2145 阅读 · 0 评论 -
【图文教程】Centos 7下安装Hadoop
比如凯哥的安装目录,就是第一步上传到/data后解压的。所以hadoop安装目录就是:/data/hadoop-2.7.7 这个别搞错了。2.1:修改hadoop安装目录 /etc/hadoop 下的 hadoop-env.sh的内容。2.4:修改 hadoop安装目录下的/etc/hadoop 下的yarn-site.xml。2.3:修改 hadoop安装目录/etc/hadoop下的hdf-site.xml的内容。2.2:修改hadoop安装目录 /etc/hadoop 下的。在/etc/hosts。原创 2022-11-23 10:53:15 · 1907 阅读 · 1 评论 -
【经验】通过JVM调优,让凯哥个人博客响应速度提升了不少
但是GC很频繁啊,所以,不能看在上面的-Xmx:设置JVM可申请的最大内存。从最大内存到最小内存调整过程:当空余堆内存大于70%的时候,JVM会减小heap的大小到-Xms指定的大小。从最小内存到最大内存调整过程:默认当空余堆内存小于40%的时候,JVM会增大Heap到-Xmx指定的大小。-XX:NewRation:设置年轻代(包括Eden和两个Survivor区)与来年代的比值(除去持久化)。5:-XX:MaxnewSize:新生代可悲分配的内存的最大上限(注意:该值需要小于-Xmx的值)原创 2022-11-01 12:40:34 · 288 阅读 · 0 评论 -
【图文安装教程】在docker中安装kibana
设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch。kibana可以给我们提供一个elasticsearch的可视化界面,便于我们学习。:加入一个名为es-net的网络中,与elasticsearch在同一个网络中。我们使用rz命令先将kibana镜像上传到宿主机的apps目录下。在上一篇中,我们已经在docker里面安装了ES。OK.至此,在docker里面安装kibana完成。原创 2022-10-28 09:08:44 · 1017 阅读 · 0 评论 -
一个Java类在运行时候,变量是怎么在JVM中分布的呢?
JVM学习第三篇思考:一个Java类在Jvm内存中是怎么存在的又名:Java虚拟机的内存模型(JMM)是什么样的.通过前面两篇文章的学习,我们知道了一个Java类的生命周期及类加载器。我们可以得到如下两幅图:类生命周期:编辑父类委托机制:编辑思考:编辑我们编写的类中的变量、方法、对象这些都需要内存存放的。那么在运行时候这些数据在Java虚拟机内存中是怎么存放的呢?本文目标:凯哥(凯哥Java:kaigejava)希望通过本原创 2021-07-02 10:27:41 · 176 阅读 · 0 评论 -
排序算法第一篇-排序算法介绍
排序算法第一篇-排序算法介绍在面试中,现在无论大小公司都会有算法的。其中排序算法也是一种很常见的面试题。比如冒泡,快排等。这些,排序算法自己看了一次又一次,可是过一段时间,又忘掉了。所以,这次就把算法是怎么推导出来的,详细记录下来。看看这次多久还会忘记。本文主要介绍排序算法的分类、时间复杂度、空间复杂。为了后面的学习做准备的。通过本文学习,将收获到:排序算法分几类?什么是算法的时间复杂度?是怎么算出来的?什么是算法的空间复杂度?常见的时间复杂度比较。如果这些您都已经知道了,可以不用耽误时间看原创 2021-06-21 10:05:36 · 231 阅读 · 1 评论