2016-08-04 craneyuan
在java中用到的最多的时间类莫过于 java.util.Date了 由于Date类中将getYear(),getMonth()等获取年、月、日的方法都废弃了 所以要借助于Calendar来获取年、月、日、周等比较常用的日期格式 注意:以下代码均已在jdk1.6中测试通过,其他版本可能使用不同,请注意! Date与String的互转用法 /** * Date与String的互转用法,这里需要用到SimpleDateFormat */ Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); 继续阅读 »
2014-06-30 码农明明桑
在Android开发中,我们使用android.util.Log来打印日志,方便我们的开发调试。但是对于正式发布的程序,我们并不希望这些Log信息显示,一方面对于用户来说影响机器性能,另一方面,其他开发者看到这些信息的时候,对我们应用程序的安全是有威胁的。所以,我们需要在正式发布时不让Log执行,或者将其移除。这里,我提供三种方法。 自己写一个Log的帮助类,在类中设置显示级别 示例代码如下,通过一个静态变量设置Log的显示级别。 more ```java public class Log { public static int logLevel = Log.VERBOSE; public static void i 继续阅读 »
2014-08-22 veryyoung
Atomic一词跟原子有点关系,后者曾被人认为是最小物质的单位。 计算机中的Atomic是指不能分割成若干部分的意思。如果一段代码被认为是Atomic,则表示这段代码在执行过程中,是不能被中断的。 通常来说,原子指令由硬件提供,供软件来实现原子方法(某个线程进入该方法后,就不会被中断,直到其执行完成)。 DK1.5的原子包:java.util.concurrent.atomic 这个包里面提供了一组原子类。其基本的特性就是在多线程环境下,当有多个线程同时执行这些类的实例包含的方法时,具有排他性,即当某个线程进入方法,执行其中的指令时,不会被其他线程打断,而别的线程就像自旋锁一样,一直等到该方法执行完成,才由JVM从等待队列中选择 继续阅读 »
2015-09-10 veryyoung
日志记录在程序开发中是很重要的一个环节,日志在开发、调试、问题定位、问题分析中都起着很重要的作用。 Java生态圈提供了很多日志工具供开发者选择。 more 先明确下另个概念: 日志系统:日志系统是日志的具体实现。Java日志系统比较丰富,常用的有Log4j、java.util.Logging、Logback。 日志框架:为了解决多个日志系统的兼容问题,日志框架应运而生。主流的日志框架有commons-logging和SLF4J。 继续阅读 »
2013-12-08 veryyoung
今天在用BeanUtils polulate bean的时候遇到了一下的异常: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.apache.commons.beanutils.ConversionException: DateConverter does not support default String to 'Date' conversion. 看异常消息,是前端传来的字符串不能转换为Date类型的问题 解决方案: 编写String转换为Date的DateTime 继续阅读 »
2015-09-23 Eric Wang
回文串 解题思路:既然通过添加一个字母可以变为回文串,那么通过删除与添加的字母相对位置的字符,应该亦为回文串。 例如: - 'abcb'在末尾添加'a' --> 'abcba'为回文串 'abcb'删除与想要添加的字符'a'对应位置的字符 --> 'bcb'亦为回文串 'aabbaab'在头部添加'b' --> 'baabbaab'为回文串 'aabbaab'删除与想要添加的字符'b'对应位置的字符 --> 'aabbaa'亦为回文串 Java算法实现: ```java import java.util.Scanner; /** * * Created with IntelliJ IDEA. 2015/9/23 继续阅读 »
2015-10-24 Eric Wang
最近邻居 解题思路: 1. 使用JDK中的Point2D类,该类定义了坐标系空间中的一个点 2. Point2D是一个抽象类,但是在该类内部定义了静态的Double类,并且Double继承自Point2D 3. 可以通过Double的构造方法来实例化空间中的某个点 4. 将所有的输入数据全部实例化并存放在一个Point2D.Double的数组中 5. 对该数组进行暴力破解,计算其中任意两个点之间的距离,时间复杂度为$O(n^2)$,并保留下最小的两个点的编号,且编号小的在前 Java算法实现: ```java import java.awt.geom.Point2D; import java.util.Scanner; /* 继续阅读 »
2016-03-13 Piasy
安卓开发过程中测试的编写是一个公认的痛点,本文总结了我在AndroidTDDBootStrap工程中配置Espresso测试所遇到的坑,例如神秘报错android.content.res.Resources$NotFoundException和java.util.zip.ZipException: duplicate entry,以及对dagger,mock网络请求的实践,目测应该是目前最全面的指南了 :) 本文涉及的完整代码可以在Github: AndroidTDDBootStrap获取。 继续阅读 »