自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 资源 (5)
  • 收藏
  • 关注

原创 sync.Once

sync.Once

2022-07-19 11:03:55 153 1

原创 线程池原理理解

线程池原理理解

2022-01-06 15:33:10 211

原创 Redis底层数据结构详解

双端链表作用:事务模块使用双端链表依序保存输入的命令服务器模块使用双端链表来保存多个客户端订阅/发送模块使用双端链表来保存订阅模式的多个客户端事件模块使用双端链表来保存时间事件字典作用:Redis的数据库底层哈希键4的底层实现之一。当一个哈希键包含的键值对比较多或者键值对中的元素都是比较长的字符串时,Redis就会使用字典作为哈希键的底层实现。...

2021-11-19 09:44:56 513

转载 springbean工作原理详解

链接: springbean工作原理详解.

2021-09-03 10:31:00 146

原创 Pipeline设计思想理解

Pipeline设计思想理解链接: https://blog.csdn.net/yasinshaw/article/details/108591468.

2021-08-03 15:11:07 214

原创 Stream流使用集合的索引值

Stream流使用集合的索引值问题:方法问题:两个相同size的集合keyList和valueList,需要同时遍历方法使用IntStream.rang(0, keyList.size)引用: link.

2021-08-02 15:45:15 500

原创 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 370

原创 2021-04-18

ES字符串类型:Text与keyword选择1、Text2、keyword3、对Text字段进行聚合1、TextText会进行分词,然后索引,支持模糊查询和精确查询,但不支持聚合查询。2、keywordkeyword不会被分词,直接索引,支持聚合3、对Text字段进行聚合设置字段的keyword属性...

2021-04-18 10:58:04 103

转载 CountDown原理及使用

CountDown原理及使用CountDown原理及使用CountDown原理及使用CountDown原理及使用.

2021-04-01 11:35:50 1473

原创 《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 1548

原创 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 108

原创 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 174

原创 多线程循环打印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 140

原创 生产者消费者模型

生产者消费者模型一. 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 72

原创 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 127

原创 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 98

原创 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 6162

转载 SpringBoot+Thymeleaf页面跳转详解

转载:https://blog.csdn.net/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 510

转载 TCP三次握手+四次挥手

转载:https://blog.csdn.net/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 86

转载 Lock锁的使用

Lock锁的使用转载:http://www.cnblogs.com/dolphin0520/p/3923167.html

2020-06-29 20:58:12 207

原创 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 174

原创 策略模式(Strategy Pattern)

策略模式(Strategy Pattern)介绍实现步骤1步骤2步骤3步骤4介绍在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。主要解决:在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。何时使

2020-06-28 21:05:24 151

原创 消息队列------RabbitMQ

https://www.cnblogs.com/dongkuo/p/6001791.html

2020-06-25 20:29:23 151

原创 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 2785

原创 工厂模式

工程模式1.介绍2.简单工厂1)Animal接口2)Dog类3)Cat类4)Animal工厂5)测试3.抽象工厂1.介绍目的:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。如何解决:让其子类实现工厂接口,返回的也是一个抽象的产品。关键代码:创建过程在其子类执行。使用场景:使用场景:日志记录器:记录可能记录到本地硬盘、系统事件、远程服务器等,用户可以选择记录日志到什么地方。数据库访问,当用户不知道最后系统采用哪一类数据库,以及数据库可能有变

2020-06-22 20:44:23 114

原创 单例模式

单例模式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 130

原创 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 118

原创 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 614

原创 Java多线程理解

2.多线程的作用发挥多核CPU的优势。**单核CPU上所谓的"多线程"那是假的多线程,同一时间处理器只会处理一段逻辑,只不过线程之间切换得比较快,看着像多个线程"同时"运行罢了。**现在的计算机都是双核的,4核、8核甚至16核的,如果是单线程的程序,那么在双核CPU上就浪费了50%,在4核CPU上就浪费了75%。多核CPU上的多线程才是真正的多线程,它能让你的多段逻辑同时工作,多线程,可以真正发挥出多核CPU的优势来,达到充分利用CPU的目的。防止阻塞。从程序运行效率的角度来看,单核CPU不但不会发挥

