自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 性能提升3倍之路:记Guava cache带来的GC问题

在用JanusGraph做OLAP分析的项目中,我发现Spark的executor节点出现大量GC,每个executor的GC开销都在task运行时间的10%以上。用JVM async profiler查看后发现,大概40%~50%的CPU时间都花在GC上。尝试G1GC后,现象依旧没有任何改观。......

2022-08-26 14:46:21 1125

原创 Hyper-V Linux VM Disk扩容

自从使用虚拟机以后,经常会遇到虚拟机硬盘不够的情况,本文在借鉴其他文章基础上,修正一些不完善的步骤,本着利己利人的思想,在此整理一下全部步骤,并就LVM容易出错的地方给予一些建议。在此之前,我们先普及一下硬盘扩容为什么要做那么多操作?这个问题和计算机操作系统的分层管理有关。我们知道硬盘是最底层的硬件,在这之上,我们可以创建分区,什么启动分区,逻辑分区之类。然后才是在分区上面创建文件系统。最...

2022-08-26 14:03:31 683

原创 Apache Kafka + Apache Kudu + Spark Streaming + Spark SQL实现大数据实时写入和实时监控

在大数据领域,实时写入(upsert)和快速OLAP查询一直是鱼和熊掌不能兼得,比如apache hudi,要事先决定好是倾向于快速写入还是快速OLAP查询,即Copy On Write Table vs. Merge On Read Table一旦选定好,就不能更改。databricks的delta-io也是类似的实现。而现实往往是希望在近乎实时upsert的同时,能快速的查询,至少是接近列存数据库的查询速度。正是这个需要,cloudera于2015年推出了apache kudu。这是一个支...

2020-10-11 23:09:32 1333

原创 Spark-UDF优化之一:Key-Value提取性能提升20倍

Spark-UDF优化之一:性能提升20倍文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言User define function是Spark-SQL中容易被忽视的一部分,但在真实业务场景中,有大量的应用。比如,用户的行为分析,需要将用户登录的客户端,访问了产品的的哪些页面,点击了哪些商品等等信息存储在一张单独的数据库表中,这些信息一般都没有存储在固定的列,而是以key-value的形式,类似URL的参数一样编码在一个长..

2020-09-05 08:36:21 907 1

原创 如何用IntelliJ IDE build & run Spark

准备工作:1. 下载并安装java 1.8(spark依赖)2. 下载IntelliJ Community版本并安装,配置JDK。在欢迎界面右下角,选择Configure,选Structure for New Projects,在弹出来的对话框里面选择SDKs,找到你的JAVA_HOME,指定好,保存。3. 下载spark源代码,本博客使用spark 2.3.04. 安装sca...

2020-01-08 14:58:57 1166

原创 [Perf issue diagnostic] dotnet core takes long time to verify x509 certificate on Ubuntu 18.04

After installing dotnet core 3.0 preview 5 and openssl 1.1.1 on my Ubuntu 18.04, I found the x509 certificate validation takes long time (> 3 min for 1000 validations). The x509 certificate validti...

2019-05-31 14:07:34 180

原创 使用gdb调试go项目

原始文档:https://golang.org/doc/gdb,本文以docker的libnetwork库为例,说明如何用gdb调试。首先安装golang和gdb(版本7.0以上),设置GOPATH=$HOME/go。下载libnetwork:go get github.com/docker/libnetwork在$GOPATH/github.com/clovertrail/t

2017-05-16 11:35:07 1624

原创 Hyper-V Linux VM Disk扩容

自从使用虚拟机以后,经常会遇到虚拟机硬盘不够的情况,本文在借鉴其他文章基础上,修正一些不完善的步骤,本着利己利人的思想,在此整理一下全部步骤,并就LVM容易出错的地方给予一些建议。在此之前,我们先普及一下硬盘扩容为什么要做那么多操作?这个问题和计算机操作系统的分层管理有关。我们知道硬盘是最底层的硬件,在这之上,我们可以创建分区,什么启动分区,逻辑分区之类。然后才是在分区上面创建文件系统。最

2017-03-13 14:27:51 5486

