成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

JAVACollections.sort方法在SSH三大框架中使用中的問題有哪些

這篇文章給大家分享的是有關(guān)JAVA Collections.sort方法在SSH三大框架中使用中的問題有哪些的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務灤州,10多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18980820575

      最近,一同學在開發(fā)中遇到了SSH三大框架中使用到了Collections.sort方法。然而,他開發(fā)環(huán)境中的JDK

是1.7.0_64,網(wǎng)站部署的JDK版本是1.7.0_80,他通過開發(fā)環(huán)境中產(chǎn)生的.class直接去更新網(wǎng)站部署環(huán)境中的.class

文件后,程序相關(guān)功能模塊執(zhí)行到Collections.sort不繼續(xù)執(zhí)行也不報錯,而前臺ajax因此取不到數(shù)據(jù)。

類似的遠程如下:

public String analysisBillByIllName(){
		if(!"".equals(queryItem)){			
			List<IllnessPrescriptionFrequency> ipflist = ipfs.findByIllName(queryItem);
			List<BillView> bvlist = new ArrayList<BillView>();
			if(ipflist.size()!=0){				
				int sumfreq = 0;
				for(IllnessPrescriptionFrequency inst:ipflist){
					if(!"".equals(inst.getId().getBillIds())){						
						String[] bids = inst.getId().getBillIds().split("\\$");
						for(int i=0;i<bids.length;i++){
								BillView bv = new BillView();
								bv.setBillId(Integer.parseInt(bids[i]));
								bv.setFrequency(inst.getId().getPrescriptionFreequency());
								sumfreq +=inst.getId().getPrescriptionFreequency();
								bvlist.add(bv);
						}
					}
				}
				for(int j=0;j<bvlist.size();j++){
					for(int k=j+1;k<bvlist.size() -1;k++){
						if(bvlist.get(j).getBillId().equals(bvlist.get(k).getBillId())){
							bvlist.get(j).setFrequency(bvlist.get(j).getFrequency()+bvlist.get(k).getFrequency());
							bvlist.remove(k);
						}
					}
				}
				System.out.println(">>>>>>>>>>bvlist for2 ipflist:"+bvlist.size());
				final int sumRatio = sumfreq; 
				Collections.sort(bvlist,new Comparator<BillView>(){//list sort
					public int compare(BillView bv1,BillView bv2){
						if(bv1.getFrequency()<bv2.getFrequency()){
							return 1;
						}
						if(bv1.getFrequency()==bv2.getFrequency()){
							return 0;
						}
						return -1;
					}
				});
				System.out.println(">>>>>>>>>>bvlist Collections:"+bvlist.size());
				for(BillView bv:bvlist){
					Bill qb = bills.findById(bv.getBillId());
					bv.setBillName(qb.getBillName());
					float divd = bv.getFrequency()/sumRatio;
					bv.setUseageRatio(divd);
					bv.setIllName(queryItem);
				}
				flag="data";
				jsonArray = JSONArray.fromObject(bvlist);
				System.out.println(jsonArray.toString());
				return SUCCESS;
			}else{
				flag="none";
				return SUCCESS;
			}
		}else{
			return ERROR;
		}
	}

如上程序通過AJAX異步訪問,在開發(fā)環(huán)境中能正常執(zhí)行;但是使用低版本的JDK編譯后的.class文件直接去替換高版本下

的同名.class文件類,程序執(zhí)行到:

System.out.println(">>>>>>>>>>bvlist for2 ipflist:"+bvlist.size());

而下邊的方法不執(zhí)行也不報錯:

Collections.sort(bvlist,new Comparator<BillView>(){//list sort
					public int compare(BillView bv1,BillView bv2){
						if(bv1.getFrequency()<bv2.getFrequency()){
							return 1;
						}
						if(bv1.getFrequency()==bv2.getFrequency()){
							return 0;
						}
						return -1;
					}
				});

程序無法執(zhí)行Collections.sort,不能執(zhí)行到函數(shù)返回語句,AJAX異步訪問獲取不到數(shù)據(jù),導致前臺報錯獲取數(shù)據(jù)失敗。

    在問題排查過程中,經(jīng)歷了如下過程:

    1、開發(fā)環(huán)境是windows,網(wǎng)站部署環(huán)境是centos6.8,前后重新編譯了網(wǎng)站代碼,并且重新部署了centos上的網(wǎng)站,

