- 浏览: 565364 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (478)
- lucene (45)
- oracle (19)
- nutch (2)
- blog (2)
- 垂直搜索 (19)
- java综合 (89)
- spring (15)
- Hibernate (9)
- Struts (9)
- Hadoop (16)
- Mysql (12)
- nosql (10)
- Linux (3)
- MyEclipse (4)
- Ant (1)
- 设计模式 (19)
- JBPM (1)
- JSP (1)
- HtmlParser (5)
- SVN (2)
- 插件 (2)
- 收藏 (7)
- Others (1)
- Heritrix (18)
- Solr (4)
- 主题爬虫 (31)
- 内存数据库 (24)
- 分布式与海量数据 (32)
- httpclient (14)
- Tomcat (1)
- 面试宝典 (6)
- Python (14)
- 数据挖掘 (1)
- 算法 (6)
- 其他 (4)
- JVM (12)
- Redis (18)
最新评论
-
hanjiyun:
本人水平还有待提高,进步空间很大,看这些文章给我有很大的指导作 ...
JVM的内存管理 Ⅲ -
liuxinglanyue:
四年后的自己:这种方法 不靠谱。 使用javaagent的方式 ...
计算Java对象占用内存空间的大小(对于32位虚拟机而言) -
jaysoncn:
附件在哪里啊test.NoCertificationHttps ...
使用HttpClient过程中常见的一些问题 -
231fuchenxi:
你好,有redis,memlink,mysql的测试代码吗?可 ...
MemLink 性能测试 -
guyue1015:
[color=orange][/color][size=lar ...
JAVA同步机制
前几天看到一个帖子中提出一个问题,在JDBC的开发中为什么要使用Class.forName,可以不用这句吗? 我们从代码出发,来分析一下这个问题。 下面是一段我们常用的JDBC开发中的代码(注:本文中例子使用Mysql为例子。为方便演示,代码中忽略异常处理) 运行代码,结果正常,打印出了Mysql数据库中的用户数。 我们先尝试将第一句拿掉,看是不是也可以运行。 运行代码,报如下错误: 看来是不行,那让我们来分析一下,Class.forName(String clz)这样一个方法到底做了什么呢? 看一下API,API中Class.forName方法的声明如下: 该方法是根据一个字符串,得到这个字符串所表示的类,但是我们上面代码中并没有一个引用指向这个返回的结果,也就是代码并不关注返回的结果,那为什么还要执行这句话呢,继续往下看API中的说明,有这样一句:“A call to forName("X") causes the class named X to be initialized”。 问题似乎有点眉目了,原来在执行Class.forName("com.mysql.jdbc.Driver")这个语句时,com.mysql.jdbc.Driver这个类被初始化了,那一定是在初始化中做了什么动作。为了证实这点,我们对上面的代码做一点修改: 运行代码,和预想的一样,同样可以得到运行结果。 我们再来想一下,com.mysql.jdbc.Driver这个类在初始化的时候到底执行了什么?先来回忆一下以前的一篇文章:Java牛角尖【003】:类初始化时的执行顺序。明白了,好像有这样一个概念:静态代码块。 一定是在com.mysql.jdbc.Driver这个类中有一段静态代码段,这段代码执行了某些动作。 之所以用Mysql做为例子,还有另外一个优点,那就是开源,开源也就是说我们可以看到它的代码,所以下个任务就是找到com.mysql.jdbc.Driver这个类的源码来看一下了。 代码如下: 这段代码似乎比我们想象的要简单,是透过java.sql.DriverManager这个类的静态方法registerDriver这个方法注册这个JDBC驱动。 最后一个问题就是为什么这里要调用registerDriver方法呢,那就是来看一下DrvierManager的API了,如下:
发表评论
-
熔岩的相关文章收藏
2011-02-20 21:57 1377HttpClient4 Post XML到一个服务器上 纯J ... -
我新弄的博客和论坛+新浪微博
2011-02-01 00:05 1728主博客是:http://www.liuxinglany ... -
Java编程思想 (收藏)
2011-01-07 15:34 9671、面向对象的特性 2、内存分配 3、 ... -
Java解惑系列(收藏)
2011-01-07 15:30 11551.1 java解惑你知多少(一) 1.2 jav ... -
2010 iData Forum 演讲幻灯片
2010-12-25 21:44 10102010年iData Forum数据库大会顺利结束,在 ... -
2010年6月的好文推荐
2010-12-20 20:39 871转自:人云亦云 最近发现一个非常不错的博客,叫dbthi ... -
JAVA通过JNI调用本地C语言方法
2010-12-19 20:49 767Java特性深受人们喜爱, ... -
java集合类比较
2010-12-19 20:49 1249Vector(转者注:现在Ve ... -
java对各种文件的操作详解(转)
2010-12-19 20:31 799http://blog.csdn.net/Java2King/ ... -
从一个http请求的详细过程---理解计算机网络
2010-12-18 13:58 1467http://duanple.blog.163.com/b ... -
(转)学习:一个并发的Cache
2010-12-17 17:11 995public class Memoizer implem ... -
Groovy是怎么实现createArray的
2010-12-16 19:57 726Groovy是一个基于 Java虚拟机的敏捷 动态语言。构 ... -
24款较经典的Page翻页分页css代码
2010-12-12 17:52 753<!DOCTYPE html PUBLIC &qu ... -
比较优秀的值得学习的J2EE开源项目
2010-12-12 12:53 989这篇文章写在我研究J2 ... -
J2EE的部分jar的作用
2010-12-05 10:44 1072来自:深沉的船 activation.jar:与javaMa ... -
Java的多线程Socket通信
2010-12-04 21:21 863转:http://wangtong40.iteye.com/b ... -
Java的单线程Socket通信
2010-12-04 21:21 882package com.wangtong.networ ... -
Servlet 3.0 实战:异步 Servlet 与 Comet 风格应用程序
2010-12-04 21:19 913转自http://www.ibm.com/develope ... -
高效编程之欲擒故纵
2010-12-04 13:36 805转:http://www.aqee.net/2010/11/3 ... -
架构师给程序员的一封信
2010-12-04 13:35 819转:http://www.aqee.net/2010/ ...
相关推荐
在本设计装置中,我们探讨了一种创新的工艺方法,用于将笔尖打磨成仿牛角尖的外形。这种设计不仅在视觉上提供了独特的审美体验,还可能改善书写时的手感和性能。以下是对这个技术的详细阐述: 1. 设计理念:仿牛角...
在深入解读《电子:中国半导体:牛角峥嵘》这篇报告之前,首先要明确几个核心的概念。首先,半导体是指那些在特定温度下导电性能介于导体和绝缘体之间的材料,常被应用于制造各种电子设备的微小组件中,如晶体管、...
这篇文章主要讨论了如何基于Solidworks平台,通过VB语言开发牛角芯棒的参数化快速设计系统,为牛角芯棒的设计提供了一种更为便捷的方法。 首先,我们来了解一下Solidworks。Solidworks是一款流行的三维机械设计软件...
标题“电子:中国半导体:牛角峥嵘”揭示了这篇文档可能主要探讨的是中国在电子半导体领域的快速发展和崛起。描述中的“牛角峥嵘”是中国成语,用来形容事物发展势头强劲,暗示中国的半导体产业正展现出强大的竞争力...
介绍Croissant是一个轻量级的Java库,它为Bukkit / Spigot / Paper插件提供了命令框架和GUI框架。 以下是其功能的简短摘要: 命令框架无需在插件的plugin.yml文件中声明命令自动参数解析和制表符补全从推断参数可以...
从“全球芯拐点”到“中国电子:重构与崛起”,再到“半导体:厉兵秣马,迈入芯征程”和“中国半导体:牛角峥嵘”,分析报告预测了该行业将进入一个长期的繁荣期。 其次,半导体产业在2021年第一季度的表现尤为出色...
在Java编程中,注解(Annotation)是一种元数据,它提供了在代码中插入信息的方式,这些信息可以被编译器或运行时环境用来执行特定的动作。在这个场景中,"java注解方式实现拦截接口重复提交"是为了解决一个常见的...
简易牛角座.IntLib
首先,Elasticsearch本身是用Java编写的,因此Java运行时环境(JRE)是运行Elasticsearch的先决条件。你需要确保你的系统上安装了Java 8(JDK 1.8),因为Elasticsearch 5.x版本与这个版本的JVM兼容性最好。 在"lib...
5. 牛角书:这里提到的“牛角书”可能是指学习资源或教程,它可能为开发者提供关于鸿蒙项目和开发过程的详细指南,包括最佳实践、案例分析和常见问题解答,帮助开发者快速上手鸿蒙开发。 6. 跨平台开发:鸿蒙项目的...
很抱歉,由于提供的文件信息中【部分内容】中仅包含了一串数字,并...如果您能提供更具体的内容或详细说明文件中牛角按摩梳的使用方法,我将很乐意为您生成所需的知识点。请补充相关信息以便我能够准确回答您的需求。
本文将详细介绍如何使用OpenOffice在Java环境下实现JPG图片和DOC文档转换为PDF,并进一步将PDF转换为SWF,以便进行在线预览。我们将讨论相关的技术、工具以及具体的实现步骤。 首先,OpenOffice是一款开源的办公...
原牛角源码(修罗bbs)全站程序打包带数据库备份,牛角源码全站数据+全站文件、插件打包分享给大家,有兴趣的可以搭建玩玩! conf文件夹中自己配置数据库链接文件,默认管理账号:admin,密码123456 首页登录后就可以...
在钣金加工领域中,牛角弯头是一种特殊的弯管部件,主要用于输送管道系统中,以便连接不同直径的管道或调整管道方向。牛角弯头通常由多个圆锥形的管节组成,每个管节都有一定的弯曲角度和长度。由于其结构的复杂性,...
水牛角生产工艺规程.pdf
【标题】"牛角包素材.zip"所包含的是一份关于设计或烹饪领域的素材资源,很可能是用于制作广告、宣传材料或烘焙教学等用途。由于没有具体的标签信息,我们可以从"牛角包"这一主题出发,探讨与之相关的多个IT知识点。...
电子:中国半导体:牛角峥嵘(2021)(173页).pdf
【C++编译的牛角棋】是一款基于C++编程语言开发的游戏,它可能是为了帮助初学者实践编程技能而创建的。在这个项目中,我们能够看到开发者如何运用C++的基本语法、控制结构、函数和可能的数据结构来实现一个简单的...
牛角包,一款专为Lua语言设计的交互式REPL(Read-Eval-Print Loop)和调试器,为程序员提供了强大的开发工具,使得在Lua编程过程中能够更加高效、便捷地进行代码测试、调试和学习。本文将深入探讨牛角包的功能特性、...