在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/ Java問答
悶油瓶 回答

對這個“中文參數(shù)”編碼即可。

對于get請求
如果你的請求是get,參數(shù)有中文的,比如 ?name=張上,按照如下處理
前端使用 encodeURIComponent(encodeURIComponent(url)),對url進行二次編碼。
后端:拿到參數(shù)值,使用URLDecoder.decode(s, "UTF-8")解碼一下。這樣方式確實可行的,答主在實際項目總使用過。
舉個例子吧:
前端:

<script type="text/javascript">
   var url = "/xxx/param/test";
     
     var name = "張上";
     
     name = encodeURIComponent(name);
     name = encodeURIComponent(name);//二次編碼
     alert(name);
     url = url + "?name="+name;
     window.location.href = url;
     </script>

后端:

@Controller
@RequestMapping(value="/param")
public class ParamController extends BaseController<ParamEntity> {
    /**
     * @throws UnsupportedEncodingException 
     * 
     */
    @RequestMapping(value="/test",method=RequestMethod.GET)
    public String test(@RequestParam("name") String name) throws UnsupportedEncodingException{
        name = URLDecoder.decode(name, "UTF-8");//實測,可以正確的得到中文。
        System.out.println(name);
        return "index";
    }
}

注意:get請求有中文參數(shù),可以指定容器使用何種編碼規(guī)則來解碼提交的參數(shù)(有人回答使用這種方式,即修改tomcat 配置文件中的Connector中的URIEncoding參數(shù)),但是這種做法不建議使用,推薦使用二次編碼吧。
為什么需要二次編碼?可以看如下博文:
eURIComponent編碼2次

爆扎 回答

git remote add github git@github.com/youname/youprojectname.git
git remote add coding git@coding.net/youname/youprojectname.git
git push github master
git push coding master

通常用origin作為遠程倉庫的名字,它只是個名字而已,你可以換成你喜歡的名字。例如我這里換成了github和coding

伴謊 回答

檢查控制器的注解是否是@Controller
@RestController不會返回視圖,只會返回數(shù)據(jù)
@RestController換成@Controller

奧特蛋 回答

不是無法啟動,而是運行完正常退出了,new 出來的Thread 要調(diào)用join方法阻塞主線程,要不主線程(main 方法)執(zhí)行完就退出了,等等剛才圖沒刷出來

祈歡 回答

看了一下,原因有兩點:

  • 窮舉法的復(fù)雜度較高,約為O(8^(N*N)),也就是說,8*8的棋盤復(fù)雜度為O(8^64),這是一個天文數(shù)字
  • 復(fù)雜度只是一方面,并不能代表最終的計算時間。之所以5、6、7的時候使用的時間較少,是因為它們在較少的嘗試次數(shù)下就可以找到答案了。所以耗費的時間并不多。而8*8的時候卻比較不幸,嘗試了很多次都不能成功,導致運行很久都找不到答案。

舉個例子,即使是100 * 100的棋盤,如果恰好每一步都選擇的是正確的跳法,那么也只需要10000步即可算出答案(假設(shè)答案是存在的)。但假如運氣不好,前面的選擇都錯了,導致程序需要不斷重試,那么即使是5*5的棋盤,也需要大約8^25步才能找到答案!

而窮舉法并不會去判斷并選擇最有可能的跳法去嘗試,它只是無腦地按照順序一次次嘗試,所以找到答案所消耗的時間完全是憑運氣。當N=5、6、7的時候運氣較好,而N=8的時候運氣卻比較差。

原理部分就分析到這里,下面來談?wù)剝?yōu)化。

