- 博客(404)
- 资源 (9)
- 收藏
- 关注
原创 Java中ConcurrentLinkedQueue并发安全队列浅析
ConcurrentLinkedQueue是线程安全类,在并发编程中是非常典型的数据结构,在多线程环境中共享数据时,能够确保数据的一致性和完整性。ConcurrentLinkedQueue是Java并发包(java.util.concurrent)中的一个重要成员,它提供了一个线程安全的无界非阻塞队列。
2024-04-15 17:51:24 422
原创 Java中通过sftp协议获取指定目录文件列表
JSch是Java Secure Channel的缩写,是一个java实现的可以完成sftp上传下载的工具,我们可以集成它的功能到自己的应用程序,本文介绍使用JSch实现的SFTP上传下载的功能。ChannelSftp类是JSch实现SFTP核心类,它包含了所有SFTP的方法,如。上述代码中,我们首先建立了一个SFTP通道并连接,然后改变到指定的远程目录,并使用通配符*获取该目录下的所有文件和文件夹列表。在Java中,你可以使用第三方库,如JSch,来实现SFTP协议并获取指定目录的文件列表。
2024-04-14 18:57:18 149
原创 Java中swing面板布局之GridBagLayout
GridBagLayout类是一个灵活的布局管理器,GridBagLayout类的对象维持一个动态的矩形单元网格,然后我们可以把组件放进一个或多个矩形单元网格,组件大就多放几个,组件小就少放几个。//该方法设置组件水平的拉伸幅度,如果为0就说明不拉伸,不为0就随着窗口增大进行拉伸,0到1之间。//该方法设置组件垂直的拉伸幅度,如果为0就说明不拉伸,不为0就随着窗口增大进行拉伸,0到1之间。指定在单元大于组件的情况下,组件如何填充此单元,缺省为组件大小不变,以下为静态数据成员列表,它们是fill变量的值。
2024-04-14 18:38:09 163
原创 Java中启动同一个线程,在时间窗口内最多启动指定个数
如果当前活跃线程数小于最大线程数maxTasks,则可以启动新的线程来运行指定的任务。在Java中,如果你想要启动同一个线程,但是限制在一段时间内最多只能启动指定数目的线程,你可以使用ScheduledExecutorService来周期性地检查是否有线程需要启动,并通过一个计数器来控制最大线程数。
2024-04-10 19:38:02 135
原创 Java中DatagramSocket类发生线程阻塞问题
Java使用DatagramSocket代表UDP协议的Socket,DatagramSocket本身只是码头,不维护状态,不能产生IO流,它的唯一作用就是接收和发送数据报,Java使用DatagramPacket来代表数据报,DatagramSocket接收和发送的数据都是通过DatagramPacket对象完成的。在接收数据前,通常需要生成一个DatagramPacket对象,给出数据字节数组及其长度。
2024-04-08 22:08:57 241 1
原创 ping命令返回无法访问目标主机和请求超时浅析
在日常经常用ping命令测试网络是否通信正常,使用ping命令时也经常会遇到这两种情况,那么表示网络出现了问题。
2024-04-08 21:55:36 852
原创 cmd窗口运行jar程序,点击一下cmd窗口后java程序就暂停了
cmd窗口运行jar程序时,在cmd窗口点击了一下,如果你选中了(页面会有个白色的选中内容),java程序就会暂停,这是只有按一下鼠标右键或着Ctrl+C才能取消选中,程序才会继续运行,如果java程序在windwos环境运行在cmd窗口,误操作点了一下cmd界面,就会导致java程序暂停,出现莫名其妙的问题,非常的难受。
2024-03-22 17:07:01 185
原创 Mysql中用户密码修改
请确保已使用root或其他拥有足够权限的用户登录MySQL,对于MySQL 5.7.6及以上版本或者MariaDB 10.1.20及以上版本。
2024-03-20 21:00:00 274
原创 win10环境下双网卡双网关故障分析
在windows环境下,一台电脑有2个网卡,对其分别配置IP和网关,容易出现网络不稳定的现象,通信时通时断。
2024-03-20 16:33:27 236
原创 springboot、spring-kafka、kafka-client的版本对应关系
在使用springboot集成kafka的时候需要注意springboot版本、引用的依赖spring-kafka版本和kafka中间件版本的对应关系,否则可能会因为版本不兼容导致出现错误。
2024-01-05 19:30:00 1704
原创 linux之tcpdump命令
在日常系统维护中,遇到需要抓包的需求,下面对linux环境使用tcpdump命令进行抓包进行分析记录。tcpdump命令可用抓取流动在网卡上的数据包。
2023-12-04 18:20:58 641
原创 MybatisPlus之新增操作并返回主键ID
在应用mybatisplus持久层框架的项目中,经常遇到执行新增操作后需要获取主键ID的场景,下面将分析及测试过程记录分享出来。
2023-11-08 21:51:07 4213
原创 Call to ‘printStackTrace()‘ should probably be replaced with more robust logging
在idea中提示Call to ‘printStackTrace()’ should probably be replaced with more robust logging,意为避免printStackTrace();改用logging器调用。
2023-09-21 21:00:00 6194
原创 Mysql之规范那些事
有些知识时间长了就会忘,忘了就再次翻看,所谓学而时习之,温故而知新。下面参考网上大佬博文,再次梳理学习,并将整理内容记录下来。
2023-08-31 19:00:00 411
原创 信创国产系统麒麟arm架构中nginx安装过程
在事业单位或国企,信创项目在步步推进,下面将在国产系统通信arm架构中nginx的安装过程记录分享出来,希望帮助到有需要的小伙伴。
2023-08-25 19:30:00 3441
原创 springboot之@Async异步定时任务自定义线程池
Async是一个注解,其作用就是加上该注解的类或方法能够异步执行任务,该注解添加到方法上时,表示该方法是异步方法,添加到类上时,表示该类中的所有方法都是异步方法。当在使用@Async时,如果不指定具体的线程池名称,那么其使用的是默认线程池SimpleAsyncTaskExecutor。核心线程数:8容量:Integer.MAX_VALUE最大线程数:Integer.MAX_VALUE空闲线程存活时间:60s允许核心线程超时:true。
2023-08-23 19:00:00 1010
原创 Mybatis之执行插入语句后返回主键id的三种方式
在工程应用中,通常会遇到多表更新操作,在集成mybatis中需要在执行插入语句后返回主键id进行后续的表更新操作,下面对其实现的方式记录分享出来,以应对不同的应用场景。
2023-08-21 22:34:16 6600
原创 springboot+mybatis-flex初体验
Mybatis-Flex 是一个优雅的 Mybatis 增强框架,它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用 Mybaits-Flex 链接任何数据库,其内置的 QueryWrapper 亮点帮助我们极大的减少了 SQL 编写的工作的同时,减少出错的可能性。(官网地址:https://mybatis-flex.com/)总而言之,MyBatis-Flex 能够极大地提高我们的开发效率和开发体验,让我们有更多的时间专注于自己的事情。
2023-07-31 19:30:00 2064 2
原创 Mybatis中where 1=1 浅析
在一些集成mybatis的工程中经常看到where1=1 的代码,也有同事问我,这样写有什么用,下面对其进行简单的分析记录一下。
2023-07-28 19:00:00 1045
原创 springboot+mybatis-plus实现自动建表
好长时间没输出了,最近工作上也是太多事,领导动不动就拍脑门,那叫一个酸爽~工作能力的提现不但是技术或解决问题的能力上,还体现在要能立刻满足领导的各种需求,不管是哪方面的需求,这样才能够拍上马屁,步步高升。言归正传,作为技术从业者,还是要多深耕技术。有小伙伴问,在springboot工程中,持久层采用的mybatis框架,如何能够自动建表,一个团队中各个小伙伴针对新增需求会添加或修改表,但各自调试时,数据库表更新又不及时,造成很大不便。
2023-07-18 20:43:21 8675 2
原创 springboot+shiro+redis实现session共享和cache共享
在分布式应用中,若是使用了负载均衡,用户第一次访问,连接的A服务器,进行了登录操作进入了系统,当用户再次操作时,请求被转发到了B服务器,用户并没有在B进行登录,此时用户又来到了登录页面,这是难以理解和接受的,这就引出了session共享。对于shiro安全框架如何实现session共享?shiro共享分为两方面,一个是session共享,一个是cache共享。下面聊聊在springboot工程中整合shiro框架,并通过redis实现session共享和cache共享。
2023-06-26 19:00:00 2263 1
原创 springboot集成redis集群实现集群拓扑动态刷新
一个redis-cluster的三主三从集群,在其中一个master节点挂了之后,springboot集成redis集群配置信息没有及时刷新,出现读取操作报错。下面聊聊如何实现springboot集成redis集群实现集群拓扑动态刷新。
2023-06-16 22:31:51 4130
原创 ubuntu环境下开启定时任务crontab
在工程化过程中遇到一个需求,需要在ubuntu环境下开启一个定时任务,定时执行sh脚本,下面参考网上的解决方案记录如下。
2023-06-12 21:16:58 9898
原创 高可用性和双机热备浅析
在用户眼里,业务需要永远正常对外提供服务,这就要求应用系统的高可用(High availability,即 HA)。高可用主要是针对架构而言,第一步一般会采用分层的思想将一个庞大的应用系统拆分成应用层、中间件、数据存储层等独立的层,每一层再拆分成更细粒度的组件;第二步就是让每个组件对外提供服务,毕竟每个组件都不是孤立存在的,都需要互相协作,对外提供服务才有意义;第三步就是保证架构中所有组件以及对外暴露服务都要做到高可用,任何一个组件或其服务没做高可用,都意味着系统存在风险。
2023-05-30 20:30:00 1369
原创 Redis之高可用方案浅析
redis集群是一种通过将多个redis节点连接在一起以实现高可用性数据分片和负载均衡的技术。根据搭建的方式和集群的特性,redis集群主要有三种模式:主从复制Master-Slave模式、哨兵Sentinel模式和集群Cluster模式。容灾恢复:在哨兵模式下,redis集群可以在主节点出现故障时,快速切换到从节点,实现业务的无缝切换;高可用性:在cluster模式下,redis集群可以在某个节点发生故障时,自动进行故障转移,保证服务的持续可用;
2023-05-29 22:25:30 704 1
原创 Mysql之高可用方案浅析
在工程项目中,系统应用的高可用性越来越重要,业主越来越重视。其实高可用可以分为应用层高可用和数据层高可用,数据层高可用中常见的有关系型数据库mysql的高可用、非关系型NoSQl数据库redis的高可用等,下面聊聊典型的关系型数据库mysql的高可用方案。
2023-05-27 22:05:06 2783 1
原创 springboot+mybatis+redis实现二级缓存
Mybatis提供了对缓存的支持,分为一级缓存和二级缓存,其查询顺序为:二级缓存>一级缓存->数据库,最原始是直接查询数据库,为了提高效率和节省资源,引入了一级缓存,为了进一步提高效率,引入了二级缓存。Mybatis一级缓存是sqlSession级别的缓存,缓存的数据只在sqlSession内有效。Mybatis二级缓存是mapper级别的缓存,同一个namespace公用这一个缓存,对sqlSession是共享的。
2023-05-16 19:00:00 1740 3
原创 idea中统计工程项目代码量
在工程应用中,有人会问你们写的应用系统的代码量是多少?额额,这个…下面就聊聊在idea工具中统计工程项目的代码量。
2023-05-10 22:10:30 22761 2
原创 springboot+mybatis搭建maven多模块工程
最近看了一篇博客,选定springboot+mybatis作为框架,在idea中搭建maven的多模块工程,下面也再温习一下,并将搭建过程分享出来,供小伙伴们参考。
2023-05-06 22:15:00 1855
原创 springboot中统一功能处理浅析
在springboot工程中实现统一功能的处理,主要分析以下3个统一功能场景:1、统一用户登录权限验证2、统一数据格式返回3、统一异常处理。
2023-04-24 20:00:00 697
原创 springboot中生成csv文件浅析
实现万能的工具类生成csv文件,当不确定类的集合list时,通过反射取出里面的属性名,做第一行表格行标题;通过反射吧类全部字段属性作为key放到map里,同时把值放到value里。
2023-04-17 21:41:33 803
原创 ps -aux命令
ps命令是最基本的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等。ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。
2023-04-14 20:00:00 2118
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人