Home

你夏了夏天

现在的我在想些什么呢?在写些什么呢?就随着自由的思绪去吧,白纸黑字,所思所想,快到信里来:)

很喜欢现在的状态,那是一种静静地坐着,会觉得有了你我什么不缺的心绪。你对我的爱,那么直接,那么美好,没有任何怀疑,不带有一丝瑕疵,有时候让我觉得自己不能配上这一切,觉得仿佛是庄周梦蝶。

庆幸,感恩,一切的一切,都让我觉得上天真的很眷恋我。从生命的这个时刻望向那扇通过未知终点的门,我会觉得很满足。而在从那扇门望向这一生的时候,应该会更满足,会感谢2013年的这一场相遇。

Click to read more ...

夜空中最亮的星

或许是自己的青春期从来没叛逆过,或许是最近想的事情有点多,或许是情商不够用,到现在,有些事情才慢慢开了窍。

可是落后就要挨打,父母的责备和唠叨或许对付对付就过去了,怕的其实是更刺痛神经的那一声叹息,或者一份沉默。

他们不会明白,为什么那些令他们非常满意的答案你都不要;他们会问你什么究竟才是你的标准答案;他们会说就做个选择题吧,A,B,C亦或D。

Click to read more ...

Ubuntu 12.04 Samba配置小记

本来这种文章网上一搜一大把,也没什么记的必要,但是亲身实践过后,发现有些细节还是记录下来的好,估计半年之后也就全忘了。

主要步骤跟这篇文章说的并无太多不同,基本一路配下来不会有什么问题。主要想说的是这几个小tip:

1) 关于useradd和adduser

对于ubuntu来说,useradd不会在本地建立/home/${user}文件夹,也不会赋本机登录密码(除非你之后显式地passwd ${user}),也就是说useradd完的用户是不能从本机登录的。
而adduser会一次性地赋本机密码,创建完的用户是正常的本地用户。
对于samba共享的用户来说,useradd就足够了。

Click to read more ...

如何诊断OSGi环境下的packages uses conflict(二)

上一篇文章说到packages uses conflict出现的原因,这篇文章来说一下怎么快速定位到不能加载的bundle,并找到解决方案。

怎么样才算有问题

从产品的功能角度来说,这类问题只会在特定的运行期显现,编译期仅仅是「潜浮」状态。而从开发的角度看,问题的出现是有很多症状的:在OSGi的控制台ss后看到一些INSTALLED的bundle始终没法start,或启动log中有大量以下的信息,都是出现问题的征兆。

!ENTRY org.eclipse.osgi 2 0 2013-03-30 20:26:32.242  
!MESSAGE The following is a complete list of bundles which are not resolved, see the prior log entry for the root cause if it exists:  
!SUBENTRY 1 org.eclipse.osgi 2 0 2013-03-30 20:26:32.242  
!MESSAGE Bundle bunle_x [6] was not resolved.  
!SUBENTRY 2 bunle_x 2 0 2013-03-30 20:26:32.242  
!MESSAGE Missing required bundle bunlde_y.  
!SUBENTRY 2 bunle_x 2 0 2013-03-30 20:26:32.242  
!MESSAGE Missing imported package package_z.

Click to read more ...

如何诊断OSGi环境下的packages uses conflict(一)

之前的文章提到了在OSGi环境下会出现Packages uses conflict问题,在那个例子中,产生的原因在于:

  1. 上游的bundle(B)在export package(u.v.w.common)时使用了:uses关键字,进而严格绑定(wire)了某个特定package(x.y.z.core 1.0.0)
  2. 当前的OSGi环境下有多个同名的export package(x.y.z.core 1.0.0和2.0.0)
  3. 下游的bundle(C)直接或间接地依赖多个同名的package(x.y.core 1.0.0是间接依赖,x.y.z.core 2.0.0是直接依赖)。而如果不是import package,而是require bundle,情况会更加简单粗暴——因为require bundle等价于硬性import那个bundle的所有export package。

了解这三个原因,对诊断OSGi中的此类问题非常重要。

Click to read more ...

EMF简介——构建ecore model

元模型作为EMF框架中的模型表示,在产品架构中起着举足轻重的作用,这篇文章将对EMF元模型构建中的一些基本概念及细节作尽可能细致的阐述。

EMF中的元模型是一个.ecore文件,你可以通过Eclipse自带的EMF模块来设计(下载Eclipse带EMF模块的build)。同时Eclipse也支持其他方式的导入,从而生成ecore:

  • 其他工具的模型文件,例如Rational Rose的UML模型,RSA中的emx模型
  • xsd文件

Click to read more ...

Understanding The Jvm Note

这本书是13年看的第一本技术书,算是采用了分析阅读的方法来阅读。尝试着以问自己四个问题的方式(来源),来做一次读书笔记。

这本书主要写了什么?

围绕着JVM这个技术体系,重点阐述了JVM如何对内存进行分配,垃圾的回收方式(GC),字节码的结构与生成机制,类加载器的工作机制,JVM解释执行与编译执行(JIT)的细节,最后提到了Java内存类型和Java线程的设计原则。需要注意的是:JVM是一种规范,或者说是概念模型,而各虚拟机厂商在实现上会有一些区别,在阅读时必须注意JVM这个词的上下文语境。

Click to read more ...

Ubuntu12.10下编译openjdk 7

最近在读《深入理解Java虚拟机》这本书,于是谨遵书中教诲,尝试着自己动手编译一个jdk。这篇文章就把在Ubuntu12.10下编译openjdk 7的最简步骤记录下来,以备不时之需。

1. 下载build所需lib包

sudo aptitude build-dep openjdk-7

2. 下载openjdk7源码

我编译时用的是官方打包好的源码包,这里要注意的是:选择最新的源码包以避免不必要的麻烦(即主页上带7u的链接,而不是7)。

image

Click to read more ...