自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 开篇-知识结构概览

该篇博客主要用于整理个人已学习过或了解过的相关知识点;对于这些知识点应当按照各种内容的核心程度及需求层级逐步完成相关内容的同步及整理工作。 各个叶节点内容(可能也有部分中间节点的内容)主要采用单个博客的展示内容,并在完成单个博客的整理发布后在该篇提供统一的入口。

2019-08-12 10:28:47 189

原创 工作五月总结

工作四月半工作内容总结开篇现状未来 计划开篇大约在进入公司两月后吧,就算是初步适应的了工作的节奏与日常工作的内容,生活的节奏也完全与工作的节奏适配,目前也算是个职场人了。刚进入公司的一段时间吧,从各个方面对我的冲击什么都还是比较大的;公司的无论是流程、制度、文化,工作内容无论是要求、强度等,都与学生所接触的东西是完全不同的。总的来说,这段时间以来可以分为两个时期,初出茅庐与得心应手,而之后就...

2019-12-04 11:08:33 198

原创 数据库流式处理

数据库流式处理为什么采用流式处理流式处理方式需要注意的点为什么采用流式处理生产环境中常常遇到千万级甚至亿级的大表,对于这种表,一次查询哪怕查询的数据经过了索引,往往也需要一秒甚至多秒的时间,如果类似的查询次数可能要多达上百万的情况下,光对于这一张表的就可能需要消耗数十个小时,跑的慢不可怕,要是业务逻辑错了、代码有BUG、服务器挂了…要是重试几次,别说实现需求了,人都凉了。快,是现代社会的最基...

2019-11-06 16:44:31 1517

原创 入职三月总结

入职三月总结前言这段时间做了些什么这段时间学了些什么心得体会未来的目标与规划前言8号正好是入职的日子,一回首已是三月,这三月匆匆而过,我也逐渐完成了自己由学生到程序员的转变,在这个时间点正好可以做个总结工作,也以此承前启后。这段时间做了些什么刚入职的半个月其实也没有任何的产出,主要是在熟悉公司的制度文化,并稍微对于码代码这件事进行了初步的锻炼;而后开始逐渐有了些工作进行锻炼学习,这些工作...

2019-10-08 14:04:36 423

转载 JAVA8 Stream使用详解

Java8 新特性之 Stream 使用指南什么是 Stream关于 Stream(流),官方文档给出的描述是:Classes to support functional-style operations on streams of elements, such as map-reduce transformations on collections.翻译成中文也就是说:流是一个用于支持在元...

2019-09-09 13:40:06 473

原创 去重——List如何去(简单比较、重写Equals()、实现Comparable接口的排序)

