- 博客(19)
- 资源 (5)
- 收藏
- 关注
转载 在CentOS 7上安装配置Flume
简介大数据时代的各种互联网应用产生大量的数据和日志,需要将这些日志收集起来,进行统一的分析处理,在应用系统和数据分析系统之间需要一座桥梁,进行通用的日志收集处理。Apache Flume 是一种分布式的、高可靠的、高可用的日志收集聚合系统,将不同来源海量的日志数据传输到集中的数据存储。Flume 最初由Cloudera开发,后成为Apache基金会顶级项目。Flume 可用于日志数据、网络
2017-09-28 09:51:22 581
转载 Clojure - Loop/Recur
You may need to understand if and let to fully grasp recursion in Clojure.for and whileClojure does not have for loops or while loops. This makes sense, if you think about it. A for loop c
2017-09-28 09:50:24 526
转载 程序员心底的小声音
编程大约有三个境界,新手、高手和高不成低不就的中手。这三个境界,大致和王国维先生划定的做学问的三个境界一一对应。一般来说,如果不经过几十万行的代码的锤炼(衣带渐宽终不悔,为伊消得人憔悴),或者长期在一个高手团队里面打磨切磋,那么无论怎么样的理论熟悉,打字熟练,考试全A,编程起来,都应该算是中手。一个中手如果机缘很好,得到高人亲自指点,则能很快成长为高手;如果没有这样的机缘,那就要在“众里寻她千百度
2017-09-23 21:31:52 304
转载 关于Class.getResource和ClassLoader.getResource的路径问题
Java中取资源时,经常用到Class.getResource和ClassLoader.getResource,这里来看看他们在取资源文件时候的路径问题。Class.getResource(String path)path不以’/'开头时,默认是从此类所在的包下取资源;path 以’/'开头时,则是从ClassPath根下获取;什么意思呢?看下面这段代码的输出结果就明白了:
2017-09-20 10:52:43 428
转载 DEFINING TABLE RECORD FORMATS IN HIVE
The Java technology that Hive uses to process records and map them to column data types in Hive tables is called SerDe, which is short for SerializerDeserializer. The figure illustrates how SerDes a
2017-09-19 09:28:15 511
转载 从jar包中读取资源文件
Rather than trying to address the resource as a File just ask the ClassLoader to return an InputStream for the resource instead via getResourceAsStream:InputStream in = getClass().getResourceA
2017-09-18 20:35:41 604
转载 JVM启动分析
通过openjdk的源码来分析jvm的启动过程,针对linux系统。jvm的启动入口main():// openjdk7u/jdk/src/share/bin/main.c/** * main方法 * * argc 参数个数 * argv 参数数组 */int main(int argc, char **argv) { return JLI_Launch(...
2017-09-18 20:25:39 791
转载 Java线程源码解析之yield和sleep
概述由于Thread的yield和sleep有一定的相似性,因此放在一起进行分析。yield会释放CPU资源,让优先级更高(至少是相同)的线程获得执行机会;sleep当传入参数为0时,和yield相同;当传入参数大于0时,也是释放CPU资源,当可以让其它任何优先级的线程获得执行机会;假设当前进程只有main线程,当调用yield之后,main线程会继续运行,因为没有比它优先级更高的线程;而
2017-09-18 20:00:12 946
转载 JVM方法常用的宏
jdk版本是openjdk-7u6-fcs-src-b24-28_aug_2012interfaceSupport.hpp```c++// Debug class instantiated in JRT_ENTRY and ITR_ENTRY macro.// Can be used to verify properties on enter/exit of the V
2017-09-18 19:58:12 800
转载 java native调用
ObjectObjectregisterNatives()getClass()hashCode()equals()clone()toString()notify()notifyAll()wait(long timeout)wait(long timeout, int nanos)wait()finalize()Object就这几个方法,其中除equals和toString,
2017-09-18 19:56:47 622
转载 poi自动调整宽度
I was also running into this issue and this was my solution.Steps:Create workbookCreate spreadsheetCreate rowCreate/Set font to "Arial"Create/Set style with fontCreate/Set cell wit
2017-09-18 19:49:47 3651
转载 Spring 中的 @Async 和 @Scheduled 理解
@Asyncspring-test.xml文件12345678910111213141516171819xml version="1.0" encoding="UTF-8"?>beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org
2017-09-18 19:40:14 1877
转载 浏览器中F5和CTRL F5的行为区别
前言在印象中,浏览器中的F5和刷新按钮是一样的效果,都是对当前页面进行刷新;Ctrl-F5的行为也是刷新页面,但是会清除浏览器缓存,这在前端调试时候会常用。二者真正的区别是什么呢?在stackoverflow上有人给出了很详细的解释,整理如下。说明在不同的浏览器中F5和CTRL-F5的行为是不一样的,但是他们的主要行为还是非常相似的,以下结果是在FF,IE,Opera和Ch
2017-09-18 19:31:43 899
转载 Java虚拟机 对象的创建与OOP-Klass模型
前言在前一篇文章中我们学习了Java虚拟机的结构原理与运行时数据区域,那么我们大概知道了Java虚拟机的内存的概况,那么内存中的数据是如何创建和访问的呢?这篇文章会给你答案。1.对象的创建对象的创建通常是通过new一个对象而已,当虚拟机接收到一个new指令时,它会做如下的操作。(1)判断对象对应的类是否加载、链接、初始化虚拟机接收到一条new指令时,首先会去检查
2017-09-15 10:04:47 554
转载 JVM-系统初始化
系统初始化入口是JNI_CreateJavaVM函数,位于YourProjPath/hotspot/src/share/vm/prims/jni.cpp中,hotspot代码中的prims模块里面定义的就是一些外部接口,供JDK或者其他应用程序调用。为了加深印象,我们先复习下JNI_CreateJavaVM函数是怎么来的。入口main函数中创建了运行JavaMain的主线程,在主线程中会调用I
2017-09-13 23:03:04 1356
转载 Java虚拟机的启动与程序的执行
这篇文章是从 OpenJDK 源码的角度讲当我们执行了java -classpath . hello之后,java.exe 怎样从 main 函数開始运行,启动虚拟机,并运行字节码中的代码。实验环境要了解一个系统是怎样执行的,光看是不行的,要实际地执行,调试,改动才干对系统的动作方式有所了解。起初我是依照 GitHub 上的一个项目 OpenJDK-Resea
2017-09-13 22:46:41 942
转载 synchronized 的另个一重要作用:内存可见性
加锁(synchronized 同步)的功能不仅仅局限于互斥行为,同时还存在另外一个重要的方面:内存可见性。我们不仅希望防止某个线程正在使用对象状态而另一个线程在同时修改该状态,而且还希望确保当一个线程修改了对象状态后,其他线程能够看到该变化。而线程的同步恰恰也能够实现这一点。内置锁可以用于确保某个线程以一种可预测的方式来查看另一个线程的执行结果。为了确保所有的线程都能看到共享变量的最新值
2017-09-09 21:06:56 439
转载 Redis PFADD
PFADD key element [element ...]将任意数量的元素添加到指定的 HyperLogLog 里面。作为这个命令的副作用, HyperLogLog 内部可能会被更新, 以便反映一个不同的唯一元素估计数量(也即是集合的基数)。如果 HyperLogLog 估计的近似基数(approximated cardinality)在命令执行之后出现了变化, 那么命令返回 1
2017-09-04 19:22:29 939
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人