随笔 - 203
文章 - 0
评论 - 18
阅读 -
24万
04 2020 档案
通过Executors创建线程池和注意小点
摘要:Executors提供的工厂方法有: FixedThreadPool(n):创建一个数量固定的线程池,超出的任务会在队列中等待空闲的线程,可用于控制程序的最大并发数。CachedThreadPool():短时间内处理大量工作的线程池,会根据任务数量产生对应的线程,并试图缓存线程以便重复使用,如果限制
阅读全文
@Validated校验
摘要:应用: 1. @Validated 声明要检查的参数 这里我们在控制器层进行注解声明 /** * 走参数校验注解 * * @param userDTO * @return */ @PostMapping("/save/valid") public RspDTO save(@RequestBody @
阅读全文
Elasticsearch-head插件的安装与配置
摘要:第一种: 通过浏览器添加插件 通过chrome安装插件的方式提供一个可操作es的图形化界面。 在chrome 浏览器中,通过“扩展程序” 添加 elasticsearch head 插件的方式,这种方式无须开启 es的跨域访问。 1、打开链接 谷歌浏览器访问http://extb.cqttech.c
阅读全文
linux的一些文件基本命令
摘要:ls 列出文件和目录的命令 -A 选项用来列出所有的文件,包括那些隐藏的文件。只要文件名前面第一个字符是一个“.”,这个文件就是隐藏文件。一个目录名前面的第一个字符如果是“.”这个目录就是隐藏目录。 -l 这个选项用来显示一个列表,包含了这个目录下面所有的文件的绝大部分属性的列表。 --color
阅读全文
centos7安装es6.4.0
摘要:一、首先进入到usr/local文件夹cd usr/local二、然后下载es安装包wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.0.tar.gz三、解压es安装包tar -zxvf elast
阅读全文
Sql 语句中 in和 exists的区别及应用
摘要:演示demo表: student表 DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `stuid` varchar(16) NOT NULL COMMENT '学号', `stunm` varchar(20) NOT NULL COM
阅读全文
如何避免 sql 注入
摘要:PreparedStatement(简单又有效的方法) 例如: 最终执行的sql语句打印出来是SELECT * FROM admin WHERE username = '韦小宝' AND password = '\';DROP TABLE tableName;#' 从以上截图就能看出来,由此可见,p
阅读全文
反射
摘要:关于java.lang.Class类的理解1.类的加载过程:程序经过javac.exe命令以后,会生成一个或多个字节码文件(.class结尾)。接着我们使用java.exe命令对某个字节码文件进行解释运行。相当于将某个字节码文件加载到内存中。此过程就称为类的加载。加载到内存中的类,我们就称为运行时类
阅读全文
Springboot通过redisTemplate实现发布订阅
摘要:要点: RedisMessageListenerContainer Redis订阅发布的监听容器,你的消息发布、订阅配置都必须在这里面实现* addMessageListener(MessageListenerAdapter,PatternTopic) 新增订阅频道及订阅者,订阅者必须有相关方法处理
阅读全文
代理模式
摘要:1.静态代理 /第一步:创建服务类接口,买房的动作接口 interface BuyHome{ void buyHomeByMonery(String str); } //第二步:实现服务接口,真实对象买房对象 class XiaoLiByHome implements BuyHome{ @Overr
阅读全文
单例模式的多种实现方法
摘要:最基本写法,也叫懒汉写法(线程不安全): public class Singleton { private static Singleton singleton; private Singleton() { } public static Singleton getInstance() { if (
阅读全文
TimeUnit 使用
摘要:TimeUnit是java.util.concurrent包下面的一个类,表示给定单元粒度的时间段 主要作用 时间颗粒度转换 延时 常用的颗粒度 TimeUnit.DAYS //天 TimeUnit.HOURS //小时 TimeUnit.MINUTES //分钟 TimeUnit.SECONDS
阅读全文
简单工厂,工厂方法,抽象工厂,三大工厂模式对比
摘要:简单工厂模式、工厂方法模式、抽象工厂模式,都是属于创建型设计模式。严格上来说,简单工厂模式不属于23设计模式之一,因为它违背了开闭原则。这三种设计模式,名字都包含“工厂”二字,如果没有认真地对它们的设计思想、代码进行认真比较,还真的很难区分出究竟是哪一种模式,很多开发者很容易混淆。接下来,我就将这三
阅读全文
springboot之定时任务
摘要:Spring Boot 中实现定时任务的两种方式! 第一种:使用注解@Scheduled 使用 @Scheduled 非常容易,直接创建一个 Spring Boot 项目,并且添加 web 依赖 spring-boot-starter-web,项目创建成功后,添加 @EnableScheduling
阅读全文
多线程注意事项
摘要:调用start()方法和调用run()方法的区别 start()方法是开启了一个线程,会自动调用run()方法,此时程序会自动往下执行,此时不等start()方法执行完。 如果线程直接调用run()方法,则程序会等run()方法执行完再往下执行。
阅读全文
Mysql的事务实现原理
摘要:事务想要做到什么效果? 按我理解,无非是要做到可靠性以及并发处理。 可靠性:数据库要保证当insert或update操作时抛异常或者数据库crash的时候需要保障数据的操作前后的一致,想要做到这个,我需要知道我修改之前和修改之后的状态,所以就有了undo log和redo log。 并发处理:也就是
阅读全文
ConcurrentHashMap、HashMap、Hashtable
摘要:ConcurrentHashMap1.7使用的是分段锁Segment, ConcurrentHashMap1.7使用的是CAS + synchronized这也是ConcurrentHashMap对Hashtable的最大优势; HashTable相较于HashMap将底层的方法都加了Synchir
阅读全文
mysql查询性能优化(持续更新)
摘要:查询大数据表的优化: 操作: 查询条件放到子查询中,子查询只查主键ID,然后使用子查询中确定的主键关联查询其他的属性字段; 原理: 减少回表操作; -- 优化前SQL,要17S SELECT 各种字段 FROM`table_name` WHERE 各种条件 LIMIT0,10; -- 优化后SQL,
阅读全文
redis通讯协议(RESP )
摘要:RESP 是redis客户端和服务端之前使用的一种通讯协议; RESP 的特点:实现简单、快速解析、可读性好 For Simple Strings the first byte of the reply is "+" 回复 For Errors the first byte of the reply
阅读全文
HashMap 为什么线程不安全
摘要:总结: 首先HashMap是线程不安全的,其主要体现: #1.在jdk1.7中,在多线程环境下,扩容时会造成环形链或数据丢失。 #2.在jdk1.8中,在多线程环境下,会发生数据覆盖的情况。 jdk1.8: 在jdk1.8中对HashMap进行了优化,在发生hash碰撞,不再采用头插法方式,而是直接
阅读全文
java8新的时间api
摘要:Java8 必会的日期处理的实践,必须收藏! 来源:https://www.xttblog.com/?p=4944 Java 8 日期处理Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API。Java处理日期、日历和时间的方式一直为社区所诟病,将 java
阅读全文
Spring小笔记2
摘要:1、Spring是什么? Spring是一个开源的轻量级的Java开发框架,以IOC(控制翻转)和AOP(依赖注入)为内核,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于XML的配置、基于注解的配置、基于Java的配置。 主要由以下几个模块组成: Spr
阅读全文
springboot添加junit测试
摘要:pom.xml添加: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency
阅读全文