
java
xtqve
这个作者很懒,什么都没留下…
展开
-
Apache Thrift安装过程出现的问题
1、/usr/bin/env escript no such file or directory出现该问题的主要原因在于,thrift在configure时,使用了 erlang,而erlang中包含了一个escript脚本,只需要将escript加入值env中就OK了原创 2013-07-12 15:22:08 · 1374 阅读 · 0 评论 -
苹果IAP开发中的那些坑和掉单问题
相信很多iOS App的开发者,特别是手游开发者,都接触过苹果支付IAP(In-App Purchase)。相信使用了IAP的App,都经历过“掉单”问题。什么是“掉单”呢?简言之就是用户付款买金币,钱扣了,金币却没到账。掉单一旦发生,用户通常会很愤怒地来找客服。然后客服只能找开发人员把金币给用户手动加上。显然,伤害用户的体验,特别是伤害付费用户的体验,是一件相当糟糕的事情。我们在微爱App的开发...转载 2016-09-09 11:06:45 · 15909 阅读 · 1 评论 -
java中深拷贝浅拷贝分析
浅拷贝是指拷贝对象时仅仅拷贝对象本身(包括对象中的基本变量),而不拷贝对象包含的引用指向的对象(这里的不拷贝是指不会给生成不同的引用地址)深拷贝不仅拷贝对象本身,而且拷贝对象包含的引用指向的所有对象。举例:对象A1中包含对B1的引用,B1中包含对C1的引用,浅拷贝A1得到A2,那么A2中依然包含对B1中的引用,B1中依然包含对C1的引用,也就是说如果你改变C1,B1中属性的值,会引发A原创 2015-10-28 16:34:55 · 485 阅读 · 0 评论 -
Netty5.x中新增和值得注意的点
不像Netty3.x和4.x之间的变化,5.x没有那么大的变化,不过也取得了其简化设计中的一些突破性进展.。我们力求尽可能平滑的从4.x版本过度到5.x版本,如果你在迁移过程中遇到任何问题,请告知我们。 核心变化 支持Android 提供了: 移动设备变成更加强大通过Ice Cream Sandwich解决了在ADK中最著名的与NI转载 2015-09-21 17:33:16 · 1006 阅读 · 0 评论 -
Guava并发:ListenableFuture使用介绍以及示例
ListenableFuture顾名思义就是可以监听的Future,它是对java原生Future的扩展增强。我们知道Future表示一个异步计算任务,当任务完成时可以得到计算结果。如果我们希望一旦计算完成就拿到结果展示给用户或者做另外的计算,就必须使用另一个线程不断的查询计算状态。这样做,代码复杂,而且效率低下。使用ListenableFuture Guava帮我们检测Future是否完成了,如转载 2015-09-15 20:18:52 · 1856 阅读 · 0 评论 -
Netty中的那些坑
最近开发了一个纯异步的redis客户端,算是比较深入的使用了一把netty。在使用过程中一边优化,一边解决各种坑。而这些坑大部分基本上是Netty 4对Netty 3的改进部分引起的。注:这里说的坑不是说netty不好,只是如果这些地方不注意,或者不去看netty的代码,就有可能掉进去了。坑1: Netty 4的线程模型转变在Netty 3的时候,upstream是在IO线转载 2015-06-11 09:10:51 · 3021 阅读 · 0 评论 -
HDFS dfsclient写文件过程 源码分析
原文出自:http://www.cnblogs.com/ggjucheng/archive/2013/02/19/2917020.htmlHDFS写入文件的重要概念HDFS一个文件由多个block构成。HDFS在进行block读写的时候是以packet(默认每个packet为64K)为单位进行的。每一个packet由若干个chunk(默认512Byte)组成。Chunk是进行数据校转载 2015-04-03 14:36:26 · 670 阅读 · 0 评论 -
Java集合删除元素可能出现的问题
Iterator 是工作在一个独立的线程中,并且拥有一个mutex 锁,Iterator被创建之后会建立一个指向原来对象的单键引表,当原来的对象数量发生产变化时,这个索引表的内容不会同步改变,所以当索引指针往后移动的时候就找不到要迭代的对明,所以按照 fail-fast原则 iterator会马上抛出 java.util.ConcurrentModificationException 异常。转载 2015-04-01 10:10:22 · 519 阅读 · 0 评论 -
Could not initialize class sun.awt.X11GraphicsEnvironment
当我的系统使用Graphics2D和BufferedImage生成图片的时候,会出现 Could not initialize class sun.awt.X11GraphicsEnvironment 。但是我window下我的程序是没有问题的,部署到linux之后,才会出现该问题,说明该问题与 jar包没有关系,应该与环境变量差异有关。经查验,发现确实是一个叫 awt.headless=tr原创 2015-04-02 10:13:22 · 3300 阅读 · 0 评论 -
运行Maven是报错:No goals have been specified for this build
No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format : or :[:]:. Available lifecycle phases are: validate, initialize, generate-sources, proces转载 2014-12-04 08:21:59 · 1062 阅读 · 0 评论 -
谈谈陌陌争霸在数据库方面踩过的坑(排行榜篇)
为什么大部分网络服务都需要一个数据库在后台支撑整个系统?这通常是因为大部分系统的一个运行周期都很短,对于传统的网站服务来说,从收到一个 HTTP 请求开始,到终端用户收到这个请求的结果为止,就是一个运行周期。而其间可能处理的数据集是很大的,通常没有时间(甚至没有空间)把所有数据都加载到内存,处理其中涉及的一小部分,然后保存在磁盘上再退出。当数据量巨大时,任何对数据的操作的算法和数据结构都需转载 2014-07-25 15:20:56 · 1144 阅读 · 0 评论 -
Java中 getResourceAsStream的用法
Java中getResourceAsStream有一下几种用法:首先,Java转载 2014-05-13 10:39:34 · 743 阅读 · 0 评论 -
netty 4.0相关新的改变介绍
New and noteworthyDid you know this page is automatically generated from a Github Wiki page? You can improve it by yourself here!TABLE OF CONTENTSProject structure changesGeneral API chang转载 2014-04-28 10:23:34 · 1562 阅读 · 0 评论 -
新集合类的使用:BidiMap、MultiMap、LazyMap
最近在项目中发现apache common.collections中新增了几个集合类,对之前项目中遇到的一些想要解决的问题,提供了极为方便的方案BitMap:BidiMap,直译为双向Map,也就是可以通过key找value,也可以通过value找到key。这点在我们日常的 key-value 匹配的时候很方便。因为我们除此之外需要通过代码找到名称之外,也需要处理用户输入的名称,然后获原创 2014-01-17 14:46:54 · 3961 阅读 · 0 评论 -
java.net.UnknownHostException
“Reason: java.net.UnknownHostException: server100:”这样一个异常,上次碰到这个问题的时候只是在测试组的测试机器上,四台正式机都是对的,没有关注。 问题原因是在系统的 /etc/Hostname中配置了“server100” 作为主机名,而在/etc/hosts文件中没有 相应的“server100”。简单的解决办法是原创 2013-07-31 20:44:52 · 8284 阅读 · 0 评论 -
Google ProtoBuf
package com.open.webserver;option java_package="com.open.protocol.model";option java_outer_classname="UserProto";import "web/UserRelProto.proto";/** * 注册用户 */message WsRegisterUser{ require原创 2013-05-27 17:17:28 · 700 阅读 · 0 评论 -
Jar 打包说明
执行:Exception in thread "main" java.io.IOException: invalid header field at java.util.jar.Attributes.read(Attributes.java:393) at java.util.jar.Manifest.read(Manifest.java:182)转载 2013-07-19 14:00:59 · 794 阅读 · 0 评论 -
关于Spring加载classpath与classpath*的过程剖析
Spring加载Resource文件是通过ResourceLoader来进行的,那么我们就先来看看ResourceLoader的继承体系,让我们对这个模块有一个比较系统的认知。那么ResourceLoader针对classpath 与 classpath*以及通配符是怎么处理的首先,我们来看下ResourceLoader的源码[java] view plain copypublic inte...转载 2018-03-14 15:22:26 · 405 阅读 · 0 评论