自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tmac937436的博客

Just gonna have to be a different man

  • 博客(43)
  • 资源 (1)
  • 收藏
  • 关注

原创 异步编程CompletableFuture

异步编程CompletableFuture​package com.huawei.util;import org.junit.Test;import java.util.concurrent.CompletableFuture;import java.util.concurrent.ExecutionException;import java.util.stream.Collectors;import java.util.stream.Stream;/** * 异步编程 所谓异步其

2020-09-20 17:53:03 373

原创 Hbase入门

一.Hbase安装与配置(伪分布式)1.版本和Hadoop版本保持一致2.修改hbase-env.sh3.修改Hbase-site.xml(编辑Hbase打开分布式模式)4.启动HBase及验证二.使用HBase进行相应数据操作1.HBase逻辑结构2.进入HBase并创建表member是表名,member_id,

2017-11-26 23:17:11 593

原创 浅谈Docker入门

什么是Docker?docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的,可移植的,自给自足的容器。开发者和系统管理员在笔记本上便已测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机),bare metal,OpenStack集群,云端,数据中心和其它的基础应用平台。

2017-11-25 15:58:25 563

原创 Joda

/** * 计算两个日期之间相差的天数 * * @author liuchao * @since 19/10/2017 */public static int daysBetween(Date startDate, Date endDate) { Period period=new Period(startDate.getTime(),endDate.getTime(),Per

2017-11-24 14:50:43 385

转载 消息中间件kafka+zookeeper集群部署、测试与应用

业务系统中,通常会遇到这些场景:A系统向B系统主动推送一个处理请求;A系统向B系统发送一个业务处理请求,因为某些原因(断电、宕机。。),B业务系统挂机了,A系统发起的请求处理失败;前端应用并发量过大,部分请求丢失或后端业务系统卡死。。。。这个时候,消息中间件就派上用场了--提升系统稳定性、可用性、可扩展性。一、消息中间件消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁

2017-10-28 16:15:42 668

原创 动态解析包含JSONObject的JSONArray

首先给定的JSON格式为: {"contentType":"OBJECT","entity":{"FUN_STORE_RECALLUSER":[{"total":3469}]},"elapsed":357} 需求是取出total对应的数值“3469”,那如何实现呢? 1.构建一个普通的Java类public class ReCallUser { priva

2017-10-26 22:16:27 869

转载 生产者和消费者之BlockingQueue(阻塞队列)详解

注意:该随笔内容完全引自http://wsmajunfeng.iteye.com/blog/1629354,写的很好,非常感谢,复制过来算是个积累,怕以后找不到。一. 前言  在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍

2017-10-07 20:09:17 1092

原创 2017--就业分享之IT校招现状和面试经历

在介绍自己整个春季和夏季实习求职经历之前,先给大家公布一则新闻----2017届互联网校招薪酬报告:      先说下对16年17届校招的总体看法:本该是个不大不小的年,结果被华为一己之力搞成了个大年。白菜价22W:14、15K*15/16,90%的主流公司都给了这数;青菜价30W:BAT一般在25~30W(15~18K*15/16),其他家一般30W±

2017-10-07 14:27:33 6863

原创 Promise 异步流程控制

网页中预加载20张图片资源,分步加载,一次加载10张,两次完成,怎么控制图片请求的并发,怎样感知当前异步请求是否已完成?然而能全部答上的很少,能够给出一个回调 + 计数版本的,我都觉得合格了。那么接下来就一起来学习总结一下基于 Promise 来处理异步的三种方法。本文的例子是一个极度简化的一个漫画阅读器,用4张漫画图的加载来介绍异步处理不同方式的实现和

2017-10-06 20:16:14 495

原创 深入浅出妙用 Javascript 中 apply、call、bind

apply、call在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向。JavaScript 的一大特点是,函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」这样的概念。先来一个栗子:

2017-10-06 20:11:00 240

原创 深入理解 Java String.intern() 内存模型

大家知道,Java中string.intern()方法调用会先去字符串常量池中查找相应的字符串,如果字符串不存在,就会在字符串常量池中创建该字符串然后再返回。字符串常量池是一个固定大小的HashMap,桶的数量默认是1009, 从Java7u40开始,该默认值增大到60013。在Java6当中,字符串常量池是放在Perm空间的,从Java7开始,字符串常量池被移到Heap空间。

2017-10-06 12:25:27 295

转载 NIO

Java NIO 虽然提供了非阻塞的网络通信编程框架,但它的设计带来了很多编程难题。1 难懂的 ByteBuffer  Java NIO 抛弃了我们所熟悉的 Stream、byte[]等数据结构,设计了一个全新的数据结构—— ByteBuffer,ByteBuffer 的主要使用场景是保存从 Socket 中读取的输入字节流,并循环利用,以降低 GC 的压力。第一眼看到它的广告介绍

2017-10-01 17:07:03 484

翻译 Google's BigTable

题记:google 的成功除了一个个出色的创意外,还因为有 Jeff Dean 这样的软件架构天才。                                                欢迎订阅作者微博  ------ 编者官方的 Google Reader blog 中有对BigTable 的解释。这是Google 内部开发的一个用来处理大数据量的系统。这种系统适合处理半结构化

2017-09-23 13:27:31 218

翻译 Google File System

Google文件系统 GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,但可以提供容错功能。它可以给大量的用户提供总体性能较高的服务。 1、设计概览 (1)设计想定 GFS与过去的分布式文件系统有很多相同的目标,但GFS的设计受到了当前及预期的应用方面的工作量及技术环境的驱动,这反映了它与早期的文件系统明显不同的设想。这就

2017-09-23 13:23:38 236

翻译 MapReduce:超大机群上的简单数据处理

摘要MapReduce是一个编程模型,和处理,产生大数据集的相关实现.用户指定一个map函数处理一个key/value对,从而产生中间的key/value对集.然后再指定一个reduce函数合并所有的具有相同中间key的中间value.下面将列举许多可以用这个模型来表示的现实世界的工作.以这种方式写的程序能自动的在大规模的普通机器上实现并行化.这个运行时系统关心这些细节:分割输入数

2017-09-23 13:21:01 231

原创 ArrayList和Vector的区别

Vector和ArrayList这两个集合类的本质并没有太大的不同,它们都实现了List接口,而且底层都是基于Java数组来存储集合元素。在ArrayList集合类的源代码中可以看到如下一行。//采用elementData数组来保存集合元素private transient Object[] elementData;在Vector集合类的源代码中也可看到类似的一行。

2017-08-28 09:36:42 308

原创 HashMap实现原理及源码分析

当我们执行如下操作时:HashMapString, Float> map = new HashMapString, Float>();map.put("语文", 86.5f);map.put("数学", 93.0f);map.put("英语", 90.0f);对于HashMap而言,采用一种所谓的“Hash算法”来决定每个元素的存储位置。当程序执行 map.put(“语文”,

2017-08-28 09:17:06 221

原创 Java并发编程之读写锁

读写锁维护了一对相关的锁,一个用于只读操作,一个用于写入操作。只要没有writer,读取锁可以由多个reader线程同时保持。写入锁是独占的。可重入读写锁 ReentrantReadWriteLockReentrantReadWriteLock对象提供了readLock()和writeLock()方法, 用于获取读取锁和写入锁.读取锁允许多个reader线程同时持有

2017-08-20 23:05:42 211

原创 TreeMap实现原理及源码分析

TreeMap是一个有序的key-value集合,基于红黑树(Red-Black tree)实现。该映射根据其键的自然顺序进行排序,或者根据创建时提供的Comparator进行排序、对于TreeMap而言,每个Entry都被当成“红黑树”的一个节点对待,示例如下:public class TreeMapTest { public static void main(Strin

2017-08-20 22:18:33 254

原创 Iterator迭代器

Iterator是一个迭代器接口,它专门用于迭代各种Collection集合,包括Set集合和List集合。如果查阅JDK的API文档将发现,Iterator迭代器接口只有一个Scanner实现类。显然Scanner并不能用于迭代Set、List集合,那迭代List、Set集合的Iterator迭代器实现类在哪里下面测试使用Iterator迭代各种集合所返回的Iterator对象。

2017-08-20 22:12:54 277

原创 Hashtable实现原理及源码分析

Hashtable简介和HashMap一样,Hashtable也是一个散列表,存储的内容是键值对(key-value)映射。 Hashtable在Java中的定义为:public class Hashtable extends Dictionary implements Map, Cloneable, java.io.Serializable从源码中可以看出

2017-08-20 22:07:08 308

原创 HashMap和Hashtable的区别

相同点HashMap和Hashtable都是存储“键值对(key-value)”的散列表。存储的思想都是:通过table数组存储,数组的每一个元素都是一个Entry;而一个Entry就是一个单向链表,Entry链表中的每一个节点保存了key-value键值对数据。添加key-value键值对:首先,根据key值计算出哈希值,再计算出数组索引。然后,根据数组索引找到Entry(单向链

2017-08-20 21:57:07 232

原创 TreeSet实现原理及源码分析

类似于HashMap和HashSet之间的关系,HashSet底层依赖于HashMap实现,TreeSet底层则采用一个NavigableMap来保存TreeSet集合的元素。但实际上,由于NavigableMap只是一个接口,因此底层依然是使用TreeMap来包含Set集合中的所有元素。下面是TreeSet类的部分源代码public class TreeSet extends Abs

2017-08-20 20:21:44 242

原创 腾讯2017暑期实习生编程题(第二道)

小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间/** * 小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面, * 各个字符的相对位置不变,且不能申请额外的空间 * asdbQtYmkL ==>asdbtmkQYL */ public void test2(){ Scanner scanner=n

2017-07-31 22:54:44 218

原创 构建Docker私有仓库

环境:两个装有Docker的CentOs虚拟机 虚拟机一:10.10.108.76 用户开发机 虚拟机二:10.10.108.74 用作私有仓库此处我们准备了两个虚拟机,分别都安装了Docker,其中76机器用作开发机,74机器用作registry私有仓库机器。环境准备好之后接下来我们就开始搭建私有镜像仓库。1、激活网卡# vi /etc/sysco

2017-07-31 21:39:20 1310

原创 腾讯2017暑期实习生编程题(第一道)

给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。package com.itmyhome.tencent;import static org.junit.Assert.*;import java.util.Scanner;import org.junit.Test;public class MainS

2017-07-31 21:27:52 246

原创 多线程一定快吗?

多线程与并发编程

2017-07-29 09:40:37 349

原创 写一个函数,返回一个数组中所有元素被第一个元素相除的结果

来自《编程之美》中面试题

2017-07-18 08:52:52 769

原创 Linux内核模块编程

The first is to learn Linux module programming, according to the book's examples the Hello.ko experienced some twists and turns, everything only personally tried, only to know in detail how ah. The following records to complete the preparation of this simp

2017-07-11 10:55:38 227

原创 构建Memcached Docker容器

如何在构建Memcached Docker容器并用Java进行测试

2017-07-08 16:05:01 1709

原创 对Hadoop完全分布式集群下MapReduce日志的提取

MapReduce任务的日志提取

2017-06-29 23:56:55 431

原创 Hadoop中关于MapReduce的编程实例(过滤系统日志)

Hadoop入门之MapReduce学习

2017-06-17 12:10:35 923

原创 Java实现Office在线预览

调试的错误就是编程给你最好的东西,因为在每个错误上面都标志着前进的一步。

2017-04-26 14:00:29 7087

原创 Oracle登录

Oracle登录集结号

2017-04-19 21:03:28 652

原创 数据库安全——Oracle

表空间与用户

2017-04-19 20:52:26 393

原创 Oracle安全

Oracle数据库安全

2017-04-19 20:49:09 460

原创 分布式,云计算和大数据主流技术

大数据,云计算,分布式领域前沿技术

2017-04-19 19:50:27 1282

原创 Docker 构建Java Web应用

>Docker是干什么的Docker 是一个基于Linux容器(LXC-linux container)的高级容器引擎,基于go语言开发,源代码托管在 Github 上, 遵从Apache2.0协议开源。Docker的目标是实现轻量级的操作系统虚拟化解决方案。学习Docker首先要了解几个概念:镜像—Docker的镜像和常见的系统ISO镜像类似,包含了应用程序的信息;容器—

2017-04-18 00:23:09 271

转载 20位活跃在Github上的国内技术大牛

20位活跃在Github上的国内技术大牛本文列举了20位在Github上非常活跃的国内大牛,看看其中是不是很多熟悉的面孔?1. lifesinger(玉伯)Github主页:    https://github.com/lifesinger微博:@        玉伯也叫射雕玉伯(王保平),淘宝前端类库 KISSY、前端模块化开发框架SeaJS、前端基础

2017-04-09 11:45:36 362

原创 水仙花数

/**     * 153=1^3+5^3+3^3     * 371=3^3+7^3+1^3     * 370=3^3+7^3+0^3     * 407=4^3+0^3+7^3     * 这些是三位数,并且数值等于各位数字的三次幂之和     */@Testpublic void test3(){ System.out.println("输出100

2017-04-09 10:40:57 270

空空如也

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

TA关注的人

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