自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

原创 本地执行Spark程序示例

Scala IDE  eclipse(去官网下载) 开发基于本地的spark程序下载完成后,在写代码之前,需要对IDE做以下修改(1)Scala IDE的默认Scala版本是2.11.7,  需要修改为2.10.x(2)加入spark1.6.0的jar包依赖package com.jiang.sparkimport org.apache.spark.SparkConfi

2016-02-03 14:15:09 4059

原创 机器学习实战—FPGrowth算法的实现

本博文主要讲FPGrwoth算法的java实现,话不多说,直接上代码1.首先构建FP树所需要的数据结构。package com.jiang.fpGrowth;import java.awt.event.FocusAdapter;import java.awt.image.VolatileImage;import java.util.ArrayList;import java.ut

2016-01-12 15:49:16 3358 2

原创 Spark集群安装

Spark在生产环境中,主要部署在安装有linux系统的集群中。在Linux系统中安装Spark需要预先安装JDK(此教程有讲到)、Scala等所需要的依赖。由于Spark是计算框架,所以需要预先在集群内搭好存储在数据的持久层,Spark主要使用HDFS充当持久化层,所以本教程安装Spark集群需要预先安装Hadoop集群,hadoop集群中的安装已经在前面的博客中讲到了,这里面就不再赘述了,感兴

2015-11-19 19:18:37 599

转载 hadoop安装教程

环境本教程使用 Ubuntu 14.04 64位 作为系统环境(Ubuntu 12.04 也行,32位、64位均可),请自行安装系统。如果必须使用RedHat、CentOS等,本教程也可以作为参考,配置是相似的,就是Linux命令、具体操作有所不同。本教程基于原生 Hadoop 2,在 Hadoop 2.6.0 (stable) 版本下验证通过,可适合任何 Hadoop 2.x

2015-11-09 20:14:12 987

转载 Hadoop集群安装配置教程

之前在参考一些资料搭建hadoop集群的时候老是出错,心情也是不爽,后来同学推荐我看了这边博客,感觉讲的是真心不错,也按着上面来做了,最后搭建成功,真的很感谢写这篇博客的博主。在这里,也推荐给大家。环境本教程使用 Ubuntu 14.04 64位 作为系统环境(Ubuntu 12.04 也行,32位、64位均可),请自行安装系统。如果必须使用 RedHat、CentOS 等

2015-11-09 20:09:56 615

原创 设计模式—构建器模式(Builder Pattern)

Builder模式的定义是用于构建复杂对象的一种模式,所构建的对象往往需要多步初始化或赋值才能完成。比如说现在有一个类表学生应聘的基本信息。这些信息有一些信息是必须的,比如姓名,身份证号码等,而有许多是可选项,比如民族、爱好等信息。学生的可选参数可能有20多个以上,这是一个非常的复杂的类了。传统的方法是采用重叠构造器模式,在这种模式下,你提供第一个只有必要参数的构造器,第二个构造器只有

2015-09-24 19:41:31 438

原创 大众点评面经

