当前位置:首页 » 编程语言 » java启动执行

java启动执行

发布时间: 2022-05-22 21:58:24

A. java Web 启动时自动执行代码的几种方式

Web容器启动后执行代码的几种方式
其执行顺序为:

4===>5===>1===>2===>3
即指定init-method的Bean开始执行
接着实现spring的Bean后置处理器开始执行
然后是Servlet的监听器执行
再接下来是Servlet的过滤器执行
最后才是Servlet执行

1、实现Servlet监听器接口ServletContextListener

[java] view plain
public class InitListener implements ServletContextListener {

@Override
public void contextDestroyed(ServletContextEvent context) {

}

@Override
public void contextInitialized(ServletContextEvent context) {
// 上下文初始化执行
System.out.println("================>[ServletContextListener]自动加载启动开始.");
SpringUtil.getInstance().setContext(
<span style="white-space:pre"> </span>WebApplicationContextUtils.getWebApplicationContext(arg0.getServletContext())
<span style="white-space:pre"> </span>);
}

}
然后在web.xml文件配置该监听器

[html] view plain
<listener>
<listener-class>com.test.init.InitListener</listener-class>
</listener>

2、实现Servlet的过滤器Filter

[html] view plain
public class InitFilter implements Filter {

@Override
public void destroy() {

}

@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException,
ServletException {

}

@Override
public void init(FilterConfig config) throws ServletException {
System.out.println("================>[Filter]自动加载启动开始.");
// 读取Spring容器中的Bean[此时Bean已加载,可以使用]
//写启动需要执行的代码
System.out.println("================>[Filter]自动加载启动结束.");
}

}
然后在web.xml文件配置过滤器即可

[html] view plain
<filter>
<filter-name>InitFilter</filter-name>
<filter-class>com.test.init.InitFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>InitFilter</filter-name>
<url-pattern>/</url-pattern>
</filter-mapping>

3、编写一个Servlet,在web.xml里面配置容器启动后执行即可

[html] view plain
public class InitServlet extends HttpServlet {

/**
*/
private static final long serialVersionUID = 1L;

@Override
public void init(ServletConfig config) {
try {
super.init();
} catch (ServletException e) {
e.printStackTrace();
}
System.out.println("================>[Servlet]自动加载启动开始.");
// 读取Spring容器中的Bean[此时Bean已加载,可以使用]
//执行想要的代码
System.out.println("================>[Servlet]自动加载启动结束.");
}
}

然后在web.xml文件配置该Servlet的启动方式为:容器启动后执行
<servlet>
<servlet-name>InitServlet</servlet-name>
<servlet-class>com.test.init.InitServlet</servlet-class>
<init-param>
<param-name>username</param-name>
<param-value>test</param-value>
</init-param>
<!-- 此处指定加载顺序为2,表明还有优先级更高的Servlet要先执行 -->
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>InitServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
关于启动后执行,由load-on-startup指定:
(1)当值为0或者大于0时,表示容器在应用启动时就加载这个servlet。值越小,启动优先级越高;
(2)当是一个负数时或者没有指定时,表示该servlet被调用时才加载。

4、如果你使用Spring IOC作为Bean管理容器,那么可以指定init-method其中init-method表示bean加载成功后,立即执行某个方法。配置如下:start为要执行的方法名称

[html] view plain
<!-- service -->
<bean id="shopService" class="com.test.teach.service.ShopService" <span style="color:#33ffff;">init-method="start"</span>>
<property name="shopDao" ref="shopDao" />
</bean>

B. java文件怎么运行

最简单的方法就是在CMD里运行
举一个例子来说你的问题吧:比如说你所要运行的java源文件名字为myfirst.java,它位于我的电脑E:\应用软件\学习\JAVA\myfirst.java的路径之下。
第一步:我的电脑开始,运行输入“cmd”,此时进入DOS命令窗口。
第二步:“输入 e:”,回车,此时进入E盘目录之下。
第三步:“输入 cd E:\应用软件\学习\JAVA”,回车,此时进入myfirst.java所在的目录之下。
第四步:“输入 javac myfirst.java”,回车,此时为程序的编译过程。
第五步:“输入 java myfirst”,回车,此时为程序的运行阶段,假如程序编写的没有问题,即可看到你想要的运行结果。

C. 怎样运行java应用程序

运行java应用程序的步骤:
1、在D盘根目录上创建名为HelloWorld.java的文件,并编写相应java代码
2、打开附件--->命令提示符,会弹出dos窗口
3、输入d:,然后回车,会跳转到d盘根目录
4、输入javac
HelloWorld.java,如果不提示任何信息,则表示该文件没有语法错误,位置正确,并会在d盘上生成HelloWorld.class文件
5、输入
java
HelloWorld,就可以在dos界面上看到运行结果了

D. java程序运行的五个步骤

1、Java程序从源文件创建到程序运行要经过两大步骤:1、源文件由编译器编译成字节码(ByteCode) 2、字节码由java虚拟机解释运行。因为java程序既要编译同时也要经过JVM的解释运行,所以说Java被称为半解释语言("semi-interpreted" language)。

