天亮以前说再见 – 康梓峰

水花只能开在雨天

烟花要绽放在黑夜

雪花多舍不得冬天

像我舍不得和说你再见

谎言并不代表欺骗

诺言也不一定兑现

誓言就都留给时间

就请把从前留在今天

天亮以前说再见

笑着泪流满面

去迎接

应该你的

更好的明天

昙花若只一现

更要开的耀眼

别回头去拥有

属于你更好的世界

天亮以前说再见

让我留在今天

去保护

我和你的

最好的夏天

情丝若水三千

只取一瓢眷恋

当你来过的纪念

水花只能开在雨天

烟花要绽放在黑夜

雪花多舍不得冬天

像我舍不得和说你再见

谎言并不代表欺骗

诺言也不见得兑现

誓言就都留给时间

就请把从前留在今天

天亮以前说再见

笑着泪流满面

去迎接

应该你的

更好的明天

昙花若只一现

更要开的耀眼

别回头去拥抱

属于你更好的世界

天亮以前说再见

让我留在今天

去保护

我们最美

最好的今夜

情丝若水三千

只取一瓢眷恋

当你来过的纪念

红颜弹指老,刹那芳华-程灵素

我走过山的时候山不说话,我路过海的时候海不说话;

我坐着的毛驴一步一步滴滴答答,我带着的倚天喑哑。

大家说我因为爱着杨过大侠,找不到所以在峨嵋安家;

其实我只是喜欢峨嵋的雾,像十六岁那年绽放的烟花。

我路过海的时候海不说话,我走过山的时候也听不到回答;

我骑的毛驴步步滴滴答答,悠悠飘向远处可从不想要回家。

正当喜乐无忧年韶华如花,远游风尘之色却不似十九风华;

愁思袭人无计回避真牵挂,不知天涯何处有那我思念的他。

没半点音讯怎续风陵夜话,见不到大哥哥愿知他如何行侠;

上少室山想找无色问一下,老禅师亦不知他是在何处为家。

闻琴声似和鸟语交相应答,百鸟朝凤曲难道还有人能抚它?

白衣男子划了一画又一画,不是剑法是痴迷在那棋子围杀。

旁观者清一语道破危难局,我弹奏古曲留下了他独自惊讶;

高歌一曲轻身去不想其它,屈指昆仑三圣闯少林又有何法?

三个老者连骑而来又回转,以为是留书之人却是少林俗家;

他从石亭顶抱着瑶琴落下,教训了青脸人只为他将我威吓;

在亭上听了我和三人对答,其实他也不知名满天下的爹妈;

这人姓何,双名叫作足道,名字谦逊得哪有半点狂妄自大?

琴剑棋三绝技艺冠绝西域,昆仑三圣并非三人就是一个他;

抱着瑶琴到处找我为新曲,丰瞻华美奇妙调和考盘与蒹葭;

伊人难道是我,思慕如霞,右手弹琴左手使剑退敌亦惆杂。

从万里远赶来原为送句话,什么经书是在油中好让觉远拿;

平生足迹未履中土乘此游,路上碰到三个西域少林要比划;

非逼他去了剑圣名头不可,反正上少林寺一番做教我猜岔。

萍聚缘和山花与风的烂漫,我怎会不知自己是他心中的她?

若是真能为我再重弹一曲,或许我大哥哥找不到还有个他;

他那张嘴会说话可真不假,凭片言折服老和尚请我进奉茶;

为我一句话愿意不来打架,比剑嫌霸道青石板上把棋盘划。

觉远擦掉棋盘又将他剑夹,君宝斜击一掌他没能分身招架;

他誓用十招将这少年打发,虽取巧让君宝倒下也算输此架。

足尖一点身已在数丈之外,传完话就走人怎么忘了叫上咱?

挑着张君宝和我觉远迅跑,到深山里面疲累过度圆寂坐化;

让伤心的少年去找我爹妈,自己却不知何去何从心乱如麻。

不是为杨过才在峨眉住下,我喜欢峨眉的雾像那年的烟花;

我身上佩的倚天宝剑暗哑,昆仑何足道心头定未将我丢下;

自少林飘然远去不再回头,他潇洒的身影为何却泪如雨下?

方法内统计耗时的几种方法

1、自己写,计时开始结束使用System.currentTimeMillis()

long start = System.currentTimeMillis();
TimeUnit.SECONDS.sleep(3L);
System.out.println(“method finish , use time ” +(System.currentTimeMillis() – start) + “ms”);

2、使用StopWatch类来实现

StopWatch类有不同的实现,spring有一个,guava也有一个,具体使用根据自己项目的依赖情况。真正使用上基本一致。

使用方式:

System.out.println(“SLAMonitorThread.main() start”);
StopWatch sw = new StopWatch();
sw.start();
TimeUnit.SECONDS.sleep(1L);
sw.split();
System.out.println(
“SLAMonitorThread.main() end. split:” + sw.getSplitTime() + “, ” + sw.toSplitString());
TimeUnit.SECONDS.sleep(1L);
sw.split();
System.out.println(
“SLAMonitorThread.main() end. split:” + sw.getSplitTime() + “, ” + sw.toSplitString());
TimeUnit.SECONDS.sleep(1L);
sw.split();
System.out.println(
“SLAMonitorThread.main() end. split:” + sw.getSplitTime() + “, ” + sw.toSplitString());
TimeUnit.SECONDS.sleep(1L);
System.out.println(“SLAMonitorThread.main() end. end:” + sw.getTime() + “, ” + sw.toString());
long start = System.currentTimeMillis();
TimeUnit.SECONDS.sleep(1L);

两种方式的优缺点:
方式1是不用任何外部依赖就可以实现的,但是缺点也同样明显,每个位置要打印一次的时候,都需要自己计算,并且还要重新拿到开始时间。
方式2则正好相反,需要guava的依赖,但是好处是提供了比较常用的接口支持,在不同的位置统计,并且计算一些东西,比如某一段耗时占比之类的,都可以友好支持。

具体使用时根据自己情况即可。