原创 评估AWS EC2作为web server时的网络负载

评估虚拟机上作为web server时的网络的吞吐量方法:nginx + apache benchmark + nload第一步,在Amazon Linux符合条件的免费套版本上搭建nginx服务器1. 安装nginx    yum install nginx2. 打开80端口在安全组(Security Group)里面选择编辑入站规则,添加HTTP和80端口。用浏览器

2016-02-03 16:22:48 1321

转载 两个有序数组的第k大的元素

看到一篇介绍非常好的算法,值得mark,特此记录。完美解决两个有序数组的第k个数:m.blog.csdn.net/blog/fangkyo/8114784

2015-10-17 23:14:35 771

原创 避免缓冲区溢出的方法

缓冲区溢出一般是由于一下原因导致:1.字符串处理函数没有指定长度,单单凭借结尾字符是不是'\0'来判断结束。2.被处理的字符超过缓冲区可接受的大小。例如,从屏幕输入字符串:gets(buff),但是buff的内存少于屏幕一行字符个数,就会导致溢出,应该使用fgets。3.所有格式化字符串的函数:fprintf("%n",&num_write)。避免的办法:1.不要用%n

2015-09-15 14:34:19 9204

原创 Linux useradd添加用户后sudo -s导致命令行提示符显示不正常

在ubuntu下,我常用的添加用户命令useradd,经常发现添加用户后,将用户加入sudo组,但是每当“sudo -s”切换到root下就会发现命令行提示符显示不正常。比如,添加hadoop用户,同时自动创建home目录:useradd -m hadoop将hadoop加入sudo组:usermod -a -G sudo hadoop,然后sudo -s,发现命令行提示符:had

2015-09-15 11:11:00 2448

原创 安卓应用正版盗版识别

安卓应用鱼龙混杂,据360互联网安全中心一份2014年调查报告显示,“平均每款正版app对应26.3个盗版app和4.8个盗版签名”。如何鉴别盗版?其实很简单,应用的包名和应用的证书可以唯一确定一款应用。对一款应用解压后,META-INF目录下面有RSA后缀的证书文件,用java自带的keytool就可以查看证书详细内容,和正版证书比较即可。以地铁跑酷为例:keytool -printce

2015-05-09 12:02:55 2631

原创 Linux Kernel CMPXCHG函数分析

Linux Kernel中cmpxchg解析

2015-03-10 15:38:53 11687

转载 Android应用逆向工程之java bytecode修改实例

Android应用中的java bytecode部分,也就是classes.dex可以被修改,

2014-07-04 13:02:54 1645

原创 Palindrome number

回文字符串:=============Question================Now that the king knows how to find out whether a given word has an anagram which is a palindrome or not, he is faced with another challenge. He realizes

2013-07-31 22:49:51 1562

原创 如何搭建Gerrit+Jenkins(Hudson)测试环境

为什么用Gerrit + JenkinsGerrit是开源的Code Review工具,被开源社区广泛使用。Jenkins是流行的持续集成工具,支持自定义扩展,目前有600多种plugin扩展,而且支持分布式工作。谁需要阅读本文为项目搭建Jenkins测试环境的测试人员。本文的目标本问介绍如何将两者结合起来完成以下流程:       1. 开发人员提交一个Code Revi

2013-03-28 17:23:05 20840

原创 ssh无密码登录

在Hadoop集群环境中,启动集群需要datanode和nodemanager登录,每次输入密码太麻烦。网上有各种版本的介绍告诉你如何让ssh不输密码。经过我尝试,最有效的办法是http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-i

2013-03-15 10:05:38 804

转载 忘记MySql的root密码的简单解决办法

在密码多如牛毛的今天,很多时候,管理员会出现忘记各种各样的密码,针对mysql中root密码的忘记情况,可以采用以下步骤重新设置root管理密码。1、修改mysql的配置文件:#vi /etc/my.cnf在[mysqld]中加上一句:skip-grant-tables保存退出;2、重新启动mysql# /etc/init.d/mysql restart3、登录并修

2012-12-14 12:28:36 469

原创 1到n的正整数x出现的次数