说说大众点评校招经历。一面(45分钟左右)进入面试官的房间前,心情有点忐忑,进去后,面试官很客气的和我打了个招呼,他看上去比我大不了几岁,很客气,很友好,紧张的心情一下子好了许多。首先是自我介绍,我先简单介绍简单介绍一下自己的学校,然后是自己在学校的的项目和在这个项目中的职责,接下来就是介绍一下自己的爱好。大概2分钟。说完面试官说我讲的不错。然后就是问项目了(建议大家项目还是要准备

2015-09-23 13:00:10 2282

转载 设计模式—策略模式(Strategy Pattern)

上午花了一个小时看了这篇关于策略模式的博文,例子生动、内容具体。推荐给你们(http://www.uml.org.cn)。转发这篇微博,只为互相学习。策略模式(Strategy)1  场景问题1.1  报价管理向客户报价,对于销售部门的人来讲,这是一个非常重大、非常复杂的问题,对不同的客户要报不同的价格,比如:(1)对普通客户或者是新客户报的是全价(2)对老客户报的价格

2015-09-12 12:24:29 633

转载 有return的情况下try catch finally的执行顺序(最有说服力的总结)

结论:1、不管有木有出现异常,finally块中代码都会执行;2、当try和catch中有return时,finally仍然会执行;3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;4、finally

2015-09-11 16:25:19 265

原创 设计模式—观察者模式(Observer Pattern)

1.观察者模式概念:定义对象间的一种一对多的依赖关系。当一个对象的状态发生变化时,所有依赖它的对象都会得到通知并被自动更新。模式中的角色:抽象主题(Subject):它把所有观察者对象的引用保存到一个聚集里,每个主题都可以有任何数量的观察者。抽象主题提供一个接口,可以增加和删除观察者对象。具体主题(ConcreteSubject):将有关状态存入具体观察者对象;在具体主题内部状态改

2015-09-08 16:50:53 250

原创 设计模式—模板模式(Template Pattern)

一、模板模式模板模式又叫模板方法模式,在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。在讲模板模式模式之前  先来看一个例子:加工流程:咖啡冲泡法:1.把水煮沸、2.用沸水冲泡咖啡、3.把咖啡倒进杯子、4.加糖和奶昔茶冲泡法:   1.把水煮沸、2.用沸水冲泡茶叶、3.把 茶 倒进杯子、4.加柠檬冲茶和冲咖啡的流程可以总结成下列模板:把

2015-09-08 00:17:25 340

原创 数据库—范式和事务

事务的概念事务是用户定义的一个数据库操作序列,这些操作要么全做要么不全做,是一个不可分割的工作单位。例如,在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或者整个程序。事务的开始和结束可以由用户显示控制。如果用户没有显示的定义事务,则有DBMS按照缺省规定自动划分事务。在SQL中定义事务的语句有三条:Begin Transaction—事务的开始;Commit—表示提交

2015-08-31 20:23:49 498

转载 怎样花两年时间去面试一个人

今天无意间,看了一篇博文,感觉很好,就分享给大家了,希望你们读过后有感触、有帮助。原文:  第一次,从哥哥那里知道一篇博客,就是文章的题目。一开始我并没有太注意文章的作者,后来到了第一家公司开始实习,在一次学习报告会上,知道一本书《暗时间》,知道一个人,刘未鹏。但我并不知道他是谁,直到后来我再次看这篇博客,我才知道,从一开始,我就在按照这个人说的写的在做:如果说,一篇博客你多了多少

2015-08-24 15:14:11 496

原创 Hibernate入门示例

前一篇博文已经对Hibernate有了一个整体的理解,本篇博文来看一下实现Hibernate的简单示例:首先,来看下在Eclipse中整体的框架图:框架图其中,红色框起来的部分是我们需要的jar包,每个jar包的作用我就不一一介绍了,有兴趣的可以自己去看一看。编辑实体(News类)package hsl.domain;public class News {

2015-08-22 18:14:09 338

原创 Hibernate入门

Hibernate是一个开放源代码的对象关系映射(ORM)框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久

2015-08-22 17:22:18 395

转载 设计模式—七大原则

最近几年来,人们踊跃的提倡和使用设计模式,其根本原因就是为了实现代码的复用性,增加代码的可维护性。设计模式的实现遵循了一些原则,从而达到代码的复用性及增加可维护性的目的,设计模式对理解面向对象的三大特征有很好的启发,不看设计模式,很难深层地体会到面向对象开发带来的好处 。在刚开始学习中,很难做到将这些模式融汇贯通,所以这个需要我们在编码前多思考,等想充分了,在开始实践编码。下面是设计模式应当遵循的

2015-08-22 11:20:56 419

原创 最长公共子字序列和最长公共子字符串

最长公共子串(Longest CommonSubstring)和最长公共子序列(LongestCommon Subsequence, LCS)的区别:子串(Substring)是串的一个连续的部分,子序列(Subsequence)则是从不改变序列的顺序,而从序列中去掉任意的元素而获得的新序列;更简略地说,前者(子串)的字符的位置必须连续,后者(子序列LCS)则不必。比如字符串acdfg同akdfc

2015-08-21 19:54:03 625

原创 设计模式—静态代理模式和动态代理模式(Proxy Pattern)

一、代理模式所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之前起到中介的作用。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。打个比方说,你要买火车票,但是你又不想去很远的火车站去买,所以你会选择去附近的代售点去买,但是,你要知道代售点并不是自己买票,只有火车站才真

2015-08-20 18:09:57 871

原创 Java基础知识—垃圾回收机制

垃圾回收机制(Garbage Collection ,GC)是Java语言的核心技术之一。在java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给JVM(java虚拟机)来处理。那么在java中,(1)哪些内存需要垃圾回收器回收?(2)什么样的对象被认定为“垃圾”?(3)这些对象被确定为垃圾后,又应该采用什么样的策略来进行回收?(4)目前典型的垃圾收集器又有哪些?

2015-08-20 13:23:13 357

原创 Java基础知识—虚拟机类加载机制

1.虚拟机类加载机制定义虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是Java虚拟机的类加载机制。2.类的生命周期      类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、连接(验证、准备、解析)、初始化、使用、卸载这几个阶段。这几个阶段的发生顺序如下图所示:

2015-08-20 01:22:42 475

原创 Java基础知识—内部类

1.内部类定义     可以将一个类的定义放在另一个类的定义内部,这就是内部类。广泛的说,目前内部类可以被分成四种,分别是成员内部类、静态内部类、局部内部类、匿名内部类。2内部类分类2.1成员内部类     作为外部类的一个成员存在,与外部类的属性、方法并列。它可以访问它的外部类的所有成员变量和方法,不管是静态的还是非静态的都可以。内部类和外部类的实例变量可以共存。在内部类中访问实

2015-08-18 17:38:50 323

转载 数据结构—进制间转换

来源:http://blog.csdn.net/gzc_itheima/article/details/47679585class HexadecimalConversion  {      public static void main(String[] args)      {             toBin(6);          tobin(6);

2015-08-18 14:24:51 2176

原创 LeetCode—买卖股票的最好时机

1.Best Time to Buy and Sell StockDescription: Say you have an array for which the ith element is the price of a given stock on day i. If you were only permitted to complete at most one transac

2015-08-17 17:06:23 1035

转载 Java中线程总结

来源:Java中线程总结一、对进程、线程概念的理解:进程:正在运行的应用程序。每个进程都有自己独立的地址空间(内存空间),当我们点击桌面的IE浏览器时,就启动了一个进程,操作系统就会为该进程分配独立的地址空间。线程:其实就是进程中一个程序执行控制单元,一条执行路径。每个线程在堆栈区中都有自己的执行空间,自己的方法区、自己的变量。进程负责的是应用程序的空间的标示。线程负责的是

2015-08-17 10:54:40 331

转载 Java基础—super和this关键字

一、this  Java关键字this只能用于方法体内,表示对“调用方法的那个对象”的引用。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。在什

2015-08-16 17:15:50 255

原创 设计模式—工厂模式(Factory Pattern)

工厂模式主要是为创建对象提供接口。按照《Java与模式》书中提到的,工厂模式可以分为三种:1.简单工厂模式2.工厂方法模式3.抽象工厂模式接下来,我会依次来介绍这三种类型。1.简单工厂模式它有三种角色组成:(1)工厂类角色:这是模式的核心,含有一定的商业逻辑和判断逻辑。在java中往往有一个具体类实现;(2)抽象产品角色:它一般是具体产品继承的类或者实现的接口。在j

2015-08-14 22:07:02 400

原创 Cookie和是Session

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。  1.为什么要使用Session和Cookie ?   在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有

2015-08-14 20:35:37 506

原创 Servlet

1.什么是Servlet?Servlet是一个Java编写的程序,此程序是在服务器端运行的,是按照Servlet规范编写的一个Java类。 2.Servlet是做什么的? Servlet是处理客户端的请求并将其发送到客户端。 3.Servlet API.3.1Servlet框架的组成 Servlet框架是由2个Java包组成:(1)javax.servlet和(

2015-08-14 11:44:41 421

原创 LeetCode—二叉树的最大最小深度

1.二叉树的最大深度这个题目就是求二叉树的高度,实现起来很容易。代码如下:/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { *

2015-08-12 13:59:14 386

原创 LeetCode—删除数组元素

1.删除元素给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度。元素的顺序可以改变,并且对新的数组不会有影响。样例:给出一个数组 [0,4,4,0,0,2,4,4],和值 4返回 4 并且4个元素的新数组为[0,0,0,2]代码如下: public int removeElement(int[] A, int elem) {

2015-08-11 16:38:04 633

原创 数据结构—二分查找

1、算法概念。二分查找算法也称为折半搜索、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。2、算法思想。①搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;②如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。③如果在某一步骤数组为空,则代表找不到。这种搜索

2015-08-09 12:14:34 2896

原创 LeetCode—二叉树的遍历

1.二叉树的前序遍历给出一棵二叉树,返回其节点值的前序遍历。样例给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [1,2,3].代码:/** * Definition of TreeNode: * public class TreeNode { * public in

2015-08-08 18:09:23 517

原创 leetCode—Longest Palindromic Substring

Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.问题描述:给出一个字符串,求出这个字

2015-08-07 22:04:19 292

原创 Struts2验证框架

1.Struts2提供了验证框架,功能强大而且简单易用,帮助用户做了很多事情,使得用户不必从头开发。那么一个好的验证框架需要考虑哪些因素呢?(1)验证功能的复用性    比如都是对一个int数据类型的验证,验证的是它的数据范围,如果验证功能抽象的好,就可以复用同样的验证功能,省去重复开发的麻烦。 (2)验证功能的可扩展性          是不是可以自己扩展验证功能,并保证扩展

2015-08-06 19:26:41 492

原创 java类的访问权限

Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符。private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中

2015-08-06 10:59:35 261

转载 Struts2中Action的传值方式

转载自:http://www.cnblogs.com/fmricky/archive/2010/05/20/1739734.html1、字段驱动方式所谓字段驱动方式就是通过字段进行数据传递。在Struts2中我们可以直接在Action里定义各种Java基本类型的字段,使这些字段与表单数据相对应,并利用这些字段进行数据传递。第一篇中提到的登陆案例,用的就是字段驱动方式。

2015-08-05 16:56:49 1354

原创 Struts2入门+Hello Word实例

最近,我在自学Struts2框架,但是在学习的过程中会发现许多东西学了时间长了就忘了,所以还是觉得把自己学的东西记下来,方便以后查阅。1.Struts入门1.1介绍Struts2 是一个相当强大的Java Web开源框架,是一个基于POJO的Action的MVC Web框架。它基于当年的Webwork和XWork框架,继承其优点,同时做了相当的改进。Struts2现在在Java Web

2015-08-03 18:19:59 470

原创 LeetCode—二叉树的建立

1.Construct Binary Tree from Inorder and Postorder TraversalGiven inorder and postorder traversal of a tree, construct the binary tree.Note:You may assume that duplicates do not exist in t

2015-08-01 16:49:40 899

原创 LeetCode—数组(3)

1.Combination SumGiven a set of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.The same repeated number may be chose

2015-08-01 16:46:44 283

原创 LeetCode—数组(2)

1.Two SumDescription: Given an array of integers, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that th

2015-08-01 16:38:29 273

空空如也

空空如也

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

TA关注的人

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