首页编程java编程java中submit什么意思,JAVA中setEnabled(true);是什么意思

java中submit什么意思,JAVA中setEnabled(true);是什么意思

编程之家2023-10-11104次浏览

老铁们,大家好,相信还有很多朋友对于java中submit什么意思和JAVA中setEnabled(true);是什么意思的相关问题不太懂,没关系,今天就由我来为大家分享分享java中submit什么意思以及JAVA中setEnabled(true);是什么意思的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

java中submit什么意思,JAVA中setEnabled(true);是什么意思

java的Struts配置<Action attribute>是什么意思

1)应用前提,attribute只有在设置了name后才有意义。

2)attribute可以实现对象的重用,即如果设置了attribute属性,在创建actionform是,会先去查找相应的scope中是否有此对象,如果有,则重用,否则创建新的对象。

3)当你将创建的acitonForm保存到相应的scope中时,你想用一个更有意义的名字来访问它时,它就有意义了。

java中submit什么意思,JAVA中setEnabled(true);是什么意思

可是,看到"一个更有意义的名字的时候",我好像有点理解了

<action

attribute="newLoginForm"

java中submit什么意思,JAVA中setEnabled(true);是什么意思

name="loginForm"

type="loginAction"

scope="request"

path="/login">

在struts实例化actionform的时候,struts是根据attribute的值来查找并创建actionform,有两种情况:如果已经存在,那么从内存中取回;如果第一次实例化,那么创建,并放入内存。

org.apache.struts.util.RequestUtils中的源代码

public static Actionform createActionform(

HttpServletRequest request,

ActionMapping mapping,

ModuleConfig moduleConfig,

ActionServlet servlet){

............

............

String attribute= mapping.getAttribute();

......

Actionform instance= null;

HttpSession session= null;

if("request".equals(mapping.getScope())){

instance=(Actionform) request.getAttribute(attribute);

} else{

session= request.getSession();

instance=(Actionform) session.getAttribute(attribute);

}

................

................

}

如果没有配置attribute属性的话, struts才会从name属性里读出要创建的formbean的名字,并创建一下实例,看下边的源代码就知道了,呵呵.

org.apache.struts.config.ActionConfig

protected String attribute= null;public String getAttribute(){

//就是这里了.

if(this.attribute== null){

return(this.name);

} else{

return(this.attribute);

}

}public void setAttribute(String attribute){

if(configured){

throw new IllegalStateException("Configuration is frozen");

}

this.attribute= attribute;

}

Java多线程是什么意思

Java多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。

1、继承Thread类实现多线程

继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法,它将启动一个新线程,并执行run()方法。这种方式实现多线程很简单,通过自己的类直接extend Thread,并复写run()方法,就可以启动新线程并执行自己定义的run()方法。例如:

在合适的地方启动线程如下:

2、实现Runnable接口方式实现多线程

如果自己的类已经extends另一个类,就无法直接extends Thread,此时,必须实现一个Runnable接口,如下:

为了启动MyThread,需要首先实例化一个Thread,并传入自己的MyThread实例:

事实上,当传入一个Runnable target参数给Thread后,Thread的run()方法就会调用target.run(),参考JDK源代码:

3、使用ExecutorService、Callable、Future实现有返回结果的多线程

ExecutorService、Callable、Future这个对象实际上都是属于Executor框架中的功能类。想要详细了解Executor框架的可以访问http://www.javaeye.com/topic/366591,这里面对该框架做了很详细的解释。返回结果的线程是在JDK1.5中引入的新特征,确实很实用,有了这种特征我就不需要再为了得到返回值而大费周折了,而且即便实现了也可能漏洞百出。

可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口。执行Callable任务后,可以获取一个Future的对象,在该对象上调用get就可以获取到Callable任务返回的Object了,再结合线程池接口ExecutorService就可以实现传说中有返回结果的多线程了。下面提供了一个完整的有返回结果的多线程测试例子,在JDK1.5下验证过没问题可以直接使用。代码如下:

代码说明:

上述代码中Executors类,提供了一系列工厂方法用于创先线程池,返回的线程池都实现了ExecutorService接口。

public static ExecutorService newFixedThreadPool(int nThreads)

创建固定数目线程的线程池。

public static ExecutorService newCachedThreadPool()

创建一个可缓存的线程池,调用execute将重用以前构造的线程(如果线程可用)。如果现有线程没有可用的,则创建一个新线程并添加到池中。终止并从缓存中移除那些已有 60秒钟未被使用的线程。

public static ExecutorService newSingleThreadExecutor()

创建一个单线程化的Executor。

public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize)

创建一个支持定时及周期性的任务执行的线程池,多数情况下可用来替代Timer类。

总结:ExecutoreService提供了submit()方法,传递一个Callable,或Runnable,返回Future。如果Executor后台线程池还没有完成Callable的计算,这调用返回Future对象的get()方法,会阻塞直到计算完成。

JAVA中setEnabled(true);是什么意思

setEnabled

void setEnabled(boolean b)设置 Action的启用状态。在启用时,任何与此对象相关联的组件都被激活,并且都能触发此对象的 actionPerformed方法。如果值已更改,则将一个 PropertyChangeEvent发送到侦听器。

参数:

b-为 true表示启用此 Action;为 false表示禁用它

看看你是在那找到的这个方法名.是那个对象掉用的.你可以查看java api.讲解很详细.

java joinforkpool excute和submit的区别

ava7引入了Fork Join的概念,来更好的支持并行运算。顾名思义,Fork Join类似与流程语言的分支,合并的概念。也就是说Java7 SE原生支持了在一个主线程中开辟多个分支线程,并且根据分支线程的逻辑来等待(或者不等待)汇集,当然你也可以fork的某一个分支线程中再开辟Fork Join,这也就可以实现Fork Join的嵌套。

有两个核心类ForkJoinPool和ForkJoinTask。

ForkJoinPool实现了ExecutorService接口,起到线程池的作用。所以他的用法和Executor框架的使用时一样的,当然Fork Join本身就是Executor框架的扩展。ForkJoinPool有3个关键的方法,来启动线程,execute(...),invoke(...),submit(...)。具体描述如下:

客户端非fork/join调用内部调用fork/join

异步执行 execute(ForkJoinTask) ForkJoinTask.fork

等待获取结果 invoke(ForkJoinTask) ForkJoinTask.invoke

执行,获取Futrue submit(ForkJoinTask) ForkJoinTask.fork(ForkJoinTasks are Futures)

关于java中submit什么意思和JAVA中setEnabled(true);是什么意思的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

道岔号数(道岔号数越大,道岔的全长就越)javascript用什么编辑,编写javascript和echarts用什么软件