- 博客(28)
- 收藏
- 关注
原创 Java并发编程入门学习笔记
Java并发编程入门整理一、线程安全,学习并发编程的原因二、进程与线程的认识三、并行和并发的认识四、synchronized基础1、 synchronized基础用法分类2、synchronized基础理解代码示例3、synchronized优化原理一、线程安全,学习并发编程的原因1、数据共享性是线程安全的主要原因之一。如果所有的数据只是在线程内有效,那就不存在线程安全性问题,这也是我们在编程的时候经常不需要考虑线程安全的主要原因之一。但是,在多线程编程中,数据共享是不可避免的。最典型的场景是数据库中的
2020-09-12 11:58:38
476
原创 设计模式类型
单例(Singleton)模式:某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式。原型(Prototype)模式:将一个对象作为原型,通过对其进行复制而克隆出多个和原型类似的新实例。工厂方法(Factory Method)模式:定义一个用于创建产品的接口,由子类决定生产什么产品。抽象工厂(AbstractFactory)模式:提供一个创建产品族的接口,其...
2020-06-14 11:05:44
210
原创 Restful了解
1、什么是RESTREST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。Roy Fielding是HTTP规范的主要编写者之一, 他在论文中提到:“我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。REST指的是一组架构约束条件和原则。”...
2020-05-06 19:21:51
261
原创 设计模式之原型模式
1.概念1)定义原型模式属于对象的创建模式。通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。2)结构原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例。这样一来,通过原型实例创建新的对象,就不再需要关心这个实例本身的类型,只要实现了克隆自身的方法,就可以通过这个方法来获取新的对象,而...
2019-11-15 17:17:23
233
原创 Springboot整合ES地理位置查询
ES的地理位置查询1、背景店铺有实体类,在地图上搜索显示当前位置附近店铺,并显示距当前位置距离;当前位置由前端传参(经度与纬度)。比如我们有很多的4s店,给用户一个app,在某个地方的时候,可以根据当前的地理位置搜索一下,自己附近的4s店。(刚学会代码实现,做个笔记,原理和源码暂时没研究)2、代码示例 /** * @description: 门店实体 **/ ...
2019-09-10 11:00:54
2795
原创 Java中ES基础配置
ES在Java中基础配置1. 启动elasticsearch启动 ,在bin包下启动elasticsearch.batKibana启动,在bin包下启动kibana.bat,然后访问localhost:56012.pom配置spring-boot-start-data-elasticsearch<dependency> <groupId>org...
2019-08-07 09:03:10
3741
原创 设计模式之代理模式(动态代理)
代理模式之动态代理参考:https://segmentfault.com/a/1190000009235245 https://blog.youkuaiyun.com/briblue/article/details/739283501、特点(1) 在运行期,通过反射机制创建一个实现了一组给定接口的新类。(2) 在运行时生成的class,必须提供一组interface给它,然后该class就宣称它实...
2019-07-30 17:06:19
201
原创 设计模式之代理模式
代理模式(基础)1、概念为其他对象提供一个代理以控制对某个对象的访问,即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.2、模式角色抽象主题角色:声明真是主题和代理主题的共同借口,这样一来在任何可以使用真实主题的地方都可以使用代理主题。代理主题角色:其包含有对真实主题的引用,从而可以在任何时候操作真实对象;代理主题角色提供...
2019-07-30 10:31:49
203
原创 设计原则之依赖倒置原则
依赖倒置原则1、概念依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。可理解为以下三种含义:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。高层模块和低层模块容易理解,每一...
2019-07-09 11:29:51
175
原创 设计原则之开闭原则
设计原则一.概述1.定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。2.含义:一个软件应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化的。3.应对场景:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会在修改旧代码时引入新的错误,从而使我们不得不对整个功能进行重构,并且需要所有代码经过重新测试。二.为什么遵守及使用?1)开...
2019-06-26 14:14:53
250
原创 面向对象三大特性——封装
面向对象——封装1、面向对象(1)什么是面向对象?: 面向对象是一种编程思想 通俗的说:面向对象是一种思考问题的思维方式(2)为什么使用面向对象以及它的作用 计算机语言为了更好的去描述现实生活中的事物,按照生活中的思考方式来定义,这样我们使用起来会更加方便 作用:将功能封装到对象里,强调的是具备某功能的对象;(3)面向对象的三个特征: 1.封装(Encapsulation) 2....
2019-06-14 15:14:24
316
原创 设计模式之策略模式
设计模式1.概念定义:定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。目的相同,行为方式不同,促使我们使用策略模式。2. 角色环境(Context)角色:持有一个Strategy的引用,也就是发生的基本条件抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。表明要做什么具体策略(ConcreteStrategy)角色:包装了相关的算法或行为...
2019-03-19 18:16:25
132
原创 Sprngboot整合ES简单实现
简单集成ES文中出现注解可在[https://blog.youkuaiyun.com/weixin_44008460/article/details/87549360]1.maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <arti...
2019-03-19 17:48:34
202
原创 ES:Head插件下载安装及数据导入
1. head插件下载及安装下载安装head插件是为了更直观的看到数据的变化,并可以实现对数据的简单操作。elasticsearch5.0以下版本可以直接在elasticsearch目录下执行对应的命令安装head插件,但是5.0以上不支持直接安装,本篇介绍5.6.9以上head插件的安装步骤。下载地址:https://github.com/mobz/elasticsearch-head...
2019-03-19 16:32:26
2468
原创 RabbitMQ基础入门
RabbitMQ一.简介1.概念RabbitMQ是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。Broker:简单来说就是消息队列服务器实体。Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。Queue:消息队列载体,每个消息都会被投入到一个或多个队列。Binding:绑定,它的作用就是把exchange...
2019-03-19 16:14:56
218
原创 ES查询方法整理
ES查询2###1.多文档查询标识符过滤器(ids):指定的标识符是文档的_id,为文档唯一标识 GET/…/…/_searchmulti Get:多字段查询可以设置多个文档查询条件,每个查询条件在结构上都比较类似 GET /_mgetMultiGetResponse multiGetResponse = client.prepareMultiGet() ...
2019-03-19 15:40:09
2567
原创 ES查询方法及应用整理
ES查询2###1.多文档查询标识符过滤器(ids):指定的标识符是文档的_id,为文档唯一标识 GET/…/…/_searchmulti Get:多字段查询可以设置多个文档查询条件,每个查询条件在结构上都比较类似 GET /_mgetMultiGetResponse multiGetResponse = client.prepareMultiGet() ...
2019-03-19 15:35:11
1737
原创 设计原则之里式替换原则
里式替换原则设计原则1.概念及理解原意:使用基类的指针或引用的函数,必须是在不知情的情况下,能够使用派生类的对象。理解:父类能够替换子类,但子类不一定能替换父类。并且子类可以扩展父类的功能,但不能改变父类原有的功能。也就是说,在代码中可以将父类全部替换为子类,程序不会报错,也不会在运行时出现任何异常,但反过来却不一定成立。应用:在继承类时,务必重写(Override)父类中所有的方法...
2019-02-24 16:42:39
231
原创 设计原则之单一职责原则
设计原则之单一职责原则设计原则1.概念与理解原意:永远不应该有多于一个原因来改变某个类。理解:对于一个类而言,应该仅有一个引起它变化的原因。说白了就是,一心不可二用,各司其职。这就好比一个团队,大家分工协作,互不影响,各做各的事情。注意:当我们做开发时,如果发现有一个类拥有了两种的职责,那就问自己一个问题:为保证对象的高内聚与低耦合,可以将这个类分成两个类吗?如果真的有必要,那就分吧...
2019-02-24 16:17:57
177
原创 设计模式之工厂模式
工厂模式简单工厂模式(静态工厂方法)1.概念:简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。2.角色结构:1)抽象产品类:简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接...
2019-02-19 23:21:40
192
原创 ES基础知识
ESES基础知识1. ES配置集群配置方式:直接修改conf/elasticsearch.yml/cluster-name:#默认即为elasticsearch,cluster-node:&amp;quot;&amp;quot;查询集群即使用ES的REST API可实现功能- 管理集群,节点,索引数据和元数据;- 执行创建,读取,更新和删除操作,以及根据索引查询;- 执行更深入的操作,比如分页、排序、过滤、脚本...
2019-02-17 18:57:25
722
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