Java中getallinfojava是什么么,常用于什么情况?

在JAVA中,常用的两种jdbc的驱动方式是什么?_百度知道
在JAVA中,常用的两种jdbc的驱动方式是什么?
JAVA连接数据库式种:根据所需要同数据库驱四种:1:1类驱JDBC-ODBC桥式种式适合程序重用与维护推荐使用需要数据库ODBC驱2:2类驱JDBC+厂商API形式厂商API般使用C编写所种式使用3:3类驱JDBC+厂商Database Connection Server+DataBase形式种JAVA 与 DATABASE间价起台专门用与数据库连接服务器(般由数据库厂商提供)处于能优化连接4:4类驱纯JDBC+DATABASE连接式推荐连接式使APPLICATION与数据库发者需关内部逻辑实现需注重数据库连接具体实现其两种连接式:硬编码式程序硬性编入数据库连接所须参数JNDI DataSource式程序运行外布环境称(Context)设置datasource数据源jndi 名称程序须查找名称数据库连接象
其他类似问题
驱动方式的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Java中文档注释各字段的含义是什么?例如author表示作者,para表示参数等_百度知道
Java中文档注释各字段的含义是什么?例如author表示作者,para表示参数等
用Java注释标签(Java comment tags)@author
作者适用范围:文件、类、(*作者使用@author标签标识java doc显示按输入间顺序罗列)例:* @author Leo. Yao@param
输入参数名称
说明适用范围:例:* @param str the String用存放输信息@return 输参数说明适用范围:例:
&code&true&/code&执行功;*
&code&false&/code&执行失败.@since JDK版本用于标识编译该文件所需要JDK环境适用范围:文件、类例:
* @since JDK1.6@version 版本号用于标识注释象版本号适用范围:文件、类、例:
* @version 1.0@see 链接目标表示参考java 文档超链接链接参考类容使用觉@see需要包路径我种懒比较喜欢相{@link }种既要加括号需要包路径我选择偷懒要介意使用import导入要link类达@see效所总体说选择@see两特殊场合用用:@see #field
@see #Constructor(Type, Type...)
@see #Constructor(Type id, Type id...)
@see #method(Type, Type,...)
@see #method(Type id, Type, id...)
@see Class
@see Class#field
@see Class#Constructor(Type, Type...)
@see Class#Constructor(Type id, Type id)
@see Class#method(Type, Type,...)
@see Class#method(Type id, Type id,...)
@see package.Class
@see package.Class#field
@see package.Class#Constructor(Type, Type...)
@see package.Class#Constructor(Type id, Type id)
@see package.Class#method(Type, Type,...)
@see package.Class#method(Type id, Type, id)
@see package@throws 异标识能抛异适用范围:例:
* @throws IOException
If an input or output exception occurred@deprecated 解释标识象期适用范围:文件、类、@link 链接址链接目标用类似@see放注释解释形{@link …}例:/** * @deprecated
As of JDK 1.1, replaced by *
{@link #setBounds(int,int,int,int)} */
谢谢您,非常详细,可是对函数的说明写在哪个tag下,比如说这个函数是干嘛的
其他类似问题
para的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁java中单独出现showinfo();是什么意思?_百度知道
java中单独出现showinfo();是什么意思?
我有更好的答案
不可能单独出现,之前肯定定义过的。
在其他地方也出现了showinfo();System.out.println();就是这种情况
调用showinfo()方法。运行玩应该输入一些内容,输出的内容就在showinfo()方法里
java中方法都是被定义后才能够调用的,showinfo()是调用方法后显示的结果,多学学java基础哟!对你有帮助的。。。
我刚学基础非常不好 看到不一样的东西就迷糊了
你的问题比较模糊,还是把具体的代码粘贴出来看看吧。。。
showinfo();是java中对方法的调用。单独出现说明,该类中又该方法。
麻烦能举个例子吗?
public class Test{//这里就直接使用了showinfo();public void action(){showinfo();}public void showinfo(){System.out.println(&doing……&);}}
在出现的地方 调用方法
showinfo();
其他类似问题
java的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁java中 temp=0×0 temp |= 0×1 是什么意思?_百度知道
java中 temp=0×0 temp |= 0×1 是什么意思?
temp=0*0,说简单赋值语句temp |= 0*1运算符|关于运算符运算百度temp表达式值0结0|0 =0我比较用般temp +=1,类似呢表示temp = temp +1;
temp的相关知识
按默认排序
其他1条回答
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁在java中使用groovy如何搞
(java and groovy)
&来源:读书人网&【读书人网():综合教育门户网站】
在java中使用groovy怎么搞(java and groovy)什么是groovy?一种基于Java虚拟机的动态语言,可以和java无缝集
在java中使用groovy怎么搞
(java and groovy)
什么是groovy?一种基于Java虚拟机的动态语言,可以和java无缝集成,正是这个特性,很多时候把二者同时使用,把groovy作为java的有效补充。对于Java程序员来说,学习成本几乎为零。同时支持DSL和其他简介的语法(例如闭包),使代码便于阅读。可以用groovy的动态特性来做规则引擎,在DB中维护脚本,业务变化的时候让应用系统动态加载。?如果引入groovy在java工程中?这个很简单,不需要做别的事情,仅仅把groovy的二方包加入到pom文件中即可。例如:12345&dependency&??????&groupId&org.codehaus.groovy&/groupId&??????&artifactId&groovy-all&/artifactId&??????&version&1.8.3&/version&&/dependency&?java和groovy混合使用的方法有几种??1、静态编译,在java工程中直接写groovy的文件,然后可以在groovy的文件中引用java工程的类,这种方式能够有效的利用groovy自身的语言特性,例如闭包;?2、通过groovyShell类直接执行脚本,例如:11213package?groovy_dsl.import?groovy.lang.Bimport?groovy.lang.GroovySpublic?class?GroovyShellEx {????????public?static?void?main(String[] args) {????????????????Binding bind =?new?Binding();????????????????bind.setVariable("name",?"iamzhongyong");????????????????bind.setVariable("age",?"25");???????????????????????GroovyShell shell =?new?GroovyShell(bind);???????????????????????????????Object obj = shell.evaluate("str = name+return str");???????????????????????????????System.out.println(obj);????????}}?3、通过groovyScriptEngine执行文件或者脚本,例如:package?groovy_dsl.import?groovy.util.GroovyScriptEpublic?class?ScriptEngine {????????public?static?void?main(String[] args)?throws?Exception {????????????????GroovyScriptEngine engine =?new?GroovyScriptEngine("");???????????????????????????Object obj = engine.run("src/main/java/groovy_dsl/script/script_test.groovy",?"iamzhongyong");????????????????????????????System.out.println(obj);????????}}??4、通过GroovyClassLoader来执行,例如:324package?groovy_dsl.import?groovy.lang.GroovyClassLimport?groovy.lang.GroovyOimport?java.io.Fimport?java.io.IOEpublic?class?GroovyClassLoaderEx {?????????public?static?void?main(String[] args)?throws?Exception, IOException {????????????????GroovyClassLoader loader =?new?GroovyClassLoader();?????????????????for(int?i=0;i&100;i++){????????????????????????Class&?& clazz = loader.parseClass(new?File("src/main/java/groovy_dsl/classloader/UserDO.groovy"));?????????????????????????GroovyObject clazzObj = (GroovyObject)clazz.newInstance();?????????????????????????clazzObj.invokeMethod("setName",?"iamzhongyong");????????????????????????clazzObj.invokeMethod("setSex",?"Boy");????????????????????????clazzObj.invokeMethod("setAge",?"26");?????????????????????????System.out.println(clazzObj.invokeMethod("getAllInfo",?null));????????????????}?????????}}?使用groovy尤其需要主要的问题?通过看groovy的创建类的地方,就能发现,每次执行的时候,都会新生成一个class文件,这样就会导致JVM的perm区持续增长,进而导致FullGCc问题,解决办法很简单,就是脚本文件变化了之后才去创建文件,之前从缓存中获取即可。groovy中的源码如下:1return?parseClass(text,?"script"?+ System.currentTimeMillis() + Math.abs(text.hashCode()) +?".groovy");这个是增加缓存的代码:112GroovyClassLoader groovyClassLoader =?new?GroovyClassLoader(GroovyScriptExecute.class.getClassLoader());Class&?& groovyClass =?null;String classKey = String.valueOf(scriptClass.hashCode());//先从缓存里面去Class文件if(GroovyScriptClassCache.newInstance().containsKey(classKey)){????groovyClass = GroovyScriptClassCache.newInstance().getClassByKey(classKey);}else{????groovyClass = groovyClassLoader.parseClass(scriptClass);????GroovyScriptClassCache.newInstance().putClass(classKey, groovyClass);}?GroovyObject go = (GroovyObject)groovyClass.newInstance();下面这个是缓存的单例类,贴一下:public?class?GroovyScriptClassCache {????private?static?final?Map&String/*class文件的描述*/,Class&?&& GROOVY_SCRIPT_CLASS_CACHE =?new?HashMap&String,Class&?&&();?????????private?GroovyScriptClassCache(){}?????????private?static?GroovyScriptClassCache instance =?new?GroovyScriptClassCache();?????????public?static?GroovyScriptClassCache newInstance(){????????return?????}?????????public?Class&?& getClassByKey(String key){????????return?GROOVY_SCRIPT_CLASS_CACHE.get(key);????}??????public?void?putClass(String key,Class&?& clazz){????????GROOVY_SCRIPT_CLASS_CACHE.put(key, clazz);????}??????public?boolean?containsKey(String key){????????return?GROOVY_SCRIPT_CLASS_CACHE.containsKey(key);????}??}?为啥要每次new一个GroovyClassLoader,而不是所有的脚本持有一个?因为如果脚本重新加载了,这时候就会有新老两个class文件,如果通过一个classloader持有的话,这样在GC扫描的时候,会认为老的类还在存活,导致回收不掉,所以每次new一个就能解决这个问题了。?注意CodeCache的设置大小(来自:/)对于大量使用Groovy的应用,尤其是Groovy脚本还会经常更新的应用,由于这些Groovy脚本在执行了很多次后都会被JVM编译为native进行优化,会占据一些CodeCache空间,而如果这样的脚本很多的话,可能会导致CodeCache被用满,而CodeCache一旦被用满,JVM的Compiler就会被禁用,那性能下降的就不是一点点了。Code Cache用满一方面是因为空间可能不够用,另一方面是Code Cache是不会回收的,所以会累积的越来越多(其实在不采用groovy这种动态更新/装载class的情况下的话,是不会太多的),所以解法一可以是增大code cache的size,可通过在启动参数上增加-XX:ReservedCodeCacheSize=256m(Oracle JVM Team那边也是推荐把code cache调大的),二是启用code cache的回收机制(关于Code Cache flushing的具体策略请参见此文),可通过在启动参数上增加:-XX:+UseCodeCacheFlushing来启用。?参考:http://groovy.codehaus.org/Chinese+Home//iamzhongyong/groovy_dsl?(代码在这里)?
JavaLanguageFun
mark一个 ,最近正在找这方面的资料
yixiandave
引用通过看groovy的创建类的地方,就能发现,每次执行的时候,都会新生成一个class文件这是个什么情况?直接创建的groovy文件也有这种问题吗?2.0以后有没有修复?
用GroovyShell直接执行一段groovy代码,过不了多久的确会造成Perm Generation爆满先用script = shell.parse生成script,缓存起来可以解决
yixiandave
非法用户 写道用GroovyShell直接执行一段groovy代码,过不了多久的确会造成Perm Generation爆满先用script = shell.parse生成script,缓存起来可以解决直接创建的groovy类不会出现这种情况吧
yixiandave 写道非法用户 写道用GroovyShell直接执行一段groovy代码,过不了多久的确会造成Perm Generation爆满先用script = shell.parse生成script,缓存起来可以解决直接创建的groovy类不会出现这种情况吧直接创建的Groovy类不会,GroovyShell动态执行一段groovy脚本是相当于在动态创建一个class,执行一次创建一个,所以才会导致Perm Generation爆满

我要回帖

更多关于 ecshop getall 的文章

 

随机推荐