####
// 哼,这是个坑,我会跟你说嘛。。。
Double num = Double.NaN
// :(
if (num == Double.NaN) {
System.out.println(num);
}
// :)
if (Double.isNaN(num)) {
System.out.println(num);
}
for语句搭配break、continue一起使用:break表示结束循环,continue跳过本次循环继续执行
修改 public static final String 的值:
http://unmi.cc/java-reflection-modify-final-field-value/
此处对于Java端可用,但是android端不行,原因在于Android使用的Dalvik与JVM不一样,
会报错 java.lang.NoSuchFieldException: No field modifiers in class Ljava/lang/reflect/Field;
1234 This works.Field field = data.getClass().getDeclaredField("type");field.setAccessible(true);field.set(data, null);http://taobaofed.org/blog/2016/05/05/new-compiler-for-android/
关于JDBC的一些细节信息
> 1、JDBC是从1开始的,也即第一行开始,不从0开始。
> > > 2、DriverManager.registerDriver(new Driver()); //此处查看源码你会发现驱动加载了两次,删除jar后会发现程序代码报错,说明Driver严重依赖jar的存在。
> > > > 解决的办法使用反射:Class.forName("com.mysql.jdbc.Driver");
> > > > > > 3、sql CUD使用executeUpdate(),查询推荐使用executeQuery();
> > > > > > > > 4、单元测试 断言可以判断执行的结果是否和期望的结果是一样的。
> > > > > > > > > > @Test执行之前都会先执行@before, @Test执行以后都会执行@After
> > > > > > > > > > > > 面向接口编程 Dao :Data Access Object 数据访问对象
> > > > > > > > > > > > > > sql注入的原因是使sql语句的查询条件为true导致,解决办法是使用PreparedStatement,固定查询语句的格式以防止出现查询条件为true的情况。
关于xml的一些知识
> xml是Json出现之前流行的计算甲之间传输数据的格式,先多用于软件的配置文件。
> > > xml只能有一个根节点
> > > > > 语法比较严格, 属性值必须使用单引号后者双引号包起来,<Book price="20">
> > > > > > > 约束技术:DTD(早期 文档类型定义 struts2 hibernate) ~~ Schema(最晚 spring)
> > > > > > > > > 解析:Dom4j