Loading...
"Articles"
"blog"
"Articles"
说说JAVA线程池 说说JAVA线程池

热门文章

说说JAVA线程池
线程池就是首先创建一些线程,它们的集合称为线程池。使用线程池可以很好地提高性能,线程池在系统启动时即创建大量空闲的线程,程序将一个任务传给线程池,线程池就会启动一条线程来执行这个任务,执行结束以后,该线程并不会死亡,而是再次返回线程池中成为空闲状态,等待执行下一个任务。
2020-01-02
Layui表单图片上传至七牛云 Layui表单图片上传至七牛云

热门文章

Layui表单图片上传至七牛云
这个主要是我在添加文章的时候要设置文章封面,所以我的想法就是异步上传图片再把文件地址回调到一个input中,最后提交的时候就提交图片地址。使SpringBoot的`@ConfigurationProperties`和`@Component`注解实现上传的配置类`UploadProperties`,因为上传配置可能会有本地上传和云上传或者其他上传的,所以该配置类我留了扩展点。因为受到了rabbitmq的配置类启发,而且上传的配置不会很多,所以用内部类来分割这种配置类。上传配置类如下:
2020-12-02
thymleaf就一定不能前后端分离吗? thymleaf就一定不能前后端分离吗?

热门文章

thymleaf就一定不能前后端分离吗?
这个博客项目虽然后台管理系统试用Layui写的,但前端页面基本是靠Thymleaf + SpringBoot实现的(其实是因为自己JS太菜了  (;¬_¬),但其实单人小项目这样挺方便的   )。在大家的印象中Thymleaf就是前后端连得死死的引擎模板,但其实Thymleaf也可以前后端分离,但比主流真正意义上的分离还是有区别,毕竟接口数据还是存在modle当中。但还是能够实现业务模块与html文件通过不同的端口访问,这对于我已经足够了。
2021-01-10
一些排序算法回顾 一些排序算法回顾

阅读全文

一些排序算法回顾
常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。
2021-01-26
Typora+PicGo+七牛云实现图片上传存储 Typora+PicGo+七牛云实现图片上传存储

阅读全文

Typora+PicGo+七牛云实现图片上传存储
PicGo 算得上一款比较优秀的图床工具。它是一款用 Electron-vue 开发的软件,可以支持微博,七牛云,腾讯云COS,又拍云,GitHub,阿里云OSS,SM.MS,imgur 等8种常用图床,功能强大,简单易用。
2020-12-12
8位短ID生成算法 8位短ID生成算法

阅读全文

8位短ID生成算法
Java的uuid都是32位的,比较长,在非高并发环境下处理起来效率比较低,没有必要。短8位UUID思想其实借鉴微博短域名的生成方式,但是其重复概率过高,而且每次生成4个,需要随即选取一个。本算法利用62个可打印字符,通过随机生成32UUID,由于UUID都为十六进制,所以将UUID分成8组,每4个为一组,然后通过模62操作,结果作为索引取出字符,
2020-11-25
ConcurrentHashMap详解 - JDK1.8 ConcurrentHashMap详解 - JDK1.8

阅读全文

ConcurrentHashMap详解 - JDK1.8
JDK1.8的实现已经摒弃了Segment的概念,而是直接用Node数组+链表+红黑树的数据结构来实现,并发控制使用Synchronized和CAS来操作,整个看起来就像是优化过且线程安全的HashMap,虽然在JDK1.8中还能看到Segment的数据结构,但是已经简化了属性,只是为了兼容旧版本。
2020-10-05
Mysql索引使用策略及优化 Mysql索引使用策略及优化

阅读全文

Mysql索引使用策略及优化
MySQL的优化主要分为结构优化(Scheme optimization)和查询优化(Query optimization)。本章讨论的高性能索引策略主要属于结构优化范畴。一旦理解了索引背后的机制,那么选择高性能的策略就变成了纯粹的推理,并且可以理解这些策略背后的逻辑。
2020-08-11
关于单例模式 关于单例模式

阅读全文

关于单例模式
单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。
2020-07-29

1/4