- 博客(80)
- 资源 (5)
- 收藏
- 关注
原创 Redis底层数据结构详解
双端链表作用:事务模块使用双端链表依序保存输入的命令服务器模块使用双端链表来保存多个客户端订阅/发送模块使用双端链表来保存订阅模式的多个客户端事件模块使用双端链表来保存时间事件字典作用:Redis的数据库底层哈希键4的底层实现之一。当一个哈希键包含的键值对比较多或者键值对中的元素都是比较长的字符串时,Redis就会使用字典作为哈希键的底层实现。...
2021-11-19 09:44:56
547
原创 Pipeline设计思想理解
Pipeline设计思想理解链接: https://blog.youkuaiyun.com/yasinshaw/article/details/108591468.
2021-08-03 15:11:07
261
原创 Stream流使用集合的索引值
Stream流使用集合的索引值问题:方法问题:两个相同size的集合keyList和valueList,需要同时遍历方法使用IntStream.rang(0, keyList.size)引用: link.
2021-08-02 15:45:15
545
原创 Java字段命名方式转换
Java字段命名方式转换import com.google.common.base.CaseFormat;@Testpublic void test() { System.out.println(CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_CAMEL, "test-data"));//testData System.out.println(CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAME
2021-06-21 17:42:33
417
原创 2021-04-18
ES字符串类型:Text与keyword选择1、Text2、keyword3、对Text字段进行聚合1、TextText会进行分词,然后索引,支持模糊查询和精确查询,但不支持聚合查询。2、keywordkeyword不会被分词,直接索引,支持聚合3、对Text字段进行聚合设置字段的keyword属性...
2021-04-18 10:58:04
146
转载 CountDown原理及使用
CountDown原理及使用CountDown原理及使用CountDown原理及使用CountDown原理及使用.
2021-04-01 11:35:50
1575
原创 《Elasticsearch核心技术与实战》笔记
《Elasticsearch核心技术与实战》笔记1、Video1:2、Video2:3、Video3:简介及发展历史4、Video4:家族成员5、Video5:安装下载逻辑设计:文档、类型和索引,对应关系型数据库的行、表、库物理设计:节点和分片,默认每个节点有5个分片和5个副本6、Video6:Kibana安装7、Video7:Docker容器运行ELK Stack8、Video8:Logstash安装与导入数据9、Video9:索引、文档和REST API10、Video10:相关概念11、Video11
2021-03-17 15:21:11
1679
原创 ElasticSearch集成环境下载地址
ElasticSearch集成环境下载地址ElasticSearch5.6.9ElasticSearch-head5.6.9ElasticSearch-kibana5.6.9ElasticSearch-logstash5.6.9。ElasticSearch5.6.9ElasticSearch5.6.9.ElasticSearch-head5.6.9ElasticSearch-head.ElasticSearch-kibana5.6.9ElasticSearch-kibana5.6.9.Ela
2021-03-10 19:43:07
147
原创 Java乐观锁CAS实现原理
Java乐观锁CAS实现原理定义JDK提供的CAS支持CAS实现原理CAS应用定义CAS(CompareAndSwap)译为“比较并交换”,CAS操作包含三个操作数:内存位置(V)、期望值(A)和新值(B),如果内存位置的值和期望值匹配,那么处理器会自动将该位置的值更新为新值,否则处理器不做任何操作。JDK提供的CAS支持sun.misc.unsafe类中提供了对CAS操作的支持,CAS实现原理CAS通过调用JNI的代码实现,JNI:Java native interface,运行Java调
2020-09-12 15:29:46
211
原创 多线程循环打印ABC
多线程循环打印ABCimport java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class ABC_Lock { private static Lock lock = new ReentrantLock();// 通过JDK5中的Lock锁来保证线程的访问的互斥 private static int state = 0;//通过state的值来确定是否打印
2020-09-10 15:29:09
178
原创 生产者消费者模型
生产者消费者模型一. Synchronized+wait()+notify()1)生产者2)消费者3)缓存区4)测试二、Lock+await()+signal1)生产者2)消费者3)缓存池4)测试一. Synchronized+wait()+notify()1)生产者class Producer extends Thread{ private Buffer buffer; public Producer(Buffer buffer) { this.buffer = b
2020-09-08 19:44:36
97
原创 Java实现LRU
Java实现LRULRU简介Java实现用例LRU简介内存淘汰策略:删除最近最少使用的Java实现import java.util.LinkedHashMap;import java.util.Map;public class LRUCache<K, V> extends LinkedHashMap<K,V> { private final int CACHE_SIZE; public LRUCache(int cache_size) {
2020-09-08 00:23:13
158
原创 ThreadLocal:线程本地变量
ThreadLocal:线程本地变量ThreadLocal应用场景ThreadLocal在每个线程Thread内部有一个ThreadLocal.ThreadLocalMap类型的成员变量threadLocals,这个threadLocals就是用来存储实际的变量副本的,键值为当前ThreadLocal变量,value为变量副本(即T类型的变量)。初始时,在Thread里面,threadLocals为空,当通过ThreadLocal变量调用get()方法或者set()方法,就会对Thread类中的thr
2020-08-28 21:20:18
132
原创 Java字符串数组字典序排序
Java字典序排序1. String[] 字符串数组1) 正序排序2)逆序排序2. String 字符串3. int[] 整数数组1. String[] 字符串数组1) 正序排序public String[] sortA(String[] strings){ Arrays.sort(strings, (o1,o2) -> (o1 + o2).compareTo((o2 + o1))); return strings; }2)逆序排序public St
2020-08-24 01:38:24
6554
转载 SpringBoot+Thymeleaf页面跳转详解
转载:https://blog.youkuaiyun.com/jintingbo/article/details/81633615?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
2020-07-07 16:24:14
561
转载 TCP三次握手+四次挥手
转载:https://blog.youkuaiyun.com/qq_38950316/article/details/81087809?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.n
2020-07-04 11:09:37
110
原创 List : ArrayList、LinkedList、Vector
List : ArrayList、LinkedList、Vector一.介绍1.ArrayList源码分析2. LinkedList3.Vector一.介绍1.ArrayList源码分析ArrayList的继承与接口实现public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializabl
2020-06-29 20:13:24
213
原创 策略模式(Strategy Pattern)
策略模式(Strategy Pattern)介绍实现步骤1步骤2步骤3步骤4介绍在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。主要解决:在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。何时使
2020-06-28 21:05:24
188
原创 JavaWeb前端向后端提交数据的方式
JavaWeb前端向后端提交数据的方式1. form表单提交2.JQuery中的ajax提交1. form表单提交<!DOCTYPE html><html><body><form action="/demo/demo_form.asp">First name:<br><input type="text" name="firstname" value="Mickey"><br>Last name:<b
2020-06-25 00:01:05
2889
原创 工厂模式
工程模式1.介绍2.简单工厂1)Animal接口2)Dog类3)Cat类4)Animal工厂5)测试3.抽象工厂1.介绍目的:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。如何解决:让其子类实现工厂接口,返回的也是一个抽象的产品。关键代码:创建过程在其子类执行。使用场景:使用场景:日志记录器:记录可能记录到本地硬盘、系统事件、远程服务器等,用户可以选择记录日志到什么地方。数据库访问,当用户不知道最后系统采用哪一类数据库,以及数据库可能有变
2020-06-22 20:44:23
141
原创 单例模式
单例模式1.饿汉式2.懒汉式3.懒汉式(线程安全)4.双检锁/双重校验锁(DCL,即 double-checked locking)1.饿汉式public class SingletonDemo1 { // 创建一个私有化的SingletonDemo1对象 private static SingletonDemo1 instance = new SingletonDemo1(); // 私有化构造方法,防止被实例化 private SingletonDemo1() {
2020-06-22 19:52:50
153
原创 HTTP理解
HTTP理解概念HTTP消息结构1.客户端请求消息2.服务器响应消息HTTP请求方法概念HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP消息结构1.客户端请求消息2.服务器响应消息HTTP请求方法方法描述GET请求指定的页面信息,并返回实体主体。HEAD类似于 GET 请求,只不过返回的响应中没有具体的内容,用
2020-06-22 19:04:43
146
原创 Java中cookie的使用
Java中cookie的使用1.JavaWeb会话:2.cookie概念3.cookie的方法4.cookie的使用1.JavaWeb会话:会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。它指的是一个客户端(浏览器)与Web服务器之间连续发生的一系列请求和响应过程,例如,一个用户在某网站上的整个购物过程就是一个会话。(1)客户端请求Web服务器时,针对每次HTTP请求,Web服务器都会创建一个HttpServletRequest对
2020-06-22 15:51:59
658
原创 Java多线程理解
2.多线程的作用发挥多核CPU的优势。**单核CPU上所谓的"多线程"那是假的多线程,同一时间处理器只会处理一段逻辑,只不过线程之间切换得比较快,看着像多个线程"同时"运行罢了。**现在的计算机都是双核的,4核、8核甚至16核的,如果是单线程的程序,那么在双核CPU上就浪费了50%,在4核CPU上就浪费了75%。多核CPU上的多线程才是真正的多线程,它能让你的多段逻辑同时工作,多线程,可以真正发挥出多核CPU的优势来,达到充分利用CPU的目的。防止阻塞。从程序运行效率的角度来看,单核CPU不但不会发挥
2020-06-22 10:10:13
160
原创 Java线程池理解
public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue) { this(
2020-06-21 23:56:09
127
原创 Java实现线程的几种方法
介绍Oracle上说创建线程分为两类,准确地讲,创建线程只有一种方式,就是通过构造Thread类,而实现线程的执行单元有两种方法方法1:实现Runnable接口的run()方法,并把Runnable实例传给Thread类。方法2 : 重写Thread的run()方法,即继承Thread类。实现Runable接口的run()方法实现步骤:重写run()方法;Thread传进实现类,调用start()方法启动线程。public class CreateThreadDemo2 im
2020-06-21 23:46:17
181
原创 Java IOC理解
https://blog.youkuaiyun.com/love_everybody/article/details/79836136?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.n
2020-06-19 09:39:33
589
原创 Springboot AOP理解
AOP理解1.概念新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入1.概念AOP(Aspect Oriented Programming),即面向切面编程,是OOP(Object Oriented Programming
2020-06-18 09:23:48
332
转载 JSON.parseObject 和 JSON.toJSONString理解
https://blog.youkuaiyun.com/antony9118/article/details/71023009
2020-06-16 15:15:41
593
原创 面试题
一.List相关面试题List是一个集合接口,分为AarrayList和LinkedList两个实现方式1.ArrayList:底层实现就是数组,且ArrayList实现了RandomAccess,表示它能快速随机访问存储的元素,通过下标 index 访问,只是我们需要用 get() 方法的形式, 数组支持随机访问, 查询速度快, 增删元素慢;2.LinkdeList:底层实现是链表, LinkedList 没有实现 RandomAccess 接口,链表支持顺序访问, 查询速度慢, 增删元素快
2020-06-16 12:44:19
737
原创 优快云 Markdown模板
@[TOC](这里写自定义目录标题)# 欢迎使用Markdown编辑器你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。## 新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 1. **全新的界面设计** ,将会带来全新的写作体验; 2. 在创作中心设置你喜爱
2020-06-16 12:15:03
174
原创 redis使用入门介绍
redis使用入门介绍本文以IDEA为例简单介绍redis及jedis的配置及使用说明。IDEA导入相关依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </dependency>功能快捷键撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Comman
2020-06-16 10:26:28
206
原创 高并发项目设计
1.设计原则1.正确性保证在项目执行过程中不会出现问题。例如在高并发秒杀系统中,不能出现超卖以及重复下单的问题。2.安全性主要是动态地址生成和接口防刷,双重MD5加密 。第一次加密:防止明文密码在网络中传输;第二次加密:防止数据库被盗时,通过MD5反推出密码。3.高并发采用Redis进行缓存常用查询、消息队列异步下单、页面资源静态化等方面减去数据库压力。4.高可用一方面使用Redis集群的主从复制和主从切换保证redis的高可用性,另一方面,为防止redsi服务器宕机,使..
2020-06-16 08:30:18
419
原创 HttpServletRequest详解
1.概述 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。2.方法说明getRequestURL() 返回客户端发出请求时的完整URL。 getRequestURI() 返回请求行中的参数部分。 getQueryString () 方法返回请求行中的参数部分(参数名+值) getRemoteHost()...
2020-06-15 22:32:50
410
mybatis逆向工程配置文件.zip
2020-05-23
Matlab Hu矩7个不变矩源码
2018-09-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人