社区
Java SE
帖子详情
请问 forName( xxx.class ) 这个方法在这样执行之后,在系统里都做了什么?
ecaol
2006-06-27 04:29:23
请问 forName( xxx.class ) 这个方法在这样执行之后,在系统里都做了什么?
...全文
315
19
打赏
收藏
请问 forName( xxx.class ) 这个方法在这样执行之后,在系统里都做了什么?
请问 forName( xxx.class ) 这个方法在这样执行之后,在系统里都做了什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ecaol
2006-06-29
打赏
举报
回复
明白了,多謝樓上的各位。
用Class.forname()的效率很高嗎?
不知道爲什麽各公司的JDBC驅動都要由它來註冊。
羽佳0627
2006-06-29
打赏
举报
回复
连接数据库时用它来加载JDBC驱动吧
forevertraveller
2006-06-28
打赏
举报
回复
加载该类以及它引用的类(如果还没有加载的话)
初始化静态变量和静态块
treeroot
2006-06-28
打赏
举报
回复
晕,类的初始化和静态方法有什么关系?
初始化静态成员和执行初始化块!
ecaol
2006-06-28
打赏
举报
回复
这和一颗星星无关吧,这只是在讨论技术
FreezeCS
2006-06-28
打赏
举报
回复
forName
public static native Class forName(String className) throws ClassNotFoundException
返回给定的字符串名对应的 Class 对象。 若给定一个类或接口的完整路径名,那么此方法将试图定位、装载和连接该类。若成功,返回该类对象。否则,抛出 ClassNotFoundException 异常。
例如,下面代码段返回名为 java.lang.Thread 的运行 Class 描述器。
Class t = Class.forName("java.lang.Thread")
参数:
className - 期望类的全路径名。
返回值:
指定名的 Class 描述器。
抛出: ClassNotFoundException
如果没有发现该类。
Dan1980
2006-06-28
打赏
举报
回复
一颗星问这种问题有点不应该吧,这应该是基础知识啊。
class.forName()会装载类(如果这个类还没有被装载的话),即,给类对象分配空间(注意每个类其实也是一个Class对象),初始化static成员,再顺序执行各个static { }块中的代码。
如果你想让JVM装载类,但又不想去建立一个类的实例的话,就应该用这种方法。class.forName()以后,就可以引用类的static成员并调用static方法了。
低调的小青蛙
2006-06-28
打赏
举报
回复
执行的内容是:
如果类中包含
static
{
};
程序块,那么这段程序将被执行。
如果存在 static 变量,那么这个变量将会被初始化。
treeway
2006-06-28
打赏
举报
回复
m....
findsth
2006-06-28
打赏
举报
回复
显式的装载驱动程序
crazycy
2006-06-28
打赏
举报
回复
应该是ClassLoader在干什么~~觉得涉及JVM底层在工作了
cqf820
2006-06-28
打赏
举报
回复
好像就什么注册驱动,具体的就不太清楚。
面试时候还遇到过这问题。
dlxu
2006-06-28
打赏
举报
回复
调用了里面的static段,注册驱动
fansy007
2006-06-27
打赏
举报
回复
一颗星星也问这种问题哦,狂汗。。。。。。。。。。
Java编程思想有一小段讲到这个,2年前大二刚学java,看了半天没弄懂啥意思。
现在大四毕业,还是没看懂。
看见风
2006-06-27
打赏
举报
回复
这个是java反射机制里的方法,大概是初始化类,具体可查反射机制资料
飞翔的大麦茬
2006-06-27
打赏
举报
回复
同意楼上的观点
forName是装载驱动类,初始化一些资源,实例化一些static,native方法吧(不确定,jdk源码没写多详细)
这样下面的DriverManager.getConnection()才能够取得数据库连接
ecaol
2006-06-27
打赏
举报
回复
好像是给类进行初始化,但是初始化的时候唯一能有点作用的可能就是static method了吧?
kevinliuu
2006-06-27
打赏
举报
回复
ClassLoader找到并载入该类吧
autosail
2006-06-27
打赏
举报
回复
不会,帮顶
基于Web的酒店客房管理
系统
的设计与实现+论文+开题
博主介绍:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌项目名称基于Web的酒店客房管理
系统
的设计与实现
系统
说明3.2.1 用户模块功能分析前台模块应主要包括用户登录模块、用户注册模块、查看客房信息模块、客房预定 模块、用户留言模块、充值模块和个人信息维护模块。用户登录模块:用户通过输入注册的的账号和密码,然后进行身份验证,匹配成功 后实现登录功能。用户注册模块:用户输入合法的账号和密码可以实现注册功能。 查看客房信息模块:用户可以通过首页查看客房的价格,图片,详情等信息,从而 可以选择想要预定的房间。 客房预定模块:用户选择自己想要预定的客房后,可以通过输入相关信息进行订房操作。用户留言模块:用户可以向管理员发送留言。 充值模块:用户可以通过添加银行卡再为自己进行充值操作。 个人信息维护模块:用户可以修改自己的姓名、密码、身份证号等信息,还可以查看自己的订单。3.2.2 管理员模块功能分析对于管理员而言,一个好的管理
系统
总是能让酒店的管理工作事半功倍[7]。管理员 能够通过这个
系统
对自己的酒店情况一目了然,应该包括客户留言模块、客房管理模 块、订房信息管理模块、入住信息管理模块、统计分析模块、酒店新闻管理模块、会 员信息管理模块、员工信息管理模块、
系统
用户管理模块、个人信息维护模块。客户留言模块:管理员可以查看并回复用户的留言。客房管理模块:管理员可以管理客房信息,可以添加新的客房,删除已经停用的客房信息,还可以修改现有的客房信息。订房信息管理模块:管理员可以处理用户的订房请求,为用户办理入住手续。入住信息管理模块:对于没有注册的线下客户,也可以办理入住手续。统计分析模块:可以对酒店所有的入住信息进行记录和总结分析。酒店新闻管理模块:管理员可以更新网站上的新闻公告,展示图片等信息。会员信息管理模块:管理员可以查看到所有的注册会员信息,可以对会员信息进行删除,修改,添加操作。员工信息管理模块:管理员可以查看到自己公司所有的员工信息,而且还可以对员工的相关信息进行管理。
系统
用户管理模块:管理员可以查看到所有的
系统
管理员信息并对管理员信息进行管理。个人信息维护模块:管理员可以更改自己的登录密码或者是姓名、性别、手机号等 相关个人信息。编辑 环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本;6.是否Maven项目:否;技术栈1. 后端:Spring+SpringMVC+Mybatis2. 前端:JSP+CSS+JavaScript+jQuery使用说明1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请
执行
maven clean;maven install命令,然后运行;3. 将项目中springmvc-servlet.xml配置文件中的数据库配置改为自己的配置;4. 运行项目,在浏览器中输入http://localhost:8080/ 登录运行截图编辑编辑编辑编辑编辑编辑编辑编辑编辑编辑编辑编辑编辑编辑编辑 用户管理控制层:package com.houserss.controller;import javax.servlet.http.HttpSession;import org.apache.commons.lang3.StringUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import com.houserss.common.Const;import com.houserss.common.Const.Role;import com.houserss.common.ServerResponse;import com.houserss.pojo.User;import com.houserss.service.IUserService;import com.houserss.service.impl.UserServiceImpl;import com.houserss.util.MD5Util;import com.houserss.util.TimeUtils;import com.houserss.vo.DeleteHouseVo;import com.houserss.vo.PageInfoVo;/** * Created by admin */@Controller@RequestMapping(/user/)public
class
UserController if (ip != null && ip.length() > 0) String[] ips = ip.split(,);for (int i = 0; i
Java中
Class
.forName()用法详解
Class
.forName()主要功能
Class
.forName(
xxx
.xx.xx)返回的是一个类,
Class
.forName(
xxx
.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会
执行
该类的静态代码段。 下面,通过解答以下三个问题的来详细讲解下
Class
.forName()的用法。 一.什么时候用
Class
.forName()? 给你一个字符串变量,它代表一个...
Class
.forName()用法详解
目录 1.什么是
class
对象 2.获得
class
对象的三种
方法
3.
class
的作用和
方法
4
Class
.forName()用法 4.1 什么时候用
Class
.forName()? 4.2 newInstance和new关键字的区别 5 应用问题解析 情景一:载入数据库驱动的时候 情景二:使用AIDL与电话管理Servic进行通信 1.什么是
class
对象 类是程序的一部分,每个类都有一个
class
对象。换言之,每当编写并且编译了一个新类,就会产生一个
class
对象(更...
Class
.forName用法(详解)
主要功能
Class
.forName(
xxx
.xx.xx)返回的是一个类。
Class
.forName(
xxx
.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会
执行
该类的静态代码段。 下面,通过解答以下三个问题的来详细讲解下
Class
.forName()的用法。 一.什么时候用
Class
.forName()? 先来个热身,给你一个字符串变量,它代表一个类的包名和类名,你怎么实...
Class
.forName()与
xxx
.
class
的区别
https://blog.csdn.net/Terminator2015/article/details/52123388 原地址所有的类都是在对其第一次使用时,动态加载到JVM。当程序创建第一个对类的静态成员的引用时,就会加载这个类。这也证明了构造器也是类的静态
方法
,即使在构造器之前并没有static关键字。因此,使用new操作符创建类的对象也会被当作对类的静态成员的引用。因此Java程序在他开...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章