自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JVM内存管理之内存回收策略

一:静态内存的分配和回收策略静态内存分配指 java在编译时期就能够确定需要的内存空间,并在程序加载时一次性分配给程序。这些内存空间在程序运行期间不会发生变化,直到程序运行结束时,内存空间被回收。 通常情况下,对象的引用,类和方法中的局部变量,,包括原生数据类型都是使用静态内存分配方法。二:动态内存的分配和回收动态内存分配主要是发生在java堆中,包括对象的创建,数组的创建。对象被回收的时间也不确

2017-01-15 15:47:47 580 1

原创 JVM内存管理之JVM内存分配策略

一:操作系统的内存分配策略操作系统的内存分配策略主要分为三种静态内存分配栈内存分配堆内存分配静态内存分配静态内存分配是在程序编译时就能够确定的每个数据的在运行时所需的内存空间。这种分配策略不允许程序中有可变的数据结构,也不允许有递归或嵌套结构出现。栈内存分配即动态内存分配,通过栈来实现。在动态内存分配方案中,程序对数据区的需求在编译时是完全未知的,直到运行时才知道,但是规定程序在运行中进入一个程

2017-01-15 13:42:56 731

原创 JVM内存管理之内存结构

JVM在运行java程序时,将他们划分成几种不同格式的数据,分别存储在不同的区域,这些数据统一称为运行时数据。主要分为以下6种存储结构。1、PC寄存器数据;2、Java栈;3、堆;4、方法区;5、本地方法区;6、运行时常量;一:PC寄存器pc寄存器用于保存当前正常执行的程序的内存地址。 java程序是多线程执行的,当对个线程交叉执行时,被中断线程的程序当前执行到那条地址的内存地址必然要保

2017-01-09 21:59:59 821

原创 JVM内存管理之java中需要使用内存的组件

一:Java堆java堆是存储java对象的内存区域,JVM在启动时向操作系统申请堆的大小,也可以通过-Xmx 和-Xms两个选项来控制堆的大小,但是使用这两个选项后堆的大小就会固定,不能在向操作系统重新申请内存了二:线程线程是JVM运行实际程序的实体,但是线程需要内存空间来存储一些必要的数据。每当一个线程被创建时,JVM会为他创建一个堆栈,通常在256KB-756KB之间。 如果线程的数量过多,

2017-01-09 21:03:15 604

转载 JavaScript 闭包究竟是什么

转载自:http://www.cnblogs.com/dolphinX/archive/2012/09/29/2708763.html用JavaScript一年多了,闭包总是让人二丈和尚摸不着头脑。陆陆续续接触了一些闭包的知识,也犯过几次因为不理解闭包导致的错误,一年多了资料也看了一些,但还是不是非常明白,最近偶然看了一下 jQuery基础教程 的附录,发现附录A对JavaScript的闭包的介绍简

2017-01-07 22:41:55 332

原创 Redis之Zset

有序集,用于存储键值对,有序集的键被称为成员,有序集的值被称为分值,分值必须为浮点数有序集是redis里面唯一一个既可以根据成员访问元素,有科技根据分值以及分值的排列顺序来访问元素的结构一:基本命令ZADD ZRANGE ZRANGEBYSOURCE ZREM zadd 讲一个带有给定分值的成员添加到有序集合里面 zrange 根据元素在有序排列中所处的位置,从有序集合里面获取多个元素 z

2017-01-07 19:33:50 425

原创 Redis之Set

Redis的集合和列表都可以存储多个字符串他们之间的不同在于散列表可以存储多个相同的字符串,而集合则通过使用散列来保证自己存储的每个字符串都是各不相同的一:Set集合的相关命令SADD  SMEMBERS sadd 将给定的元素添加到队列 smembers 返回集合包含的所有元素SISMENBER 检查给定的元素是否在集合中SREM 如果给定的元素存在与集合中,那么移除这个元素SCA

2017-01-05 21:21:48 381

原创 Redis之Hash

Redis的散列可以存储多个键值对之间的映射。和字符串一样,散列存储的值既可以是字符串又可以是数字值,并且用户同样可以对散列存储的数字值执行自增操作或者自减操作一:Set集合的相关命令HSET HGET HSET 在散列里面关联起给定的键值对 HGET 获取制定散列键里的值HGETALL HDELHGETALL 获取散列包含的所有键值对HDEL 如果给定键存在给定的散列里面,那么移除这

2017-01-05 20:27:01 377

原创 Redis之List

redis的list类型是按插入顺序排序的字符串链表,和普通数据结构链表一样,list链表也可以从头部和尾部添加级元素,如果插入的元素的链表不存在,redis链表将创建一个链表,同样,如果链表中的元素全部被移除,该键也将被移除。一:Redis的常用命令rpush lpush lrange rpush 将给定的值推入列表的右端 lpush 将给定的值推入列表的左端 lrange 获取列表上给定

2017-01-02 21:34:02 399

原创 Redis之String类型