第一步(编译): 创建完源文件之后,程序会先被编译为.class文件。Java编译一个类时,如果这个类所依赖的类还没有被编译,编译器就会先编译这个被依赖的类,然后引用,否则直接引用,这个有点像make。如果java编译器在指定目录下找不到该类所其依赖的类的.class文件或者.java源文件的话,编译器话报“cant find symbol”的错误。

编译后的字节码文件格式主要分为两部分:常量池和方法字节码。常量池记录的是代码出现过的所有token(类名,成员变量名等等)以及符号引用(方法引用,成员变量引用等等);方法字节码放的是类中各个方法的字节码。

第二步(运行):java类运行的过程大概可分为两个过程:1、类的加载 2、类的执行。需要说明的是:JVM主要在程序第一次主动使用类的时候,才会去加载该类。也就是说,JVM并不是在一开始就把一个程序就所有的类都加载到内存中,而是到不得不用的时候才把它加载进来,而且只加载一次。

2、下面是程序运行的详细步骤:

  • 在编译好java程序得到Main.class文件后,在命令行上敲java Main。系统就会启动一个jvm进程,jvm进程从classpath路径中找到一个名为Main.class的二进制文件,将Main的类信息加载到运行时数据区的方法区内,这个过程叫做Main类的加载。

  • 然后JVM找到Main的主函数入口,开始执行main函数。

  • main函数的第一条命令是Animal animal = new Animal("Puppy");就是让JVM创建一个Animal对象,但是这时候方法区中没有Animal类的信息,所以JVM马上加载Animal类,把Animal类的类型信息放到方法区中。

  • 加载完Animal类之后,Java虚拟机做的第一件事情就是在堆区中为一个新的Animal实例分配内存, 然后调用构造函数初始化Animal实例,这个Animal实例持有着指向方法区的Animal类的类型信息(其中包含有方法表,java动态绑定的底层实现)的引用。

  • 当使用animal.printName()的时候,JVM根据animal引用找到Animal对象,然后根据Animal对象持有的引用定位到方法区中Animal类的类型信息的方法表,获得printName()函数的字节码的地址。

  • 开始运行printName()函数。

E. java程序如何运行

java程序分为两个阶段,编译期和运行期
首先写好源代码文件(如果你字节码文件请看怎样运行它),在确保本机已经安装有JDK的情况下,并配置好环境变量的情况下,打开DOS窗口(也可以用win+r,输入cmd),输入javac 路径 命令,路径 为需要编译的源代码文件,如果代码没有错误,则会生成一个或多个字节码文件。
在有字节码文件的情况下,确保本机有JRE,已经配置环境变量的情况下,打开DOS窗口,输入命令 java 类名 来运行java程序

F. 怎么启动java的运行环境

没有任何IDE的话,就使用windows或者linux的命令行进行吧。
不管你用任何方式启动java环境,首要任务是要设置classpath。
java和其他语言有点不一样,是需要先编译成claa文件才能执行的,所以classpath不设置好,后续事情都是扯淡。

配置方法很简单,在系统环境中classpath后面追加就行了。

当然也可以不固定配置在执行cmd行的时候
直接使用javac -classpath进行编译 然后java -cp进行执行

如果使用IDE,则需要在环境变量中再追加一个JAVAHOME变量。
路径设置到你jdk的bin下面。

G. java怎么逐句运行

生成class文件可以在命令控制台下用java文件名进行运行。
1、去网上下载jdk(jdk是一个编译器就是解释执行java代码的)。
2、配置path和classpath的环境变量。去我的电脑属性高级里面的系统变量那配置你的path和classpath的环境变量。
3.测试。打开dos界面输入javac按enter如果出现很多的英文就说明你的环境变量配置好了。到了这一步也就说明你的java环境弄好了。
4、编写一个简单的java程序编译执行看看能不能用。做完这些就可以了。

H. 如何运行JAVA

第一步:下载并安装JDK 6.0,安装路劲为: C:\java\jdk1.6 .

第二步:对“我的电脑”按右键,选“属性”,在“系统属性”窗口中选“高级”标签,再按“环境变量”按钮,弹出一个“环境变量”的窗口,在系统变量中新建一个变量,变量名为“JAVA_HOME“,变量值为"C:\java\jdk1.6";如果存在"PATH"变量名,按编辑,在变量值最前面输入"C:\java\jdk1.6\bin;".(注意以分号结尾,没有引号.如果没有"PATH",点击新建一个"PATH"变量名,变量值一样).

第三步:单击Windows xp的“开始”->“运行”,在弹出的运行窗口中输入cmd,按回车,打开一个命令行窗口,输入javac,将会看见一系列javac常用参数选项. 恭喜你java环境安装成功了.

