- 博客(96)
- 资源 (8)
- 收藏
- 关注
转载 java 远程调式
refer to日常的可以远程debug程序,线上程序查看线程堆栈和日志寻找线索。还不够的话可以使用jdb进行命令行debug程序。(1)修改Java启动脚本,把远程调试端口打开[plain] view plain copy JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_
2016-07-11 19:29:32 474
转载 jre jdk区别
jdk与jre的区别很多程序员已经干了一段时间java了依然不明白jdk与jre的区别。JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。JRE是Java Runtime Enviroment是指Jav
2016-06-08 15:10:11 397
转载 socket close方法的作用(close后 远端会得到这个信息 返回-1 也就是eof)
今天开发一个Socket通讯agent,Java 程序中启动一个ServerSocket,用来与shell脚本中"nc"命令通讯并交换数据.ServerSocket可以收到"nc"发送的数据,但是"nc"却接受不到数据..代码样例:Java代码 try { InputStreamReader reader = new InputStreamReader(
2016-06-06 21:06:50 10253 1
转载 outputstream 的flush 为空
Java设计Io流可谓是煞费苦心,如果你是初学者我敢保证第一次接触Java的IO类,一定会“狂晕!!”,晕,倒不是因为它有多么难学,而是太多,而且及其让人容易迷惑。在编程日子中,尤其是在网络编程中,几乎离不开Java的IO,关于Java的IO流的分类,可以到网上soso,今天跟大家分享一下flush方法。1. OutputStream类的flush方法该类实现了Flushable接口,所
2016-06-06 20:13:20 2050
转载 C++ extern static
2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗? 答案与分析: 1)、不可以,程序运行时会告诉你非法访问。原因在于,指向类型T的指针并不等价于类型T的数组。extern char *a声明的是一个指针变量而不是字符数组,因此与实际的定义不同,从而
2016-05-26 15:15:59 404
转载 C++ inline内连函数
1. 内联函数在C++中我们通常定义以下函数来求两个整数的最大值:复制代码 代码如下:int max(int a, int b){ return a > b ? a : b;}为这么一个小的操作定义一个函数的好处有:① 阅读和理解函数 max 的调用,要比读一条等价的条件表达式并解释它的含义要容易得多② 如果需要做任何修改,修改函数要比找出并修改每一处
2016-05-26 15:00:19 842
转载 hadoop 几个默认counter的含义及收集原理
进一步了解:http://www.cnblogs.com/xuxm2007/archive/2012/06/15/2551030.html前言由于项目中,需要统计每个业务组使用的计算机资源,如cpu,内存,io读写,网络流量。所以需要阅读源码查看hadoop的默认counter。MapReduce Counter可以观察MapReduce job运行期的一些细节数据,Cou
2016-03-18 16:58:42 2750
原创 如何构造perment 区溢出
方法区(永久代): 永久代的回收有两种:常量池中的常量,无用的类信息,常量的回收很简单,没有引用了就可以被回收。对于无用的类进行回收,必须保证3点: 类的所有实例都已经被回收 加载类的ClassLoader已经被回收 类对象的Class对象没有被引用(即没有通过反射引用该类的地方) 永久代的回收并不是必须的,可以通过参数来设置是否对类进行回收。 HotSpot提供-X
2016-03-17 20:54:26 1508
转载 深入浅出ClassLoader(译)
你真的了解ClassLoader吗?这篇文章翻译自zeroturnaround.com的 Do You Really Get Classloaders? ,融入和补充了笔者的一些实践、经验和样例。本文的例子比原文更加具有实际意义,文字内容也更充沛一些,非常感谢作者Jevgeni Kabanov 能够共享如此优秀的文档。为什么你需要了解和惧怕ClassLoader
2016-03-10 17:22:26 630
转载 聊聊JVM(四)深入理解Major GC, Full GC, CMS
refer to http://www.tuicool.com/articles/jq2yIza注:下文提到的full gc 是由于cms concurrent mode failure, promotion fail 导致的, 采用了 cms备用的 parallel old 停下所有线程去做回收。ParNew & CMS(Serial Old作为替补) 统计时也算full gc
2016-03-08 18:36:23 1353
转载 JVM内存管理------垃圾搜集器精解(让你在垃圾搜集器的世界里耍的游刃有余)
引言 在上一章我们已经探讨过hotspot上垃圾搜集器的实现,一共有六种实现六种组合。本次LZ与各位一起探讨下这六种搜集器各自的威力以及组合的威力如何。 为了方便各位的观看与对比,LZ决定采用当初写设计模式时使用的方式,针对某些搜集器,分几个维度去解释这些搜集器。 client模式与server模式 在介绍本章内容之前
2016-03-08 18:31:22 670
转载 系统最常用的CMS GC mode——ParNew & CMS(Serial Old作为替补)(heap> 5g)
工作中 常用的 CMS GC模式 refer to http://iamzhongyong.iteye.com/blog/1989829如何读懂GC日志:https://blogs.oracle.com/poonam/entry/understanding_cms_gc_logs这个是之前处理过的一个线上问题,处理过程断断续续,经历了两周多的时
2016-03-08 17:09:03 9151 1
转载 hashmap transfer 死循环
refer to www.jiacheo.org/blog/338本文受http://pt.alibaba-inc.com/wp/dev_related_969/hashmap-result-in-improper-use-cpu-100-of-the-problem-investigated.html的启发,引用了其中的思想,对此表示感谢。 来到杭
2016-03-01 18:08:26 1009
转载 关于分布式事务、两阶段提交协议、三阶提交协议(2pc 3pc 都无法保证彻底一致性,除了Paxos 协议)
本文原文连接: http://blog.csdn.net/bluishglc/article/details/7612811 ,转载请注明出处!1.XAXA是由X/Open组织提出的分布式事务的规范。XA规范主要定义了(全局)事务管理器(Transaction Manager)和(局部)资源管理器(Resource Manager)之间的接口。XA接口是双向的系统接口,在事
2016-02-17 21:15:55 2079
原创 zookeepr 杂讲
zookeeper 是通过zab 保证顺序性 http://www.aboutyun.com/thread-13828-1-1.htmlhttp://www.superwu.cn/2014/11/21/1423/ zookeeper能保证的(注意是伪一致性)
2016-02-17 21:03:20 744
转载 hadoop1 rpc
refer to http://blog.csdn.net/historyasamirror/article/details/6159248上篇说了半天,却回避了一个重要的问题:为什么要用异步呢,它有什么样的好处?坦率的说,我对这点的认识不是太深刻(套句俗语,只可意会,不可言传)。还是举个例子吧:比如Client向Server发送一个request,Server收到后需要100
2016-02-02 16:33:10 483
转载 观察者模式
refer to http://www.cnblogs.com/mengdd/archive/2013/02/07/2908929.html观察者模式 观察者模式 Observer 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。 这个主题对象在状态上发生变化时,会通知所有观察者对象,让它们能够自动更新自己。 观察者模式的组成
2016-01-29 15:01:04 386
原创 hadoop 处理小文件 方式TBD
1.如果hdfs系统里都是小文件,每个mapper 平均只会处理极端的时间,那么这显然调度那么多map去处理如此小文件 是一种浪费,这时可以采用CombineFileInputFormat,一个map读取多个小文件2. 设置离线的merge 任务,或者前置,或者 如odps red后,会判断输出文件的大小数量,如果满足条件则启动merge任务,将小文件合并起来, (常用的文件格式 RCFILE
2016-01-27 17:13:07 555
原创 浅谈hadoop map过程,以及一些调优
每次map 将key val 写到一个writebuff wb中,wb里有个spill值(就是个wb 的空间比例),每当达到spill值, 就会输出这段spill(default 100m),输出前会将spill的内容在内存中按 partition groupby,且 sort by key。eg:当spill 输出时,会按照对多个已排序文件 做多路并归 merge说下merg
2016-01-20 17:49:32 1403
原创 java cloneable接口及使用场景
自己的总结:简单来说 为什么要clone,因为有些主对象的引用传递到了 其他类的方法中,其他类可以很容易的改变主对象所以为了让 主对象在 内存中隔离,即多个引用 指向的是各自的heap内容,所以需要clone一般浅clone (默认的) 只能clone primitive类型(如 int)和 不可变类型(如string,其实不是clone了 而是无需clone),要深clone(比
2016-01-20 17:25:07 1689
原创 Map-Reduce实现Join 算法(mapreduce侧连接 maponly 连接 map bloomfilter reduce连接) (join二)
refer to http://mysun.iteye.com/blog/1748480参考以下文章,谈谈如果我自己设计的mapred join 和 maponly join1.首先mapred join ,map的产物是 key,val (key就是join on的条件eg t1.id = t2.id),val中包含tag即来自哪个文件or表源 和 实际行中的内容 注:这
2016-01-19 17:30:05 1529
转载 普通表的Join 三种算法(join 一) 嵌套循环Join(Nested Loops Join)、排序合并Join(Sort-Merge Join)和哈希Join(Hash Join)
refer to http://mysun.iteye.com/blog/1748473通过Map-Reduce实现Join系列之一本系列的开篇在提到使用Map-Reduce实现Join之前,先来看看目前在数据库中应用比较广泛和流行的集中Join算法。它们分别是嵌套循环Join(Nested Loops Join)、排序合并Join(Sort-Merge Join)和哈希Join(
2016-01-18 16:58:32 4720 1
原创 TCP java nio code TBD
public class NIOServer { //通道管理器 private Selector selector; /** * 获得一个ServerSocket通道,并对该通道做一些初始化的工作 * @param port 绑定的端口号 * @throws IOException */
2016-01-15 00:46:09 586
原创 tcp socket demo编程
服务端:import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.*;public class TCPServer { public TCPServer() { // TODO Auto-generated constructo
2016-01-14 20:50:55 826
原创 javaNIO
网络知识 http://blog.csdn.net/nuoshueihe/article/category/1279322通信只是 http://blog.csdn.net/nuoshueihe/article/category/1253014refer to http://blog.csdn.net/nuoshueihe/article/details/8133055
2016-01-14 01:33:42 390
原创 TBD socket client请求,在向远端ip:port发送时,会随机找个本地可用端口去向远端ip:port 发起net io write操作。远端accept后的sockets都共享一个端口
TBD
2016-01-11 23:45:39 729
原创 异步回调机制 在rpc中
首先理解下RPC eg thrift http://www.ibm.com/developerworks/cn/java/j-lo-apachethrift/在理解下 回调机制 简单说 A类调用了 B类的方法b ,b中由调用了 A类中的方法a。 a方法就是回调方法。A类可以被称为 callback http://m.blog.csdn.net/article/details?id
2016-01-10 16:07:25 743
原创 weak soft Phantom ref
weak soft Phantom ref常规的就不说了,说说自己的理解方式weak soft 相当于是可以将没有friendly strong ref的对象,只有容器(map set arr 等)引用的对象,进行自动回收。 反过来说,weak ref‘s friendly strong ref =null了,它依然可以拿到对象,只要该对象还没有被gc掉当然 weak 的o
2016-01-08 00:46:55 475
原创 java volatile理解
refer to http://www.cnblogs.com/dolphin0520/p/3920373.html (以下为看完这篇博客后的理解)谈谈自己对volatile的理解。先eg i = 10 ; i ++ ;I++的操作 实际在机器码层面 分为三个步骤 refer to http://www.cnblogs.com/aigongsi/archive/201
2016-01-04 23:57:09 643
转载 java interrupted
Java的中断是一种协作机制。也就是说调用线程对象的interrupt方法并不一定就中断了正在运行的线程,它只是要求线程自己在合适的时机中断自己,本文将详细介绍,需要了解的朋友可以参考下一、Java中断的现象 首先,看看Thread类里的几个方法: public static boolean interrupted测试当前线程是否已经中断。线程的中断状态 由该方法清
2015-12-30 21:14:21 627
转载 java Thread ,Thread.currentThread().getName() 的含义 & 普通成员变量是何时被赋值的
java Thread ,Thread.currentThread().getName() 的含义this得到的是当前的对象。java为一个对象创建一个线程运行,这个线程也可以理解为一个“对象”,通过 Thread.currentThread() 得到它的引用Thread.currentThread(): Returns a reference to the currently exe
2015-12-30 17:11:24 1046
原创 Java中Runnable和Thread的区别
为什么用Runnable接口,好处如下:1. 实现 Runnable 接口 可以避免Thread单继承的问题 ,给你这个Runnable 再继承一次的机会2. Runnable接口 可以实现变量共享 ,如下卖票的例子 tickets 变量全局共享public class SellTickets implements Runnable{ private int ticke
2015-12-30 15:36:52 459
原创 java 序列化相关
先看个10个面试题:http://it.deepinmind.com/java/2014/05/25/why-use-serialversionuid-inside-serializable-class-in-java.htmlhttp://en.deepinmind.com/blog/2014/05/25/top-10-java-serialization-interview.html
2015-12-29 21:08:58 358
原创 jmeter优化, 单例用无sync那种 ,使用nio
使用 无sync的单例,能在单机使用更多的并发数。而如果每个线程都要读取io file,那么使用nio的Memory mapped region for shared libraries 会增加io效率, 大小和 机器位数有关 ,32位 64位等
2015-12-28 21:46:05 1123
原创 写jmeter javasampler 需要注意点 TBD
java sampler 线程里 一般会用到 被测试系统的客户端eg: 我用到的odps client 实例当然odps clent肯定是要做成单例再各个,java sampler线程中使用单例一定要是 没有 sync的getIntance方法,这样单线程getInstance的代价才小,单机并发量才可以上去。 egpublic class SingetonNo
2015-12-28 20:46:39 377
转载 更高效的单例模式, 1.singleton类加载时,无需实例化自己 2.不需要sync get方法
referthttp://cantellow.iteye.com/blog/838473七种单例:高效的单例 目标有两个 1.singleton类加载时,无需实例化自己 2.不需要sync get方法(每次无谓的sync 效率低)方法5 是比较好的方法, 通过静态内部类 保证了第1点, 通过类的加载机制对多线程友好 保证了第2点有两个问题需要注意:1.如果
2015-12-28 20:25:41 1343 1
database system Implementationbook_2nd
2017-01-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人