問題還是不執(zhí)行Collections.sort;

    2、懷疑是阿里云環(huán)境安全的限制,關(guān)閉了主機防火墻,但是Collections.sort方法還是不執(zhí)行也不報錯;

    3、單獨編輯測試Collections.sort的java類分別在windows和centos環(huán)境下編譯執(zhí)行,發(fā)現(xiàn)Collections.sort在windows和centos上均可以執(zhí)行,測試程序如下:

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
class BillView{
	private Integer billId;
	private String billName;
	private String illName;
	private int frequency;
	private float useageRatio;
	public Integer getBillId() {
		return billId;
	}
	public void setBillId(Integer billId) {
		this.billId = billId;
	}
	public String getBillName() {
		return billName;
	}
	public void setBillName(String billName) {
		this.billName = billName;
	}
	public String getIllName() {
		return illName;
	}
	public void setIllName(String illName) {
		this.illName = illName;
	}
	public int getFrequency() {
		return frequency;
	}
	public void setFrequency(int frequency) {
		this.frequency = frequency;
	}
	public float getUseageRatio() {
		return useageRatio;
	}
	public void setUseageRatio(float useageRatio) {
		this.useageRatio = useageRatio;
	}
	
	public BillView() {
		
	}
	public BillView(Integer billId, String billName, String illName,
			int frequency, float useageRatio) {
		super();
		this.billId = billId;
		this.billName = billName;
		this.illName = illName;
		this.frequency = frequency;
		this.useageRatio = useageRatio;
	}
}
public class Test {
	
	public static void main(String[] args){
		List<BillView> bvlist = new ArrayList<BillView>();
		BillView bv1 = new BillView(1, "蘋果", null, 1, 0); 
		BillView bv2 = new BillView(2, "香蕉", null, 4, 0);
		BillView bv3 = new BillView(3, "橘子", null, 2, 0);
		BillView bv4 = new BillView(4, "梨", null, 9, 0);
		bvlist.add(bv1);
		bvlist.add(bv2);
		bvlist.add(bv3);
		bvlist.add(bv4);
		Collections.sort(bvlist,new Comparator<BillView>(){//list sort
			public int compare(BillView bv1,BillView bv2){
				if(bv1.getFrequency()<bv2.getFrequency()){
					return 1;
				}
				if(bv1.getFrequency()==bv2.getFrequency()){
					return 0;
				}
				return -1;
			}
		});
		System.out.println("collections --->"+bvlist.size());
		for(BillView bv:bvlist){
			System.out.println("  "+bv.getBillName()+"  "+bv.getFrequency());
		}
	}
}

  4、查看windows和centos環(huán)境下的JDK版本,發(fā)現(xiàn)兩邊環(huán)境JDK版本不一致,windows環(huán)境下jdk版本是:1.7.0_64,而

centos環(huán)境下JDK版本是1.7.0_80;將windows環(huán)境下JDK版本更新到1.7.0_80,并指定開發(fā)工具myeclipse的Java編譯使用

JDK1.7.0_80版本,重新編譯網(wǎng)站源碼,在centos上發(fā)布網(wǎng)站,發(fā)現(xiàn)如下程序順利執(zhí)行:

Collections.sort(bvlist,new Comparator<BillView>(){//list sort
					public int compare(BillView bv1,BillView bv2){
						if(bv1.getFrequency()<bv2.getFrequency()){
							return 1;
						}
						if(bv1.getFrequency()==bv2.getFrequency()){
							return 0;
						}
						return -1;
					}
				});

感謝各位的閱讀!關(guān)于“JAVA Collections.sort方法在SSH三大框架中使用中的問題有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

新聞名稱:JAVACollections.sort方法在SSH三大框架中使用中的問題有哪些
網(wǎng)頁地址:http://jinyejixie.com/article38/iejppp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、小程序開發(fā)網(wǎng)站營銷、定制開發(fā)、建站公司軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
永胜县| 青阳县| 井研县| 奉节县| 大名县| 洛南县| 浦东新区| 平乐县| 聊城市| 竹山县| 曲阜市| 湛江市| 山东省| 高雄县| 扎赉特旗| 科技| 博白县| 微博| 永春县| 邯郸市| 南陵县| 广汉市| 海宁市| 绍兴市| 星子县| 内乡县| 岳阳市| 上思县| 洛宁县| 林州市| 获嘉县| 星子县| 万载县| 临猗县| 会理县| 韶关市| 大丰市| 东海县| 成安县| 崇州市| 怀远县|