自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二(1)、深入了解java虚拟机JVM 读书笔记(垃圾收集器与内存分配策略GC)

虽然在大部分情况下,程序员不需要了解GC,但是当需要排查各种内存溢出、内存泄漏或者系统遭遇高并发的瓶颈时,就需要了解GC和内存分配策略;从第二节中可以看到虚拟机的内存区域可以看到java的内存区域分为程序计数器、虚拟机栈、本地方法栈、java堆、运行时常量池和方法区。这些区域中程序计数器、虚拟机栈、本地方法栈都是随着线程的终结而释放内存区域,而堆内存作为jvm管理的大内存区域的释放就不是那么简单。...

2019-05-09 11:32:25 110

原创 hadoop基本用法回顾

研一时,跟着老师写完了一个大数据项目,现在不怎么写了,发现很多东西都忘了,还要从网上找资料,从今天起,开始多写博客,每天更新一篇作为记录今天复习hadoop的基本用法:【配置ubuntu启动环境说明,本人的hadoop ubuntu虚拟机已经配置好了】(hdfs-site.xml,core-site.xml,mapred-site.xml已经配置好了,本次是设置ubuntu快捷启动和eclip...

2019-02-21 21:08:35 5130 10

原创 git笔记

git还真是个宝藏工具,越用越好。理解git仓需要理解三个概念;第一个本地文件系统:就是你本地的计算机的系统,比如说“C:/test”,这就是本地的文件系统;git本地仓:这个是你在本地建立一个目录后(比如说叫github),git init初始化后的本地代码仓快照,初始化后,在这个目录下(github),才能提交文件到本地版本仓库里。该目录下(testgit)会出现一个.git文件,里面保存的是...

2019-05-14 11:23:18 149

转载 JVM的fullGC产生

1.关于jvm的FullGC,这篇博客讲的很好,转载过来https://www.cnblogs.com/mzzcy/p/7257687.html2.不同生命周期的GC策略,参考如下:young generation:生命周期很短的对象,归为young generation。由于生命周期很短,这部分对象在gc的时候,很大部分的对象已经成为非活动对象。因此针对younggenera...

2019-05-13 09:46:48 425

原创 二(3)深入了解java虚拟机JVM(垃圾收集器与内存分配策略GC)

在深入了解java虚拟机JVM中,作者以client模式的serial收集器/SerialOld收集器为例讲了这两个收集器用到的内存分配与回收算法。内存分配分为如下几个部分FullGC过程:jvm先检查老年代的最大可用连续空间是否大于新生代所有对象总空间;是的话;会进行HandlePromotionFailure检验;如果为真,检测老年代最大可用连续空间是否大于历次晋升老年代对象平均大小;...

2019-05-12 17:33:29 186

原创 二(2)深入了解java虚拟机JVM(垃圾收集器与内存分配策略GC)

上一篇博客讲述了jvm的垃圾回收策略的方法论,这一篇记录jvm的几种收集器,以及内存分配策略,包含面试时常会问到的FullGC问题。目前商业虚拟机的垃圾收集器都采用“分代收集”算法;就是根据对象的存活周期的不同把内存划分为几块,一般是分为新生代和老年代。前面提到了新生代的特点是内存回收的频率比较高,每次收集垃圾时,都有大量的对象死去,只有少量存活,所以采用复制算法的效率较高。而老年代中因为对象...

2019-05-12 16:58:55 159

原创 think in java学习笔记

在任何一门语言中,都有其操作内存的方式,在c与c++中,采用的是指针的方式,由于指针潜在的安全性和复杂性,java进行了简化处理。把一切标识符看做对象的一个“引用”。对于引用和对象的关系,可以比作遥控器[1],参见【think in java】。2018.08.28复用类java中父类,超类,基类三个词是一个意思。导出类,派生类,子类是一个意思。子类继承自父类时,当子类和父类都有某些方法时...

2019-05-09 22:29:20 150

原创 git使用总结

具体安装事宜请前往:https://www.liaoxuefeng.com/wiki/896043488029600廖雪峰老师的git教程很强大;下面说一下博主使用过程中遇到的问题。1.can't push,具体错误代码如下: ! [rejected] master -> master (non-fast-forward)error: failed to pus...

2019-05-09 22:28:15 100

原创 一、深入了解java虚拟机JVM 读书笔记(java内存区域与溢出异常)

这是博主最近看的深入了解java虚拟机所做的笔记。第二章,java内存区域与溢出异常,下面是脉络图有兴趣的可以私聊我,我可以发具体的脉络图,有不足之处还请批评指正...

2019-05-08 20:12:42 113

原创 JDBC连接hive(错误小结)

JDBC连接hive时,需要首先启动hive,然后再启动hiveserver2,hive --service hiveserver2 &表示hive在后台运行。错误1:java.lang.ClassNotFoundException: org.apache.hadoop.hive.jdbc.HiveDriverhiveserver2和hiveserver1的连接方式不同,有...

2019-04-25 22:18:35 1812

原创 SQL实例详解和复习

这两天学习之前学习hive,发现hql主要是sql演化而来,所以索性就从w3school入手把所有的sql都建起了一遍,本博文比较长,具体的sql,可以私信我;SQL笔记(Structured Query Language):基础知识SQL不区分大小写; DML(Data Manipulation Language)数据操纵语言;select,update,delete,insert...

2019-04-23 22:34:32 241

原创 数据分析师笔记

最近看了一场live,为了防止忘记,还是记点笔记来吧。live的老师结合自身经历,讲了自己的学习方法。学习过程分为三个步骤,第一个是练习代码;第二个是系统的看书和做笔记;第三个是做一个数据分析项目;学习的内容了分为以下几个方面,第一个是SQL语法和具体数据库应用,以mysql为例。在这个方面,需要掌握的核心技能是DDL语言和DML语言,各种聚合函数和关联查询,还有创建存储过程。学习过后要能...

2019-04-22 11:13:10 329

原创 hadoop格式化(namendoe和resourcemanager的HA格式化)

前面有一篇博客讲了如何在三台虚拟机之间配置nm和rm的高可用性,配置完成后,需要对集群进行格式化。如果关联三台主机关联启动的情况下,需要在三台主机之间配置免密登录。配置免密登录的原理,是秘钥的简单应用,首先说一下原理:秘钥配对有个规定,自己的公钥只有自己的私钥能解开;所以在这里配置免密登录的原理就是把自己的公钥发给想要配置免密登录的主机,在这里假设发送公钥的是A,接收公钥的是B,接收到A的公钥后,...

2019-04-12 22:36:24 973

原创 Neo4j使用记录(配置和使用)

配置neo4j,neo4j的配置文件在解压安装版本后的conf文件夹下的neo4j.conf中(/neo4j-community-3.4.5/conf),修改和查看端口配置在conf文件中:例如我的如下:#截取了部分# Bolt connectordbms.connector.bolt.enabled=true#dbms.connector.bolt.tls_level=OPTIONA...

2019-04-10 11:26:56 935 1

原创 MapReduce读取数据异常(NumberFormatException,ArrayIndexOutOfBoundsException)

最近实验有一个需求,分析50G左右的大文本数据,提取出指定字段,序列化对象。我想用MapReduce来进行读取,遂用MapReduce进行统计计算。首先建立bean类主要是记录Item的内部属性,如下所示:package tju.hadoop.mapreduce;import java.io.DataInput;import java.io.DataOutput;import jav...

2019-04-10 10:42:15 1505

原创 java参数值传递还是引用传递?详解

首先说明普遍说的值传递是指把传递的实际参数值复制一份到调用函数中,这样对函数值无法进行修改;这个很简单,容易理解,就不说了;其次应用传递是说,把实际参数地址传递到调用函数中,这样的修改将有可能影响到主调函数,分为两种情况;举个例子说一下,例一见下面图片:输出结果是:lee方法执行是这样的,首先main方法进入stack中,然后new 了一个User对象,于是jvm在heap中就创建了一个新的对...

2019-03-20 11:48:40 135

原创 hadoop配置hive+mysql/mariaDB(配置中出现的各种问题,类似metastore.HiveMetaException: )

hive是hadoop的一个数据储存、管理工具,在这里,先记录配置过程,后面再讲述原理;配置hive,hive是一个数据储存管理、管理工具,如果不配置相关的数据库的话,就会使用hive自带的数据库Derby,但是目前常用的数据库是mysql,方便容易使用;所以本次就是配置hive-2.3.4+mysql-5.5+ubuntu14-lts版本;1.安装mysql:直接ubuntu的三条命令就...

2019-03-17 23:50:14 695 1

原创 Hive (HQL)基本用法

DDL(data defination language)1,创建数据库create database test_db;use test_db;说明,这个创建语法和mysql一样,创建一个数据库,名字是test_db,在fs中就表现是一个文件夹:/user/hive/warehouse/test_db.db2,创建一个table,注意Table有点区别,先声明变量,后跟类...

2019-03-16 22:26:39 301

原创 三台虚拟机之间配置hadoop分布式系统(HA机制-zookeeper)

用别人的东西好用,自己配的时候,就是坑,这篇博客,记录自己配置三台虚拟机(ha机制,zookeeper和hive)时躺的坑;首先交代一下,虚拟机使用的ubuntu14的lts版本,真心觉得还是centos好用,不会有很多的坑,但是我的台式机配置三台centos,实在没法跑起来,所以就放弃了,偶尔发现有之前大神调教好的ubuntu虚拟机,加上本人本身用ubuntu比较多,果断选择,不负我所望,速度也...

2019-03-16 21:34:26 1778 2

原创 hadoop基本用法回顾(Combiner和Partitioner实现)

首先说一下Combiner。在使用MapReduce时,以wordcount为例说明,我们假定要统计单词个数,给出一个文档,hadoop的一个block128M,假设一个block上都是储存的单词,这种情况下,在进行计算的时候在一个block上会传输数据量非常非常大的键值对,将这些键值对进行Reduce计算时,会引起很大的网络带宽负载压力。所以hadoop允许对部分map任务先进行一次reduce...

2019-03-04 20:18:42 312

原创 数据结构java版【Mark Allen】(ArrayList实现)

ArrayList,之前一直用着很好,什么都能装,还能动态扩容,但是没有想过实现,这次看DataStructure这本书设计ArrayList,才发现java的内置ArrayList的设计之精妙,思维之严谨。话不多说,今天先更新一部分代码,还没有写完,明天更新下一部分。先说思路:考虑设计ArrayList,需要考虑几个问题,怎么初始化?怎么增加元素?怎么判空?怎么删除?怎么完全清除数组所有元素?怎...

2019-03-03 23:00:20 130

原创 Java中Iterator和Iterable

对Collection大家族的遍历,常用两种格式,一种是foreach遍历,另外一种是迭代器遍历。之前这两种遍历方式一直用只知道有一个区别,就是foreach是增强for循环,在java1.5后才有的,用于对集合的遍历不能修改元素,否则遍历会出错;而迭代器Iterator(java.util.iterator)呢,能对集合进行修改;public interface Iterator<E...

2019-03-03 15:04:19 476

原创 hadoop基本用法回顾(MapReduce之Combiner、Partitioner、RecordReader)

Combiner,简单来说就是在map之后,对每个结果首先进行一次reducePartitioner,简单来说就是先对数据进行划分map(比如说是把相同的数据(一般是key)先map到一起,然后reduce)RecordReader,简单来说就是决定如何来读要处理的map文件,比如说默认是按照文件起始偏移量,可以自己设置按照行,或者不同的文件顺序来读。先更新这么多,明天再更新具体实现...

2019-02-28 18:37:17 221

原创 hadoop基本用法回顾(MapReduce)

MapReduce理解数据量过大,使用单机去计算,会面临一个难题,那就是pc机去计算一个T级,甚至P级别的数据时,该怎么处理?以一个单词统计来说?有2个T的文件,统计单词个数;如果传统写程序,pc机来跑有两个问题:①能否把在处理时把数据全部加载进入内存?②执行的效率?从传统的单pc机来跑程序可以看出,就是程序一条一条的读取记录,把每一条记录或者每一个单词加载进入内存,整体来看是一条一条的数据向...

2019-02-27 21:36:15 131 1

原创 hadoop基本用法回顾(Block的存储信息,fsck查看file,location)

先说一个小插曲,一开始用实验室的服务器,没有权限查看具体hdfs的没一块的block位置。由于目前是自己安装的虚拟机,就很感兴趣,想知道具体每个文件的block文件位置。使用fsck(hdfs fsck / -files -locations -blocks -racks),截图如下:我记得配置hadoop存储数据的路径是hadoop/dfs/data,于是去找data/current/,...

2019-02-27 15:36:29 956

原创 hadoop基本用法回顾(MapFile)

其实MapFile就是一种经过排序后的SequenceFile,它的record包括index和data值,index作为文件的索引,作用是记录SequenceFile的key值,在每次加载时,先把index加载进入内存,所以这种方法比Sequence要快得多。实现细节基本和上一篇Sequence的原理一样,只不过它的对象是MapFile.Reader。具体实现代码如下:/** * Map...

2019-02-26 22:16:36 763

原创 hadoop基本用法回顾(序列化与反序列化)

这几天由于给做学术报告给耽误了,更新缓慢,且先更新hadoop的序列化和反序列化吧;先说一下序列化和反序列化吧;java中本身就有序列化和反序列化操作;所谓序列化就是讲程序中的一个个对象以输出流的方式写入到磁盘中;所谓反序列化,就是把写入磁盘中的内容以输入流的形式读取出来;hadoop的序列化正是源自于此;hadoop的序列化能处理大量的数据,比如电商网站,诸多的注册信息,这些指望java读取...

2019-02-25 21:50:28 387 3

原创 hadoop基本用法回顾(api访问)

今天一开始建立eclipse与虚拟机访问时,出现诸多问题,解决后,复习了基本的hadoop文件操作/** * 测试hdfs,开始读取配置文件@before * 关闭,@after * */public class TestHDFS { Configuration conf; static FileSystem fs; //读取配置文件 @Before public void...

2019-02-22 20:39:50 999

原创 hadoop基本用法回顾(connection refused问题)

唉,由于之前项目全部是实验室已经搭建好的平台,直接用就行,现在用自己的电脑搭建平台,才发现问题很多,今天设置eclipse远程连接虚拟机时,一直报错,无法连接,显示“connection refused”,查找apache的常见问题网页,总结出无非以下几个问题:①配置是否正确,主机名,映射(hdfs-site.xml、core-site.xml)②客户端和服务器不在一个网段内,无法访问...

2019-02-22 17:12:45 2012 1

原创 DataStructure Mark版,手动实现

这两年,写过php,写过python,调过TensorFlow,还写过java,但是没有深入研究数据结构。于是决定自己实现以下各种数据结构,教材选用的是(主要Data Structure ,Mark Allen版,Think in Java),第一天更新表的简单实现: /** * 表的简单数组实现 * 数组实现,查找最快,但是修改(插入和删除)比较麻烦 * */ public ...

2019-02-21 22:27:59 101

原创 hadoop启动namenode/datanode无法启动原因之Incompatible clusterIDs问题

首先说明,我的虚拟机是ubuntu14LTS版本的。之前大数据练手一直使用的是实验的集群,最近由于实验室服务器维护,所以便手动安装了伪分布式集群。配置好后,启动完成,每次都没有提示,jps查看时,发现datanode没有启动起来,于是乎找日志。找了大量博客,发现centos和ubuntu的差别很多,而且master的log文件和slaves的日志文件报错原因也不一样。然后先着手解决maste的报错...

2019-02-21 15:59:18 660

原创 python操作mysql千万条数据时,输出乱码和读写若干问题

python读取mysql数据库时,数据量很大的时候(本次实验数据量3000多万条),可以使用流式游标。具体思想如下:使用工具是MySQLdb的流式游标(MySQLdb.cursors.DictCursor),也可以采用SScursor(pymysql.cursors.SScursor)。扩充一点,python的游标有四种(Cursor,SSCursor,DictCursor,SSDictCurs...

2018-12-21 21:30:29 460

原创 java基础温习若干问题汇总

(10.16)a.cmd窗口下javac编译时遇到乱码问题:解决办法:javac -enconding UTF-8 xxx.java 即可;b.javac编译成功,但是运行出错问题,提示无法加载主类;解决办法:jvm虚拟机在编译文件后,会生成一个class文件,但是在执行的时候,看见源文件中有这么一句话:package com.fundmentle.day04;这样一来,...

2018-10-16 16:21:27 218

原创 php页面使用echo js代码时的乱码问题

把php作为html前端页面的控制脚本时,时常需要在前台显示某些东西。比如使用echo输出。最近项目上有这么个需求,本人使用了echo "<script></script>"这样的代码,在本地调试完全正常,但是一部署到服务器,js输出到前台就显示乱码。从网上找了一下,有人说可以设置<script type="charset:utf-8;"></script...

2018-08-23 13:19:31 327

原创 win7引导安装ubuntu无需U盘启动

因为最近本人开始学习深度学习内容,故使用linux比较多,然本人本cpu太小,使用VMware,太卡,故琢磨双系统,加之最近u盘丢了,故没有使用u盘做启动盘(使用u盘制作启动,损伤u盘内存)。一下经过本人亲自实践,可用。首先申明使用的环境本机dell,amd处理器4核,本本运行内存4g,硬盘500g,系统64位。安装的ubuntu版本为ubuntu17。启动成功界面如下:以下为步骤:1,准

2018-01-08 09:14:24 16189 5

空空如也

空空如也

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

TA关注的人

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