07 2020 档案

摘要:一、AQS概述 AQS全名AbstractQueuedSynchronizer,意为抽象队列同步器,JUC(java.util.concurrent包)下面的Lock和其他一些并发工具类都是基于它来实现的。AQS维护了一个volatile的state和一个CLH(FIFO)双向队列。 二、分析 st 阅读全文
posted @ 2020-07-30 12:42 与李 阅读(918) 评论(0) 推荐(0)
摘要:一、前言 了解CAS,首先要清楚JUC,那么什么是JUC呢?JUC就是java.util.concurrent包的简称。它有核心就是CAS与AQS。CAS是java.util.concurrent.atomic包的基础,如AtomicInteger、AtomicBoolean、AtomicLong等 阅读全文
posted @ 2020-07-28 12:51 与李 阅读(498) 评论(0) 推荐(0)
摘要:一、目的 针对不同地区,设置不同的语言信息。 SpringBoot国际化配置文件默认放在classpath:message.properties,如果自定义消息配置文件,需要application.properties或application.yml中设置spring.messages.basena 阅读全文
posted @ 2020-07-27 10:21 与李 阅读(1669) 评论(0) 推荐(0)
摘要:一、简述 配置多数据源意思就是在一个项目中使用多个数据库,在项目使用中可以不用手动切换数据库来实现不同数据库的数据获取和更新。 源码地址: https://github.com/hanguilin/boot-security 项目环境: SpringBoot 2.1.9、Spring Data Jp 阅读全文
posted @ 2020-07-22 09:58 与李 阅读(746) 评论(0) 推荐(0)
摘要:一、简介 什么是线程池? 池的概念大家也许都有所听闻,池就是相当于一个容器,里面有许许多多的东西你可以即拿即用。java中有线程池、连接池等等。线程池就是在系统启动或者实例化池时创建一些空闲的线程,等待工作调度,执行完任务后,线程并不会立即被销毁,而是重新处于空闲状态,等待下一次调度。 线程池的工作 阅读全文
posted @ 2020-07-21 08:38 与李 阅读(220) 评论(0) 推荐(0)
摘要:一、前言 闭锁与栅栏是在多线程编程中的概念,因为在多线程中,我们不能控制线程的执行状态,所以给线程加锁,让其按照我们的想法有秩序的执行。 闭锁 CountDownLatch,实例化时需要传入一个int类型的数字(count),意为等待count个线程完成之后才能执行下一步动作。 如今天要做的事情是吃 阅读全文
posted @ 2020-07-19 21:49 与李 阅读(270) 评论(0) 推荐(0)
摘要:一、开篇 Stream?其实就是处理集合的一种形式,称之为流,在Java8中被引入,可被Collection中的子类调用。 作用?简化代码,提升你的开发效率。 不会?看完这篇你就能自己上手了! 二、实例 首先将你的集合处理成流,才可以使用此API。 Stream<String> stream = l 阅读全文
posted @ 2020-07-18 16:42 与李 阅读(214) 评论(0) 推荐(0)
摘要:因为solr的admin界面默认只需要知道ip和端口就能直接访问,如果被别有用心的人盯上就很容易给你的系统带来重大的破坏,所以我们应该限制访问。 请注意本例使用的是Solr7。 Solr集成了以下几种验证方式: Basic自定义身份验证方式 Kerberos身份验证方式 Hadoop身份验证方式 最 阅读全文
posted @ 2020-07-17 13:02 与李 阅读(675) 评论(3) 推荐(1)
摘要:一、环境配置 所需要的jar包: org.apache.solr.solr-solrj maven依赖: <!-- https://mvnrepository.com/artifact/org.apache.solr/solr-solrj --> <dependency> <groupId>org. 阅读全文
posted @ 2020-07-16 12:39 与李 阅读(291) 评论(0) 推荐(0)
摘要:一、前言 上节我们讲到了怎样去搭建solr服务,作为全文检索引擎,怎样去使用也是比较关键的。Solr有一套自己的查询方式,所以我们需要另外花时间去学习它的这套模式。 启动solr solr start 设置堆内存大小,因为一次全量导入可能会使得堆内存溢出。 # 启动时指定堆内存大小为1g solr 阅读全文
posted @ 2020-07-14 13:18 与李 阅读(296) 评论(0) 推荐(0)
摘要:一、Solr是什么,能解决什么问题? Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。 简而言之就是在 阅读全文
posted @ 2020-07-13 11:58 与李 阅读(245) 评论(0) 推荐(0)
摘要:一、概述 本例是在Windows环境,基于一台已经安装好的Mysql57,在本机安装第二台Mysql57服务。 读完本篇内容,你可以了解到Mysql的主从分离与双机热备的知识,以及配置期间问题的解决方案。 二、过程 1、安装第二台数据库 复制一份mysql的安装目录,取名MySQL Server 5 阅读全文
posted @ 2020-07-12 19:02 与李 阅读(442) 评论(0) 推荐(0)
摘要:一、问题情况 最近用户反映系统响应越来越慢,而且不是偶发性的慢。根据后台日志,可以看到系统已经有oom现象。 根据jdk自带的jconsole工具,可以监视到系统处于堵塞时期。cup占满,活动线程数持续增加,堆内存接近峰值。 二、分析情况 使用jconsole分析: 找到jdk安装路径,点击bin目 阅读全文
posted @ 2020-07-11 17:28 与李 阅读(533) 评论(0) 推荐(1)
摘要:一、关于JAVA内存模型 JAVA内存模型是java基础,每个开发人员都需要有一定的了解,只有更好更多的了解底层的东西,才能促进自己更好的进步。 本文记录的是JDK1.8之前的内存模型。在java中,主要将内存分为以下几块: (1)堆(Heap) 是内存区域中最大的一块,被所有线程共享,用来存放ne 阅读全文
posted @ 2020-07-10 08:42 与李 阅读(133) 评论(0) 推荐(0)
摘要:一、系统说明 资源下载路径:https://download.csdn.net/download/qq_37171817/12056804 本系统是一个用SpringBoot做后台开发框架,Shiro做权限管理框架,Spring Data Jpa 做持久层框架,Layui、Layui mini做为前 阅读全文
posted @ 2020-07-09 08:49 与李 阅读(660) 评论(0) 推荐(0)
摘要:一、关于BeanUtils 一说到BeanUtils,大家可能不清楚指的哪个BeanUtils。因为它在很多包里面都有,其中挺常用的就是 (1)org.apache.commons.beanutils.BeanUtils (2)org.springframework.beans.BeanUtils 阅读全文
posted @ 2020-07-08 08:38 与李 阅读(532) 评论(0) 推荐(0)
摘要:一、关于swagger 1、什么是swagger? swagger是spring fox的一套产品,可以作为后端开发者测试接口的工具,也可以作为前端取数据的接口文档。 2、为什么使用? 相比于传统的接口文档书写,开发者可以以更高的效率来进行接口测试与开发。而且使得更具可读性。 3、怎样配置? 引入依 阅读全文
posted @ 2020-07-07 08:37 与李 阅读(1010) 评论(0) 推荐(0)
摘要:一、关于Mat MAT是Memory Analyzer的简称,它是一款功能强大的Java堆内存分析器。可以用于查找内存泄露以及查看内存消耗情况。MAT是基于Eclipse开发的,是一款免费的性能分析工具。可以再官网http://www.eclipse.org/mat/下载,或者直接在Eclipse里 阅读全文
posted @ 2020-07-06 12:44 与李 阅读(637) 评论(0) 推荐(0)
摘要:一、关于EasyExcel 1、什么是EasyExcel,有什么作用? EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。 2、为什么选择EasyExcel,而不是Apache poi或者jxl? Java解析、生成Exc 阅读全文
posted @ 2020-07-05 10:48 与李 阅读(2817) 评论(0) 推荐(0)
摘要:一、为什么要设置maxPostSize tomcat容器对传输数据的大小有限制,如果上传了超过此值的文件,就会报错,使得程序不能正常使用。 二、设置方法 找到tomcat目录下的/conf/server.xml,为其添加maxPostSize参数 ​ 参数值“-1”表示不做大小限制。不设置maxPo 阅读全文
posted @ 2020-07-04 12:39 与李 阅读(1356) 评论(0) 推荐(0)
摘要:1.版本 本文中pycharm版本为PyCharm Professional-2018.3.3,JetbrainsCrack版本为4.2。需要注意,不同版本的pycharm对应的JetbrainsCrack版本也就不同,在本例中,亲测此版本对应无问题。 2.下载JetbrainsCrack 下载链接 阅读全文
posted @ 2020-07-03 13:54 与李 阅读(1277) 评论(0) 推荐(0)
摘要:一、准备工作 中间件:Tomcat、Redis、Nginx jar包:commons-pool2-2.4.2.jar、jedis-2.8.0.jar、tomcat-redis-session-manager-2.0.0.jar 二、配置 Tomcat 多台Tomacat需要配置不同的端口号 /lib 阅读全文
posted @ 2020-07-03 13:21 与李 阅读(294) 评论(0) 推荐(0)