自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spring的bean创建流程源码解析

三级缓存是为了解决循环依赖,也是为了存储单例对象Spring提供了三级缓存存储 完整Bean实例 和 半成品Bean实例 ,用于解决循环引用问题//1、最终存储单例Bean成品的容器,即实例化和初始化都完成的Bean,称之为"一级缓存"//2、早期Bean单例池,缓存半成品对象,且当前对象已经被其他对象引用了,称之为"二级缓存"//3、单例Bean的工厂池,缓存半成品对象,对象未被引用,使用时在通过工厂创建Bean,称之为"三级缓存"三级缓存怎么解决循环依赖问题?

2024-04-24 19:52:50 1131 1

原创 Maven 知识点总结

maven常用用法和知识点总结

2023-05-06 11:16:56 750

原创 netty系列三:服务启动流程源码分析

目录服务启动流程1.1、创建服务端Channel1.2、初始化服务端Channel1.3、注册selector1.4、绑定端口服务启动流程典型的服务端启动代码,我们的分析从这里开始 // netty 服务端启动 public void runServer() throws Exception{ // 用来接收进来的连接 EventLoopGroup bossGroup = new NioEventLoopGroup(1); // 用来处理.

2021-05-08 14:16:49 201 1

原创 netty 系列二:架构设计

前置知识:Java 4种IO模型网络模型和TCP协议Reactor线程模型Reactor线程模型不是Java专属,也不是Netty专属,它其实是一种并发编程模型,是一种思想,具有指导意义。比如,Netty就是结合了NIO的特点,应用了Reactor线程模型所实现的。 Reactor模型中定义的三种角色:Reactor:负责监听和分配事件,将I/O事件分派给对应的Handler。新的事件包含连接建立就绪、 读就绪、写就绪等。Acceptor:处理客户端新连接,并分派请求到处理器链中。

2021-04-11 20:45:00 141

原创 netty 系列一:基础介绍与使用

1、简介Netty 是一款用于创建高性能网络应用程序的高级框架。使用 Netty 的好处:1、使用 Netty 比直接使用底层的Java API容易的多2、Netty 设计良好,模块化,更方便的把业务逻辑和网络层解耦2、示例导入pom依赖<!-- Netty 通讯依赖组件 --> <dependency> <groupId>io.netty</groupId> <artifactId>netty-a

2021-04-11 12:43:49 211

原创 Java 4种IO模型

IO读写的原理Linux系统中分为内核缓冲区和用户进程缓冲区。外部设备的读写,会导致操作系统的中断,中断发生时,操作系统需要保存进程状态和数据等信息;中断恢复时,再恢复进程数据和状态。为了减少这种消耗,就有了缓冲区。我们常说的IO读写,是在内核缓冲区和进程缓冲区之间的读写。4种IO模型BIO(Blocking IO)NIO(None Blocking IO)IO多路复用(IO Multiplexin)AIO(Asynchronous IO)(异步IO模型)...

2021-04-04 18:17:17 263 1

原创 网络模型和TCP协议

目录1、网络模型2、TCP2.1、TCP/IP模型2.2、TCP连接3、HTTP应用1、网络模型从上面的表格中可以看到,HTTP是应用层协议,TCP是运输层协议,根本不在一个维度上。2、TCP2.1、TCP/IP模型2.2、TCP连接TCP建立的连接是可靠的,只要不主动断开就一直存在,且传输的数据是有序的,可靠的,不丢失的,不重复的。数据传输过程:1、连接建立(三次握手)主机A的TCP向主机B的TCP发送连接请求报文段,报文段中包...

2021-04-04 12:52:55 138

原创 spark master schedule()方法解析

