代码编织梦想

countdownlatch、cyclicbarrier、semaphore案例_countdownlatch 强制减为0-爱代码爱编程

一、CountDownLatch 1、定义 CountDownLatch是一个同步工具类,它通过一个计数器来实现的,初始值为线程的数量。每当一个线程完成了自己的任务,计数器的值就相应得减1。当计数器到达0时,表示所有的线程都已执行完毕,然后在等待的线程就可以恢复执行任务。 2、方法详解 CountDownLatch(int count

java实现延时处理_java 接口数据延迟怎么处理-爱代码爱编程

业务场景: 1、生成订单30分钟未支付,则自动取消,我们该怎么实现呢? 2、生成订单60秒后,给用户发短信 延时任务和定时任务的区别: 定时任务有明确的触发时间,延时任务没有; 定时任务有执行周期,而延时任务在某事件触发后一段时间内执行,没有执行周期; 定时任务一般执行的是批处理操作是多个任务,而延时任务一般是单个任务。 实现方

阻塞队列blockingqueue_blockingqueue remove失败-爱代码爱编程

一、概念 阻塞队列:从名字可以看出,他也是队列的一种,那么他肯定是一个先进先出(FIFO)的数据结构。与普通队列不同的是,它支持两个附加操作,即阻塞添加和阻塞删除方法。 如上图,线程1往阻塞队列中添加元素,而线程2从阻塞队列中移除元素。而在这一系列操作必须符合以下规定: 阻塞添加

java线程池的基本工作原理及案例-爱代码爱编程

一、线程池的优点 线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量超出数量的线程排队等候,等其它线程执行完毕,再从队列中取出任务来执行。 主要特点:线程复用;控制最大并发数;管理线程。 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。

死锁编码及定位分析_死锁代码定位到哪一行-爱代码爱编程

一、死锁 死锁是指两个或两个以上进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力干涉它们都将无法推进下去。 二、死锁代码案例 import java.util.concurrent.TimeUnit; public class HoldLockThreadTes

使用java开发连接钉钉应用实现钉钉通知的功能_java钉钉通知-爱代码爱编程

一、分配子管理员权限(可不分配) 钉钉开放平台:钉钉开放平台 (dingtalk.com) ​ ​ 按照操作步骤为开发者添加开发者权限,开发者可登陆自己账号查看相关应用信息。 二、创建应用 开发者后台:开发者后台 (dingtalk.com) ​ 无权限则无法创建应用(可管理员操作后只使用应用相关参数): ​ 1、创建应用: ​  

leetcode刷题总结文档-爱代码爱编程

前言 本文的刷题顺序依照代码随想录进行,因此题目板块的划分也和代码随想录一致。每个版块我会按照以下内容进行组织: 该类型题目的特征时间复杂度值得一讲的相关题目知识 文章目录 前言正文数组二分查找移

瑞吉外卖项目实践(个人精简升级版)_瑞吉外卖项目实验报告-爱代码爱编程

前言 本次实践旨在提高自己在以下方面的动手能力: Spring,SpringMVC,SpringBootMybatis,MybatisPlusIO,并发式编程 因此,在原有项目需求上,会有以下方面的额外考量: 参照S

spring获取bean实例最佳方式-爱代码爱编程

创建一个工具类SpringContextUtil,通过实现Spring中的ApplicationContextAware接口 import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.

java判断当前操作系统类型并执行相关命令_java判断当前系统-爱代码爱编程

一、获取当前操作系统类型:System.getProperty("os.name") 不同的操作系统执行不同命令: windows执行命令:license_windows.exe(当前目录下) linux执行命令:./lib/license_linux(指定目录下) // 所执行的命令 String cmds = "

midp2.0手机上的手电筒程序(附代码)_idea 手机手电筒 代码-爱代码爱编程

MIDP2.0手机上的手电筒程序(附代码) 作者:陈跃峰 出自:http://blog.csdn.net/mailbomb          可以在所有支持MIDP2.0版本的手机上运行的手电筒程序。程序实现的原理是:利用Display对象来实现对于手机背景等的控制,在该系列的手机中只能实现闪烁背景灯的功能。实现代码如下: //文件名:LightM

java微服务多主机搭建尝试_微服务的服务器需要几台-爱代码爱编程

前言 本文旨在利用两台云服务器实践各种技术栈的分布式部署,仍以酒店展示与酒店管理项目为主体,但进行了分布式拓展,因此架构如下图所示: Let’s do it! 非局域网间使用swarm配置overlay进行容器通信的

远程debug调试_如何远程debug-爱代码爱编程

一、IDEA构建SpringBoot测试Demo 只需要web依赖支持即可,本次使用的版本选用2.5.10。 1、项目配置支持远程调试 pom.xml里配置jvmArguments参数: -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n; 添加此配置后,打包

nokia系列手机上的一个手电筒j2me程序(附源代码)-爱代码爱编程

Nokia系列手机上的一个手电筒程序(附源代码) 作者:陈跃峰 出自:http://blog.csdn.net/mailbomb        在晚上的楼梯上,没有灯时,很多人需要用手机来照明,所以就有了这个简单的手电筒程序。程序利用的是Nokia UI API中提供的功能实现,程序在Nokia 6020上测试通过。具体的源代码如下: //文件名:

多数据源配置_com.baomidou 多数据源-爱代码爱编程

一、SpringBoot使用MyBatisPlus配置 1、baomidou动态数据源(@DS) 思路:   1、引入依赖        2、修改Application.yml,配置多个数据源信息   3、使用@DS切换数据源 1.1、引入依赖 <!-- https://mvnrepository.com/artifact/com.ba

用户角色权限、按钮控制功表及返回数据格式[email protected]爱代码爱编程

1、表结构 1.1 用户表system_user CREATE TABLE `system_user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID', `username` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMM

localdate与date介绍与转换_localdate转换成date-爱代码爱编程

一、介绍 java.util.Date和SimpleDateFormatter都不是线程安全的,而LocalDate和LocalTime和最基本的String一样,是不变类型,不单线程安全,而且不能修改。 java.util.Date月份是从0开始,一月是0,十二月是11。 java.time.LocalDate月份和星期都改成了enum,就不可能再

java通过oshi获取系统和硬件信息_oshi java-爱代码爱编程

OSHI 是基于 JNA 的(本地)操作系统和硬件信息库。它不需要安装任何其他额外的本地库,旨在提供一种跨平台的实现来检索系统信息,例如操作系统版本、进程、内存和 CPU 使用率、磁盘和分区、设备、传感器等。 使用 OSHI 可以对应用程序进行监控,可以对应用程序所在的服务器资源进行监控,还可以监控到其他许多指标,如下: 1、计算机系统和固件,底板 2

list.stream()流_list的stream流-爱代码爱编程

List.stream() 各方法应用 jdk8新特性,string集合、integer集合均可随意转换成string。 List.Stream流,通过将集合转换为这么一种叫做 “流” 的元素序列,通过声明性方式,能够对集合中的每个元素进行一系列并行或串行的流水线操作。 函数式编程带来的好处尤为明显。这种代码更多地表达了业务逻辑的意图,而不是它的实现

java实践(三)-爱代码爱编程

以二进制格式读写数据 输入流:Java API可以从其中读入一个字节序列(二进制格式)的对象(抽象类InputStream)输出流:Java API可以向其中写入一个字节序列(二进制格式)的对象(抽象类OutputSt