代码块实例:
测试发现:
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();
}
}
}
分享到:
相关推荐
(如果您想强调的代码块 ,相反,检查出)。 最适合在Node中使用。 如果您想在浏览器中执行语法高亮显示,则应该研究。安装npm install @mapbox/rehype-prism原料药rehype().use(rehypePrism, [options]) 语法突出...
加入卷积块注意力机制,解决了检测过程中局部遮挡和漏检问题;最后,使用 YOLOv5s-tiny 算法对细胞培养板进行实验。通过与原始 YOLOv5s 算法比较,验证该算法能快速、准确的对细胞培养板进行分类识别,准确率和召回...
(如果您想强调的代码块 ,相反,检查出)。 最适合在 Node.js 中使用。 如果您想在浏览器中执行语法高亮显示,您应该研究。 安装 npm install mdx-prism 应用程序接口 rehype().use(rehypePrism, [options]) ...
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 ...
三、还有一种用信号量对象来管理线程同步的,它是在互斥的基础上建立的,但信号量增加了资源计数的功能,预定数目的线程允许同时进入要同步的代码。有点复杂,想不到在哪可以用,现在就不研究论了。 发表于 @ 2008...
### 团队长期从事下列领域算法的研究和改进: ### 1 智能优化算法及应用 **1.1 改进智能优化算法方面(单目标和多目标)** **1.2 生产调度方面** 1.2.1 装配线调度研究 1.2.2 车间调度研究 1.2.3 生产线平衡...
### 团队长期从事下列领域算法的研究和改进: ### 1 智能优化算法及应用 **1.1 改进智能优化算法方面(单目标和多目标)** **1.2 生产调度方面** 1.2.1 装配线调度研究 1.2.2 车间调度研究 1.2.3 生产线平衡...
### 团队长期从事下列领域算法的研究和改进: ### 1 智能优化算法及应用 **1.1 改进智能优化算法方面(单目标和多目标)** **1.2 生产调度方面** 1.2.1 装配线调度研究 1.2.2 车间调度研究 1.2.3 生产线平衡...
这个工具类目前主要有25种正规表达式(有些不常用,但那时才仔细深入的研究了一下正规,写上瘾了,就当时能想到的都写了): 1.匹配图象; 2 匹配email地址; 3 匹配匹配并提取url ; 4 匹配并提取http ; 5.匹配日期 6...
3.2饿汉式(使用静态代码块) 7 3.3懒汉式(线程不安全) 8 3.4懒汉式(线程安全,使用同步方法) 9 3.5双重检查实现单例模式 10 3.6使用静态内部类实现单例模式 12 3.7使用枚举类实现单例模式 13 4.单例模式怎么用...
利用DOM相似度对DOM进行评价,并对DOM状态进行分类,利用分类簇的中心作为相应功能的操作结果,返回应用中寻找相应的代码块并且进行测试。实验结果表明:该方法可以有效地降低“单一DOM对应单一状态”模式中的冗余...
基于稀疏表示的图像处理技术近年来成为研究热点,多种字典学习算法如K-SVD、OLM(online dictionary learning method)等予以提出,这类算法使用重叠的图像块来构建字典进行稀疏表示,产生了大量稀疏系数,致使计算...
我们表明,可以通过将块坐标下降应用于两个相关但略有不同的目标函数,来得出自学习的软标签和硬标签变体。 最终的软标签方法与有关处理可追溯到1930年代的丢失数据的想法有关。 我们显示,在基准数据集上,软标签...
基于低复杂度背景建模和自适应块分类的快速高效代码转换
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 ...
本文研究了两类折反射望远镜.第一类是由一块非球面反射镜和分别放置在它的前面和焦点前的两块非球面薄板组成的.第二类是由一块球面反射镜和一块非球面弯月形透镜组成的,这块弯月形透镜相当于一块球面的马克苏托夫...
仍在研究中...我每天都在使用它,因此它可以工作,但总是发现一些小东西。 如果您正在寻找某些东西或某些东西不起作用,请在GitHub上向我发送问题。 此系统不会更改在non-moveable项目左侧找到任何non-moveable项目...
基于编织物常见的几种疵点为研究对象,利用改进的相角变换算法对编织物疵点进行特征提取,并在此基础上利用马氏距离对编织物二值化以实现疵点检测,利用几何数学原理实现对编织物疵点的分类。方法实现简单,相对于...