List去重简单类型的去重代码示例运行结果与分析对于复杂类型——对象的去重复杂类型比较的基础介绍重写Equals()方法原有EqualsComparable接口实现简单类型的去重代码示例 List list = Arrays.asList(1,232,3,2,4,3,534,57,56,8,567,7,45,321,4,234,23,5,45,7,6,978,4,523,4,21,3,45,...

2019-09-09 13:11:33 1189

转载 多线程下ThreadLocal的使用

ThreadLocal入门ThreadLocal是什么首先,它是一个数据结构,有点像HashMap,可以保存key-value键值对,但是一个ThreadLocal只能保存一个,并且各个线程的数据互不干扰。ThreadLocal<String> localValue = new ThreadLocal();localValue.set("Here is a value");S...

2019-09-06 15:48:56 474

转载 ES查询技巧方式大全

题记本文详细论述了Elasticsearch全文检索、指定字段检索实战技巧,并提供了详尽的源码举例。是不可多得学习&实战资料。0、前言为了讲解不同类型ES检索,我们将要对包含以下类型的文档集合进行检索: 1 title 标题; 2. authors 作者; 3. summary 摘要; 4. release data 发布日期; 5. number of revie...

2019-09-05 09:58:39 668

转载 方法锁、对象锁、类锁

关键点对象锁(方法锁)对象锁(亦方法锁),是针对一个对象的,它只在该对象的某个内存位置声明一个标识该对象是否拥有锁,所有它只会锁住当前的对象。一般一个对象锁是对一个非静态成员变量进行synchronized修饰,或者对一个非静态成员方法进行synchronized进行修饰,对于对象锁,同一类的不同实例即不同对象拥有不同的对象锁,因此其被加锁的非静态成员变量或方法的使用互不影响;对象锁,只有...

2019-09-04 19:42:07 483

原创 Spring中bean的单例与多例

Spring中bean的单例与多例前言Spring中单例与多例如何配置单例/多例单例/多例Bean的使用事项总结前言之前其实已经学习过对于单例模式的使用单例模式讲解,也用过一段时间的SpringMVC与SpringBoot,但其实一直没有去关注Spring中bean的单例/多例的使用,这里由于最近想要在Springboot项目中创建一个单例的工厂类,才发现Spring中bean其实默认就是单例...

2019-09-03 09:41:24 1255

原创 使用@Value注解注入值(配置文件读取)

0. 概述在 Spring 组件中使用 @Value 注解的方式,可以直接从 .properties,.yum 等配置文件获取配置信息便于实现项目的配置化运行。1. 配置方式1.1 使用1、@Value("#{configProperties[‘key’]}")2、@Value("${key}")1.2 默认值配置1、基础方式: ${key}:defaultvalue2. SpEL...

2019-08-30 14:47:07 4164

转载 DFA-敏感词查找及替换算法

package cn.swfilter.util;import java.util.*;/** * 敏感词处理工具 - DFA算法实现 * * @author sam * @since 2017/9/4 */public class SensitiveWordUtil { /** * 敏感词匹配规则 */ public static fin...

2019-08-29 15:37:57 546

原创 树 特性比较

二叉搜索树 平衡二叉树 红黑树 B树 B+树的简单对比名称简称特点平衡性查找插入删除优势应用二叉搜索树BST索引树,由于构建不稳定,查找效率不稳定无不稳定,跟具体构建树相关,最好O(logn),最差O(N)直接插入删除的是叶子节点或只有左或右子树比较简单,如同时存在左右子树,那么要找到前驱或后继代替原先节点,再删除性能高于线性查找暂无平衡二...

2019-08-29 14:34:40 90

原创 Java进阶知识点博客阅读笔记

Java进阶知识点博客阅读笔记前言JAVA I/O字符串操作的线程安全性问题前言Java进阶知识点博客是一个非常好的知识点总结目录,这里主要按照个人需求挑选一些特定的内容进行进一步的学习、总结、归纳。JAVA I/O字符串操作的线程安全性问题1.首先明确String,StringBuffer,StringBuilder的区别:String是字符串常量,StringBuffer与Stri...

2019-08-29 13:58:12 191

转载 根据配置文件 ConfigurationProperties读取List、Map、Object、List Object 参数

前言在实际工程中,经常遇到有大段的硬编码数据,这些数据一般需要保存为List数组或者Map格式,但当这类型的硬编码数据达到一定量以后,就不适合放在代码文件中,而应该通过外部配置文件读取;这方面SpringBoot也提供了相关的支持,这边我主要总结了导入List或Map类型数据的使用方式及注意事项。List类型数据application.properties 中数据示例custom.con...

2019-08-29 11:16:27 4117

原创 简单的利用正则对字符串进行格式化并去除字母及中文字符外的特殊符号

样例 public static String replace(String str) { if(str==null){ return null; }else if(StringUtils.isBlank(str)){ return ""; } String regEx = "...

2019-08-28 11:14:09 666

原创 迭代器常见使用与集合遍历

迭代器常见使用手段前言List的遍历Map的遍历前言此处主要介绍对于List及Map的遍历方式。List的遍历 //第一种:for循环,指定下标长度,使用List集合的size()方法,进行for循环遍历 for (int i = 0; i < list.size(); i++) { String temp=list.get(i); ... } //第二种:...

2019-08-28 11:09:04 264

原创 随笔——一次相对独立的大数据处理历程

一次相对独立的大数据处理历程背景技术思路解决思路历程背景某个业务需求要求遍历一个数据量在千万级的大表,这个大表存储了一类主体的部分信息;但本次需求还要处理一些超出主体信息外的内容,这要求我还要去根据主体的编号去另外的表或者使用ES查询一些信息;关联表数据及ES中的数据量级在百万左右。本次业务的主要限制可能在于:主体信息表量级很大,不可能做关联查询或者一次性拉取所有数据;且对于大表的读取,...

2019-08-23 15:01:39 135

转载 java操作QueryBuilders常见用法

package com.elasticsearch; import org.elasticsearch.action.ActionListener;import org.elasticsearch.action.search.SearchResponse;import org.elasticsearch.index.query.IndicesQueryBuilder;import org...

2019-08-22 19:26:50 15557 5

原创 流式文件操作

流式文件操作IO资源的自动释放流式文件内容追加流式文件读取读取文件最后一行(随机读取)清空文件IO资源的自动释放在try块中使用try( 申明及初始化IO资源 ) 数据流会在 try 执行完毕后自动被关闭;前提是,这些可关闭的资源必须实现 java.lang.AutoCloseable 接口。例子可见后面内容;流式文件内容追加 // 写一行 并 换行 private vo...

2019-08-22 19:21:59 488

原创 随笔_一次使用阻塞队列进行线程并发控制的实践

一次使用阻塞队列进行线程并发控制的实践背景大致实现思路可能的问题背景目标:使用多线程消费来自kafka的数据要求:线程数可控制,代码简洁大致实现思路从Kafka分批拉取数据,每批数据分给多个线程并发处理(此处是公司包装的Kafka调用方式)并发控制分为两个部分:一方面对于封装的Kafka调用可以配置启用处理线程数,每个线程的执行是相对独立的(对于每个包内取出的数据采用平均分配的...

2019-08-20 13:30:26 177

原创 ApacheCamel基础构件

ApacheCamel基础构件1.CamelContext2 RouteBuilder3 Routes4 URI5 Filters6 Choices7 Processor8 Endpoints9 Exchange (Message Exchange)1.CamelContextThe CamelContext represents a single Camel routing rulebase...

2019-08-14 17:39:37 486

翻译 ApacheCamel入门

Apache Camel是一个功能强大的开源集成框架,基于已知的企业集成模式和强大的bean集成。介绍Camel允许您创建企业集成模式,以基于Java的域特定语言(或Fluent API),基于Spring或Blueprint的Xml配置文件或通过Scala DSL实现路由和中介规则。这意味着无论是在Java,Scala还是XML编辑器中,您都可以在IDE中智能地完成路由规则。Apach...

2019-08-14 17:34:27 2119

转载 ApacheCamel简介

ApacheCamel简介1.AC的目的:ESB要求:2.AC简介:1.AC的目的:为了实现SOA框架,企业需要一套ESB系统,而通过在AC组件基础上二次开发即可达到该目的ESB全名:企业服务总线,是SOA架构思想的一种实现思路。ESB要求:无论业务系统向外部公布的服务使用哪种调用协议,都可以通过ESB技术进行兼容和转换。无论调用协议携带哪一种消息描述格式,通过ESB中间层也可...

2019-08-14 17:29:12 3990

转载 ETL概念

ETL概念前言相关材料:[数据仓库ODS、DW和DM概念区分 ](https://www.jianshu.com/p/72e395d8cb33)一、 数据的抽取(Extract)二、数据的清洗转换(Cleaning、Transform)1、 数据清洗2、 数据转换三、ETL日志、警告发送1、 ETL日志2、 警告发送前言ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是...

2019-08-14 17:22:37 145

转载 Java IO\NIO\AIO

Java IO\NIO\AIO概述同步与异步(synchronous/asynchronous)阻塞与非阻塞与IO结合BIO、NIO、AIO的概述一、IO流(同步、阻塞)1、概述2、分类3、字符流 (只用来处理文本数据)4、字节流 (用来处理媒体数据)5、Java Scanner类二、NIO(同步、非阻塞)三个主要组成部分(1)Channel(通道)(2)BuffercopyFile实例(NIO)...

2019-08-14 11:25:48 159

原创 Kibana(目前留空,待学习总结)

https://www.ibm.com/developerworks/cn/opensource/os-cn-elk-filebeat/index.htmlELK学习kibana:1.Kibana 是一个开源的分析和可视化平台,旨在与 Elasticsearch 合作。Kibana 提供搜索、查看和与存储在 Elasticsearch 索引中的数据进行交互的功能。开发者或运维人员可以轻松地执...

2019-08-14 10:46:40 104

原创 LogStash(目前留空,待学习总结)

https://www.ibm.com/developerworks/cn/opensource/os-cn-elk-filebeat/index.htmlELK学习logstash:1.Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地。2.多来源流式处理过滤,解析,结构化(grok),格式...

2019-08-14 10:45:39 118

原创 FileBeat

https://www.ibm.com/developerworks/cn/opensource/os-cn-elk-filebeat/index.htmlELK学习filebeat:https://www.cnblogs.com/cjsblog/p/9445792.htmlBeats是用于单用途数据托运人的平台。它们以轻量级代理的形式安装,并将来自成百上千台机器的数据发送到Logstas...

2019-08-14 10:44:21 477

原创 ES分布式增删改查

ES分布式增删改查1 第一步——路由文档到分片2 分片交互3 写操作replication参数consistency参数timeout参数注意4 读操作5 多文档操作多文档模式多文档模式请求处理步骤1 第一步——路由文档到分片这涉及到新文档存储的主分片的判定:shard = hash(routing) % number_of_primary_shards  这也是主分片数目不可变得根本原因...

2019-08-14 10:37:20 168

原创 ES倒排索引及类型映射与分析器(SE倒排及搜索实现基础)

ES倒排索引及类型映射与分析器/SE倒排及搜索实现基础前言1 数据类型映射2 非结构化的全文文本查询与倒排索引(模糊的相关度的查询方式与倒排索引)3 分析器3.1 字符过滤器3.2 分词器3.3 标记过滤4. 映射注意5 复合类型5.1 多值字段5.2 空值5.3 多层对象前言ES快速搜索的基础是建立在逆序索引设计的基础上的, 逆序索引的建立最基础的设计则是对于字符串的词语拆分 ;通过将全文...

2019-08-14 10:29:55 385

转载 ES搜索

ES搜索1 搜索结果解析2 多索引和多类别3 分页在集群系统中深度分页(为什么搜索引擎很难做到大量结果排序搜索)4 字符串查询4.1 简易搜索_all字段TIP更复杂的语句TIP(下面部分的内容留待后续整理充实)4.2 DSL语句:4.3 全文搜索:(相比于短语搜索更为广泛、内容按相关性排序)4.4 短语搜索:4.5 高亮支持:4.6 聚合:https://es.xiaoleilu.com/010...

2019-08-14 10:03:06 303

转载 Thymeleaf简要介绍

1 Thymeleaf是什么Thymeleaf是一种用于Web和独立环境的现代服务器端的Java模板引擎。Thymeleaf的主要目标是将优雅的自然模板带到开发工作流程中,并将HTML在浏览器中正确显示,并且可以作为静态原型,让开发团队能更容易地协作。Thymeleaf能够处理HTML,XML,JavaScript,CSS甚至纯文本。Thymeleaf使用Spring框架的模块,与许多常见的...

2019-08-13 18:18:34 1709 1

转载 ThymeleafURL

ThymeleafURL简介1. 绝对网址 @{https://~} (基于协议的标准网址)2. 上下文相关URL 以'/'字符开头 (根据应用上下文补全URL)3. 与服务器相关URL 以'~'字符开头 (服务器级别的上下文补全,而不一定是应用上下文)4. 协议相关URL (另一种形式的绝对URL)5. 添加参数 (URL传值)6. 网址片段标识符 #name (用于页面自动翻滚到相...

2019-08-13 17:41:39 989

转载 Thymeleaf标准方言

Thymeleaf标准方言1. 什么是标准方言?2. 标准表达式语法2.1 变量表达式 $ (直接取值)2.2 选择表达式 * (从父组件取值)2.3 消息(i18n)表达式 # (基于Spring的外部文件读取)2.4 链接(URL)表达式 @ (提供多种URL重写机制)2.5 片段表达式 th:insert/th:replace (片段标记复制)2.6 文字和操作 ~2.7 表达式预处理...

2019-08-13 16:15:52 268

转载 ES入门篇

ES入门篇1 ES查询入门1.1 基础1.2 特性1.3 数据结构层级1.4 搜索方式2 ES数据结构入门2.1 document:即ES中的一条数据,为JSON obj,但特指根节点的Obj2.2 文档元数据:除数据外的部分:2.3 自增ID2.4 文档增删改操作~2.5 版本控制2.6 Mget批处理查询请求2.7 批量更新3 ES集群3.1 基础概念3.2 集群健康度3.3 添加索引3.4 ...

2019-08-13 14:08:23 365

转载 ES简易篇

ES简易篇相关资料:ES 基础一、安装二、基本概念2.1 Node 与 Cluster2.2 Index2.3 Document2.4 Type四、中文分词设置五、数据操作5.1 新增记录5.2 查看记录5.3 删除记录5.4 更新记录六、数据查询6.1 返回所有记录6.2 全文搜索6.3 逻辑运算七、参考链接相关资料:http://www.ruanyifeng.com/blog/2017/0...

2019-08-13 14:00:50 146

转载 JMM Java内存模型

JMM Java内存模型1 CPU和内存的交互1.1.1 内存屏障(Memory Barrier)为什么需要内存屏障内存屏障的作用volatile型变量volatile型变量拥有如下特性2 Java内存区域2.1 五大内存区域2.1.1 程序计数器2.1.2 Java栈(虚拟机栈)2.1.3 本地方法栈2.1.4 堆2.2 对象的内存布局2.2.1 对象头【markword】2.2.2 实例数据2...

2019-08-13 13:36:59 315

转载 Java中的锁分类

Java中的锁分类公平锁/非公平锁可重入锁独享锁/共享锁互斥锁/读写锁乐观锁/悲观锁分段锁偏向锁/轻量级锁/重量级锁自旋锁公平锁/非公平锁公平锁是指多个线程按照申请锁的顺序来获取锁。非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿现象。对于Java ReentrantLock而言,通过构造函数指定该锁是否是...

2019-08-13 11:00:37 76

原创 简单解释可重入锁与不可重入锁

简单解释可重入锁与不可重入锁相关内容地址:https://blog.csdn.net/u012545728/article/details/80843595可重入锁与不可重入锁的区别可以简单解释为:可重入锁在线程中使用时,可以反复嵌套调用同一个锁控制的代码块该种情形下会使该代码块的计数器增加(执行完毕相关代码块则会释放锁,计数器递减)而不可重入锁的使用必须保证该锁被释放后才能下一次获取该...

2019-08-13 10:56:20 229

空空如也

空空如也

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

TA关注的人

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