自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ll_mor的博客

有趣的码农一枚(●'◡'●)

  • 博客(28)
  • 收藏
  • 关注

原创 Nginx使用总结(一):配置

主要组成部分◆main(全局设置)main部分设置的指令将影响其它所有部分的设置;◆server(主机设置)server部分的指令主要用于指定虚拟主机域名、IP和端口;◆upstreamupstream的指令用于设置一系列的后端服务器,设置反向代理及后端服务器的负载均衡;◆locationlocation部分用于匹配网页位置(比如,根目录“/”,“/image...

2018-06-20 17:15:53 367

原创 设计模式总结(三):原型模式

定义所谓原型模式就是用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。 在原型模式中,所发动创建的对象通过请求原型对象来拷贝原型对象自己来实现创建过程,当然所发动创建的对象需要知道原型对象的类型。这里也就是说所发动创建的对象只需要知道原型对象的类型就可以获得更多的原型实例对象,至于这些原型对象时如何创建的根本不需要关心。​ 浅拷贝:使用一个已知实例对新创建实例的成员变量逐个...

2018-05-23 19:43:30 209

原创 强引用,软引用,弱引用,虚引用的总结

概念解释强引用强引用是使用最普遍的引用:Object o=new Object(); 特点:不会被GC将对象的引用显示地置为null:o=null; // 帮助垃圾收集器回收此对象举例ArrayList的实现源代码: 软引用软引用用来描述一些还有用但是并非必须的对象,在Java中用java.lang.ref.SoftReference类来表示。对于软引...

2018-03-13 10:47:33 289

原创 设计模式总结(二):单例模式

1、概念 整个应用中实例有且只有一个,缓存、配置文件、日志、工具类 2、常用的单例模式 2-2 饿汉模式 只要类加载就会创建唯一的实例 2-3 懒汉模式 类加载并没有创建实例 应用场景: 比如:程序员定义的一个读取配置文件的工具类。在项目中可能多次使用这个类,如果每次都new一个实例出来,这样在运行期间就会存在很多实例,而实际上只需要一个实例对象就可以了。多出...

2018-03-03 14:13:07 256

原创 设计模式总结(一):代理模式

1、代理模式的概念和分类为其他对象提供一种代理,以控制这个对象的访问,代理模式分为虚拟代理、智能引用代理、远程代理、保护代理2、常用代理模式的原理(实现)静态代理静态代理和被代理对象在代理之前是确定的。他们实现相同的借口或者继承相同的抽象类。 实现方法: 继承方法: 代理类继承被代理类 在实现额方法前后增加代理操作。super.method(); 聚合方法...

2018-03-03 14:11:08 192

原创 sql优化篇(四): Mysql的锁

关于Mysql的锁的优化

2018-03-03 00:15:12 176

原创 sql优化篇(三):常用sql的优化

下面就某些SQL语句的where子句编写中需要注意的问题作详细介绍。在这些where子句中,即使某些列存在索引,但是由于编写了劣质的SQL,系统在运行该SQL语句时也不能使用该索引,而同样使用全表扫描,这就造成了响应速度的极大降低。  1. IS NULL 与 IS NOT NULL  不能用null作索引,任何包含null值的列都将不会被包含在索引中。即使索引有多列这样的情况下,只要这些...

2018-03-03 00:07:30 184

原创 sql优化篇(二):索引的使用

1、索引的存储分类B-tree索引:最常见的索引类型HASH索引:只有Memory引擎支持R-tree索引:空间索引MyISAM的一个特殊索引类型Full-text索引:全文索引也是MyISAM,InnoDB从mysql5.6版本提供全文检索的支持B-tree索引和Hash索引比较: Hash索引相对简单,只有Memory引擎支持Hash索引,Hash索引适用于Key-valu...

2018-03-02 22:55:29 231

原创 sql优化篇(一):sql性能分析查找

1、通过show status 命令来显示各种sql的执行效率命令: show session 或者 global status (session表示当前的连接中的统计、global表示子数据库上次启动至今)例如: Com_xxx表示的是每个xxx语句执行的次数Com_select:表示的是执行select语句的次数…Innodb_rows_read:select查询返回的...

2018-03-02 19:49:13 696

原创 HashMap理解与总结

HashMap运作原理HashMap数据结构HashMap是基于哈希表的Map接口的非同步实现。Hash Map中的key可以为null,但不能是可变对象,如果是可变对象的话,对象中的属性改变,则对象HashCode也进行相应的改变,导致下次无法查找到已存在Map中的数据。 从上图中可以看出,HashMap底层就是一个数组结构,数组中的每一项又是一个链表。当新建一个HashMap的...

2018-02-27 23:13:03 201

原创 mysql整理总结(四):触发器

触发器: 触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行。语法: DELIMITER $$CREATE TRIGGER <TRIGGER Name> BEFORE/AFTER INSERT/UPDATE/DELETE ON <Table Name> FO...

2018-02-26 23:42:17 113

原创 mysql整理总结(三):存储过程

存储过程简介SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。...

2018-02-26 15:34:23 168

原创 mysql整理总结(二):自定义函数

自定义函数: 自定义函数 (user-defined function UDF)就是用一个象ABS() 或 CONCAT()这样的固有(内建)函数一样作用的新函数去扩展MySQL。所以UDF是对MySQL功能的一个扩展语法:DELIMITER $$CREATE FUNCTION FUNCTION_NAME(PARAM TYPE,[PARAM TYPE,...]) ...

2018-02-26 14:21:02 175

原创 mysql整理总结(一):索引

索引是什么mysql索引: 是一种帮助mysql高效的获取数据的数据结构,这些数据结构以某种方式引用数据,这种结构就是索引。可简单理解为排好序的快速查找数据结构。如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。索引分类单值索引:一个索引包含1个列 create index idx_XX on table(f1) 一个表可以建多...

2018-02-26 01:30:27 130

原创 java使用多线程的一些总结

java线程创建方式1、 继承 Thread重写 run方法,调用 start方法。new Thread(){public void run() { System.out.println("Thread");};}.start();2、 Thread构造函数 中传入 Runnable 实现类,调用 start方法。new Thread(new Runnable() {...

2018-02-25 21:34:47 216

原创 Spring核心探索与总结(二):Spring容器初始化源码探索

Spring容器概述容器是spring的核心,Spring容器使用DI管理构成应用的组件,它会创建相互协作的组件之间的关联,负责创建对象,装配它们,配置它们并管理它们的生命周期,从生存到死亡(在这里,可能就是new 到 finalize())。 Spring容器不只有一个。Spring自带了多个容器实现,可以归纳为两种不同的类型: 1、bean工厂(由beanFactory接口定义)是最简...

2018-01-27 15:38:43 339

原创 Spring核心探索与总结(一): 俯瞰Spring

冬天是一个能让人静下心来学习与提升自己的季节,最近看了《Spring实战》就想着结合网上的资料把对Spring核心的理解做一些记录与总结。Spring整体架构组成 Spring 框架的每个模块集合或者模块都可以单独存在,也可以一个或多个模块联合实现。每个模块的组成和功能如下:1.核心容器:由spring-beans、spring-core、spring-context和spri

2018-01-23 22:52:16 382

原创 Java8 Stream API理解与总结

问题场景描述最近接到这样一个开发需求:每天0点 从第三方数据库读取业务数据,并对每条记录处理和过滤后进行持久化记录,数据量在百万级别,要求速度要尽可能快。所以涉及到逐条记录的迭代以及对这条记录有过滤和逻辑处理,以及对速度的要求,首先想到了前段时间天看过的java8 Stream API来做。于是详细看了相关资料后对java 8这一特性作一些总结和思考。理解StreamStream是什么java官方文

2018-01-01 20:05:58 583

原创 Elasticsearch全文检索企业开发记录总结(五):全文搜索

应用场景酒店预订app全文检索具体实现1、 根据业务组建查询条件参数:SearchParams2、构建关键字查询:keywordQuery/** * 构建关键字查询。 * <p> * 从多个字段构建关键字查询,包括拼音。 * * @param keyword 关键字 * @return 构建器 */ private Mul

2017-12-30 15:18:32 1035

原创 Redis集群方案整理

为什么使用集群首先,加快速度,横向拓展其次,目前硬件资源成本降低,多核CPU,几十G内存的主机很普遍,对于主进程是单线程工作的Redis,只运行一个实例就显得有些浪费。同时,管理一个巨大内存不如管理相对较小的内存高效。因此,实际使用中,通常一台机器上同时跑多个Redis实例。方案1.Redis官方集群方案 Redis ClusterRedis Cluster是一种服务器Sharding技术,3

2017-12-27 11:39:20 216

原创 Elasticsearch全文检索企业开发记录总结(四):数据同步

同步机制概述本次项目中数据实时同步没有使用一些同步插件例如go-mysql-elasticsearch、elasticsearch-jdbc等同步技术,而是根据企业业务和项目的结构的特殊性采用了更适合项目和业务需求的多线程任务调度数据同步的机制。同步模块同步流程 业务数据改变–>修改关系型数据库数据–>将修改的记录主键放入队列充当生产者–> 事件调度任务利用多线程获取数据充当消费者,获取队首主

2017-12-26 21:59:40 293

原创 什么是 JWT -- JSON WEB TOKEN

作者:Dearmadman什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明

2017-12-26 11:34:51 219

原创 Elasticsearch全文检索企业开发记录总结(三):Mapping相关配置

理解Mapping什么是mappingES的mapping非常类似于静态语言中的数据类型:声明一个变量为int类型的变量, 以后这个变量都只能存储int类型的数据。同样的, 一个number类型的mapping字段只能存储number类型的数据。同语言的数据类型相比,mapping还有一些其他的含义,mapping不仅告诉ES一个field中是什么类型的值, 它还告诉ES如何索引数据以及数据是否能

2017-12-25 23:13:20 490

原创 Elasticsearch全文检索企业开发记录总结(二):ES客户端搭建

项目依赖 <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</artifactId> <version>5.4.0</version> </dependency><dependency> <groupId>org.ap

2017-12-25 15:08:36 1201

原创 Elasticsearch全文检索企业开发记录总结(一):整体架构

一、需求背景项目背景:开发项目为酒店预订App,ES实现全文检索功能,类携程app酒店搜索项目架构:基于maven管理,SSM框架、mysql数据库二、架构设计整体架构设计模块分为:ES客户端java API底层调用模块ES数据同步模块业务数据处理模块同步模块的实现: 1、整个全文检索业务关系增加了redis队列 2、应用层与全文检索服务解耦 3、同步任务放到事件调度服务,采用线程池机

2017-12-25 14:38:15 763

原创 LinkList ArrayList 深入研究对比

最近深入了解了一下LinkList ArrayList的区别和性能。以往问及什么时候用ArrayList什么时候用LinkedList,往往答案是,当大量随机检索数据时使用ArrayList,当频繁插入删除操作时使用LinkedList。按照数据结构来说,确实是LinkedList在插入删除操作时的复杂度要低于ArrayList。但在现实代码实现以及实际执行性能上,却不一定是这样。根据查阅的资料整理

2017-12-16 16:03:53 301

原创 Spring+Spring MVC+Mybatis框架手动整合(笔记迁移)

一、创建项目准备工作 1、使用maven创建项目 mvn archetype:create -Dgroupld=组名 -@artifactld=项目名 -DarchetypeArtifactld=项目类型 mvn archetype:generate -Dgroupld=org.ssmpro -Dartifactld=ssmpro -DarchetypeArtifactld=maven-arc

2017-12-16 15:58:18 296

原创 第一篇博客

工作有几年时间了,在某些知识领域有了自己的一些见解,决定开个博客记录与分享自己的技术成长历程。(#^.^#)

2017-12-16 15:27:36 187

空空如也

空空如也

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

TA关注的人

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