![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java高级
文章平均质量分 76
虞泽
一只渴望成为技术大牛的菜鸟程序员
展开
-
Java如何设置Map过期时间的的几种方法
ExpiringMap具有高性能、低开销、零依赖、线程安全、使用 ConcurrentMap 的实现过期 entries 等优点。设置 Map 中的 Entry 在一段时间后自动过期。设置 Map 最大容纳值,当到达 Max size 后,再次插入值会导致 Map 中的第一个值过期。设置 添加监听事件,在监听到 Entry 过期时调度监听函数。设置懒加载,在调用 get() 方法时创建对象。允许您了解条目预计何时过期。原创 2024-06-24 16:13:55 · 1186 阅读 · 0 评论 -
GraalVM详细安装及打包springboot、java、javafx使用教程(打包springboot3篇)
在当前多元化开发环境下,Java作为一种广泛应用的编程语言,其应用部署效率与灵活性的重要性日益凸显。Spring Boot框架以其简洁的配置和强大的功能深受开发者喜爱,而JavaFX则为开发者提供了构建丰富桌面客户端应用的能力。然而,将Spring Boot后端服务与JavaFX前端界面整合并实现高效部署,对许多开发者来说是一项挑战。GraalVM的出现,恰好解决了这一难题。原创 2024-03-22 10:25:06 · 1107 阅读 · 2 评论 -
GraalVM详细安装及打包springboot、java、javafx使用教程(打包springboot2篇)
在当前多元化开发环境下,Java作为一种广泛应用的编程语言,其应用部署效率与灵活性的重要性日益凸显。Spring Boot框架以其简洁的配置和强大的功能深受开发者喜爱,而JavaFX则为开发者提供了构建丰富桌面客户端应用的能力。然而,将Spring Boot后端服务与JavaFX前端界面整合并实现高效部署,对许多开发者来说是一项挑战。GraalVM的出现,恰好解决了这一难题。原创 2024-03-22 10:08:51 · 1226 阅读 · 0 评论 -
GraalVM详细安装及打包springboot、java、javafx使用教程(打包javafx项目篇)
在当前多元化开发环境下,Java作为一种广泛应用的编程语言,其应用部署效率与灵活性的重要性日益凸显。Spring Boot框架以其简洁的配置和强大的功能深受开发者喜爱,而JavaFX则为开发者提供了构建丰富桌面客户端应用的能力。然而,将Spring Boot后端服务与JavaFX前端界面整合并实现高效部署,对许多开发者来说是一项挑战。GraalVM的出现,恰好解决了这一难题。原创 2024-03-21 17:03:05 · 784 阅读 · 2 评论 -
GraalVM详细安装及打包springboot、java、javafx使用教程(打包普通JAVA项目篇)
在当前多元化开发环境下,Java作为一种广泛应用的编程语言,其应用部署效率与灵活性的重要性日益凸显。Spring Boot框架以其简洁的配置和强大的功能深受开发者喜爱,而JavaFX则为开发者提供了构建丰富桌面客户端应用的能力。然而,将Spring Boot后端服务与JavaFX前端界面整合并实现高效部署,对许多开发者来说是一项挑战。GraalVM的出现,恰好解决了这一难题。原创 2024-03-21 16:21:51 · 1719 阅读 · 0 评论 -
GraalVM详细安装及打包springboot、java、javafx使用教程(环境安装篇)
GraalVM是一款由Oracle公司开发的一款具有高效性能、降低基础设施成本、支持Java发展、与其他编程语言无缝集成、创建本机镜像等优点的跨平台虚拟机。它支持多种编程语言,如Java、JavaScript、Ruby和Python等,旨在提高开发效率和应用程序的性能。GraalVM是它对未来的影响主要体现在加速人工智能应用、促进应用安全性的提高和推动跨平台技术的发展等方面。GraalVM的出现将使得开发者可以更加灵活地编写和部署应用程序,从而推动软件技术的发展。原创 2024-03-21 15:33:39 · 2228 阅读 · 0 评论 -
优雅的替代System.currentTimeMillis() 统计代码耗时
优雅的替代System.currentTimeMillis() 统计代码耗时原创 2023-12-28 14:11:23 · 552 阅读 · 1 评论 -
Docker从入门到实战
v 后的内容就是指挂载内容,ro指的是主机可修改,但是容器内部不能修改。rw指的是容器内部也可以改。redis-server /etc/redis/redis.conf 指的是启动redis的命令。最后的. 表示基础目录是本目录,这里和dockerfile中的Copy命令 后面的参数相对应。装好Docker,然后去 软件市场 寻找镜像,下载并运行,查看容器状态日志等排错。所有机器都安装Docker,任何应用都是镜像,所有机器都可以运行。目的是将docker容器中的某个目录,挂载到主机的某个目录。原创 2023-10-24 10:45:54 · 260 阅读 · 0 评论 -
CentOS7在线安装MySQL新手小白教程
其中‘new password’替换成你要设置的密码,注意:密码设置必须要大小写字母数字和特殊符号(,/’;:等),不然不能配置成功,当然可以把密码校验给干掉。保存更改后的my.cnf文件后,重启下mysql,然后输入status再次查看,你就会发现已经改变了。因此我们先退出mysql,然后再到etc目录下的my.cnf文件下修改一下文件内容。使用命令连接数据库,会让我们输入密码,密码就是上一步获取的。使用上面的命令下载安装用的Yum Repository。测试成功,mysql就安装成功啦。原创 2023-07-07 10:44:35 · 1018 阅读 · 0 评论 -
NIO、Channel、网络编程从小白到熟练使用
一. NIO 基础non-blocking io 非阻塞 IO1. 三大组件1.1 Channel & Bufferchannel 有一点类似于 stream,它就是读写数据的双向通道,可以从 channel 将数据读入 buffer,也可以将 buffer 的数据写入 channel,而之前的 stream 要么是输入,要么是输出,channel 比 stream 更为底层#mermaid-svg-sRXUpewQsND042DN {font-family:"trebuchet ms",原创 2022-05-04 14:07:14 · 360 阅读 · 0 评论 -
centos7快速安装Maven
一 、下载mavenwget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz二、解压tar -zxvf apache-maven-3.6.3-bin.tar.gz三 、配置环境变量vi /etc/profile#你的maven路径MAVEN_HOME=/opt/maven/apache-maven-3.6.1export原创 2021-09-24 17:06:22 · 173 阅读 · 0 评论 -
java实现小程序订阅消息推送(附源码)
文章目录前言一、什么是消息推送二、获取模板ID三、获取access_token四、发送消息五、完整的代码总结前言最近做项目时需要做个小程序的消息推送,所以在这里记录分享一下实现过程一、什么是消息推送↓↓↓↓官方文档小程序提供了多种消息方式,一般常用的是模板消息和订阅消息,但是模板消息推送,在2020年1月10日下线,所以我们就是用使用订阅消息了。功能介绍消息能力是小程序能力中的重要组成,我们为开发者提供了订阅消息能力,以便实现服务的闭环和更优的体验。订阅消息推送位置:服务通知订阅消原创 2021-08-27 10:54:13 · 7132 阅读 · 19 评论 -
java把图片url地址转为图片文件并打包压缩下载
序言:最近做项目时遇到一个需求就是把上传到oss上的图片批量压缩下载,众所周知,上传到oss的图片返回保存的是url地址,而url是无法直接下载成图片的,所有中间需要转一下。下面是我写的一个工具类,纯java操作,不依赖第三方jar有需要的朋友可以参考一下,大佬请轻喷,大家有什么更好的办法请多多指教。1.getFile方法:url转为文件/** * 网络url转为文件 * @param url * @return * @throws Exception原创 2021-07-29 16:16:14 · 3347 阅读 · 4 评论 -
mybatis一对多的分页查询数据缺少问题,保证能解决!!!
问题描述:最近做项目时使用mybatisplus的分页插件自定义sql时,一对多分页查询出现数据的total数量正确而数据却少了几条。原因一:原因二:如果多表(包括了关系表)级联查询,主表和明细表的主键都是id的话,明细表的多条数据只能查询出来第一条/最后一条数据。这是因为主表和明细表的id字段名相同造成的。 问题的关键在于resultMap中如果不定义类似主键之类的能够区分每一条结果集的字段的话,会引起后面一条数据覆盖前面一条数据的现象。这是我之前的映射关系解决方法一:修改主表或者明细原创 2021-07-06 14:43:19 · 3021 阅读 · 0 评论 -
Object划分,VO、DAO、PO、DTO、TO等
Object划分前言:在项目开发中为了我们的项目更清晰的分层,我们把每种不同的对象,按照他的功能进行了一些划分,下面给大家介绍一下Java中常用的对象划分1.PO(persistant Object) 持久对象PO 就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。例如,每一个entity对应的就是数据库中的一张表,一个entity对象对应的就是数据库中的一条记录2.DO(Domain Object) 领域对象就是从现实世界抽取出来的有形无形原创 2021-01-12 12:36:31 · 354 阅读 · 0 评论 -
多线程下List不安全解决办法
多线程下List不安全解决办法示例: public static void main(String[] args) { List<String> list = new CopyOnWriteArrayList<>(); for (int i = 0; i <=30 ; i++) { new Thread( () -> { list.add(UUID.randomUUID().t原创 2020-12-31 11:09:06 · 313 阅读 · 1 评论 -
多线程编程企业级写法(多线程卖票)
题目: 三个售票员 卖出 100张票方法:在高内聚低耦合的前提下,线程 操作(方法) 资源类1.资源类class Ticket{ private Integer nunber = 100; private Lock lock = new ReentrantLock(); //2方法 public void saleTicket(){ lock.lock(); try { if (原创 2020-12-29 11:45:59 · 174 阅读 · 1 评论 -
如何更新jenkins(linux版)
jenkins用着用着要安装jenkins插件时各种安装不上并提示更新版本,而且是必须更新jenkins版本,那我们就来更新吧1.快速获取jenkins.war在jenkins首页点击下载按钮,就能直接得到新版的jenkins.war2.找到jenkins.war存放位置rpm -ql jenkinscd /usr/lib/jenkins3.备份mv jenkins.war /usr/local/src/4.上传下载的war到/usr/lib/jenkins5.重启jenkin原创 2020-12-07 15:20:22 · 3637 阅读 · 0 评论 -
如何干净的卸载jenkins
这里使用一种最方便的卸载方法,因为我这里jenkins安装也是使用rpm命令安装的1、rpm形式卸载rpm -e jenkins2、检查是否卸载成功rpm -ql jenkins3、彻底删除残留文件find / -iname jenkins | xargs -n 1000 rm -rf...原创 2020-12-07 15:01:48 · 2386 阅读 · 2 评论 -
如何在CentOS安装jenkins
前提:jenkins因为是java语言所编写的,所以需要java环境支持1.安装jdk也就很简单的几步这里我懒得再写一次了所以可以参考我另一篇博客:快速安装jdk2.获取jenkins安装包在官网下载有点慢,所有为了方便可爱的读者盆友,我这提供了我百度云盘的下载地址:提取码: 0cxj百度云下载官方下载页面https://jenkins.io/zh/download/安装文件:jenkins-2.190.3-1.1.noarch.rpm3.把安装包上传到自己服务器,进行安装rpm原创 2020-12-07 14:56:06 · 978 阅读 · 0 评论 -
java计算年龄以xx年xx月xx日输出
/** * 根据日期计算年龄 * @param birthDay * @return * @throws Exception */ public static String getAgeByBirth(Date birthDay){ //如果有空格 int index = date.indexOf(" "); if (index != -1){ date = date.su.原创 2020-11-24 15:15:23 · 574 阅读 · 0 评论