说说JAVA线程池 热门文章 说说JAVA线程池 线程池就是首先创建一些线程,它们的集合称为线程池。使用线程池可以很好地提高性能,线程池在系统启动时即创建大量空闲的线程,程序将一个任务传给线程池,线程池就会启动一条线程来执行这个任务,执行结束以后,该线程并不会死亡,而是再次返回线程池中成为空闲状态,等待执行下一个任务。 2020-01-02 编程之道 JUC java 多线程 Layui表单图片上传至七牛云 热门文章 Layui表单图片上传至七牛云 这个主要是我在添加文章的时候要设置文章封面,所以我的想法就是异步上传图片再把文件地址回调到一个input中,最后提交的时候就提交图片地址。使SpringBoot的`@ConfigurationProperties`和`@Component`注解实现上传的配置类`UploadProperties`,因为上传配置可能会有本地上传和云上传或者其他上传的,所以该配置类我留了扩展点。因为受到了rabbitmq的配置类启发,而且上传的配置不会很多,所以用内部类来分割这种配置类。上传配置类如下: 2020-12-02 软件工具 七牛云 文件上传 layui thymleaf就一定不能前后端分离吗? 热门文章 thymleaf就一定不能前后端分离吗? 这个博客项目虽然后台管理系统试用Layui写的,但前端页面基本是靠Thymleaf + SpringBoot实现的(其实是因为自己JS太菜了 (;¬_¬),但其实单人小项目这样挺方便的 )。在大家的印象中Thymleaf就是前后端连得死死的引擎模板,但其实Thymleaf也可以前后端分离,但比主流真正意义上的分离还是有区别,毕竟接口数据还是存在modle当中。但还是能够实现业务模块与html文件通过不同的端口访问,这对于我已经足够了。 2021-01-10 杂文 spring nginx
一些排序算法回顾 阅读全文 一些排序算法回顾 常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。 2021-01-26 数据结构 排序算法 ConcurrentHashMap详解 - JDK1.8 阅读全文 ConcurrentHashMap详解 - JDK1.8 JDK1.8的实现已经摒弃了Segment的概念,而是直接用Node数组+链表+红黑树的数据结构来实现,并发控制使用Synchronized和CAS来操作,整个看起来就像是优化过且线程安全的HashMap,虽然在JDK1.8中还能看到Segment的数据结构,但是已经简化了属性,只是为了兼容旧版本。 2020-10-05 数据结构 多线程 java 集合 排序算法练习 - 堆排序 阅读全文 排序算法练习 - 堆排序 堆是一棵顺序存储的完全二叉树。其中每个结点的关键字都不大于其孩子结点的关键字,这样的堆称为小根堆。其中每个结点的关键字都不小于其孩子结点的关键字,这样的堆称为大根堆。举例来说,对于n个元素的序列{R0, R1, ... , Rn}当且仅当满足下列关系之一时,称之为堆: 2020-06-23 数据结构 排序算法 堆排序 HashMap灵魂21问 阅读全文 HashMap灵魂21问 HashMap 底层是 hash 数组和单向链表实现,数组中的每个元素都是链表,由 Node 内部类(实现 Map.Entry接口)实现,HashMap 通过 put & get 方法存储和获取。 存储对象时,将 K/V 键值传给 put() 方法:①、调用 hash(K) 方法计算 K 的 hash 值,然后结合数组长度, 2020-06-18 数据结构 java 集合 Mysql索引背后的数据结构 阅读全文 Mysql索引背后的数据结构 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。我们知道,数据库查询是数据库的最主要功能之一 2020-06-15 数据结构 Mysql 数据库 Tree JAVA集合之HashMap 阅读全文 JAVA集合之HashMap 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 2019-12-12 数据结构 java 集合