Redis中的String类型有点类似于Map结构,由key和value键值对组成,value可以使字符串,整数或者浮点数,redis可以对整个字符串或者字符串的其中一部分执行操作,对整数和浮点数执行自增或者自减操作一:Redis的常用命令setset命令用于向redis中保存字符串,以key,value键值对的形式存储getget 用于获取redis中保存的制定key的valuedel

2017-01-02 15:52:03 377

原创 适配器模式

适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。优点:适配器可以在不改变原有代码的情况下让原本不兼容的类无间合作 缺点:过多的使用适配器,会让系统变得凌乱适配器模式分为类适配器和对象适配器模式!!一:类适配器 类的适配器模式把适配的类的API转换成为目标类的API。   /** * 类适配模式 * @author Xu

2016-12-24 14:18:09 405

原创 Hadoop中自定义排序,分区,分组

–Mapper import java.io.IOException; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Reducer; public class HotReduce extends Reducer<KeyPair, Text, KeyPair, Text>{

2016-12-22 22:51:00 700

原创 简单的命令模式

将命令分装成对象,传递给调用者,可以使请求调用者和请求接受者之间有效解耦!!!package com.xul.commandmodel;import java.time.Period;/** * 命令模式 */public class Commendmodel { SuperFather obj = null; public void executeCommand(){

2016-12-22 22:26:41 378

原创 单例模式

单例模式,确保每一给类只有一个实例,而且自行实例化并向整个系统提供这个实例一:经典实现public class Singleton{ private static Singleton uniqueInstance; private Singleton(){} public static Singleton getInstance(){ if(uniqueInsta

2016-12-22 21:57:39 315

转载 MapReduce 过程简单介绍

1、MapReduce中数据流动(1)最简单的过程: map - reduce (2)定制了partitioner以将map的结果送往指定reducer的过程: map - partition - reduce (3)增加了在本地先进性一次reduce(优化)过程: map - combin(本地reduce) - partition -reduce2、Mapreduce中Part

2016-12-21 23:04:54 3321

原创 Hadoop单词统计-各个过程详细说明

package hadoop01;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;imp

2016-12-17 13:42:36 1262

原创 HDFS基于QJM的高可用配置--学习笔记

本文参考官方文档一:典型的HA集群介绍为了解决NameNode的单节点故障问题,hadoop2.0以后的版本可以配置多个NameNode节点,如上图所示。在两个单独的计算机中配置连个NameNode 节点,在同一时间只有一个NameNode节点处于活跃状态,另一个节点处于热备用状态。Active NameNode 节点负责集群中所有客户端的操作,Standby NameNode 节点则实时收集整个

2016-12-15 22:57:48 500

原创 Java线程总结(一)

一:线程的状态和生命周期一张经典的描述java线程的图片 线程的基本状态 新建状态: 即新建线程对象 Thread t = new Thread(); 就绪状态: 当调用线程的start()方法时,线程进入就绪状态,等待CPU的调度执行。 运行状态: 当CPU开始调用处于就绪状态的线程时,此线程开始执行,进入运行状态。 阻塞状态: 处于运行状态的线程处于某种原因,放弃对CPU的使用权,停

2016-12-03 11:26:15 360

原创 Hadoop完全分布式集群环境搭建

1.基本的环境配置三个虚拟机节点,CentOS7系统,安装jdk1.8版本节点192.168.128.104 master192.168.128.107 slave192.168.128.108 slave2.设置免密登录 进入到/root/.ssh/下 ssh-keygen -t rsa 生成秘钥和公钥 cat ./id_dsa.pub >>

2016-11-24 19:37:59 375

原创 Linux安装JDK

1.rpm包安装rpm -i jdk-8u91-linux-x64.rpm2.配置环境变量#环境变量在/etc/profile文件中配置export JAVA_HOME=/usr/java/jdk1.8.0_91 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

2016-11-20 21:58:28 325

原创 Linux网络配置

1.ifcfg-enoXXX配置文件说明TYPE=Ethernet //类型(个人理解,这个指的应该是网络类型)BOOTPROTO=dhcp //启动类型,dhcp或staticDEFROUTE=yes //是否为默认的网络设备IPV4_FAILURE_FATAL=noIPV6INIT

2016-11-20 21:44:35 296

原创 JdbcTemplate的常用方法和配置方法

配置方法spring注入DataSourcepublic class JdbcCorporateEventDao implements CorporateEventDao { private JdbcTemplate jdbcTemplate; public void setDataSource(DataSource dataSource) { this.jdbcTe

2016-11-16 22:45:13 6436

原创 shell脚本--交互

read 命令格式 read [-option] [variable...]  常用选项 -n num 从输入中读取num个字符 -p prompt 使用prompt字符串提示用户进行输入 -s 保密模式,在屏幕上不显示输入的字符 -t seconds 超时时间值和变量的三种情况输入的值和变量的个数相等输入的值多余变量的个数 最后的变量包含所欲值输入的值少于变

2016-11-14 20:59:27 344

原创 shell脚本--流控制

if变量赋值,等号之间不能有空格条件判断是中括号要留有空格 #语法结构 #如果if条件判断中有多条命令,则根据最后一条命令的执行结果进行评估 if command;then command elif command;then command else command fi#!/bin/bashx=5if [ $x = 5 ];then ech

2016-11-14 20:30:32 13416

原创 JSON对象与字符串之间的转换

1.使用Jquery 可以将json字符串转换为json对象$.parseJSON(jsonStr);2.引入json.js//将json对象转换为json字符串JSON.stringify(jsonObj);//将json字符串转换为json对象JSON.parse(jsonStr);3.使用eval方法var obj = eval('('+josnStr+')');

2016-11-10 21:26:28 295

原创 ubuntu使用

ubuntu在登录图形界面是不能使用root账号登录,使用终端是进行root账户切换sudo passwd //修改root账户的密码su root // 输入root账户的密码即可使用root的权限

2016-11-10 21:19:01 252

原创 Shell编程基础

shall编程第一行 第一行制定了执行该脚本所用的语言#!/bin/bash定义变量 等号两边不能有空格单引号表示字符串,双引号表示特殊含义变量可以用双引号引起来,主要是为了区分变量的边界#!/bin/bashname='xul_test'echo $name基本的重定向输出 将标准输出,输出到当前文件夹下的test.t文件ls /usr/local > ./test

2016-11-10 20:50:39 301

原创 Linux下文档的压缩与打包

常见的压缩文件的后缀名.gz:gzip压缩工具压缩的文件.bz2:bzip2压缩工具压缩的文件.tar : tar打包程序打包的文件(tar并没有压缩的功能,只是把一个目录合并成一个文件).tar.gz: 先用tar打包,再用gzip压缩.tar.bz2: 同上常见工具的用法1. gzipgzip不能压缩目录 //压缩文件gzip xul.txt//解压缩gzip -d xul.

2016-11-08 20:04:48 240

原创 Linux文件操作

绝对路径相对路径文件的基本操作pwd : 显示当前所在目录cd : 进入到某一个目录./ 表示当前目录../ 表示上一层目录 mkdir : 创建目录-p :mkdie的参数,递归创建目录。例:mkdir -p /usr/xul/test.trmdir : 删除一个目录-p rmdir的参数,递归删除目录rm :删除文件-f 强制删除-r 删除目

2016-11-07 12:26:49 258

转载 CSDN-markdown编辑器使用方法

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-11-07 12:19:47 260

原创 Linux启动过程

linux的启动过程大体分为五部分:内核引导,运行init,初始化系统,建立终端,用户登录内核引导1.启动电源2.BIOS开机自检--启动设备3.GRUB 引导linux系统启动4.linux接管CPU,开始内核引导5.内核调用init程序运行initinit进程是所有进程的起点,linux通过init程序来启动系统中的其他进程# inittab This file desc

2016-11-06 15:44:19 269

原创 MongoDB数据库的基本操作(二)

索引创建索引 ensureIndex({key:1}) db.user.ensureIndex({"name":1})//查看相关信息db.user.stats()删除索引db.user.dropIndex({"name";1})创建唯一索引db.user.ensureIndex({"name":1},{unique:true})查询$indb.user.find({"age

2016-11-06 11:43:37 262

原创 MongoDB数据库的基本操作

创建数据库//use+数据库名>use mydb//显示当前选定的数据库>db//查看当前数据库列表>show dbs//隐式创建集合>db.movies.insert({"name","尖峰时刻"})删除数据库//先切换到要删除的数据库use mydbdb.dropDatabase()删除集合db.users.drop()创建集合 -创建集合的时候可以指定配置项,设置

2016-11-05 17:04:01 1763

原创 java对mongoDB 的基本操作

获取链接MongoClient client = MongoDBConnection.getInstance("192.168.128.104", 27017);获取数据库MongoDatabase mongoDatabase = client.getDatabase(database);创建文档集合mongoDatabase.createCollection(collection);获

2016-11-05 16:34:05 334

原创 MongoDB简介

本文主要介绍Centos 7 下安装MongoDB官方提供的软件包 mongodb-orgmongodb-org-servermongodb-org-mongosmongodb-org-shellmongodb-org-tools 软件包的关系就是mongodb-org包包含其余4个包。初始化脚本 /etc/rc.d/init.d/mongod 可以使用此脚本停止,开始,重启后台服

2016-11-04 20:58:21 225

转载 HTTP协议详解

转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspxAuthor :Jeffrey引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之

2016-11-03 21:22:27 199

原创 二叉树的相关操作

public class BinarySearchTree {/** * 二叉树节点结构 */private static class BinaryNode { Integer element; BinaryNode leftNode; BinaryNode rightNode; public BinaryNode(Integer integer) {

2016-11-01 22:44:44 157

空空如也

空空如也

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

TA关注的人

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