首页
学习
活动
专区
工具
TVP
发布

IT杂记

本专栏记录了本人在IT方面的各个领域的学习笔记或是遇到问题的解决思路和方法,等等..
专栏作者
55
文章
106407
阅读量
33
订阅数
通过Java程序提交通用Mapreduce无法回收类的问题
问题描述 上次发布的博客 通过Java程序提交通用Mapreduce,在实施过程中发现,每次提交一次Mapreduce任务,JVM无法回收过程中产生的MapReduceClassLoader对象以及其生成的类。 通过定制如下代码来实现多次任务提交测试: public class JobSubmitTest { public static void submit(String classPath, String mainClassName) { ClassLoader originC
囚兔
2018-03-29
9971
通过Java程序提交通用Mapreduce任务并获取Job信息
背景 我们的一个业务须要有对MR任务的提交和状态跟踪的功能,须要通过Java代码提交一个通用的MR任务(包括mr的jar、配置文件、依赖的第三方jar包),并且须要在提交后跟踪其状态和历史,所以在提交后程序须要拿到改提交的MR的JobID。 解决方案 首先 可以想到的是通过  ${HADOOP_HOME}/bin/hadoop jar 命令来提交,并从命令执行的标准输出中取到jobID,这样确实可以解决,但是这样做有几个问题: 须要通过Java程序去启动一个子进程,并且要监控它的标准输出,性能不会很好,有点
囚兔
2018-02-08
2.3K1
Slf4j+Logback配置文件变量使用小记
项目中须要根据不同的模块,产生出不同的日志文件名,使用的是同一logback.xml配置文件,这里简单调研,说明两种实现方式,以及两种实现方式的区别。 测试准备 建立一个maven项目,并添加slf4j-api, logback-core, logback-classic 依赖。 <dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api<
囚兔
2018-02-08
1.4K0
通过Java代码来模拟乘法器
cpu中乘法器的执行流程 Java模拟乘法器代码 /** * 32 bit multiplier mock * @param a * @param b
囚兔
2018-02-08
1.1K0
设置jdk工具的语言环境
临时设置     临时设置通过在jdk工具执行时加入参数,参数以“-J-D”为前缀,代表为jvm传递参数,语言设置的参数为user.language, 当要设置jvm语言环境为英文时,则传参数“-J-
囚兔
2018-02-08
2.3K0
Windows下jps, jconsole无法查看本地java进程问题解决
先通过本地java代码运行: System.out.println(System.getProperties()); 查看属性java.io.tmpdir=C:\Users\%USER%\AppDat
囚兔
2018-02-08
4K0
求一个数组中子数组的最大和算法(Java实现)
    前几天在微信订阅号“待字闺中”中看到的一篇文章《小技巧求一个数组中子数组的最大和》,提供下Java的实现,并且在对题目做下小修改,本来打算直接在微信里直接回复,但是发现无法回复,然后整理出一篇简短博客吧。 1. 原题及解答     来自《小技巧求一个数组中子数组的最大和》;     题目:     输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为 O(n)。例如输入的数组为 1, -2, 3, 10,
囚兔
2018-02-08
1.6K0
Java Socket Timeout总结
1. Socket timeout     Java socket有如下两种timeout: 建立连接timeout,暂时就叫 connect timeout; 读取数据timeout,暂时就叫so timeout。 1.1 建立连接connect timeout     当不设置该参数时,指客户端请求和服务端建立tcp连接时,会一直阻塞直到连接建立成功,或抛异常。当设置了connectTimeout, 客户端请求和服务端建立连接时,阻塞时间超过connectTimeout时,就会抛出异常java.net.
囚兔
2018-02-08
12.5K0
关于JVM CPU资源占用过高的问题排查
一、背景:     先执行一个java程序里面开了两个线程分别都在while循环做打印操作。 # java -cp ./test-threads.jar com.spiro.Main 二、现象
囚兔
2018-02-08
1.4K0
Mapreduce程序中reduce的Iterable参数迭代出是同一个对象
今天在对reduce的参数Iterable进行迭代时,发现一个问题,即Iterator的next()方法每次返回的是同一个对象,next()只是修改了Writable对象的值,而不是重新返回一个新的Writable对象。 使用wordcount来验证: 我的代码如下: protected void reduce(Text key, Iterable<IntWritable> values,         Reducer<Text, IntWritable, Text, IntWritable>.Cont
囚兔
2018-02-08
1.2K0
JVM垃圾收集
目录 内存区域回顾 机制介绍 收集器介绍 调优 内存区域回顾 垃圾回收机制 Java 对象生命周期 根搜索算法 从GC Roots对象为起点,开始向下搜索,搜索走过的路径称为引用链,当一个对象到GC
囚兔
2018-02-08
7390
JVM垃圾收集调优案例-xwiki吞吐量调优
简介 通过压力测试查看xwiki的gc情况,统计分析gc日志,在不改变总内存使用的情况下做出合理调整,通过压力测试聚合报告对比调优效果。 步骤 运行程序,增加打印GC日志的参数; 使用badboy + jmeter对web程序的单个页面(首页)进行压力测试,压力测试参数为10线程,每线程执行100次测试; 使用jstatd + jvisualVM实时查看或gcviewer分析GC日志; 根据分析结果,调整JVM参数; 分析结果达到预期,结束,否则继续执行1~4。 工具 Badboy - 录制jmeter脚本
囚兔
2018-02-08
1.1K0
[Intellij IDEA]File size exceeds configured limit
    这两天尝试使用 IDEA, 发现一个问题File size exceeds configured limit (2560000). Code insight features not available. 原因:     IDEA对能关联的文件大小做了限制,主要是为了保护内存,默认值为2500kb,对于一般的java文件也够用了,只是这里我用protocbuf生成的java文件过大,达到3M多。     其设置在...JetBrains\IntelliJ IDEA Community Edition
囚兔
2018-02-08
2.3K0
String类replaceAll方法正则替换深入分析
背景:     前几天有人发了一个关于下面问题的贴,对这个有点好奇,故花时间做了点研究。     对单个反斜杠字符串替换成双斜杠的Java实现如下:     String s = "\\";     方法一:String sr1 = s.replaceAll("\\\\", "\\\\\\\\");     方法二:String sr1 = s.replaceAll("\\\\", "$0$0");     我第一眼看到比较困惑,下面慢慢来分析。 分析:     对String
囚兔
2018-02-08
1.6K0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档