自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据平台 & 数据采集全流程刨析 & 面试准备tip - 20181227

数据平台为什么建设数据平台?当公司业务多元化,有多条业务线,如oms、wms、bms、tms、erp、oa十几种业务系统,导致需求变化多。数据生命周期:产生(业务系统库mysql,tms,日志存储),传输(中间件Kafka),入库(HDFS --> hive + hbase),'统计、分析、挖掘'(Spark、Flink)基础平台的稳定性。架构1.0版本初期...

2018-12-28 16:44:48 414

原创 SpringMVC浅析 - 20181226

【面试题】在浏览器输入登录地址后,浏览器做了什么?六步:①域名解析、②tcp握手、③建立连接、④发送报文、⑤服务器应答、⑥解析html域名解析:将英文的网址名转换成ip地址tcp连接建立:建立通信信道,经过三次握手建立连接发送报文:就是消息头,消息体那些东西服务器应答:(可以扩充nginx,服务器集群等等)解析html:(渲染):再来看看SpringMVC工作流程Dis...

2018-12-27 12:49:36 160

原创 准备的一些 "分布式" 相关问题 (分布式缓存、分布式锁、分布式session、分布式事务、分布式搜索、Dubbo与SpringCloud、分布式存储)

Dubbo的缺点,过分依赖zookeeper,就是过分依赖注册中心。在微服务中,应该做到各司其职,就是注册中心,服务网关,配置中心,三者不应该耦合度那么高。【与springcloud的对比:注册中心——Eureka、服务网关——Zuul、配置中心——SpringCloud Config】。微服务理应各个服务解耦,独立不相关的。Dubbo的容错策略,没有细粒度到方法级别上;负载均衡则可以...

2018-12-24 20:37:52 808

原创 云析面试讲解公开课(如何提升offer命中率)2018-12-23

网站:https://www.bilibili.com/video/av35434533集合相关集合相关异常,以及使用各集合间的优缺点?临时解决方案:百度、咨询同事、快速界解决问题,避免影响项目进度;解决后的问题反思:ArrayList是单线程,非线程安全,需要手动加锁实现同步lock或sychornized;因为代码不方便重用,CopyOnWriteArrayList,它底...

2018-12-23 19:39:51 304

原创 MyBatis和Spring整合,流程浅析 - 20181208

【面试题】我们在开发mybaits时候,有几种写sql语句的方式?一种是注解、一种是xml文件、还有一种是@Provider注解形式:简单但是不是很灵活,对于动态条件查询是无法实现的,这时,我们可以使用xml的方式。xml形式:有xml文件,且约束严格。@Provider:结合上两种优点,注意:方法不能重载【面试题】我们都知道mybatis默认是有一级缓存的,但mybatis和s...

2018-12-08 20:50:17 345

原创 HashMap 与 ConcurrentHashMap - 20181207