第四步:开始编程(注意先双击打开"我的电脑",在"工具" ->"文件夹选项" -> 点击"查看"选项 ->在"高级设置"中找到"隐藏已知文件类型的扩展名"前面的小勾去掉)。在C盘的根目录中新建一个子目录,名为"JavaTest”,以作为存放 Java源代码的地方。在JavaTest文件夹中,新建文本文档, 把“新建 文本文档.txt”改为"HelloWorld.java"。用记事本打开"HelloWorld.java", 输入:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, world!");
System.out.println("恭喜你成功运行了第一个java应用程序!");
}
}
注意源文件名必须与类名相同,且类修饰符为public,文件名后缀为".java".保存文件.

第五步:在命令行窗口中输入 cd C:\JavaTest,将当前路径转入JavaTest目录中。然后,输入 javac HelloWorld.java,JDK就在JavaTest文件夹中编译生成一个HelloWorld.class的类文件。

第六步:在命令行窗口中输入 java HelloWorld,(注意没有.class后缀)屏幕出现了
Hello world!
恭喜你成功运行了第一个java应用程序!
表示成功了,也就顺利地编译及运行了第一个Java应用程序。

I. 怎么运行java程序

比如说保存为"D:\java\test.java",然后转换目录到那里"cd
D:\java",编译这个.java文件"javac
test.java"这个javac的命令一定要记住,这是jdk里面最为常用的之一,是个java的编译器,具体参数你自己研究吧,很多,配合使用会得到意想不到的结果。这时候应该在"D:\java\"目录下面生成了一个test.class文件,这个就是一个二进制文件,就像windows下面常见的exe文件一样,只不过这个二进制文件是java虚拟机的(具体java的运行机制书上都会讲,自己研究吧)。这样就可以运行了,"java
test",java是jdk的另一个最为常用的命令,启动java虚拟机,后面的参数书你的程序编译出来的.class文件,但是千万别再后面加上".class",java命令也还是有很多的参数,还是自己看吧

J. java文件是怎么执行的

首先:使用javac命令把.java文件编译成.class文件(字节码文件)
然后:JVM(java虚拟机)装载.class文件并翻译成机器码后运行java程序;
共同学习-----请参考:
我们手工执行java程序是这样的:
1 在记事本中或者是UE的文本编辑器中,写好源程序;
2 使用javac命令把源程序编译成.class文件;
编译后的.class(类字节码)文件中会包含以下内容:

ConstantPool:符号表;
FieldInfo:类中的成员变量信息;
MethodInfo:类中的方法描述;
Attribute:可选的附加节点。
FieldInfo节点包含成员变量的名称,诸如public,private,static等的标志。ConstantValue属性用来存储静态的不变的成员变量的值。Deprecated和Synthetic被用来标记一个成员变量是不被推荐的或由编译器生成的。

3 有了.class文件,我们执行 java 解释命令就可以运行java程序了。

现在我们主要讨论一下,当执行 java这个命令后,会发生什么事情呢?
首先,JVM装载.class,也就是类装载器装载类字节码。一个类装载器本身也是一个java类,所以,类装载器自身也需要被另外一个类装载器装载,这就出现了类似先有蛋,还是先有鸡的问题。但JAVA中的类装载器的这个问题却很容易解决。JAVA的虚拟机(JVM)中内嵌了一个称为Bootstrap类装载器,它是用特定于操作系统的本地代码实现的,属于JAVA虚拟机的内核,Bootstrap类不用专门的类装载器去进行装载。Bootstrap类负责加载JAVA核心包中的类(即rt.jar文件中的类),这些类的Class.getClassLoader()方法返回值为null,即表示是Bootstrap类装载器。JAVA核心包中有另外两个类装载器:ExtClassLoader和AppClassLoader,它们都是用JAVA语言编写的JAVA类,其中ExtClassLoader类装载负责加载存放在<JAVA_HOME>/jre/lib/ext目录下的jar包中的类,AppClassLoader负责加载应用程序的启动执行类,即当使用java命令去启动执行一个类时,JAVA虚拟机使用AppClassLoader加载这个类。在编译和运行JAVA程序时,都会通过ExtClassLoader类装载器去<JAVA_HOME>/jre/lib/ext目录下的JAR包中搜索要加载的类,所以,如果将包含例如Servlet API的jar包或者是javamail.jar包复制到该目录下,在编译Servlet或JavaMail程序时,就不必在CLASSPATH环境变量中增加包含Servlet API的jar包或者是javamail.jar包文件。
以上,就是一个JAVA程序执行的大致过程。

热点内容
早春开花植物如何配置 发布:2025-02-13 19:22:19 浏览:50
安卓怎么获得root录音权限 发布:2025-02-13 19:21:22 浏览:170
访问学者留学基金委 发布:2025-02-13 19:21:13 浏览:430
制定编程 发布:2025-02-13 19:11:39 浏览:58
微商相册安卓与苹果机哪个方便 发布:2025-02-13 19:10:02 浏览:6
优酷视频缓存设置 发布:2025-02-13 19:04:03 浏览:156
如何识别网络配置 发布:2025-02-13 19:04:02 浏览:300
android签名漏洞 发布:2025-02-13 18:59:47 浏览:255
解压高达 发布:2025-02-13 18:58:56 浏览:518
苹果怎么对备忘录加密码 发布:2025-02-13 18:44:19 浏览:72