4月 062018
 
Java并发编程:volatile关键字解析

  转载自:http://www.cnblogs.com/dolphin0520/p/3920373.html    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。   volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了volatile关键字的实现原理,最后

阅读全文
 Posted by on 2018-04-06
4月 032018
 

  对于简单的key:value的json数据,我们把所有的key定义为类成员,然后gson.fromJson即可序列化为java对象。   对于复杂的json数据,里面既有普通的key:value数据,也有二级的列表的数据,我们该如何处理呢?   事实上,非常的简单,我们在该类里再定义一个内部类,和一个List组织该内部类的对象即可,比如下面的json数据:

  那么我们定义的解析类如下:

  解析的时候使用如下代码即可: [crayon-5ae0f8f82c

阅读全文
10月 102017
 

本来以为这样的回形是有规律可循的,但是找了好长时间没找到,看来只能用遍历了。 x,y的使用有些乱,读者自己理一下吧

 

阅读全文
 Posted by on 2017-10-10
6月 202016
 

一共有三种方法可以实现StringBuilder的清空 New一个新的StringBuilder 使用StringBuilder的delete方法 使用StringBuilder的setLength方法 下面通过代码验证三种方法的效率

测试了十几次,选了一次比较有代表性的结果:

由结果可见setLength是最快的,delete不相上下,new是最慢的

阅读全文
 Posted by on 2016-06-20
3月 152016
 

1. 使用enum类型:   在Java中有 enum类型可以用于枚举,但是每个enum的类型都是做为一个类来处理,对于要求效率较高的程序不是一个很好的选择,android官方也不推荐在应用开发中使用此类型。 2. 定义整形常量   就是定义static final的整形值,这样虽然效率高,但是不方便查看代码和进行方法参数的描述,如下面的代码虽然加了注释,但是如果常量很多,还是无法轻松定位到想要查看的常量,有多个名称相似的常量时还容易混淆,甚至使用了错误的常量。

  如下是常量做为方法的参数时的描述 [crayon-5ae0f

阅读全文
6月 202015
 

注意:在Java8中默认使用StringBuilder进行字符串进行拼接 下面代码对字符串进行10000次加号连接和StringBuilder连接操作:

最后得到的结果如下:

由此可见效率差了80倍 注意: StringBuffer为线程安全的字符串操作类,由于需要处理多线程同步问题,效率比StringBuilder要低

阅读全文
 Posted by on 2015-06-20