Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 记忆会影响表现还是很多条件都会影响?_Java_Performance - Fatal编程技术网

Java 记忆会影响表现还是很多条件都会影响?

Java 记忆会影响表现还是很多条件都会影响?,java,performance,Java,Performance,有谁能在这两段代码中推荐性能最好的代码吗 代码1 Map token_map = new HashMap(); for (int i = 1; i < req_tokens.length; ++i) { String[] spl_token = null; spl_token = req_tokens[i].trim().split("="); token_map.put(spl_toke

有谁能在这两段代码中推荐性能最好的代码吗

代码1

       Map token_map = new HashMap();
        for (int i = 1; i < req_tokens.length; ++i) {
            String[] spl_token = null;
            spl_token = req_tokens[i].trim().split("=");
            token_map.put(spl_token[0], spl_token[1]);
        }

        cs_chnl_id = (String) token_map.get("ChannelId");
        obj_id = (String) token_map.get("ObjectId");
        channel_name = (String) token_map.get("ChannelName");
        username = (String) token_map.get("Username");
        pwd = (String) token_map.get("Password");
        hotel_key = (String) token_map.get("Channel_hotel_key");

        resId = (String) token_map.get("Res_Id");
        String booking_date = (String) token_map.get("Booking_Date");
        days_past = (String) token_map.get("Days_past");  
            for (int i = 1; i < req_tokens.length; ++i) {
                String[] spl_token = null;
                String key = null;
                spl_token = req_tokens[i].trim().split("=");
                key = spl_token[0].trim();
                // initilizing cron values for instance varibles
                if (key.equalsIgnoreCase("ChannelId")) {
                    cs_chnl_id = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("ObjectId")) {
                    objectId = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("ChannelName")) {
                    channel_name = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("Username")) {
                    username = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("Password")) {
                    pwd = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("Channel_hotel_key")) {
                    hotel_key = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("Res_Id")) {
                    resId = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("Booking_Date")) {
                    booking_date = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("Days_past")) {
                    days_past = spl_token[1].trim();
                }

            }
Map-token_-Map=newhashmap();
for(int i=1;i
代码2

       Map token_map = new HashMap();
        for (int i = 1; i < req_tokens.length; ++i) {
            String[] spl_token = null;
            spl_token = req_tokens[i].trim().split("=");
            token_map.put(spl_token[0], spl_token[1]);
        }

        cs_chnl_id = (String) token_map.get("ChannelId");
        obj_id = (String) token_map.get("ObjectId");
        channel_name = (String) token_map.get("ChannelName");
        username = (String) token_map.get("Username");
        pwd = (String) token_map.get("Password");
        hotel_key = (String) token_map.get("Channel_hotel_key");

        resId = (String) token_map.get("Res_Id");
        String booking_date = (String) token_map.get("Booking_Date");
        days_past = (String) token_map.get("Days_past");  
            for (int i = 1; i < req_tokens.length; ++i) {
                String[] spl_token = null;
                String key = null;
                spl_token = req_tokens[i].trim().split("=");
                key = spl_token[0].trim();
                // initilizing cron values for instance varibles
                if (key.equalsIgnoreCase("ChannelId")) {
                    cs_chnl_id = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("ObjectId")) {
                    objectId = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("ChannelName")) {
                    channel_name = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("Username")) {
                    username = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("Password")) {
                    pwd = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("Channel_hotel_key")) {
                    hotel_key = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("Res_Id")) {
                    resId = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("Booking_Date")) {
                    booking_date = spl_token[1].trim();
                } else if (key.equalsIgnoreCase("Days_past")) {
                    days_past = spl_token[1].trim();
                }

            }
for(int i=1;i
在中,插入和查找操作的时间复杂度为O(1),它们的性能几乎相同,但第一个代码更具可读性,不要在性能上浪费时间,选择第一个。

好吧,您可以在相同的输入数据上同时尝试这两个操作,看看哪一个运行得更快…为什么不先从可读性开始,然后考虑性能——你认为哪种方法更好?@ MarounMaroun在代码1中,我保存了map(TokKymap)中的值并将其分配给字符串变量,在代码2中,我不使用MAP(TokKeN-MAP),希望你得到我的观点不要浪费你的时间与性能,一个战术的方式是,首先,使其可运行,而不是使代码性感和高性能值。如果不使用原始类型映射,第一个将更好。