【题目】输入一个整数n,求从1到n这n个正数中,x出现的次数。x是1,2,...,9中任意一个。例如:输入12,x=1,出现一的数字有1,10,11,12共有5个1,则输出5。输入12,x=2,出现一的数字有2,12共有2个2,则输出2。输入12,x=3,出现一的数字有3共有1个3,则输出1。【分析】网络上流传很广的一道题和它很像:输入一个整数n,求从1到n这n个正数中,1出现

2012-12-02 18:37:50 2788

原创 编程获得程序运行的Trace stack信息

C/C++得到trace stack信息的办法:https://www.evernote.com/shard/s5/sh/3c9fc88a-fbc2-498e-a4e4-881fcc4cbb24/46850f47cdac789ce3749760de81e487Java得到trace stack信息的办法:public static void printStackTrace() {

2012-08-31 14:50:46 766

转载 Java Proxies and UndeclaredThrowableException

Java的dynamic proxies应用广泛,尤其是在客户端/服务端架构下,客户端的调用一般都是用proxy来实现。但是,一旦proxy中的方法要抛出exception时,客户端会得到UndeclaredThrowableException,而不是真正被抛出来的exception。原因是method.invoke()只会抛出InvocationTargetException,需要手工转换成真正

2012-08-15 11:23:25 967

原创 .Net网络程序对HttpRequest增加Header

对C# webapp的HttpRequest设置/增加Header,没有官方的介绍,在网上找到了两篇介绍,但是第一种只能在windows2003上工作,在windows2008上不行。第二种都适用,显然,第二种方法是可以接受的方案1. http://forums.asp.net/p/979853/1250479.aspx2. http://stackoverflow.com/quest

2012-07-25 12:37:57 4008

原创 JIRA and SVN integration

It is wonderful to see bug management system like JIRA integrated with SVN. Each submit to SVN can be tracked through JIRA if you make them integration. How to integrate JIRA and SVN? There is a lot o

2012-04-25 09:52:31 641

转载 通过Filter从HTTP Request统一记录log

为了给每次HttpServletRequest访问生成log,可以创建一个Filter,用它来parse请求。听上去简单,但是有个小问题,HttpServletRequest的body只能读一遍,Filter读过了,后面的servlet就不能读了。解决办法很简单,把数据copy一份就好了。有两个网上找到的实现:http://natch3z.blogspot.com/2009/01/read-r

2012-02-01 15:17:33 1424

原创 Automatic redirect(网页自动重定向)

网页自动重定向有多种方法,有的使用javascript,有的借用metadata,由于不同的浏览器对此支持不一样,也许用户不允许,所以保险的做法是把所有这些方法依次列出。location.replace("http://www.yournewsite.com");http://www.yournewsite.com">http://www.yournewsite.com"> f

2011-11-03 22:26:59 1037

原创 Dreamforce 11'的启示

Salesforce举办的Dreamforce 11‘主要议题有两个:(1) Social Enterprise将会成为主流。(2)如何创建Social Enterprise?用Social Platform。去除Salesforce自吹自擂的因素,如何利用Facebook/

2011-09-09 18:06:57 540

原创 安装android SDK找不到jdk

明明系统里安装了JDK,但是android的installer就是说没有安装,怎么办?系统环境变量设置JAVA_HOME,不管用,它不是检查这个,那是什么?对了,是注册表。下面这个链接会给你答案,他让android SDK安装到win7上了。http://codear

2011-09-09 12:51:34 2374

原创 主流SSO产品在SAML2.0的互操作性简介

已经通过SAML2.0互操作性测试的产品:Entrust -- Entrust IdentityGuard Federation Module 9.2 is a part of Entrust's versatile authentication platform, su

2011-07-31 22:44:57 5630

转载 try-catch-finally执行顺序探秘

问题:1. finally一定会执行到吗?2. 如果try或者catch中有return/throw,那么finally的执行是在return/throw之前还是之后?更有甚者,如果try里面有"return a",而finally里面有"return b",那么最终返回值到底是

2011-07-17 11:11:45 627

原创 Eclipse trouble shooting

