Elasticsearch

ElasticSearch是一款非常强大的、基于Lucene的开源搜索及分析引擎,它是一个实时的分布式全文搜索分析引擎。ES中的数据都是来自于MySQL,用ES的目的不是来持久化数据的,而是因为它的数据检索、复杂数据分析的效率极高,用它来完成检索、分析的功能。 它被用作全文检索、结构化搜索、分析以及这三个功能的组合: Wikipedia 使用 Elasti...

阅读全文

JDK8、JDK11、JDK17

之前项目开发一直使用JDK8,最近碰到IDEA插件在IDEA 2022.2以上版本报错的问题后,把自己的IDEA升级到2022.2,发现2022.2版本的IDEA默认JDK17。把插件基础intellij环境升级到2022.2,必须要JDK17才能编译通过,同时Gradle要求7以上。 于是,想要对于JDK的不同版本进行一些了解。 LTS,是 Long Te...

阅读全文

mybatis-plus

在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 执行模式与执行器 Executor12345public enum ExecutorType { SIMPLE, REUSE, BATCH;} SimpleExecutorReuseExecutorBatchExecutor批处理批处理执行模式 E...

阅读全文

MyBatis

JDBC 加载驱动 Class.forName(“com.mysql.jdbc.Driver”) 获取链接 Connection conn = (Connection) DriverManager.getConnection(url, username, password) 执行PreparedStatement 返回结果集 ResultSet Mybat...

阅读全文

hexo-主题maupassant目录优化解决方案

痛点 文章内容过多之后,查阅不方便 maupassant主题默认的目录显示在正文 解决方式以下方法来自于 https://wiki.hushhw.cn/posts/5dd904ed.html 1、_config.yml在主题配置文件_config.yml中添加侧栏toc 123456789widgets: - toc - info - search...

阅读全文

Java并发和多线程-从ReentrantLock的实现看AQS的原理及应用

本篇文章主要阐述AQS中独占锁的逻辑和Sync Queue,不讲述包含共享锁和Condition Queue的部分,基于JDK8

阅读全文

hexo-asset-image & hexo-abbrlink

/node_modules/hexo-asset-image/index.js

阅读全文

Java并发和多线程-锁

乐观锁 VS 悲观锁乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度。在Java和数据库中都有此概念对应的实际应用。 对于同一个数据的并发操作,悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。Java中,synchronized关键字和Lock的实现类都是悲观锁。 乐观锁认为自...

阅读全文

Java并发和多线程-synchronized、volatile、final关键字

synchronizedsynchronized中文意思是同步,也称之为”同步锁“。Synchronized关键字解决的是多个线程之间访问资源的同步性synchronized的作用是保证在同一时刻, 被修饰的代码块或方法只会有一个线程执行,以达到保证并发安全的效果。synchronized修饰的方法,无论方法正常执行完毕还是抛出异常,都会释放锁 synchr...

阅读全文

Java并发和多线程-JUC集合-ConcurrentHashMap

QA 为什么会有ConcurrentHashMap HashMap线程不安全,HashTable线程安全但效率低下。 为什么HashMap线程不安全 1.7中transfer()链表使用头插法,多线程情况下,会成环; 1.8中putVal(),多线程操作,值会出现覆盖情况。 为什么HashTable效率低下 HashTable之所以效率低下主要是因为...

阅读全文