master中,当有新的Application注册或者资源变动后,都会执行schedule()方法,这个方法的作用就是启动driver和executor. private def schedule(): Unit = { if (state != RecoveryState.ALIVE) { return } // Drivers take strict preced

2018-01-10 13:56:12 792

原创 spark master注册机制和主备切换源码

master注册和主备切换

2017-12-19 18:30:07 281

原创 sparkContext源码分析

sparkContext启动最主要的三件事,1.启动web UI,2,创建TaskScheduler 3,创建DAGScheduler

2017-12-15 17:16:06 413

原创 spark代码提交流程(Standalone)

spark代码提交流程

2017-12-15 15:41:36 546

原创 spark rdd根据key保存进不同的文件夹

1、首先rdd必须是(key,value)形式。本例中是根据createTimeStr作为key. 这个值是yyyy-MM-dd形式val mrdd = ds.map(x => {        val jsonObject = JSON.parseObject(x._2)        //2017-07-18 14:16:13        val createTi

2017-08-21 16:08:41 3000

原创 hadoop2.6 UserGroupInformation 获取用户名

Hadoop的客户端是通过FileSystem类操作hdfs的。FileSystem.get()方法获取FileSystem对象。 public static FileSystem get(final URI uri, final Configuration conf, final String user) throws IOException, InterruptedE

2016-12-30 13:55:33 6742 1

转载 spark性能优化指南基础篇

转载自 http://tech.meituan.com/spark-tuning-basic.html前言在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spa

2016-10-26 15:30:29 399

转载 Spark性能优化指南高级篇

转载自 http://tech.meituan.com/spark-tuning-pro.html前言继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。数据倾斜调优调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题

2016-10-26 15:28:01 1913

原创 flume源码分析

1、LifecycleAwarepublic interface LifecycleAware {   public void start();   public void stop();   public LifecycleState getLifecycleState(); }所有核心组件,全都实现这个接口。通过start,stop启动关闭,通过

2016-10-08 16:20:21 2564

原创 kafka源码阅读环境搭建

1、源码地址http://archive.apache.org/dist/kafka/0.10.0.0/kafka-0.10.0.0-src.tgz2、环境准备centOSgradle 下载地址 https://services.gradle.org/distributions/gradle-3.1-bin.zip 安装请参考 这里 。注意要安装3.1版本,如果安装1.1版本可能会...

2016-09-28 11:19:13 9183

原创 azkaban 用户权限配置

1、azkaban 用户权限管理介绍azkaban使用jetty创建服务端,通过配置$AZKABAN_WEB_HOME/conf/azkaban-users.xml文件来配置用户,在官网的说明如下http://azkaban.github.io/azkaban/docs/latest/#user-manager 。采用用户——角色——权限三个维度控制权限。其中用户可以创建用户组,给用户组制定权

2016-08-23 09:42:12 7988

原创 一次azkaban源码阅读经历

1、起因是使用azkaban配置邮件时,发现邮件不起作用。当时在azkaban-web/conf/azkaban.properties 文件中添加了如下配置# mail settingsmail.sender=ttttt@autohome.com.cnmail.host=114.114.114.114mail.user=ttttt@autohome.com.cnmail.passwo

2016-08-18 14:37:17 4068 3

原创 hive执行命令Specified key was too long; max key length is 767 bytes 问题

在进入Hive后可以show databases; 但create table, show tables;等命令都报错,如下:[ihadoop@Master ~]$ cd /home/ihadoop/hadoop/hive-0.11.0[ihadoop@Master hive-0.11.0]$ bin/hiveLogging initialized using configurat

2015-11-19 10:04:42 6599

原创 Hadoop优化点记录

1、  combiner函数,规约Map的结果,降低Reduce的压力2、  定期运行均衡器,平衡集群上的数据块分布。3、  对map的中间结果进行压缩(对优化可能有用)mapper的数量mapper需要运行多长时间?如果平均只要几秒钟,则可以看是否能用更少mapper运行更长的时间,通常是一分钟左右。时间长度取决于使用的输入格式。7.2.2

2015-10-28 21:21:34 434

转载 Hadoop权威指南第十章

1).永久性数据结构A.NameNode的目录结构NameNode被格式化之后,将产生所示的目录结构:${dfs.name.dir}/current/VERSION                       /edits                       /fsimage

2015-06-23 16:15:08 588

转载 Hadoop权威指南第九章笔记

1.集群规范1)配置规范一般Hadoop DataNode和TaskTracker节点典型机器具有吐下规范:处理器:2个四核 2~2.5 GHz CPU内存:16~24 ECC RAM存储器:4*1TB SA

2015-06-23 16:14:12 580

转载 Hadoop权威指南第八章

计数器是一种收集Job统计的有效手段,用于质量控制或应用级统计。计数器的应用使得获取统计数据比使用日志文件获取数据更加容易。1).内置计数器Hadoop的内置计数器用来描述Job的各项指标,例如已处理的

2015-06-23 16:13:34 1056 1

转载 Hadoop权威指南第七章

1.MapReduce的类型Hadoop的MapReduce一般遵循如下常规格式:m

2015-06-23 16:13:00 1011

转载 Hadoop权威指南第六章

转载自 http://www.cnblogs.com/biyeymyhjob/archive/2012/08/11/2631750.html1.剖析MapReduce作业运行机制1).经典MapReduce--MapReduce1.0整个过程有有4个独立的实体客户端:提交MapReduceJobTracker:协调作业的运行TaskTracker

2015-06-23 16:12:30 1163

转载 Hadoop权威指南第五章

1.配置APIHadoop拥有很多xml配置文件,格式遵从一般xml的要求 见实例 color yellow Color size 10 Size weight heavy

2015-06-23 16:11:05 871

转载 Hadoop权威指南第四章