雖然窮舉法解出N=8比較困難,但是并不是說你的程序沒有問題。我發(fā)現(xiàn)了幾點問題可以改進dfs方法(可以從5、6、7的計算時間看出改進效果,但N=8的時候仍然無能為力)

    // dr和dc放到方法外面定義,這樣每次遞歸的時候不用單獨創(chuàng)建一遍數(shù)組
    final int[] dr = {2, 2, -2, -2, 1, 1, -1, -1};
    final int[] dc = {1, -1, 1, -1, 2, -2, 2, -2};

    // 修改dfs方法的參數(shù),增加count和total,目的是消除check方法。
    // count表示當前進行到第幾步了,total是總步數(shù),如果count=total,就表示棋盤已經(jīng)遍歷完了
    private boolean dfs(int[][] board, int sr, int sc, List<String> res, int count, int total) {
        if (/*check(board)*/count == total) {
            for (int i = 0; i < board.length; i++) {
                res.add(Arrays.toString(board[i]));
            }
            return true;
        }

        for (int i = 0; i < 8; i++) {
        // 去掉棋盤的copy,只使用原棋盤數(shù)組即可
//            int[][] newBoard = deepthCopy(board);
            int cr = sr + dr[i];
            int cc = sc + dc[i];
            if (cr >= 0 && cr < board.length && cc >= 0 && cc < board.length && board[cr][cc] == 0) {
//                newBoard[cr][cc] = newBoard[sr][sc] + 1;
                // 每次遞歸前給下一步要嘗試的格子賦值,但如果沒找到答案,再把那個格子清空。這樣就可以實現(xiàn)無需借助棋盤拷貝也可以完成遞歸
                board[cr][cc] = count + 1;
                if (dfs(board, cr, cc, res, count + 1, total)) {
                    return true;
                } else {
                    board[cr][cc] = 0;
                }
            }
        }

        return false;
    }

調(diào)用的時候改為:

dfs(board, sr, sc, res, 1, N * N);
何蘇葉 回答

頁面上傳了三個String,控制層直接用List<String>接收,這樣收據(jù)類型對不上,肯定不能接收到。
建議: 前端頁面直接把三個圖片地址拼接成一個字符串,逗號隔開,控制層直接用一個String接收,然后在Java中轉(zhuǎn)換成List

安若晴 回答

這里的代碼的邏輯是將4個字節(jié)的int型按字節(jié)分別取出,并不是什么清零操作

逗婦惱 回答

https://www.cnblogs.com/yingp...
這個有個JAVA代碼,你可以參考下。我一開始是用C寫的,感覺太麻煩了,JAVA不太會,但是看懂了一點,希望可以幫到你

脾氣硬 回答

1、所有函數(shù)都是Function的實例(不考慮箭頭函數(shù)),所以所有函數(shù)的[[prototype]]原型都指向Function.prototype
2、每一個prototype對象都有1個constructor屬性指向構(gòu)造它的函數(shù)
3、函數(shù)實例本身并沒有constructor屬性,便沿著原型鏈去尋找,直到發(fā)現(xiàn)Function.prototype內(nèi)有constructor屬性。
4、根據(jù)2,F(xiàn)unction.prototype.constructor指向Function。
5、可能奇怪的點在于Function本身也是Function的實例,F(xiàn)unction的[[prototype]]原型指向Function.prototype,設(shè)計者可能是為了保持函數(shù)特性一致而設(shè)計的,畢竟凡事必得有始有終嘛(跑。

艷骨 回答

沒有人能回答嗎??

朽鹿 回答

這不是iphoneX獨有的問題,我之前碰到過,彈層顯示的同時,把body的定位置為fixed,給個寬度就好了

$('body').css({'position': 'fixed', 'width': '100%'});

彈層關(guān)閉的時候要重置回來

$('body').css({'position': 'relative'});
柚稚 回答

你在chrome瀏覽器上打開F12看一下圖片圖顯示情況,再做進一步判斷

挽歌 回答

This class is thread-safe: multiple threads can share a single Timer object without the need for external synchronization.

https://docs.oracle.com/javas...

青瓷 回答

比較推薦重新請求,對于vue的話。就算你重新請求后渲染組件之后也對用戶體驗沒有太大影響,但是你插入的數(shù)據(jù)不見得就會操作成功,如果response error的話,那豈不是還要在當前頁面把新加的數(shù)據(jù)刪掉。

念舊 回答

原因是post中不能設(shè)置header,使用multipartfile的時候,已經(jīng)默認進行了使用

終相守 回答

看不出來什么問題啊,加點日志,看一下是不是哪個方法沒跑完。
之前通過redis處理map的更新時,高并發(fā)會有鎖住的情況。后續(xù)把map中更新頻繁的值取出來直接放redis就好了。

不一定要netty來背鍋