
kaigejava
文章平均质量分 61
凯哥Java
这个作者很懒,什么都没留下…
展开
-
【架构设计】多级缓存:应用案例与问题解决策略
多级缓存系统的工作原理及其在提升应用性能方面的关键作用。通过对比本地缓存与分布式缓存的特点多级缓存系统作为性能优化的重要组成部分,通过在不同层级存储数据,有效提升了应用程序的响应速度。这种策略主要包括本地缓存和分布式缓存两大组成部分。本文原创:凯哥就Java(kaigejava)当业务请求发起时,系统首先会在本地缓存(如使用Caffeine或Guava Cache)中查找所需数据。若未能找到,则会进一步查询分布式缓存(通常基于Redis)。一旦数据被检索到,便会同时存储在本地缓存中,随后返回给客户端。原创 2024-09-17 09:17:12 · 1138 阅读 · 0 评论 -
优化批处理流程:自定义BatchProcessorUtils的设计与应用
本文将介绍一种自定义的批量数据处理工具类——BatchProcessorUtils类,它能够帮助开发者更方便地将一个大的数据集拆分成若干个小批次,并提供便捷的遍历接口。通过合理的批次划分,不仅可以提升程序的执行效率,还能有效地避免内存溢出等潜在的风险。对于那些需要频繁处理大批量数据的应用来说,这个工具无疑是一个值得考虑的选择。④:方法实现:包括了hasNext()方法判断是否还有未处理的数据,next()方法获取下一个批次的数据,以及add()和addAll()方法允许动态地向数据集中添加新的元素或集合。原创 2024-09-15 09:34:58 · 677 阅读 · 0 评论 -
Excel密码遗失?轻松取消表格保护的实用指南!
有时为了保护隐私会给excel表格加密,但是密码忘了怎么解开呢,一起看看吧。原创 2024-01-07 16:09:31 · 1281 阅读 · 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 · 417 阅读 · 0 评论 -
【已解决】taos时序数据库3.0版本,怎么按照时间分组?
taos数据库中按照时间分组,在2.4版本时候可以直接使用INTERVAL(time_unit)来查询。前面可以直接添加_ts的。那么在3.0版本时候,怎么修改呢?原创 2023-12-20 12:49:48 · 1042 阅读 · 0 评论 -
页面菜单,通过get请求一个url后,跳转另外一个页面,+丢失问题
当 URL 中的 '+' 被解析为空格后,你可以在前端再次进行编码,将空格转换回 '+',然后再发起 POST 请求。比如accessToken的值:YU+OHLJ2pyDRbiZWOuo4LQ== 这个时候,在post请求后端,后端接受到的参数,+变空格了。A系统菜单是get请求到B系统的一个缓冲页面,然后这个缓冲页面获取到url中的accessToken后,在这个页面中通过post请求后端接口。然后将编码后的 accessToken 作为参数添加到 POST 请求中。原创 2023-12-20 12:47:59 · 768 阅读 · 0 评论 -
在非Spring环境下Main方法中,怎么使用spring的ThreadPoolTaskScheduler启动Scheduler?
作为Java开发人员,在使用spring框架的时候,如果想要获取到线程池对象,可以直接使用spring框架提供的ThreadPoolxxx来获取。// 初始化你的任务和触发器(这里假设 jobDTO 和 cronTrigger 已经定义)其实就是在调用任务器调度任务前执行taskScheduler.initializer()就可以了。// 初始化你的任务和触发器(这里假设 jobDTO 和 cronTrigger 已经定义)通过上面两步,就可以在Spring环境下使用带有定时任务的线程池了。原创 2023-12-07 13:09:25 · 1067 阅读 · 0 评论 -
【图文教程】云服务器上,Linux安装VSFTPD组件及遇到的问题
我们知道,ftp服务器,可能会提供出去(虽然凯哥这里不会提供出去),给其他的三方人员使用,从数据及服务器安全角度来考虑,我们给ftp服务一个单独的用户。如果,你不行,服务器重启之后,FTP服务就不能访问,或者每次重启服务器之后,都需要手动启动VSFTPD的话,可以将VSFTPD设置成随机启动的。这个被动默认是开启的。如果你的服务器上,SElinux是开启的,可能会出现,外网可以访问,没目录返回,且也上传不了。在执行完上面命令后,如果返回结果中,看到上图高亮的两个是off的话,就代表,没有开启外网访问。原创 2023-01-12 17:37:27 · 772 阅读 · 1 评论 -
HBuilder X在4K显示器怎么设置HBuilderX窗口本身的字体大小
编辑器的时候,使用笔记本自身的显示器,编辑器窗口本身的字体大小都正好,但是将。我们可以看到缩放执行有三种类型。可以根据自己情况选择。是不是看上去很难受?:选中图标后,鼠标右键。显示器上的时候,就不行了。:在弹窗窗口中,选择兼容性。:在弹窗的窗口中,把替换高。编辑器用在外接显示器。原创 2022-12-17 12:27:04 · 1622 阅读 · 2 评论 -
【Docker学习系列】Docker学习1-docker安装
本篇是docker学习系列第一篇:安装docker。docker安装前提条件:目前,centos发行版中的内核支持Docker.Docker运行在Centos7 64位上,要求系统为64位、linux系统内核版本为3.8以上的。docker三要素:镜像(image)、容器(container)、仓库(repository) .系统必须是centos7及以上版本 cat/etc/redhat-release。因为docker.com是国外的。使用cat命令: cat /etc/redhat-release。原创 2022-12-01 12:17:36 · 714 阅读 · 0 评论 -
【转载】基础IO的理解与操作 - fd
本篇是我们该如何理解OS对文件如何写入和输出,通过具体的语言如何实现文件操作在到如何利用系统调用来完成文件输入输出,理解一个重要的概念“”,和OS去描述他们的文件描述符。转载 2022-11-23 17:01:36 · 753 阅读 · 0 评论 -
【已解决】Nacos作为配置中心的时候,使用@Value注解一直提示Could not resolve placeholder
userservice-dev.yaml的namespace是在spe下,而不是public下(在bootstrap.yml文件中,我们没有指定namespace,那么默认就是在public的namespace下)。注意看是否有多个命名空间,每个命名空间是独立的,叫做环境隔离,不同的命名空间下的服务互相不可见。我不小心把nacos的yml创建在了dev的命名空间下,而我的服务默认是在public下,两者之间没有关联,所以报错了,改过来就解决了!1:查看@Vaule${}中的key值是否是争取的。原创 2022-10-23 15:48:59 · 1957 阅读 · 0 评论 -
部署在阿里云上的项目收到了阿里云发送的shiro漏洞
编辑还记得在十月份凯哥发布过一篇修改若依系统编辑器的文章,然后为了方便大家浏览,凯哥就部署在服务器上了,结果,没想到最近收到了阿里云漏洞扫描通知:编辑如果不修改的话:对于长期存在安全隐患但未整改的网络资源,监管部门可能会下达行政处罚编辑根据扫描结果,搜索了下漏洞的证明(如下图):在项目中搜索,我去,还真是啊。编辑漏洞描述Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功...原创 2020-11-24 22:45:06 · 314 阅读 · 2 评论 -
Java前后端分离跨域问题解决
现在越来越流行了前后端分离,但是前后端分离后,有个问题,就是跨域问题。怎么解决呢?1:创建crossFilter:import lombok.extern.slf4j.Slf4j;import org.apache.commons.httpclient.HttpStatus;import org.apache.commons.lang3.StringUtils;import org.springframework.stereotype.Component;import javax.ser原创 2020-11-18 10:07:17 · 585 阅读 · 0 评论 -
Java后端跨域之http预请求options
在有很多情况下,当我们在js里面调用一次ajax请求时,在浏览器那边却会查询到两次请求,第一次的Request Method参数是OPTIONS,还有一次就是我们真正的请求,比如get或是post请求方式查阅相关的资料之后发现,这是浏览器对复杂跨域请求的一种处理方式,在真正发送请求之前,会先进行一次预请求,就是我们刚刚说到的参数为OPTIONS的第一次请求,他的作用是用于试探性的服务器响应是否正确,即是否能接受真正的请求,如果在options请求之后获取到的响应是拒绝性质的,例如500等http状态,那转载 2020-11-18 10:06:34 · 1488 阅读 · 0 评论 -
spring boot 若依系统整合Ueditor,部署时候上传图片错误解决
spring boot 若依系统整合Ueditor,部署时候上传图片错误解决前言:国庆假期找了个ruoyi版本的cms玩玩,从git上看,介绍如下图:后台部分截图:前台blog截图:看上去还可以不错,于是clone下来玩玩,结果发现,发布文章的时候,编辑器有问题,上传不了图片,还有其他几个地方有问题,怎么解决呢?自己上手撸代码,修改呗。于是,下载了ueditor的源码,加到项目中,进行修改。现在已...原创 2020-10-07 15:39:33 · 855 阅读 · 2 评论 -
安装vsftp服务器的时候遇到的问题
安装vsftp服务器的时候遇到的问题环境说明:系统:阿里云centos7面板:宝塔面板问题描述:在centos7中安装VSFTP的时候,使用命令行,ftp 然后输入用户名和密码,登陆之后,put文件就可以上次到ftp上面。如下图:但是,使用程序的话,一直提示失败,连接超时。然后断点跟着进去,进入到源码的时候,可以发现:__passivePort这个值是一个比较大的,而且每次还是会变化的。查看这个端口是30442(注:本次运行后的端口是这个值,这个值是会变化的)。如下图:.原创 2020-06-16 12:43:58 · 253 阅读 · 0 评论 -
Java并发编程学习前期知识上篇
Java并发编程学习前期知识上篇我们先来看看几个大厂真实的面试题:从上面几个真实的面试问题来看,我们可以看到大厂的面试都会问到并发相关的问题。所以Java并发,这个无论是面试还是在工作中,并发都是会遇到的。Java并发包JUC(java.util.concurrent)有了解过哪些?并发包实现最重要的是什么?其原理是什么知道吗?何为JMM的可见性?volatiile关键字是...原创 2020-03-19 09:16:03 · 267 阅读 · 0 评论 -
ElasticSearch-hard插件及IK分词器安装
ElasticSearch-hard插件及IK分词器安装编辑通过上一篇学习,我们学会了ElasticSearch的安装及访问到了如下页面:编辑ElasticSearch-head插件安装为什么需要安装head插件返回的都是JSON格式的。不方便查看。如果有页面可以查看就更好了。有没有呢?当然有了:elasticSeard-head这个插...原创 2020-03-09 10:36:52 · 297 阅读 · 0 评论 -
elasticsearch单机版安装及安装过程踩的坑整理
elasticsearch单机版安装及安装过程踩的坑整理环境及版本Linux版本:centos7.3JDK版本:1.8Elasticsearch版本:Linux用户:esuser说明:因为es不能使用root用户安装,所以我们需要创建新用户:esuser.本文中软件:编辑编辑开始安装1:创建es用户useradd 用户...原创 2020-03-06 11:07:10 · 383 阅读 · 0 评论 -
Java任务调度框架之分布式调度框架XXL-Job介绍
Java任务调度框架之分布式调度框架XXL-Job介绍及快速入门调度器使用场景:Java开发中经常会使用到定时任务:比如每月1号凌晨生成上个月的账单、比如每天凌晨1点对上一天的数据进行对账操作,在比如每天凌晨5点给180天未登陆过的用户发送邮件提醒等等。定时任务在我们开发中也占有很重要的部分。Java实现定时任务有很多方式:1.JDK自带的定时器实现,即java.u...原创 2020-01-06 09:43:28 · 1167 阅读 · 1 评论 -
SpringMVC访问出错No converter found for return value of type: class java.util.HashMap错误
在使用SSM整合的时候,spring mvc 添加@ResponseBody的时候,正常情况下都会返回json的。但是又的时候如果没有配置好的话,如果想要返回Map的json对象会报:No converter found for return value of type: class java.util.HashMap错误。如下图:果返回的事字符串或者事Integer类型就...原创 2019-12-12 22:58:14 · 1784 阅读 · 1 评论 -
使用tomcat方式实现websocket即时通讯服务端讲解
使用tomcat方式实现websocket即时通讯服务端讲解第一种方案:使用Tomcat的方式实现tomcat版本要求:tomcat7.0+。需要支持Javaee7导入javeee-api的jar(如果已经引入可以忽略):pom.xml中加入:<dependency><groupId>javax</groupId>...原创 2019-12-06 08:20:07 · 519 阅读 · 1 评论 -
看了这个Java实习生入职测试题后,幸亏我不是实习生
看了这个Java实习生入职测试题后,幸亏我不是实习生一个Java实习生的入职测试题,你能答对几个?今天在某APP中看到,有实习生放出的Java实习生入职测试题。看完之后,很庆幸自己不是实习生。本文来源:公众号:凯哥Java(kaigejava)个人博客:www.kaigejava.com我们来一起看看题目吧:1:String类为什么是fianl的?2:JDK8中的Has...原创 2019-09-16 09:58:17 · 835 阅读 · 0 评论 -
第一天 负载均衡之高并发发送
高并发发送:1处:负载均衡2处:数据库在APP服务器多台情况下,如果用户登录,session怎么处理?本文来源:凯哥Java(kaigejava)个人博客:www.kaigejava.com如下图:说明:如果用户登录的时候负载到01服务器上,当用户在操作其他的时候,如果被负载到02机器上。这个时候02机器上面就没有当前用户的session。用户就会被转...原创 2019-09-14 12:34:37 · 167 阅读 · 0 评论 -
在阿里云上通过宝塔面板安装禅道
在阿里云上通过宝塔面板安装禅道禅道安装,这个之前答应过朋友的。正好,今晚又说起这个事,索性就在阿里云上安装算了。相信很多朋友都用过禅道这个工具。使用过的朋友都知道,禅道是基于PHP开发的。对于使用Java开发的凯哥来说,LAMP环境,还真不会搭建。还好,之前就一直使用宝塔面板。有了这个面板LAMP环境就很容易搭建了。本教程是基于禅道11.6.2开源版的。来源:凯哥Java(凯哥Java...原创 2019-09-08 11:04:53 · 453 阅读 · 0 评论 -
Javaweb-动态代理之代理工厂模式实现
前面做了一个Waiter的动态代理的练习,这篇继续来写一个练习,一个动态代理工厂的例子,这个例子在以后学习Spring的时候会有帮助。这个动态工厂的主要作用就是包装了下目标对象和前置增强和后置增强。工厂类的使用步骤我们要设计一个动态代理工厂类,以下是使用这个工程类的步骤。来源:凯哥Java(kaigejava)1.创建代理工厂2.给工厂设置三样东西1)...原创 2019-09-01 10:03:37 · 429 阅读 · 0 评论 -
JavaWeb练习之使用filter实现自动登陆
Filter练习-自动登录本篇来做一个Filter的练习题,就是网站自动登录的,这个自动登录,我们在学习cookies的时候做过,这次使用Filter来做一遍。数据库表准备首先,我们需要准备一个表,用户表,如果没有可以参考以下SQL去创建。CREATE DATABASE javawebUSE javawebCREATE TABLE users(id INT PRI...原创 2019-08-14 09:33:58 · 346 阅读 · 0 评论 -
Javaweb-Filter-1-快速入门
本文出自优快云博客作者凯哥Java(微信号:kaigejava),未经同意不得转载Filter快速入门开始学习Filter这个知识点,单词是过滤器和拦截器的作用。Filter是Javaweb中的过滤器,可以拦截所有访问web资源的请求或响应操作。Filter这个知识点很重要,在javaweb开发中,这个是我们需要重点掌握的一个知识点。1.使用场景使用Filter主要场景是拦...原创 2019-08-06 09:36:01 · 183 阅读 · 0 评论 -
Java中注解学习系列教程-1
前言:我们为什么要学习注解?注解是我们的编程更简洁明了。spring boot的流行也带动了注解。spring boot中就使用了大量的注解来减少配置。我们在使用spring boot开发时候,感觉很简洁。这个就是注解的功劳。注解开发也是一种趋势。所以,我们还是很有必要学学注解的。来看看《凯哥Java-注解》系列主要内容本文主要讲解前三个:注解定义、JDK内置注解、第三方注解。...原创 2019-06-30 21:38:47 · 355 阅读 · 1 评论 -
网站根目录在哪里?
有些时候我们在其他网站注册自己网站的时候需要将对方网站的验证信息放到自己网站的根目录下,进行验证。那么网站根目录到底是什么呢?如下图:这个截图是阿里MM网站需要的http://kaigejava.com/article/detail/178从提示信息中我们可以看到,第一步下载root.txt文件这个大家都会。第二步:将验证文件放置于您所配置域名的根目录下。这里就是放置到你自己的...原创 2018-08-09 18:18:46 · 11029 阅读 · 2 评论 -
hashMap怎么保证hash一致性的
学Java的都知道hashMap的底层是“链表散列”的数据结构也也可以说是hash表。在put的实话先根据key的hashcode重新计算hash值的,而我们又知道hash是一种算法。所以哈希码并不是完全唯一的。http://kaigejava.com/article/detail/168查看哈希码百科: 哈希表可以说就是数组链表,底层还是数组但是这个数组每一项就是一个链...原创 2018-07-24 14:21:44 · 2969 阅读 · 0 评论 -
java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决
问题描述:在使用jsoup爬取其他网站数据的时候,发现class是带空格的多选择,如果直接使用doc.getElementsByClass(“class的值”),这种方法获取不到想要的数据。爬取网站页面结构如下:其中文章列表的div为:<div class="am-cf inner_li inner_li_abtest"></div>我们可以看到其class的值为:am-c...原创 2018-03-02 14:30:17 · 1390 阅读 · 0 评论 -
java使用Calendar类获取常用简单工具类
前言:在工作中,我们经常会用到时间相关的。比如月初、月末、年初、年末、指定月份所在季度的季末、当前时间加X天、x月、x年等这些常用的虽说不难,但是如果要用到,立马又想不起来。这里凯哥归纳了一些常用的放在一个工具类中。有需要的朋友可以拿去或是收藏。如果大家有更好的,欢迎留言。如果凯哥哪里不对,欢迎大家留言骂起~。声明:本文有凯哥Java(www.kaigejava.com)发布于凯哥原创 2017-11-22 09:20:00 · 1028 阅读 · 0 评论 -
spring boot框架学习9-spring boot的web开发(5)-错误解决及跳转页面
本章节主要内容:通过前面的学习,我们了解并快速完成了spring boot第一个应用。spring boot企业级框架,那么spring boot怎么读取静态资源?如js文件夹,css文件以及png/jpg图片呢?怎么自定义消息转换器呢?怎么自定义spring mvc的配置呢?这些我们在公司都需要用的。这些怎么解决呢?在接下来的小节详细讲解这些。好了,现在开启spring boot的web原创 2017-11-12 21:40:11 · 298 阅读 · 0 评论 -
spring boot框架学习6-spring boot的web开发(2)
本章节主要内容:通过前面的学习,我们了解并快速完成了spring boot第一个应用。spring boot企业级框架,那么spring boot怎么读取静态资源?如js文件夹,css文件以及png/jpg图片呢?怎么自定义消息转换器呢?怎么自定义spring mvc的配置呢?这些我们在公司都需要用的。这些怎么解决呢?在接下来的小节详细讲解这些。好了,现在开启spring boot的web原创 2017-11-06 21:20:41 · 269 阅读 · 0 评论