electron导出excel前言最近在弄一个Electron小项目,需要生成并导出Excel文件,踩到了一些坑,记录一下,避免以后再翻车。正文eletron进程分为主进程和渲染进程,文件导出在两个进程中实现不一样,这里主要讲使用json导出excel,其他格式导出方法类似,话不多说,直接上代码 4月 29 前端►electron electron 评论
spring中发布订阅模式实践概述在实际开发中,经常会碰到要去解耦合一些依赖调用,比如单成功后会发送手机短信、发送绑定邮箱、数据库更新后通知发送mq等。而且通知这个操作又不希望强耦合在主业务流程中,这个时候我们很容易就想到了发布订阅(观察者)设计模式。首先看代码实现: 3月 22 Java框架►spring 设计模式 评论
Java基本容器底层原理分析概述容器主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表。 3月 12 Java基础►容器 Java 评论
Redis面试题归纳为什么使用 Redis在项目中使用 Redis,主要考虑两个角度:性能和并发。如果只是为了分布式锁这些其他功能,还有其他中间件 Zookpeer 等代替,并非一定要使用 Redis。性能:如下图所示,我们在碰到需要执行耗时特别久,且结果不频繁变动的 SQL,就特别适合将运行结果放入缓存。这样,后面的请求就去缓存中读取,使得请求能够迅速响应。特别是在秒杀系统,在同一时间,几乎所有人都在点,都在下单。。。执行的是同一操作———向数据库查数据。 3月 12 存储►redis redis 评论
Redis过期策略实现原理在使用redis时,一般会设置一个过期时间,当然也有不设置过期时间的,也就是永久不过期。当我们设置了过期时间,redis是如何判断是否过期,以及根据什么策略来进行删除的。 3月 5 存储►redis redis 评论
Java并发包原理剖析(二)CountDownLatch原理分析使用示例CountDownLatch 是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。在使用线程池的情况下提交任务的情况下,我们无法使用线程的join()方法,这就需要选择使用CountDowConLatch了。示例代码如下: 3月 2 Java基础►并发 AQS, JUC 评论
Java并发包原理剖析(一)AQS原理分析AQS 简单介绍AQS 的全称为(AbstractQueuedSynchronizer),这个类在 java.util.concurrent.locks 包下面。 3月 2 Java基础►并发 AQS, JUC 评论
InnoDB为什么要选择B+树来存储数据关于InnoDB索引,我们可能知道InnDB索引是用B+树实现的,而B+树就是一种能优化查询速度的数据结构。但我们又没想过这样一个问题,能优化查询速度的数据结构有很多,为什么InnoDB要采用B+树?常见优化查询速度数据结构 2月 27 存储►mysql B+Tree, InnoDB, mysql, 索引 评论