欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
java的debug和release編譯方式
以前沒(méi)有注意過(guò),其實(shí)java編譯成.class 有兩種方式
使用javac,默認使用的release方式,而我們經(jīng)常使用的MyEclipse工具,用的是debug模式。
區別暫時(shí)了解如下:
release模式下對于函數參數會(huì )改變
Test.java
[java] view plaincopy
public class Test{
private static void sayHello(){
System.out.println("Hello world");
}
public static void main(String[] args){
sayHello();
}
}
分別用javac命令,和MyEclipse IDE編譯上面的Test.java
然后使用jd-gui.exe 查看Test.class
可以發(fā)現,使用javac命令產(chǎn)生的Test.class(如下)和用MyEclipse編譯(如下)出來(lái)的參數名上有所區別
[java] view plaincopy
public class Test
{
private static void sayHello()
{
System.out.println("Hello world");
}
public static void main(String[] args) {
sayHello();
}
}
[java] view plaincopy
public class Test
{
private static void sayHello()
{
System.out.println("Hello world");
}
public static void main(String[] paramArrayOfString) {
sayHello();
}
}
這也可以解釋為什么在spring MVC 中controller的注解初始化參數建議指定名稱(chēng)
[html] view plaincopy
@RequestMapping(/test/{str})
public String test(@PathVariable String str){
System.out.println(str);
return null;
}
實(shí)際項目部署使用的是release版本,這樣str而非RequestMapping中的{str}這樣就對應不起來(lái)了。而這樣的問(wèn)題在開(kāi)發(fā)中是不會(huì )發(fā)現的
Java文件編譯的兩種方式以及在SpringMVC傳參中帶來(lái)的問(wèn)題(轉)
(2013-08-26 10:26:46)
標簽: spring
mvc
debug
release
it
分類(lèi): JavaEE
一、基本概念
java編譯成.class 有兩種方式。使用javac,默認使用的release方式,而使用的MyEclipse工具,用的是debug模式。值得注意的是使用release模式下對于函數參數會(huì )改變。
public class Test{
private static void sayHello(){
System.out.println("Hello world");
}
public static void main(String[] args){
sayHello();
}
}
以上代碼分別用javac命令和MyEclipse IDE編譯,然后使用jd-gui.exe查看Test.class,可以發(fā)現區別。
使用MyEclipse編譯(debug)
public class Test
{
private static void sayHello()
{
System.out.println("Hello world");
}
public static void main(String[] args) {
sayHello();
}
}
使用javac編譯(release)
public class Test
{
private static void sayHello()
{
System.out.println("Hello world");
}
public static void main(String[] paramArrayOfString) {
sayHello();
}
}
二、發(fā)現問(wèn)題
以SpringMVC為例
@RequestMapping(/test/{str})
public String test(@PathVariable String str){
System.out.println(str);
return null;
}
實(shí)際項目部署使用的是release版本,這樣str經(jīng)過(guò)編譯后就和RequestMapping中的{str}這樣就對應不起來(lái)了。而這樣的問(wèn)題在開(kāi)發(fā)中是不會(huì )發(fā)現的。這也可以解釋為什么在spring MVC 中controller的注解初始化參數建議指定名稱(chēng)。建議寫(xiě)法如下:
@RequestMapping(/test/{str})
public String test(@PathVariable("str") String str){
System.out.println(str);
return null;
}
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
閱讀Spring源碼第一步:源碼編譯與創(chuàng )建調試入口
JNI 開(kāi)發(fā)流程
java命令行編譯
在程序中實(shí)現對java源文件編譯的3種方法
Java中a=a+b 與 a+=b區別 以及和類(lèi)型轉換的關(guān)系
Redis系列~Java中使用Redis(十六)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久