类的加载(广义)过程
- 加载(狭义)--------生成对应Class类
- 链接--------给静态变量以默认值,给常量赋值。->所有常量准备完毕,但静态没准备好
- 初始化-----执行静态代码块和类全局静态变量的赋值语句(先执行静态代码块);->所有静态准备完毕(包括静态成员和静态方法)
关于类初始化的几种情况
会被初始化:
- main方法所在的类一定会被初始化
- new对象时
- 使用静态成员(除final外)和静态方法时
- 以任何方式被反射都会被初始化
- 子类在被初始化时父类会先被初始化
不会初始化; - 仅仅使用类中常量时类不会被初始化
- 仅仅定义一个类的数组时类不会被初始化
- 仅仅通过子类去使用父类的静态时子类不会被初始化
JDBC
- 加载驱动,Class.forName(“驱动连接串”);
- 获取Connection(代表数据库对象),DriverMannager.getConnection(“账号密码连接串”);
- 获取PreparedStatement(代表执行SQL的对象),connection.preparedStatement(“SQL”);
- 填满SQL中的问号,preparedStatement.setString(1,“name”);
- 执行对应操作获取结果ResultSet(代表查询结果对象),preparedStatement.excute().
- 遍历结果,resultSet.next()->result.getString(1).
json
- json是一个存储数据的技术,其数据结构为**{“键1”:值1,“键2”:值2,“键3”:值3}**
- 其中值可以为任何对象,包括json、json数组
- json的序列化:即将一个JavaBean通过函数转为json字符串。反序列化:将一个json字符串转为JavaBean