之前在做网盘系统有这么一个需求,根据上传文件的类型,来选择上传服务器的位置。
理解线程池 ThreadPoolExecutor 参数和任务拒绝策略
在当今高度并发的软件开发世界中,多线程编程已成为必不可少的一部分。然而,多线程编程不仅提供了性能的提升,同时也带来了复杂性和挑战。想象一下,在一个需要同时处理数百甚至上千个任务的应用中,如何高效地管理线程、避免资源耗尽以及应对任务提交高峰。这就是线程池作为一种解决方案的价值所在。
Sleep 和 Wait 的区别、比较与简单使用
sleep()
和wait()
都是与线程(或进程)等待(休眠)一段时间相关的操作,且 sleep() 和 wait() 方法都可以响应 interrupt 中断,也就是线程在休眠的过程中,如果收到中断信号,都可以进行响应,并抛出 InterruptedException 异常。让我们来看看它们的不同之处。理解 SQL 注入及使用 JDBC 防止 SQL 注入
当开发人员构建与数据库交互的应用程序时,安全性是至关重要的。其中一个常见的安全威胁是SQL注入攻击。在本文中,我们将深入探讨什么是 SQL 注入,以及如何使用 Java JDBC (Java 数据库连接)技术来有效地防止 SQL 注入攻击。
Spring 工具类的 Stopwatch 计时的简单使用
我们在计算某个代码块或某个方法的具体执行时间/速度时,一般方法是获取执行前后的时间戳,并计算差值得到结果。但这种方式并不优雅,在同时计算多个代码块或一些方法的执行时间/速度时,由于可读性较差,可能引起错读而写出办法,写多了也比较烦人。本文将使用 Spring-Framework 的 StopWatch 类,优雅且便利的实现相同效果。
Redis 基本命令和使用
Redis(REmote DIctionary Server)是一个开源的内存数据存储系统,常用作数据库、缓存和消息中间件。它具有高性能、灵活性和可扩展性,被广泛应用于各种应用程序和系统中。
关于 Java 去重业务的优化
最近 review 公司代码,发现在一个导入 Excel 文档去重业务上,使用的是 List
.Contain(T) 方法。性能和效率双低,所以来实现一下优化一下代码。 Docker安装部署
Docker 是一种开源的容器化平台,它可以帮助开发者将应用程序及其依赖项打包成一个可移植的容器。Docker 容器是一个轻量级的独立环境,可以在任何支持 Docker 的系统上运行,例如本地开发机、云服务器或者数据中心。
JWT 的简单使用
JSON Web Token(JWT)是一个轻量级的认证规范,这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。其本质是一个token,是一种紧凑的URL安全方法,用于在网络通信的双方之间传递。
优化 Java 表单验证
最近在 review 公司项目的时候,发现系统的用户账号密码表单验证做的不是很好,本文将一起来探讨如何通过合理的设计和有效的技术来实现账号密码表单验证的需求。