Archive

Author Archive

巴厘岛自由行-图兰奔深潜和豪华SPA

十一月 9th, 2016 No comments

后两天自由行,按照之前制定的计划顺利进行。

海底合影

海底合影

阅读更多…

巴厘岛-景点2日跟团游

十一月 9th, 2016 No comments

前面两天跟团游景点,行程还算可以就是每天都起得很早回来也很晚。

清晨6点的海滩

清晨6点的海滩

阅读更多…

公司年度福利-巴厘岛跟团6日游

十一月 9th, 2016 No comments
Nusa Dua Beach酒店

巴厘岛,Nusa Dua Beach酒店

2016年度的公司部门出国游福利,10.21至10.26,杭州直飞巴厘岛(印度尼西亚),跟团。原来定的是去泰国普吉岛,后来因为8月份泰国几次爆炸事件因为安全考虑然后就改为去巴厘岛了,这真是神助攻,10.16日泰国国王去世然后泰国关闭所有娱乐活动= =。

虽然行程一共有6天,但是因为巴厘岛位于南半球(但是同为东八区与中国没有时差),距离杭州大约6个小时的飞行时间可谓相当远了,所有有第1天和最后1天就是在飞机上度过,然后前两天跟团游,后两天自由行。

10.21 下午2点出发去萧山机场,原5点20的航班SJ1185,凌晨1点多到巴厘岛。
10.22 跟团:蓝梦岛(浮潜、香蕉船、独木舟),回来SPA1小时后金巴兰沙滩日落
10.23 跟团:乌鲁瓦图情人崖->南湾水上项目(摩托艇和降落伞)->海神庙
10.24 自由行:图兰奔潜水,水之恋豪华SPA按摩
10.25 自由行包车:乌布皇宫和市场->库塔免税店和海滩->酒店放空和游泳
10.26 早上10点20巴厘岛飞回杭州,下午4点左右抵达杭州

阅读更多…

最美古城,湘西凤凰

九月 10th, 2016 2 comments
凤凰古城-from 虹桥

凤凰古城,山水之间,吊脚楼边,泛舟一叶

凤凰古城夜景-from 云桥

凤凰古城夜景,右侧的古城墙,左侧的酒吧街,如果有一轮明月则是完美

阅读更多…

张家界武陵源风景图

九月 10th, 2016 No comments

按照游玩顺序,袁家界->天子山贺龙公园->点将台->老屋场->杨家界->天子山->十里画廊

武陵源 袁家界 迷魂台

武陵源 袁家界 迷魂台

阅读更多…

偶遇张家界,武陵源和天门山

九月 10th, 2016 No comments
武陵源 老屋场 神兵聚会

武陵源 老屋场 神兵聚会

一大早起来在八戒吃早饭(10块钱白粥馒头鸡蛋油条等),遇到也落单的北京魏哥,于是结伴同行。

阅读更多…

G20湖南7日游 长沙

九月 10th, 2016 No comments

G20期间必须得出去玩一趟,不仅因为有额外2天假期,而且这个时候全国各大景区内部人都不多,是杭州人民才有的专属假期。本来想和2b凑团一起,无奈找不到另外一个妹子只能一个人出来玩啦,秉着哪没去过都好的原则,没多想就决定了湖南张家界因为高铁就可以搞定。一开始没想去凤凰,后来觉得不去可惜了,这个选择果然是明智的,凤凰太美了不枉费多请一天假。

  • 9.2:杭州->长沙(住长沙),太平街、三王街、橘子洲头
  • 9.3:长沙->张家界市(市区八戒青旅),岳麓山
  • 9.4:武陵源(住丁香榕)
  • 9.5:武陵源(住张家界市区布丁)
  • 9.6:张家界->凤凰(住水调歌头),天门山、酒吧
  • 9.7:凤凰(住水调歌头),古城、沱江、夜景
  • 9.8:凤凰->怀化->杭州

阅读更多…

64位Linux下Java进程堆外内存迷之64M问题

九月 9th, 2016 No comments

起因,监控系统检查到link机器内存耗尽,用top查看,果然有一个java进程占用了近24g内存(包括VIRT和RES),但是启动java进程的参数是java -server -Xmx12g -Xms12g -XX:PermSize=50m,理论上只应该占用12g再多一些,所以问题就在这个进程了。此进程主要处理Socket IO读写,使用的是Java NIO。

阅读更多…

jabber和XMPP简述原理

九月 9th, 2016 No comments

为了实现不同IM(即时通讯软件,比如QQ、GTalk)之间可以互相通信,jabber和XMPP为此而生。jabber是Linux中的一个程序,设计了一套开源的协议,用于连接不通的IM,然后XMPP以jabber协议为基础并扩展之。每一个IM程序服务端与客户端之间肯定有一套保密并加密的协议,这个是不可能容易让外部获知的,不然IM软件聊天内容就泄露了,谁还敢用。XMPP是让不同的IM之间互相通信,跟IM程序本身毫无关系。

阅读更多…

Linux MySQL查询默认情况下不区分大小写

八月 30th, 2016 No comments

如题,在like搜索中不区分大小写是OK的,但是用=匹配也不区分感觉就有点怪了,具体看项目看需求。此次碰到从数据库中读数据读到了大小写数据,但是代码中却是区分大小写又拦截掉了,导致数据的不一致情况出现。

阅读更多…

读java concurrency in practice

八月 18th, 2016 No comments

这是一本好书(Java源码作者Doug Lea是作者之一),关于Java并发的各个方面,介绍的很深入,应该算是进阶一类,很多地方不好理解。一开始打算阅读英文版,倒不是英文看不懂,不过还是有很多内容的确理解起来很费劲,尤其是老外写书的风格(废话特别多 = = 一页密密麻麻的英文,让人找不到关键点在哪儿),看几页就没兴趣再看下去哎…后有幸找到了中文翻译版,而且翻译的很有水准,拜谢翻译工作者韩锴和方妙。

找不到翻译版的同学,可以私信我提供。

阅读更多…

线程清理

八月 5th, 2016 No comments

执行脚本遇到一个情况,脚本无法自动退出完毕,必须手动执行Ctrl-C才能退出,之前遇到过这个问题是因为数据库连接没有被正确关闭导致,这次的原因是一个另起的线程没有正常停止的原因。

阅读更多…

FutureTask简单分析和用法

六月 21st, 2016 No comments

Callable、Future和FutureTask,结合Executors和ExecutorService,将某些特定的计算任务交给其他线程(由统一的线程池管理),让主线程进行阻塞和等待执行结果,用在RPC服务比较直观,或者这个计算结果被多个线程所需等情况。

从整体上看,使用FutureTask降低了程序整体的效率,肯定不如在原线程中直接执行的快,而且因为主线程需要阻塞等待计算结果,所以并没有增加并发度。所以FutureTask在项目中一般也比较少见。
阅读更多…

Semaphore简单分析

六月 21st, 2016 No comments

java.util.concurrent.Semaphore

AQS实现的一个变种,用来预先设置一个阈值(可进入量),然后当做类似共享锁的方式地进行acquire和release,但是每次acquire不记录当前acquire的线程对象(这是Semaphore和Lock最大的区别),即线程A操作的acquire可以由线程B来release。也有公平和非公平两种方式。

阅读更多…

CountDownLatch简单分析

六月 17th, 2016 No comments

也是利用AQS实现的一个变种,用来预先设置一个阈值(任务数)后主线程调用await()持续阻塞,然后由其他线程执行任务,执行完后调用countDown()将阈值减1,当所有任务执行完毕,阈值减为0,主线程await()被唤醒跳出阻塞,继续执行。 阅读更多…