- 博客(25)
- 收藏
- 关注
原创 maven教程(一)定义与背景
maven的本质是一个跨平台的项目管理工具它主要有两个功能:构建与依赖管理(一)构建构建是什么,以“java源文件”,“框架配置文件”,“JSP”,“HTML”,“图片”等资源为原材料去生产一个可以运行的项目的过程以java语言为例,如果我们没有这些工具,我们就需要手动进行以下操作编译编译我们自己写的源代码.java文件,形成.class文件。使用javac命令。javac Hello.java如...
2018-06-15 17:13:08
661
原创 Kafka教程(三)---------------底层实现细节之broker
目录目录一数据存储数据目录数据文件数据查找二 数据缓存缓存的好处缓存方案pageCache原理缓存失效问题pageCache优化参数三 数据备份容错方案一、数据存储我们从上面可以看到,broker中存储的是各个topic的各个partition中的数据1.数据目录每个broker都是有自己 存消息数据的目录(参考第一节的配置) 比如下图是某个broker的数据目录,里面是
2017-12-13 17:17:17
3707
2
原创 Kafka教程(二)---------------Kafka架构初识
本文为Kafka教程的第二节,主要讲解了kafka的总体架构。阐述了kafka分布式消息队列的存在意义,shell操作,及其中几个重要的概念
2017-11-17 15:56:32
1269
原创 Kafka教程(一)---------------kafka环境的部署(单机版/集群版)
本文为Kafka教程系列一,讲解kafka环境的部署,分别讲解了单机版本的部署,伪分布式的部署方式,和真正集群环境下的部署方式
2017-11-13 16:35:40
2287
1
原创 Kafka Consumer底层原理分析【Kafka系列】
虽然目前Kafka0.10版本已经重写了其API,但底层原理是类似的,所以我们可以先了解kafka0.8.x里面的提供的Consumer的实现原理与交互流程Kafka提供了两套API给ConsumerThe SimpleConsumer APIThe high-level Consumer API本文介绍了这两种API的用法与底层原理
2017-08-14 16:34:22
6595
2
原创 spark作业调度
spark调度分为两种,一是应用之间的,二是应用内部作业的。本文主要介绍spark应用内部的作业调度,多线程提交作业的情况下,各个job的调度方式。详细介绍了FIFO与Fair调度算法的原理、源码与案例。结合thriftserver介绍了SQL级别的作业调度
2017-04-25 12:46:17
1480
原创 Spark基础入门(三)--------作业执行方式
(一)SparkContext代表对集群的一个连接(二)Job提交过程底层分析,包括DAGScheduler,taskScheduler的分析(三)、Spark提交Job的顺序的小实验
2017-01-16 20:25:28
4291
原创 Spark基础入门(一)--------RDD基础
(一)、RDD定义不可变 分布式对象集合创建RDD有两种方式:(二)、RDD分区数(三)、RDD操作 转换操作与行动操作
2017-01-12 15:29:03
6201
1
原创 Spark SQL入门用法与原理分析
sparkSQL是为了让开发人员摆脱自己编写RDD等原生Spark代码而产生的,开发人员只需要写一句SQL语句或者调用API,就能生成(翻译成)对应的SparkJob代码并去执行,开发变得更简洁,1. API2.原理3.Catalyst解析器4.sparkSQL使用json的坑5.SparkSQL整体架构
2017-01-05 11:48:14
25494
原创 JAVA的代理模式与动态代理深入分析
动态代理jdk的reflect包中的Proxy 只能代理有接口的了类Cglib 可以修改字节码 反编译 生成子类
2016-07-27 10:37:57
576
原创 JAVA的类方法与实例方法存放的位置
参见 http://www.cnblogs.com/ivony/archive/2006/06/30/439377.html所有的方法(包括类与实例方法)作为代码是被加载到特殊的代码内存区域,这个内存区域是不可写的。参见之前的文章 http://blog.youkuaiyun.com/silviakafka/article/details/47260479实例方法
2016-01-06 16:28:26
3484
原创 使用shell统计多行文本中非重复行数
参见http://blog.youkuaiyun.com/b_h_l/article/details/20694919sort命令可以对文本的内容进行排序uniq命令可以对文本内容连续的内容进行去重,非连续的重复内容无法去重sort 文件 | uniq 可以达到去除所有重复数据的目的(因为先排序了,这样相同的内容一定在连续的一片,再uniq)sort 文件 |uniq 等
2015-12-23 17:26:09
4016
原创 JVM内存概况与垃圾回收机制详解
参考:《Java虚拟机精讲》 一、JVM虚拟机内部的内存分布的概况 其中方法区我在博文 java虚拟机类加载过程内存情况底层源码分析及ClassLoader讲解中详细讲解过,可参考那篇文章。它里面主要保存:运行时常量池、字段和方法数据、构造函数、普通方法的字节码等。 PC寄存器会存储正在执行的字节码指令地址,线程私有Java栈也为线程私有,生命周期与线程的生命...
2015-08-19 15:40:55
2250
原创 JDBC接口讲解与底层实现分析(上)
为什么需要JDBC的API?为什么使用Class.forName来加载数据库驱动,DriverManager的作用?Statement与PreparedStatment区别
2015-07-30 23:26:02
13493
1
原创 Spring AOP三种配置详细介绍
AOP框架三足鼎立:1. AspectJ2.Jboss AOP3.Spring AOP Spring提供4中AOP支持1.基于代理的经典AOP2.纯POJO切面(使用XML)3.@AspcetJ注解驱动的切面4.注入式AspcetJ切面
2015-07-17 19:59:48
17678
原创 java虚拟机类加载过程内存情况底层源码分析及ClassLoader讲解
一、虚拟机的类加载机制二、虚拟机加载的过程三、加载之后在内存中类初始化详解类加载器附加:父类委托机制
2015-06-26 11:17:35
2007
原创 关于Java变量、数组、对象的声明、初始化与访问方式-----《疯狂Java突破程序员基本功的16课》读书笔记----第一章
任何变量对象 都需要初始化才能使用 所以个人认为书上描述的有一定不准确,引用变量不是不需要经过初始化操作,而是需要人工进行初始化操作。而数组、类它们在如果没有程序显式的进行初始化操作的话,系统会给它以默认值的方式初始化只要不访问对象的成员变量和方法,程序完全可以使用此引用变量
2015-06-25 10:35:19
1100
原创 forward是否共享一个request,能否通过getParameter取得参数
Request的getParameter和getAttribute的区别,forward是否共享一个request,能否通过getParameter取得参数
2015-03-18 13:07:12
739
原创 java的HashCode equals == 以及hashMap底层实现深入理解
java语言中的:1.等号(==):2.equals3.hashCode4.HashMap和HashSet源码分析
2015-03-11 17:34:28
3212
原创 关于response.sendRedict等价
response.setStatus(302);response.setHeader("Location","uri"); //以上两行代码可以简化,通过sendRedirect方法 response.sendRedict("uri"); 很多资料中提到 response.sendRedict()底层就是调用response.setStatus();response
2015-03-11 17:13:23
1906
原创 LeetCode上Largest Number
public class Solution { //思路 //先使用transfer函数 将int数组转为Node型数组 一个Node里面存储一个char类型 把每个int型每一位都变为char类型 //如1402 则变为 '1'->'4'->'0'->'2' //现在则数组transfer成如下的样子 // myNode[0]-->'3'
2015-03-11 10:52:18
467
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人