PermGen space errors in Eclipse while compiling<br />'java.lang.OutOfMemoryError: PermGen space' errors can be solved by increasing the java VM's 'MaxPermSize' value and by enabling garbage collection for this memory area. This is done by adding the follow

2011-04-25 17:27:00 786

原创 UI设计系列之二------他山之玉

视觉同盟http://www.visionunion.com/interface.jsp美丽的面孔http://www.uimaker.com/WebUI资源http://www.cnbeta.com/articles/117375.htm

2011-04-17 00:06:00 1201

原创 UI设计系列之一------最基本的原则:使用方便

UI设计的最基本原则就是让用户使用方便,这包括:界面简单、wizard驱动、输入内容明确并且方便、准确的错误提示。界面简单并不意味着功能简单,最好不要让用户觉得产品很复杂。举个例子,Web UI的一个页面出现在用户面前,根据人的观察规律,一般访客的视线会从页面的左上角的开始,扫视网站的顶部(Logo,导航)接着他们目光向下移动,读下一个区域…该产品的模拟截图和简单的文字介绍,通过这块漂亮的展示区域,他们才开始对网站有了初步的印象。访客看到产品的模拟展示后,他们就可以想象实际应用的情景。如果能够让潜在客户想象

2011-04-16 23:44:00 781

原创 检查Xalan版本

<br />软件环境中如果存在多个Xalan,而且版本不一致会带来很多问题,如何确诊这一问题,以及如何找到那些带来问题的Xalan?幸好Xalan提供了环境检查机制:<br />java -verbose:class -cp CLASSPATH org.apache.xalan.xslt.EnvironmentCheck<br />这条命令会打印出非常详细的class loading信息,包括Xalan环境信息,可以帮助查看什么所用到的Xalan版本和对应的jar

2011-04-08 15:55:00 821

原创 Javascript online formatter

<br />Two online tools are suggested:<br />1. http://jsbeautifier.org/<br />2. http://tools.jb51.net/tools/js_geshihua.asp

2011-03-28 23:04:00 578

原创 重命名JAXB生成的类名方法名

JAXB把schema转换成java class的时候,会自动生成类名,方法名。在有些时候,这些名字会出现问题,比如,schema里面允许有同名的元素,这会导致生成的java类里面有两个同名的成员,显然是不对的。怎么解决这类问题?幸好jaxb提供了定制机制。下面的摘自http://jaxb.java.net/tutorial/section_5_3-Overriding-Names.html5.3 Overriding NamesOverriding the name of a class or of an

2011-03-11 10:50:00 2083

原创 Salesforce API access from behind proxy

When developer wants to connect Salesforce through its API from behind a proxy, how to set the proxy? It confused many people. Salesforce Apex API document does not mention this.After investigation, I found Salesforce API used axis2 to connect server, so s

2010-12-01 12:55:00 1150

原创 Proxy for Java networking programming

<br />Java provides several methods to set proxy, for example, system properties, set proxy in HttpURLConnection. But how to set proxy authentication? This is not described in most online document. The following link tells you how<br />http://www.rgagnon.c

2010-11-26 19:02:00 587

原创 Troubleshooting for Kerberos

Error often occurs when using kerberos in AD, here is a quick reference to the cause of the common errors:http://support.microsoft.com/kb/230476

2010-11-26 11:47:00 619

原创 Firefox不能接受自签名证书

<br />用Firefox打开一些https网站时,如果证书是自签名的,有可能不被Firefox接受,导致无法打开该网站。解决办法就是把Firefox的一个属性重置一下,再修改回来。在地址栏输入about:config,修改browser.xul.error_pages.enabled为true,如果该值已经为true,修改为false,重启firefox。<br /> <br /> 

2010-10-15 09:23:00 8791

JAAS架构详解和应用

Java Authentication and Authorization Service(JAAS) In Action英文版,分十章介绍JAAS的框架、API、工作过程和在J2EE中的应用。附带的实例代码可应帮助更彻底地了解整个工作流程,是学习JAAS的最好教程。

2011-02-27

空空如也

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

TA关注的人

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