
Java 的可重入锁和不可重入锁
可重入锁又名递归锁,是指在同一个线程在外层方法获取锁的时候,再进入该线程的内层方法会自动获取锁(前提锁对象得是同一个对象或者class),不会因为之前已经获取过还没释放而阻塞。Java中Reentra...
阅读全文

如何避免并发情况下的重复提交
在业务开发中,我们常会面对防止重复请求的问题。当服务端对于请求的响应涉及数据的修改,或状态的变更时,可能会造成极大的危害。重复请求的后果在交易系统、售后维权,以及支付系统中尤其严重。 在传统的rest...
阅读全文

SpringBoot 使用拦截器实现自定义注解
在SpringBoot中,我们可以使用自定义注解来实现很多功能,比如权限控制,一般只需要四步就可以实现自定义注解。今天,我们就来简单总结一下SpringBoot实现自定义注解的方法。 业务场景:现在我...
阅读全文

Java 中堆内存和栈内存详解
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空...
阅读全文

SpringBoot 实现热部署
Java开发不同于php、python等, 每修改一个地方都需要重启服务器才能生效, 哪怕是html静态页面也需要重启, 这样的话效率就会很低,严重耽误时间,所以利用热部署配置来解决这个问题, 即修改...
阅读全文

Maven 项目转换为 Gradle 项目
和Ant和Maven一样,Gradle是一款非常优秀的项目构建工具,可以用来快速构建JAVA Project,Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工...
阅读全文

关于 java 线程池的利与弊、优化等的见解
合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:减少系统对于,外部 服务的响应时间的等待。第三:提高线程的可管理性。线程是稀缺资源,如果...
阅读全文

Java 线程池的配置
合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:减少系统对于,外部 服务的响应时间的等待。第三:提高线程的可管理性。线程是稀缺资源,如果...
阅读全文

java中创建对象的方式
Java是一种面向对象的程序设计语言(Object Oriented Programming:OOP),面向对象的程序设计语言中有类和对象的概念,对象就是一个真实世界中的实体,对象与实体是一一对应关系...
阅读全文

如何生成及运行.jar格式的文件
.jar格式的文件在我们日常的开发工作中会经常用到,本文简单介绍如何生成.jar格式的文件以及如何在Linux环境中运行。 1、如何生成jar文件 在Eclipse中,可以通过右键点击工程->R...
阅读全文