HashMap浅析java7中的hashmap,与数组中元素相同hashcode位置的元素,是以链表的方式存在,链接在元素的头节点处,而java8则是链接在尾节点。(第一个不同点)首先,会将新加入的元素链到旧元素的头部,然后将这个头部赋值到旧元素的位置,完成新元素加节点的操作。(java7的添加原理)public class MyHashMap<K,V> { //自定义...

2018-12-08 13:29:29 95

原创 置顶 - 谢谢CSDN

我想说的是,我最终还是搬走了看看。勉强搭了个博客,每天记录工作和学习状况。坚持,坚持。https://wanqh.gitee.io/blog/感谢CSDN,带来的一切,加油共勉!...

2019-04-03 19:08:30 200

原创 《码出高效Java开发手册》阅读笔记 - 第一章(未完成)

第一章.计算机基础知识计算机中常用的存储计量单位。位即1个bit,简写为b。8个bit组成一个字节,即1个Byte,简写B。1024个Byte简写为KB。1024KB简写为MB。1024MB简写为GB。位即1个bit,简写为b。8个bit组成一个字节,即1个Byte,简写B。1024个Byte简写为KB。1024KB简写为MB。1024MB简写为GB。cpu与内存cpu是一块超大规模的集...

2019-02-23 15:55:57 207

原创 Redis笔记-20190222

本文主要讲解:一、架构1. Replication + Sentinel架构使用社区版本推出的原生高可用解决方案,其架构如下:使用社区版本推出的原生高可用解决方案,其架构如下:Sentinel作用:监控:会不断检查主服务器和从服务器是否正常运行。通知:当被监控的某个Redis服务器出现问题,Sentinel通过API脚本向管理员或者其他应用程序发送通知。自动故障转移:当主节点不能正...

2019-02-23 09:48:08 183

原创 Redis使用过程出现类型转换异常问题- 20190220

问题描述:使用redis过程中,出现类型转换异常问题,出现在存数据和取数据时。而且相同代码在本地测试无异常,而提交到测试环境,则会出现问题。问题原因:最后定位到,原因在使用redis存取数据时,参数有Object类,需要关系其序列化的问题。同时,因为使用redisTemplate其本身已经进行了序列化,那在没有特殊要求的情况下,不要额外再做序列化操作,会导致重复序列化产生的类型转换异常。...

2019-02-20 18:35:41 5347 2

原创 GitLab结合Eclipse的简单使用 - 20190211

需求:移动端的值班经理视图调用了三个接口,需要在移动段的应用下加上三个接口的路由,分别是:/xxx-mvc/dutyView/getProviderSysDeal/xxx-mvc/dutyView/getSysAlarmData/xxx-mvc/dutyView/getSysStaffInfopackage com.xxx.xxx.mvcmobile.controller;impor...

2019-02-16 18:17:18 417

原创 kafka消费信息时,产生重复消费的情况 - 20190121

Kafka相关问题:Markingthe coordinator 2147483283 dead.Error UNKNOWN_MEMBER_ID occurred while committing offsets for group test Auto offset commit failed: Commit cannot be completed due to group rebalanc...

2019-02-15 19:19:02 1536

原创 尚硅谷 Java面试题 第一季 - 20181221

SSM一、SpringBean的作用域之间有什么区别?其实就是scope属性里设置singleton | prototype 两个属性,默认是singleton单例的prototype是多实例。其他的request:每次HTTP请求会创建新的bean,该作用域仅适用于WebApplicationContext环境。session:同一个HTTP session共享bean,该作用域仅适用...

2018-12-23 19:34:54 3302 3

转载 34张史上最全IT架构师技术知识图谱(转)

1.1 架构师图谱1.2 Java架构师图谱1.3 微服务架构秘籍1.4 一致性图谱1.5 互联网大流量的方法1.6 安全秘籍1.7 阿里巴巴常用小框架1.8 架构方法论图谱1.9 设计模式秘籍图谱二2.1 JVM虚拟机垃圾回收图谱2.2 Java并发图谱2.3 Java集合图谱2.4 Java集合类图2.5 Java List类图2.6 ...

2018-12-23 19:33:18 3237 1

转载 Day16.高性能RPC设计 学习笔记4 - Zookeeper(转载)

ZookeeperZooKeeper 是一个为分布式应用所设计的分布的、开源的协调服务。可以解决分布式应用中出现常规问题:同步配置、选举、分布式锁、服务命名分组,记住这些问题虽然zookeeper可以帮助用户解决,并不意味着用户不需要写代码。用户如果想使用zookeeper去解决以上出现的问题,需要用户巧妙利用Zookeeper的节点特性进行编程继而实现以上功能。【什么是分布式锁?在同一时刻...

2018-12-21 21:58:11 196

原创 Day15.高性能RPC设计 学习笔记3 - Netty

一、Netty引言基于NIO一款异步通讯框架,因为在使用上相比较Mina较为简单,开发门槛低导致了Netty在互联网开发中受到绝大多数商用项目成功验证,导致了Netty成为NIO开发的首选框架。“快速”和“简单”并不用产生维护性或性能上的问题。Netty 是一个吸收了多种协议的实现经验,这些协议包括 FTP,SMTP,HTTP,各种二进制,文本协议,并经过相当精心设计的项目,最终,Netty...

2018-12-21 21:54:09 140 1

原创 Day14.高性能RPC设计 学习笔记2

一、通道选择器通道注册:需要使用Selector管理通道,然后将就绪的通道封装成SelectionKey对象。设置通道为非阻塞 ServerSocketChannel/SocketChannel#configureBlocking(false)注册通道ServerSocketChannel/SocketChannel#register(selector,事件类型[,附件信息])NIO...

2018-12-21 21:51:29 114

原创 Day13.高性能RPC设计 学习笔记1

一、引言系统架构演变随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用(MVC)架构已无法应对,分布式服务架构以及流动计算架构(伸缩性)势在必行,亟需一个治理系统确保架构有条不紊的演进。图01单一架构:例如早期servlet/jsp - ORM(对象关系映射) Hibernate|MyBatis垂直架构:将一个应用分层,实现协同开发,便于后期项目升级维护 - MVC St...

2018-12-21 21:46:48 147 1

原创 SpringCloud学习笔记4

零、springcloud细节问题(回顾)Eureka ServerEureka Client@EnableEurekaClient 专用于Eureka Server注册中心@EnableDiscoveryClient 通用任何注册中心客户端的调用方式restTemplate + ribbonribbon(软负载均衡 默认 轮询)客户端仅引入两个依赖(spring-c...

2018-12-15 20:45:20 140

原创 SpringCloud学习笔记3

服务的消费的两种方式:一种使用:rest+ribbon,一种是Feign一.第二种客户端调用方式 — 服务消费者(Feign)Feign简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ri...

2018-12-15 20:43:38 140

原创 SpringCloud学习笔记2

零.复习其实,SpringCloud有点与之前学过的WebService相似。SpringCloud构建项目的微服务框架,就是一个工具集,集Netfilx的开源组件进一步封装。Eureka-Server、Eureka-Client、Ribbon一.Eureka Client的高可用启动eureka server注册中心搭建服务的高可用①准备服务提供者②注意:同一个服务提供者的集群...

2018-12-15 20:37:59 191

原创 Day10.Kafka学习笔记

一、引言什么是消息?消息是系统间通信的载体,系统通讯(RPC)的介质,是分布式应用中不可或缺的一部分。目前系统间发送消息的方式有两种:①同步消息(即时消息),生产消费同时存在,必须建立会话;②异步消息(离线消息),生产不关心消费,不必建立会话,消费者自行消费。不同消息使用场景即时消息:打电话,表单提交,webservice(soap),dubbo/springCloud离线消息:...

2018-12-12 23:51:52 174

原创 Day9.HBase学习笔记2

一、[root@CentOS ~]# /usr/zookeeper-3.4.6/bin/zkServer.sh start zoo.cfgJMX enabled by defaultUsing config: /usr/zookeeper-3.4.6/bin/../conf/zoo.cfgStarting zookeeper ... STARTED[root@CentOS ~]# sta...

2018-12-12 23:49:34 126

原创 Day8.MongoDB学习笔记3

一、SpringDataMongoDBSpringData家族成员之一,用于操作MongoDB的持久层框架,封装了底层的mongodb-driver导入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-star...

2018-12-12 23:46:33 110

原创 Day8.HBase学习笔记1

一、回顾HDFS架构、MapReduce的11个步骤、InputFormat的理解、shuffle的过程、shuffle实战【面试题】hadoop在shuffle过程中经历了几次排序?3次,map端溢写,溢写合并,reduce合并NoSQL根据使用场景,分为四类:k-v型 redis、ssdb了解Redis 2.x/3.x/4.x/5.xSSDB基于磁盘,基于Google的Le...

2018-12-12 23:45:14 266

原创 Day10.ElasticSearch在docker中安装

一、容器的创建与远程连接下载镜像(此步省略)docker pull elasticsearch:5.6.8创建容器docker run -di --name=tensquare_elasticsearch -p 9200:9200 -p 9300:9300 elasticsearch:5.6.8浏览器输入地址:http://192.168.153.138:9200/ 即...

2018-12-12 12:42:38 182

原创 Day9.ElasticSearch

一、引言什么是ElasticSearch?Elasticsearch是一个实时的分布式搜索和分析引擎。区别与Solr,它本身就是分布式的。ElasticSearch是一个基于Lucene的搜索服务器。ElasticSearch特点?(1)可以作为一个大型分布式集群(数百台服务器)技术,处理PB级数据,服务大公司;也可以运行在单机上(2)将全文检索、数据分析以及分布式技术,合并在了一起...

2018-12-12 11:09:30 114 1

原创 Day7.Hadoop学习笔记5

零、了解推荐算法推荐算法算法是什么?我们可以把它简化为一个函数。函数接受若干个参数,输出一个返回值。推荐算法是计算机专业中的一种算法,通过一些数学算法,推测出用户可能喜欢的东西,多用于电商项目中。所谓推荐算法就是利用用户的一些行为,通过一些数学算法,推测出用户可能喜欢的东西。协同过滤协同过滤算法(Collaborative Filtering, CF)是很常用的一种算法,在很多电商网...

2018-12-08 12:16:48 236

原创 Day6.Hadoop学习笔记4

一、MapReduce任务提交(前4步)(源码分析——前4步发生在client node 上)Job.java 从1292行 /** * Submit the job to the cluster and return immediately. * @throws IOException */ public void submit() throws...

2018-12-08 12:12:57 239 1

原创 Day5.Hadoop学习笔记3(偏向于实战)

零、回顾小TipsGoogle发表的一系列文章:GoogleFileSystem、MapReduce、BigTables、SpannerBigTables是Google设计的分布式数据存储系统,用来处理海量的数据的一种非关系型的数据库。Spanner(Spanner是谷歌公司研发的、可扩展的、多版本、全球分布式、同步复制数据库。它是第一个把数据分布在全球范围内的系统,并且支持...

2018-12-08 12:10:32 144

原创 Day4.Hadoop学习笔记2

零、SSH密码认证流程一、HDFS架构简单了解HDFSHDFS借鉴了GFS的数据冗余度思想存在批量的硬盘;【DataNode 数据节点】HDFS默认冗余度为“3”,就是一份同样数据保存三份;利用“水平复制”提升上传效率;以“数据块”作为单位进行数据传输(1.x版本 64m、2.x版本 128m);存在一个“管理员”进行管控调度【NameNode 名称节点】HDFS区别其他...

2018-12-05 18:49:47 311

原创 Day3.Hadoop学习笔记1

零、概述一、概述Hadoop衍生自Nutch(搜索引擎和web爬虫),面临的问题:海量数据存储和计算Big Data大数据,谈的不仅仅是数据量,其实包含了数据量(Volume)、时效性(Velocity)、多样性(Variety)、可疑性(Veracity)Hadoop是一个开源存储和计算框架,HDFS大规模数据存储服务,MapReduce实现了对海量数据的并行处理和分析。...

2018-12-04 07:46:06 192 1

原创 Day2.MongoDB学习笔记2

一、MongoDB副本集概要什么是MongoDB副本集?副本集是一组mongodb进程,它维护了同样的数据集。副本集提供了信息冗余和高可用,是所有生产部署的基础。客户端,读写操作主节点,然后将数据复制到副节点中。节点Primary Node 主节点,一个副本集只能有一个主节点,主要作用接受客户端所有写操作(默认情况下,也可以读取数据),并记录主节点操作日志,副节点复制主节点日...

2018-12-02 22:37:09 107

原创 Swagger组件学习 - 20181201

Swagger学习笔记一.引言Swagger是一个功能强大的API框架,用于生成、描述、调用、测试和可视化restful风格的web服务什么是OAS?OpenAPI规范(OpenAPI Specification 简称OAS)是Linux基金会的一个项目,试图通过定义一种用来描述API格式或API定义的语言,来规范RESTful服务开发过程。目前V3.0版本的OpenAPI规范(也...

2018-12-01 23:16:47 469

原创 GIT 学习笔记 - 20181201

一.引言Git 是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。SVN与Git的区别?(集中式与分布式区别):集中式是版本库集中存放在中央服务器,干活时就取得最新版本,干完活再推送到服务器。缺点是必须联网才能工作。集中式中央服务数据丢失,会导致数据永久丢失。而分布式版本控制系统,没有”中央服务器“,每个人都是完整的版本库, 互相即时修改,就能看到互相...

2018-12-01 23:13:56 104

原创 Day1.MongoDB学习笔记1 - 20181201

零、大数据引言什么是大数据,其本质是什么?①、数据的存储:分布式文件系统(分布式存储)②、数据的计算:分布式计算有两个大数据相关的技术Hadoop(基于java语言开发)和Spark(基于Scala语言,Scala基于java)大数据的基础和学习路线1)Java基础和Linux基础2)Hadoop的学习:体系结构、原理、编程①第一阶段:HDFS(存储:分布式文件系统)、Map...

2018-12-01 23:09:37 169

原创 Lucene学习笔记 - 20181130

一、引言介绍Lucene是apache的一个子项目,是一个开源全文检索引擎工具包 ,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。在Java开发环境里Lucene是一个成熟的免费开源工具。就其本身而言,Lucene是当前以及最近几年最受欢迎的免费Java信息检索程序库。人们经常提到信息检索程序库,虽然与搜索引擎有关,但不应该...

2018-12-01 23:02:06 118

原创 Quartz组件学习 - 20181128

Quartz组件学习一.引言Quartz(中文:石英)是一个开源的任务调度框架。可以让你的程序在指定时间执行,也可以按照某一个频度执行。支持数据库、监听器、插件、集群等特性。是一个专业的调度任务框架。定时消息推送、定时抢购、定时发送邮件、定时统计等java领域当中有三种技术选型,实现调度任务:①jdk中util包下的Timer类(单线程)②Spring Task 工具包,完成功能较为...

2018-12-01 22:58:25 179 1

原创 SpringBoot学习笔记2 - 20181128

一.Springboot常见错误总结控制台乱码问题(插件启动,控制台乱码问题)在pom文件,springboot插件启动中,增加如下(一些虚拟机方法)<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugi...

2018-12-01 22:51:08 103

原创 SpringBoot学习笔记1 - 20181127

一.引用作用用来简化Spring应用的初始化搭建以及开发过程。快速项目构建,简化配置Springboot(微框架)=Spring(项目管理框架)+SpringMVC(控制器)规范(约定俗成)在底层子包外,有一个Application.java入口类,一个springboot项目,有且只有一个springboot的约定(就是配置,也称”约定大于配置“)applicat...

2018-11-27 23:47:38 207

空空如也

空空如也

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

TA关注的人

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