2020-06-22 10:10:13 134

原创 Java线程池理解

public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue) { this(

2020-06-21 23:56:09 95

原创 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 154

原创 Java IOC理解

https://blog.csdn.net/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 557

转载 Java静态代理和动态代理

https://www.cnblogs.com/cC-Zhou/p/9525638.html

2020-06-18 15:53:19 87

原创 Springboot AOP理解

AOP理解1.概念新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入1.概念AOP(Aspect Oriented Programming),即面向切面编程,是OOP(Object Oriented Programming

2020-06-18 09:23:48 296

转载 JSON.parseObject 和 JSON.toJSONString理解

https://blog.csdn.net/antony9118/article/details/71023009

2020-06-16 15:15:41 560

原创 面试题

一.List相关面试题List是一个集合接口,分为AarrayList和LinkedList两个实现方式1.ArrayList:底层实现就是数组,且ArrayList实现了RandomAccess,表示它能快速随机访问存储的元素,通过下标 index 访问,只是我们需要用 get() 方法的形式, 数组支持随机访问, 查询速度快, 增删元素慢;2.LinkdeList:底层实现是链表, LinkedList 没有实现 RandomAccess 接口,链表支持顺序访问, 查询速度慢, 增删元素快

2020-06-16 12:44:19 693

原创 CSDN Markdown模板

@[TOC](这里写自定义目录标题)# 欢迎使用Markdown编辑器你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。## 新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 1. **全新的界面设计** ,将会带来全新的写作体验; 2. 在创作中心设置你喜爱

2020-06-16 12:15:03 142

原创 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 179

原创 高并发项目设计

1.设计原则1.正确性保证在项目执行过程中不会出现问题。例如在高并发秒杀系统中,不能出现超卖以及重复下单的问题。2.安全性主要是动态地址生成和接口防刷,双重MD5加密 。第一次加密:防止明文密码在网络中传输;第二次加密:防止数据库被盗时,通过MD5反推出密码。3.高并发采用Redis进行缓存常用查询、消息队列异步下单、页面资源静态化等方面减去数据库压力。4.高可用一方面使用Redis集群的主从复制和主从切换保证redis的高可用性,另一方面,为防止redsi服务器宕机,使..

2020-06-16 08:30:18 381

原创 HttpServletRequest详解

1.概述 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。2.方法说明getRequestURL() 返回客户端发出请求时的完整URL。 getRequestURI() 返回请求行中的参数部分。 getQueryString () 方法返回请求行中的参数部分(参数名+值) getRemoteHost()...

2020-06-15 22:32:50 368

mybatis逆向工程配置文件.zip

mybatis逆向工程配置文件,包括执行文件,更改数据库连接和代码保存地址可直接使用,mybatis逆向工程配置文件,包括执行文件,更改数据库连接和代码保存地址可直接使用

2020-05-23

matblab批量修改文件名

matblab批量修改文件名 matblab批量修改文件名 matblab批量修改文件名 matblab批量修改文件名

2019-10-29

<matlab关于多种类型的神经网络的案例与分析>

资源分数不够的同学,博客留言,免费赠送,共同学习交流matlab与深度学习

2018-12-27

Matlab Hu矩7个不变矩源码

matlab源码,计算Hu的7个不变矩,可以直接使用,适用于新手,中文注释,简单易懂。matlab源码,计算Hu的7个不变矩,可以直接使用,适用于新手,中文注释,简单易懂。

2018-09-04

OTSU大津法

用于matlab图像处理,包含相关学习的很多程序,全部是matlab程序,花钱买的,很有学习与工程使用价值

2018-08-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除