`
22cgreen
  • 浏览: 53530 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

类的代码块研究

阅读更多
代码块实例:

测试发现:
1)代码块是在类初始化前执行的。
2)用java.lang.Class.forName("com.chen.test.One");只会加载类,并不会执行构造方法。
3)用java.lang.Class.forName("com.chen.test.One");会执行代码块。
4)如果实例化One one = new One(),会先执行代码块,然后再执行构造方法,
总结:代码块是在类加载时执行的,而构造方法是在类加载后,再进行实例化执行的。

如此可以明白为什么加载驱动时,如:
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@"+this.getHostIp()+":"+this.getPort()+":"+this.getSid();
Connection con = DriverManager.getConnection(url,this.getUserName(),this.getPassWord());

为什么Class.forName("oracle.jdbc.driver.OracleDriver");没有返回值,后面的代码怎么使用呢,
原来在驱动中oracle.jdbc.driver.OracleDriver中有一个代码块用于注删自己(驱动)的,而DriverManager中的方法都是静态多法和属性,
因此注册后,线程可以共享DriverManager中的属性。
-----------------------------------------------------One.java
package com.chen.test;

public class One {
static{
System.out.println("--------------block");
}
public One()
{
System.out.println("--------------One");
}
}

-------------------------------------------------------Main.java
package com.chen.test;

public class Main {

/**
* @param args
*/
public static void main(String[] args) {
try {
java.lang.Class.forName("com.chen.test.One");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

0
1
分享到:
评论

相关推荐

    rehype-prism:rehype插件使用Prism突出显示HTML中的代码块(通过折射器)

    (如果您想强调的代码块 ,相反,检查出)。 最适合在Node中使用。 如果您想在浏览器中执行语法高亮显示,则应该研究。安装npm install @mapbox/rehype-prism原料药rehype().use(rehypePrism, [options]) 语法突出...

    yolov论文-改进 YOLOv5s 的细胞培养板分类识别方法研究

    加入卷积块注意力机制,解决了检测过程中局部遮挡和漏检问题;最后,使用 YOLOv5s-tiny 算法对细胞培养板进行实验。通过与原始 YOLOv5s 算法比较,验证该算法能快速、准确的对细胞培养板进行分类识别,准确率和召回...

    mdx-prism:rehype 插件使用 Prism 突出显示 HTML 中的代码块(通过 refractor)

    (如果您想强调的代码块 ,相反,检查出)。 最适合在 Node.js 中使用。 如果您想在浏览器中执行语法高亮显示,您应该研究。 安装 npm install mdx-prism 应用程序接口 rehype().use(rehypePrism, [options]) ...

    javaSE代码实例

    7.2.3 类与源代码文件的搭配 106 7.3 成员的访问控制 107 7.3.1 公共类型 107 7.3.2 私有类型 108 7.3.3 默认类型 109 7.3.4 保护类型 109 7.3.5 Java中封装的实现 110 7.4 final的变量 112 7.4.1 ...

    在同步代码结束后,使用ReleaseMutex(THandle

    三、还有一种用信号量对象来管理线程同步的,它是在互斥的基础上建立的,但信号量增加了资源计数的功能,预定数目的线程允许同时进入要同步的代码。有点复杂,想不到在哪可以用,现在就不研究论了。 发表于 @ 2008...

    空时块码附matlab代码.zip

    ### 团队长期从事下列领域算法的研究和改进: ### 1 智能优化算法及应用 **1.1 改进智能优化算法方面(单目标和多目标)** **1.2 生产调度方面** 1.2.1 装配线调度研究 1.2.2 车间调度研究 1.2.3 生产线平衡...

    块对角化附matlab代码.zip

    ### 团队长期从事下列领域算法的研究和改进: ### 1 智能优化算法及应用 **1.1 改进智能优化算法方面(单目标和多目标)** **1.2 生产调度方面** 1.2.1 装配线调度研究 1.2.2 车间调度研究 1.2.3 生产线平衡...

    Alamouti空时块码附matlab代码.zip

    ### 团队长期从事下列领域算法的研究和改进: ### 1 智能优化算法及应用 **1.1 改进智能优化算法方面(单目标和多目标)** **1.2 生产调度方面** 1.2.1 装配线调度研究 1.2.2 车间调度研究 1.2.3 生产线平衡...

    一个java正则表达式工具类源代码.zip(内含Regexp.java文件)

    这个工具类目前主要有25种正规表达式(有些不常用,但那时才仔细深入的研究了一下正规,写上瘾了,就当时能想到的都写了): 1.匹配图象; 2 匹配email地址; 3 匹配匹配并提取url ; 4 匹配并提取http ; 5.匹配日期 6...

    单例模式的多种实现.docx

    3.2饿汉式(使用静态代码块) 7 3.3懒汉式(线程不安全) 8 3.4懒汉式(线程安全,使用同步方法) 9 3.5双重检查实现单例模式 10 3.6使用静态内部类实现单例模式 12 3.7使用枚举类实现单例模式 13 4.单例模式怎么用...

    论文研究-基于页面聚类的Web应用测试方法研究.pdf

    利用DOM相似度对DOM进行评价,并对DOM状态进行分类,利用分类簇的中心作为相应功能的操作结果,返回应用中寻找相应的代码块并且进行测试。实验结果表明:该方法可以有效地降低“单一DOM对应单一状态”模式中的冗余...

    论文研究-基于近端梯度的快速字典学习方法的研究.pdf

    基于稀疏表示的图像处理技术近年来成为研究热点,多种字典学习算法如K-SVD、OLM(online dictionary learning method)等予以提出,这类算法使用重叠的图像块来构建字典进行稀疏表示,产生了大量稀疏系数,致使计算...

    matlab改变代码字体-optimisticssl:乐观半监督最小二乘分类的代码

    我们表明,可以通过将块坐标下降应用于两个相关但略有不同的目标函数,来得出自学习的软标签和硬标签变体。 最终的软标签方法与有关处理可追溯到1930年代的丢失数据的想法有关。 我们显示,在基准数据集上,软标签...

    基于低复杂度背景建模和自适应块分类的快速高效代码转换

    基于低复杂度背景建模和自适应块分类的快速高效代码转换

    一款非常好的WPF编程宝典2010 源代码

    2.2.2 后台代码类 24 2.3 XAML中的属性和事件 26 2.3.1 简单属性与类型转换器 27 2.3.2 复杂属性 29 2.3.3 标记扩展 30 2.3.4 附加属性 31 2.3.5 嵌套元素 32 2.3.6 特殊字符与空白字符 35 2.3.7 事件 36 ...

    两类折反射望远镜的研究

    本文研究了两类折反射望远镜.第一类是由一块非球面反射镜和分别放置在它的前面和焦点前的两块非球面薄板组成的.第二类是由一块球面反射镜和一块非球面弯月形透镜组成的,这块弯月形透镜相当于一块球面的马克苏托夫...

    auto-align:Visual Studio Code扩展以对齐代码块

    仍在研究中...我每天都在使用它,因此它可以工作,但总是发现一些小东西。 如果您正在寻找某些东西或某些东西不起作用,请在GitHub上向我发送问题。 此系统不会更改在non-moveable项目左侧找到任何non-moveable项目...

    论文研究-编织物疵点检测及类型识别.pdf

    基于编织物常见的几种疵点为研究对象,利用改进的相角变换算法对编织物疵点进行特征提取,并在此基础上利用马氏距离对编织物二值化以实现疵点检测,利用几何数学原理实现对编织物疵点的分类。方法实现简单,相对于...

Global site tag (gtag.js) - Google Analytics