1.数据的完整性1).HDFS的数据完整性HDFS以透明方式校验所有写入它的数据,并在默认设置下,会在读取数据时验证校验和。针对数据的每个io.bytes.per.checksum字节都会创建一个单独的校验和。默认值为512字节;采用CRC-32(循环冗余校验)方式,任何大小的数据输入均计算得到一个32位的整数校验和(4字节)。DataNode负责在存储

2015-06-23 16:09:59 818

转载 Hadoop权威指南第三章笔记

1.HDFS的设计HDFS设计的适合对象:超大文件(TB级别的文件)、流式数据访问(一次写入,多次读取)、商用硬件(廉价硬件)HDFS设计不适合的对象:低时间延迟的数据访问、大量的小文件、多用户写入,任意修改文件(因为文件系统元数据存储在NameNode的内存中,所以小文件越多,占用的内存就越多。一般,每个文件,目录或者数据块的存储信息大约占150字节,

2015-06-23 16:09:15 888

转载 hadoop权威指南第一第二章笔记

Hadoop:The Definitive Guid 总结 Chapter 1~2 初识Hadoop、MapReduce 1.数据存储与分析问题:当磁盘的存储量随着时间的推移越来越大的时候,对磁盘上的数据的读取速度却没有多大的增长从多个磁盘上进行并行读写操作是可行的,但是存在以下几个方面的问题:1).第一个问题是硬件错误。使用的硬件越多出错的几率

2015-06-23 16:08:08 1092

原创 spring4.0源码下载

最近想读一下spring的源码,现在spring的源码保存在git上。以下是从git上下载源码,并转换成eclipse项目的步骤1、下载工具下载最新的eclipse,因为最新版本的eclipse,自带git插件。已经有eclipse或者git的跳过此步骤。http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-de

2015-05-29 22:41:43 2192

转载 log4j配置

Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下: #配置根Loggerlog4j.rootLogger  =   [ level ]   ,  appen

2014-08-27 16:48:52 474

转载 easyui分页

转自http://www.cnblogs.com/huozhicheng/archive/2011/09/27/2193605.html由于项目原因,用了jquery easyui 感觉界面不错,皮肤样式少点,可是官网最近打不开了,资料比较少,给的demo没有想要的效果,今天在用datagrid 做分页显示的时候,折腾了半天,网上的资料也比较少,后自己动手,终于解决,废话不说,

2014-08-27 10:11:41 526

转载 hadoop的编程实例

原文链接:http://www.cnblogs.com/xia520pi/archive/2012/06/04/2534533.html从网上搜到的一篇hadoop的编程实例,对于初学者真是帮助太大了,看过以后对MapReduce编程基本有了大概的了解。看了以后受益匪浅啊,赶紧保存起来。 1、数据去重   "数据去重"主要是为了掌握和利用并行化思想来对数据进行有意义的筛

2014-08-26 22:36:00 940

转载 细谈Ehcache页面缓存使用

转自 http://www.iteye.com/topic/128458//*** 作者:张荣华* 日期:2007-9-30**/ 关于缓存的话题,在坛子里已经有很多讨论,简单的来说,如果一个应用中80% 的时间内都在访问20% 的数据,那么,这时候就应该使用缓存了。这个和长尾理论正好相悖,其实也不是相悖,只是不同的理论使用的场景不同。在80/20 原则生效的地方,

2014-08-26 13:36:57 532

转载 ehcache简单使用

关于缓存的话题,在坛子里已经有很多讨论,简单的来说,如果一个应用中80% 的时间内都在访问20% 的数据,那么,这时候就应该使用缓存了。 测试环境: MySQL 5.0.22, jdk1.6.0_07, ehcache-1.6.0-beta2, mysql-connector-java-3.1.14 测试表:Sql代码  CREATE TAB

2014-08-26 11:49:50 453

转载 Ehcache详细解读

Ehcache 是现在最流行的纯Java开源缓存框架,配置简单、结构清晰、功能强大,最初知道它,是从Hibernate的缓存开始的。网上中文的EhCache材料以简单介绍和配置方法居多,如果你有这方面的问题,请自行google;对于API,官网上介绍已经非常清楚,请参见官网;但是很少见到特性说明和对实现原理的分析,因此在这篇文章里面,我会详细介绍和分析EhCache的特性,加上一些自己的理解和思考

2014-08-22 17:58:57 477

原创 struts2入门基本配置

1、下载struts2的包2、新建yi

2014-07-31 13:57:52 471

转载 java中的各种路径的获取方式

@Test public void testb() throws IOException{ //getLog4jProties(); /*******获取类加载的根路径************/ //E:/workspace/Myeclipse10/workspace/springtest/WebRoot/WEB-INF/classes/ System.out.println(t

2014-07-24 18:22:20 576

原创 jquery实现无刷新提交表单

HTML代码 js代码

2014-06-04 21:54:02 599

空空如也

空空如也

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

TA关注的人

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