㈠ java 没调用 为什么自动执行
原因很简单的,是因为类Thread中的start方法中,调用了Thread中的run方法。 顺便说下,类A继承了Tread类,在A中写run方法,就会覆盖掉Thread中的run方法,所以此时调用start方法后,实现的是自己的run方法体里面的代码。
㈡ java 定时器字自动执行方法
为了不阻塞主线程,定时器应该开辟一个子线程去完成。
需要每秒轮询检测时间点是否符合条件。
示例代码如下:
public static void main(String[] args){
new Thread(){
private SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
public void run() {
while(true){
try {
String currentTimeStr = sdf.format(new Date());
System.out.println("w=" + currentTimeStr);
if(currentTimeStr.equals("00:00")){
A();
System.out.println(currentTimeStr);
}
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
private void A(){
System.out.println("夜深了,该休息了。");
}
}.start();
//阻塞主线程,不让程序结束。
while(true);
}
㈢ 在JAVA applet中paint办法为什么会自动执行
Applet类中的四种基本方法用来控制其运行状态:init()、start()、stop()、destroy()在start()方法里,会调用paint方法。这是applet的运行机制。x0dx0a init()方法x0dx0a 这个方法主要是为Applet的正常运行做一些初始化工作。当一个Applet被系统调用时,系统首先调用的就是该方法。通常可以在该方法中完成从网页向Applet传递参数,添加用户界面的基本组件等操作。x0dx0a start()方法x0dx0a 系统在调用完init()方法之后,将自动调用start()方法。而且,每当用户离开包含该 Applet的主页后又再返回时,系统又会再执行一遍start()方法。这就意味着start()方法可以被多次执行,而不像init()方法。因此,可把只希望执行一遍的代码放在init()方法中。可以在start()方法中开始一个线程,如继续一个动画、声音等。x0dx0a stop()方法x0dx0a 这个方法在用户离开Applet所在页面时执行,因此,它也是可以被多次执行的。它使你可以在用户并不注意Applet的时候,停止一些耗用系统资源的工作以免影响系统的运行速度,且并不需要人为地去调用该方法。如果Applet中不包含动画、声音等程序,通常也不必实现该方法。x0dx0a destroy()方法x0dx0a 与对象的finalize()方法不同,Java在浏览器关闭的时候才调用该方法。 Applet是嵌在HTML文件中的,所以destroty()方法不关心何时Applet被关闭,它在浏览器关闭的时候自动执行。在destroy() 方法中一般可以要求收回占用的非内存独立资源。(如果在Applet仍在运行时浏览器被关闭,系统将先执行stop()方法,再执行destroy()方法。
㈣ JAVA *.class 文件,如何能定期自动执行
*.class文件的一种执行方法是在命令行中输入命令(假设文件名为Abc.class):
java Abc
如果把这条命令加入的任务计划中去,就可以实现定期自动执行了。
㈤ 用java如何实现程序自动启动
你的意思好像是说这个程序需要一天24小时不间断执行的,呵呵!
可以这样解决:
首先,把你启动程序的命令编辑到一个bat
批处理文件
中;
然后,你的java类里面需要的核心代码是:
Runtime.getRuntime().exec("cmd.exe
/c
start
C:\\clean.bat(这个文件改成你做好的批处理文件)");
当然,你的程序中需要判断现在是不是晚上六点,这个就不多说了。
if(晚上6点){
执行上面的代码;
}
㈥ 如何用java自动执行junit
骤一:构建环境
首先新建一个java project.,名字叫做junit3。在拘泥t中再构建一个source folder。目的是形成良好的变成风格。将源码放在src中将测试代码发在另一个source folder(名字叫做test)中。
形成的目录结构如图。
2
在src中和test中起相同名字的packet,这样编译后的class就在同一个目录下,不需要导入包即可。我的packet名字叫做(com.e)
形成的目录结构如图所示。
㈦ 如何设置让java程序在谷歌浏览器中自动运行
首先你要保证你的电脑上已经安装好了Java,我们打开开始,看下所有程序中是否已经安装java
点击“检查更新”检查下Java版本是否为最新版本,如果不是就更新为最新版本
然后我们选择“配置java”,在安全选项中把“启用浏览器中的java”勾选上。
然后我们打开浏览器,在工具中找到“internet选项”点击打开
在“安全”选项中找到“自定义级别”点击打开。
在脚本下面找到“Java小程序脚本”勾选“启用”,配置好之后重新启动浏览器即可。
㈧ 在JAVA中为什么有些函数重写后会自动执行,比如compareTo
因为在调用某些方法时, 会用到父类里的compareTo, 你重写了它, 所以执行到调用时. 会调用你所重写的方法.
//简单的栗子:A类是一个父类
classA{
voidsomething(){
System.out.println("A里的something方法");
}
voiddoSth(){
something();
}
//B类继承于A,并重写了A类的方法
classBextendsA{
@Override
voidsomething(){
System.out.println("B里的somthing方法");
}
}
Bb=newB();
b.doSth();//方法调用时会执行你重写的那个方法
//输出:
//B里的somthing方法
//或者如此:这样内部匿名类重写方法,也可以;
Aa=newA(){
@Override
voidsomething(){
System.out.println("重写的somthing方法");
}
};
a.doSth();
//输出:
//重写的somthing方法
㈨ java自动执行下一行
while(true){
int s=scanner.nextInt();
Thread.sleep(1000); //1秒
System.out.println("等待一秒后执行的");//如有需要把while(true)去掉
}
㈩ 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>