Java jar 是如何执行的?


Java 作为一门古老又流行的编程语言,想必大家或多或少都听过,甚至使用过,也有一部分人甚至在生产环境部署过 java 应用。可你了解过 java 程序是如何加载运行的吗?如果你的答案是 yes, 那么建议不用浪费时间花费在已知的知识点了。

下面主要针对 java 可执行 jar(还有有库类型的jar 包,eg: rt.jar) 分析 jar 的加载运行过程,主要包含以下三部分展开:

  • Java jar 生成
  • Java jar 内容
  • Java jar 加载 & 运行
Read more ⟶

IP 归属地查询


这里分享下几个不错的 ip 地址库:

1. https://ip.cn

查询指定 IP

curl https://ip.cn?ip=202.200.112.2

查询本机 IP

curl https://ip.cn

优势: 国内服务,速度较快, 且免费

劣势: 信息量太少, 没有经纬度信息

Read more ⟶

Go 二进制应用注入 version 信息


当线上服务出现问题时,在排查问题前,我们需要确定线上服务部署版本、对应源码分支、最近一次提交记录、编译/打包时间、语言版本等,这些信息可写入配置文件,应用启动时读取。若采用 docker 部署时,也可将这些信息作为 LABEL 或应用镜像的 tag 中,方式多种多样,今天要介绍的是 go 应用下的另一个可选方式: 二进制编译时注入。

Read more ⟶

Ubuntu14.04上搭建ShadowSocks服务


1. VPS选择

之前一直使用GoAgent作为破墙工具,不过后来有一阵用不成,即使更新到最新版,也未能如愿,后来忙于写论文,便用微软的Bing临时代替Google。用了一阵Bing,发现其实也挺好用,无论是UI还是搜索内容,都相当不错。只是偶尔想呼吸墙外空气,却未能如愿,始终给人不快的感觉。所以便有意选择付费服务。一直听说ShadowSocks搭建代理特别稳定,便开始留意VPS。可选的VPS很多,比较流行的当属Linode和Digital Ocean,不过Linode服务实在是太贵了,且最低配都感觉有点大材小用,没必要这么奢侈。便着重关注了下DO。可选的VPS有:

Read more ⟶

Ubuntu安装TexStudio


Read more ⟶

将博客从Octopress迁移到Jekyll


Read more ⟶

为什么而活?


这些天经常为毕设及论文的事发愁,也因此变得浮躁不安起来,失了方寸,失了往日的沉着心态。整个人犹如悬在空中,飘飘然,毫无状态可言,如行尸走肉般活着。而每到夜深,躺在床上,头脑却越发清晰,不自觉地开始思考人生。心中时不时有一个声音在问自己:为什么活着

如果在上小学以前,意义可能在于吃各种零食和玩各种新奇玩具;小学阶段,则希望身边有一堆玩伴,下课之余疯狂玩耍;初中阶段,则追求着时髦的穿着与发型及情窦初开的懵懂爱情;高中阶段,则处于挣扎彷徨之中,希望早日脱离被各种公式、概念与单词淹没的苦海,期待早日迎来老师口中描述的神圣而神秘的大学的那种自由生活。初入大学后,确实发现原来生活可以如此自由,不想上课就在宿舍闷头睡大觉,可以睡觉睡到自然醒而不用每天天不亮就起来背英语单词和文言文,不再有做不完的作业考不完的试,不再有班主任猥琐的监视,不再有想玩而不得的情景…

Read more ⟶

自由软件与开源软件


图为电影《The Shawshank Redemption》的海报

昨晚与张老师还有几位Linux小组成员一起去西邮参加了一个开源者行的活动,演讲嘉宾有GitCafe和Thoughtworks的人员。其实这次去只是想感受感受开源的气氛,一直听说西邮的开源气氛不错,未能亲身感受,所以趁还在西安,赶紧体会体会。这次最大的收获当属对开源文化的重新认识,也重新理解了free software与open source software的异同。

首先,free software的最初版本由Richard Stallman起草,并通过Free Software Foundation发布,其初衷是确保最终用户能够自由使用、学习、分享和修改软件。要理解free software的概念,得先理解其中"free"里的含义,这里的"free"并不是"free of charge"中的含义,而是"free speech"中"free"表示的意思。

通常所说的free software包含以下四种自由:

Read more ⟶

自我解剖


文字的力量着实强大,但对我这个不善言语的人来说,使用起来略困难,难以透过文字准确阐释心中所思所想及所憧憬的未来生活。所以在写之前,便仔细筛选了上面这张图片,大概反应了我对于未来几十年后垂垂老矣的自己所憧憬的生活吧,因为垂钓在我童年生活中占据了不可估量的分量,至今仍难以忘怀,也是我生命中难得主动喜欢的一项兴趣爱好了。突然想到了海子的《面朝大海,春乱花开》:

从明天起,做一个幸福的人
喂马、劈柴,周游世界
从明天起,关心粮食和蔬菜
我有一所房子,面朝大海,春暖花开
从明天起,和每一个亲人通信
告诉他们我的幸福
那幸福的闪电告诉我的
我将告诉每一个人
给每一条河每一座山取一个温暖的名字
陌生人,我也为你祝福
愿你有一个灿烂的前程
愿你有情人终成眷属
愿你在尘世获得幸福
我只愿面朝大海,春暖花开

Read more ⟶

有关Markdown的两款工具介绍


自从接触markdown这款简洁到不能再简洁的语法以来,我已经深深地喜欢上它,并在各种场合尝试使用它,比如说现在的博客、Evernote笔记、演示文档等。而今又发现一款新工具,采用markdown语法写邮件,现在几乎任何码字场合都能见到markdown的身影。

我一直将自己归为工具控一类,作为一名程序员,编码水平三流,码字水平不入流,但确是重度工具控。每次都会为发现有趣华丽的工具而兴奋,不把玩一番便不快。言归正传,markdown真有那么好么?让人迷恋的地方在哪?

当你向朋友推荐时,可能这是经常会被问到的问题,而且会问:word/wps已经很强大,为什么还要选择markdown?难道它比word更厉害?…

下面我谈谈自己对markdown的认识及我为何选择markdown的原因。

Read more ⟶