• Wicket的HelloWorld

    在公司用了4年的Wicket了,竟然发现没有写个HelloWorld。 Wicket,全称Apache Wicket, 它是个基于组件的Web应用框架,更多的解释看Wikipedia。 官方网站:wicket.apache.org。 很遗憾,由于Wicket在国内的普及程度不够,中文相关的文档很少,有的话也就是基...

    Java运行时内存结构

    由图所示,Java运行时内存区域分为:虚拟机栈、方法区、本地方法栈、程序计数器和堆。 程序计数器程序计数器可以看作是当前线程所执行的字节码的行号指示器,它只了很小的内存。程序的基础功能(循环、跳转、异常处理、线程恢复等)都需要依赖这个计数器来完成。程序计数器是属于线程私有的。 虚拟机栈虚拟机栈描述的是Java...

    前端优化法则

    前两天被人问到前端的优化有哪些,我支支吾吾也只能说出两三条,表示很惭愧。 说到前端优化的必修课,那就是Yahoo的前端优化性能规则,里面都是别人的经验总结,有 35 条之多,这是先分类在文章最后,之后会个别阐述我针对最初的 14 条,借鉴别人的翻译成果和我自己的解读。 35条分类 标注 * 号的是最初的14条 ...

    一顿午饭

    中午,兴致勃勃地下楼吃饭,端着满是饭菜的盘子坐下。 一位美女端着盘子做到我面前,也不知道是为什么,旁边有个座位,她就是不坐,或许她有同伴吧。看到她优雅地拿起勺子,舀了一勺鸡蛋羹,似乎感觉到哪里不舒服,接着就喷了出来。 我迅速地观察了路径,两条直线沿着我的盘子边擦过去。我观察到了这两条直线,是因为它们是我想要看到的...

    设计模式Mediator

    Mediator中介者模式定义用一个中介对象来封装一系列关于对象交互行为。 为何使用Mediator各个对象之间的交互操作非常多;每个对象的行为操作都依赖彼此对方,修改一个对象的行为,同时会涉及到修改很多其他对象的行为,如果使用Mediator模式,可以使各个对象间的耦合松散,只需关心和 Mediator的关系...

    说点关于《追风筝的人》

    前言在节前(春节)开始看《追风筝的人》,是在kindle手机app上看的,都是在忙里偷闲的情况下看的。 过节了,终于狠下心给自己买了kindle paper white 2,于是一口气看完了这本书。 《追风筝的人》小说版故事的的发展基本办照以下顺序进行: 友情 - 亲情 - 爱情 - 亲情,阿米尔和哈桑的友情 ...

    mvn打包的时候为什么用clean

    理论上来讲不做mvn clean 得到的jar包应该是最新的,除非其他方式修改jar包中的内容而不修改源代码。 平时可以用mvn install,而不进行chean节省时间(如果你觉得节省时间多的话),但最保险还是用 mvn clean install 生成最新的jar包或其他包 不想用mvn clean又...

    Java是编译型语言还是解释型语言

    大多数开发人员都知道,Java源文件需要编译成.class文件才能在JVM中运行。如果继续追问,许多开发人员还会告诉你说.class中的字节码首先会被JVM解释,但是在稍后即时(JIT)编译。然而很多人将字节码含糊地理解为“在某种虚构的或者简化的CPU上运行的机器码”。 实际上,JVM字节码更像是中途的驿站,是...

    从Octopress转到Hexo

    以前一直使用的Octopress来构建博客,部署在github上。最近发现,github访问起来太不稳定了,又慢,所以就准备换个地方来写。 以前就关注过GitCafe和Hexo,GitCafe是中国的,来提github对于天朝程序猿来说有先天优势。而使用Hexo来代替Octopress来说,则是因为想尝试一下,他...

    Groovy开始

    之前看了《Java程序员修炼之道》,第三部分JVM上的多语言编程里面讲到JVM上面的一些脚本语言,有Groovy,Scala,Clojure,没有等。于是这两天学了一下Groovy,发现还真是方便,最明显的就是他的闭包Closure。 平时在用Java编程的时候,写着写着总是有点烦,一个很简单的方法都要写一堆代码...

    设计模式学习笔记油漆工模式

    设计模式之Decorator(油漆工)查看 代码 装饰模式:Decorator常被翻译成”装饰”,我觉得翻译成”油漆工”更形象点,油漆工(decorator)是用来刷油漆的,那么被刷油漆的对象我们称decoratee.这两种实体在Decorator模式中是必须的. Decorator定义:动态给一个对象添加一些额...

    跑步

    俗话说得好:五月不减肥,六月徒伤悲,七月徒伤悲,八月徒伤悲。。。 在今年过完春节,就给自己下了今年的一个目标,减肥,减到正常体重。说到减肥,或许对于很多人来说首先想到的就是从吃下手,少吃,甚至不吃,对此我表示很荒谬,从吃这里下手,是可以达到目的,但是反弹很容易的,稍微不注意就会多吃,然后就反弹,再者就没动力了。 ...

    Mac下Eclipse快捷键

    实在是记不住,虽然windows下的和mac下的差不多,但是还是有那么点区别。 12345678910111213141516171819202122232425262728293031323334Command + O:显示大纲Command + 1:快速修复Command + D:删除当前行Command +...

    JAVA对象equals的技巧

    1. 测试又一次在写代码,突然想到这么个问题:java里的equals比较对象的顺序不同会有什么不同的效果?于是乎写了以下测试代码: 123456789101112131415161718192021222324252627282930313233343536373839404142434445/** * ...

    MAC下JDK版本的切换

    原来系统里安装的是1.6的,这是最后一个由提供的jdk,1.7开始Oracle提供mac平台的jdk了。 现在安装了1.7的,觉得需要进行多个版本的切换,以下是方法: 临时更改版本(单会话有效)首先运行: 1/usr/libexec/java_home 可以知道当前环境的JAVA_HOME是: 1/Library...

    Java使用反射设置值

    今天敲代码,遇到个问题,需要实现一个方法:给一个类的成员变量设置值,数字类型的设置为0,布尔类型的设置为false,其他设置为null,变量不知道是什么类型的。 这里面有几个要点: 给变量设值 区分变量是什么类型(数字,布尔或其他) 基本类型的处理情况 1. 给变量设值12java.lang.reflect...

    VIM对于文件字符编码的转换

    使用vim自己的方式fenc, enc在Vim中输入:set fenc=编码 即可将文档的编码转换为相应的编码格式,这是只需要保存文档,文档的编码就变了。 如果在Vim中输入:set enc=编码 即可改变Vim的显示编码,这是就可以看到文档中的乱码了,不过这是即使对文档做了修改并保存,文档仍旧以之前的文档编...

    Java中使用Markdown

    由于需要将输入的markdown内容转换成html,所以找到了这个包:MarkdownPapers Maven依赖: 12345<dependency> <groupId>org.tautua.markdownpapers</groupId> <artifac...

    设计模式学习笔记观察者模式

    1. 模式定义观察者模式(Observer Pattern)也叫做发布订阅模式(Publish/subscribe),它使一个在项目中经常使用的模式。 2. 模式各角色Subject被观察者:定义被观察者必须实现的职责,它必须能够动态地增加、取消观察者。它一般是抽象类或者是实现类,仅仅完成作为被观察者必须实现的职...

    Tomcat打开远程调试

    配置1. Linux下在bin/startup.sh 或者 bin/catalina.sh 开头添加 1declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket...