目录一、摘要二、方法实践2.1、assembly插件2.2、shade插件2.3、Fatjar打包工具(eclipse插件)三、小结一、摘要在项目开发过程中,我们经常需要将一些公共方法提取出来,然后单独封装成一个第三方公共jar包,采用普通的方式打包后的jar,依赖的工程执行编译时,却提示找不到对应的依赖包,那么如何将工程打包为可执行jar包呢?下面向大家介 ......
388
0
0
2023-06-05
目录前言案例演示和execute区别原理实现RunnableFuture类介绍任务执行run()原理任务结果获取get()原理任务取消cancel()原理总结前言Java线程池中提交任务运行,通常使用execute()方法就足够了。那如果想要实现在主线程中阻塞获取线程池任务运行的结果,该怎么办呢?答案是用submit()方法提交任务。这也是面试中经常被问到的 ......
269
0
0
2023-06-05
我们平时在开发部署 Node.js 应用的过程中,对于应用进程启动的耗时很少有人会关注,大多数的应用 5 分钟左右就可以启动完成,这个过程中会涉及到和集团很多系统的交互,这个耗时看起来也没有什么问题。目前,集团 Serverless 大潮已至,Node.js serverless-runtime 作为前端新研发模式的基石,也发展的如火如荼。Serverle ......
317
0
0
2023-06-05
1. 前言工作中有可能遇到 Java .lang. OutOfMemory Error: Java heap space 内存溢出异常, 本文提供一些内存溢出的分析及解决问题的思路. 常见异常如下: 2022-01-31 16:07:29.639 ERROR 1981 --- [http-nio-8080-exec-4] o.a.c.c.C.[.[.[/] ......
380
0
0
2023-06-05
1)接口默认方法和 静态方法 Java 8用默认方法与静态方法这两个新概念来扩展接口的声明。与传统的接口又有些不一样,它允许在已有的接口中添加新方法,而同时又保持了与旧版本代码的兼容性。 1.接口默认方法 默认方法与抽象方法不同之处在于抽象方法必须要求实现,但是默认方法则没有这个要求。相反,每个接口都必须提供一个所谓的默认实现,这样所有的接口实现者将会默认继 ......
285
0
0
2023-06-05
【 文章主体共计2102字,阅读约需5分钟,其中涉及异常定位思路,建议先收藏再看。 】 引言 GC是 java 服务端开发过程中所必须关注的一个重要环节。但遗憾的是,往往很多人会等线上真的出现问题以后,才会关注GC调优的问题。当然,这样的做法是不可取的,良好的监控,及时预警,一旦发现GC性能恶化,及时调优,才能避免线上问题出现。 本文将描述一个 ......
293
0
0
2023-06-05
《Java NIO文档》非阻塞式服务器原文连接 原文作者:Jakob Jenkov 译者:higher即使你知道Java NIO 非阻塞的工作特性(如Selector,Channel,Buffer等组件),但是想要设计一个非阻塞的服务器仍然是一件很困难的事。非阻塞式服务器相较于阻塞式来说要多上许多挑战。本文将会讨论非阻塞式服务器的主要几个难题,并针对这些难题 ......
267
0
0
2023-06-04
目录0. 引言1. 思路2. 实操2.1 实现文件上传实时进度条功能2.2 实现文件下载实时进度条功能3. 项目源码4. 总结0. 引言记得刚入行的时候,做了一个文件上传的功能,因为上传时间较久,为了用户友好性,想要添加一个实时进度条,显示进度。奈何当时技术有限,查了许久也没用找到解决方案,最后不了了之。近来偶然想到这个问题,于是决定整理一下实现方式,也为和 ......
497
0
0
2023-06-04
文章目录 :partly_sunny:跨域的解决方法 :hourglass_flowing_sand:安装Live Server 为html开启端口启动 三、跨域问题的解决方案 :black_nib: Spring Boot 跨域解决方案:hotsprings:SpringCloud Alibaba Gateway 跨域解决方案 一、什么是跨 ......
349
0
0
2023-06-04
目录一、题目描述二、解题思路三、代码详解一、题目描述题目实现:使用网络编程时,需要通过Socket传递图片。二、解题思路创建一个服务器类:ServerSocketFrame,继承JFrame类写一个getserver() 方法,实例化Socket对象,启用9527当服务的端口。创建输入流对象,用来接收客户端信息。再定义一个getClientInfo()方法, ......
261
0
0
2023-06-04
目录前言JDK线程池一瞥自己动手实现线程池线程池参数介绍实现Runnable实现Callable拒绝策略的实现线程池关闭实现工作线程的工作实现线程池实现的BUG完整代码线程池测试总结前言在前面的文章自己动手写乞丐版线程池中,我们写了一个非常简单的线程池实现,这个只是一个非常简单的实现,在本篇文章当中我们将要实现一个和JDK内部实现的线程池非常相似的线程池。J ......
305
0
0
2023-06-04
java操作系统底层Sytem类: System类代表当前Java程序的运行平台,程序不能创建System类的对象,System类提供了一些类Field和类方法,允许直接通过System类来调用这些Field和方法。System类提供了代表标准输入、标准输出和错误输出的类Field,并提供了一些静态方法用于访问 环境变量 、系统属性的方法,还提供了加载文 ......
241
0
0
2023-06-04
1. 一些数据 大家还记得2013年的 小米 秒杀吗?三款小米手机各11万台开卖,走的都是大秒系统,3分钟后成为双十一第一家也是最快破亿的旗舰店。经过日志统计,前端系统双11峰值有效请求约60w以上的QPS ,而后端cache的集群峰值近2000w/s、单机也近30w/s,但到真正的写时流量要小很多了,当时最高下单减库存tps是红米创造,达到1500/s。 ......
257
0
0
2023-06-04
1、登录注册思路 1.1、思路 注册:通过输入的邮箱发送验证码,检验前端传来的验证码是否和后台生成的一致,若一致,将数据写入数据库,完成注册; 登录:通过输入的邮箱查询密码,然后比较密码是否一致,一致就是登录成功。 1.2、整个项目结构图 2、准备 2.1、开启邮箱POP3/SMTP服务 登录qq邮箱后,点击左上方的设置,选择账户,如下图。 然后一直往下 ......
327
0
0
2023-06-04
volatile修饰符并不是Java语言首创,早在C和C++当中就已经存在。在讲解Java的volatile关键字之前,有必要先了解一下Java的内存模型。Java内存模型简称 JMM (Java Memory Model),是Java虚拟机所定义的一种抽象规范,用来屏蔽不同硬件和操作系统的内存访问差异,让java程序在各种平台下都能达到一致的内存访问效果。 ......
274
0
0
2023-06-04