- 浏览: 753412 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (241)
- 个人思考 (1)
- 数据库 (5)
- java基础 (32)
- 软件工程 (2)
- zk开源框架 (15)
- 设计模式 (25)
- javascript (12)
- css (9)
- UML (2)
- CMMI软件需求 (3)
- CMMI软件设计 (2)
- CMMI软件实现 (1)
- CMMI软件测试 (1)
- 正则表达式 (4)
- 系统日志配置 (4)
- 应用服务器 (1)
- spring (7)
- XML (6)
- java web (10)
- Ajax (3)
- RichFaces (14)
- 问题 (1)
- 评论文章 (2)
- fushioncharts (2)
- MAVN (4)
- jquery (26)
- Ext js学习 (2)
- 学习心得 (2)
- CSS兼容问题 (3)
- XSL-FOP (1)
- Quartz (0)
- OSGI (1)
- spring--security (6)
- apache tools (1)
- eclispe 小技巧 (2)
- Ant (1)
- 杂记 (1)
- spring3系列 (5)
- java cache (4)
- EffectiveJava (2)
- 代码重构 (0)
最新评论
-
psz6696:
可以说是超级简单的Demo了,可惜没有演示设值注入和构造注入两 ...
模拟spring中的ClassPathXmlApplicationContext类的实现 -
ziyourJava:
[flash=200,200][img][url][list] ...
spring security进级篇 V 自定义标签控制显示 -
ztw1122:
...
zk组件开发指南(目录) -
zjysuv:
容我说一句 在座的各位都是垃圾 spring 3.2以后的@C ...
三. spring mvc 异常统一处理 -
chengwu1201:
二 基于Spring的异常体系处理
package com.cvicse.test; /** * @author jgao1 * Bytes类用来处理字符串 */ public class Bytes { public static String substring(String src, int start_idx, int end_idx) { byte[] b = src.getBytes(); String tgt = ""; for (int i = start_idx; i <= end_idx; i++) { tgt += (char) b[i]; } return tgt; } }
package com.cvicse.test; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class CountDate { private String currentMonth; private String nextMonth; private String currentYear; private String nextYear; private String currentYM; private String currentYMDHMS; private Date currentYMDHMSs; private String nextYMDHMS; /* 根据系统日期获得当月 */ public String getCurrentMonth() { Calendar rightNow = Calendar.getInstance(); if (String.valueOf(rightNow.get(Calendar.MONTH) + 1).length() > 1) { this.currentMonth = String .valueOf(rightNow.get(Calendar.MONTH) + 1); return currentMonth; } this.currentMonth = "0" + String.valueOf(rightNow.get(Calendar.MONTH) + 1); return currentMonth; } /* 根据系统日期获得当年 */ public String getCurrentYear() { Calendar rightNow = Calendar.getInstance(); this.currentYear = String.valueOf(rightNow.get(Calendar.YEAR)); return currentYear; } /* 根据系统日期获得数据库日期 */ public String getCurrentYMDHMS() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Timestamp t = new Timestamp(Calendar.getInstance().getTimeInMillis()); this.currentYMDHMS = sdf.format(t); return currentYMDHMS; } public Date getCurrentYMDHMSs() { Timestamp t = new Timestamp(Calendar.getInstance().getTimeInMillis()); currentYMDHMSs = t; return currentYMDHMSs; } /* 根据系统日期获得下个月 */ public String getNextMonth() { Calendar rightNow = Calendar.getInstance(); if ((rightNow.get(Calendar.MONTH) + 1) == 12) { this.nextMonth = "01"; this.nextYear = String.valueOf(rightNow.get(Calendar.YEAR) + 1); return nextMonth; } if (String.valueOf(rightNow.get(Calendar.MONTH) + 2).length() > 1) { this.nextMonth = String.valueOf(rightNow.get(Calendar.MONTH) + 2); return nextMonth; } this.nextMonth = "0" + String.valueOf(rightNow.get(Calendar.MONTH) + 2); return nextMonth; } /* 根据系统日期获得下个月的年分 */ public String getNextYear() { Calendar rightNow = Calendar.getInstance(); if ((rightNow.get(Calendar.MONTH) + 1) == 12) { this.nextMonth = "01"; this.nextYear = String.valueOf(rightNow.get(Calendar.YEAR) + 1); return nextYear; } this.nextYear = String.valueOf(rightNow.get(Calendar.YEAR)); return nextYear; } /* 根据系统日期获得下个月的数据库日期 */ public String getNextYMDHMS() { nextYear = getNextYear(); nextMonth = getNextMonth(); this.nextYMDHMS = nextYear + "-" + nextMonth + "-" + "01 00:00:00"; return nextYMDHMS; } /* 根据给定的月参数获得当月日期 */ public String getCurrentMonth(int pcurrentMonth) { if (pcurrentMonth % 12 > 1 || (pcurrentMonth % 12 == 1)) { if (String.valueOf((pcurrentMonth % 12)).length() > 1) { this.currentMonth = String.valueOf((pcurrentMonth % 12)); } else { this.currentMonth = "0" + String.valueOf((pcurrentMonth % 12)); return currentMonth; } } if (String.valueOf(pcurrentMonth).length() > 1) { this.currentMonth = String.valueOf(pcurrentMonth); } else { this.currentMonth = "0" + String.valueOf(pcurrentMonth); } return currentMonth; } /* 根据给定的月参数和年参数获得当年 */ public String getCurrentYear(int pcurrentMonth, int pcurrentYear) { if (pcurrentMonth % 12 > 1 || (pcurrentMonth % 12 == 1)) { if (String.valueOf((pcurrentMonth % 12)).length() > 1) { this.currentMonth = String.valueOf((pcurrentMonth % 12)); } else { this.currentMonth = "0" + String.valueOf((pcurrentMonth % 12)); } this.currentYear = String .valueOf(pcurrentMonth / 12 + pcurrentYear); return currentYear; } return this.currentYear = String.valueOf(pcurrentYear); } /* 根据给定的月参数和年参数获得数据库日期 */ public String getCurrentYMDHMS(int pcurrentMonth, int pcurrentYear) { if ((pcurrentMonth % 12 > 1) || (pcurrentMonth % 12 == 1)) { if (String.valueOf((pcurrentMonth % 12)).length() > 1) { this.currentMonth = String.valueOf((pcurrentMonth % 12)); } else { this.currentMonth = "0" + String.valueOf((pcurrentMonth % 12)); } this.currentYear = String .valueOf(pcurrentMonth / 12 + pcurrentYear); this.currentYMDHMS = currentYear + "-" + currentMonth + "-" + "01 00:00:00"; return currentYMDHMS; } if (String.valueOf(pcurrentMonth).length() > 1) { this.currentMonth = String.valueOf(pcurrentMonth); } else { this.currentMonth = "0" + String.valueOf(pcurrentMonth); } this.currentYear = String.valueOf(pcurrentYear); this.currentYMDHMS = currentYear + "-" + currentMonth + "-" + "01 00:00:00"; return currentYMDHMS; } public Date getCurrentYMDHMSs(int pcurrentMonth, int pcurrentYear) { if (pcurrentMonth % 12 > 1 || (pcurrentMonth % 12 == 1)) { if (String.valueOf((pcurrentMonth % 12)).length() > 1) { this.currentMonth = String.valueOf((pcurrentMonth % 12)); } else { this.currentMonth = "0" + String.valueOf((pcurrentMonth % 12)); } this.currentYear = String .valueOf(pcurrentMonth / 12 + pcurrentYear); this.currentYMDHMSs = Timestamp.valueOf(currentYear + "-" + currentMonth + "-" + "01 00:00:00.0"); return currentYMDHMSs; } if (String.valueOf(pcurrentMonth).length() > 1) { this.currentMonth = String.valueOf(pcurrentMonth); } else { this.currentMonth = "0" + String.valueOf(pcurrentMonth); } this.currentYear = String.valueOf(pcurrentYear); this.currentYMDHMSs = Timestamp.valueOf(currentYear + "-" + currentMonth + "-" + "01 00:00:00.0"); return currentYMDHMSs; } /* 根据给定的月参数和年参数获得下个月的月份和年份 */ public String getNextYMDHMS(int pcurrentMonth, int pcurrentYear) { if ((pcurrentMonth % 12 > 1) || (pcurrentMonth % 12 == 1)) { if (String.valueOf((pcurrentMonth % 12)).length() > 1) { this.currentMonth = String.valueOf((pcurrentMonth % 12)); } else { this.currentMonth = "0" + String.valueOf((pcurrentMonth % 12)); } this.currentYear = String .valueOf(pcurrentMonth / 12 + pcurrentYear); if (String.valueOf(Integer.parseInt(currentMonth) + 1).length() > 1) { this.nextMonth = String .valueOf(Integer.parseInt(currentMonth) + 1); } else { this.nextMonth = "0" + String.valueOf(Integer.parseInt(currentMonth) + 1); } this.nextYear = currentYear; this.nextYMDHMS = nextYear + "-" + nextMonth + "-" + "01 00:00:00"; return nextYMDHMS; } if (pcurrentMonth == 12) { this.nextMonth = "01"; this.nextYear = String.valueOf(pcurrentYear + 1); this.nextYMDHMS = nextYear + "-" + nextMonth + "-" + "01 00:00:00"; return nextYMDHMS; } if (String.valueOf(pcurrentMonth + 1).length() > 1) { this.nextMonth = String.valueOf(pcurrentMonth + 1); this.nextYear = String.valueOf(pcurrentYear); this.nextYMDHMS = nextYear + "-" + nextMonth + "-" + "01 00:00:00"; return nextYMDHMS; } this.nextMonth = "0" + String.valueOf(pcurrentMonth + 1); this.nextYear = String.valueOf(pcurrentYear); this.nextYMDHMS = nextYear + "-" + nextMonth + "-" + "01 00:00:00"; return nextYMDHMS; } /* 根据系统日期获得下个月的年份和月份 */ public String getCurrentYM() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月"); Timestamp t = new Timestamp(Calendar.getInstance().getTimeInMillis()); this.currentYM = sdf.format(t); return currentYM; } /* 根据系统日期获得当月的年份和月份 */ public String getCurrentYM(int pcurrentMonth, int pcurrentYear) { if (pcurrentMonth % 12 > 1 || (pcurrentMonth % 12 == 1)) { if (String.valueOf(pcurrentMonth % 12).length() > 1) { this.currentMonth = String.valueOf((pcurrentMonth % 12)); } else { this.currentMonth = "0" + String.valueOf((pcurrentMonth % 12)); } this.currentYear = String .valueOf(pcurrentMonth / 12 + pcurrentYear); this.currentYM = currentYear + "年" + currentMonth + "月"; return currentYM; } if (String.valueOf(pcurrentMonth).length() > 1) { this.currentMonth = String.valueOf(pcurrentMonth); } else { this.currentMonth = "0" + String.valueOf(pcurrentMonth); } this.currentYear = String.valueOf(pcurrentYear); this.currentYM = currentYear + "年" + currentMonth + "月"; return currentYM; } public static void main(String args[]) { CountDate c = new CountDate(); System.out.println(c.getCurrentYMDHMSs(12, 2029)); } }
package com.cvicse.test; import java.sql.Timestamp; public class MonitorInfoBean implements Comparable<MonitorInfoBean> { /** 操作系统. */ private String osName; /** 总的物理内存. */ private float totalMemorySize; /** 已使用的物理内存. */ private float usedMemory; /** cpu使用率. */ private double cpuRatio; /** 主机IP地址 */ private String mIpAddress; /** 数据存储时间 */ private String dDateTime; /** 内存使用率 */ private float memoryRatio; /** linux下Buffers内存 */ private float buffersMemory; /** linux下Cached内存 */ private float cachedMemory; public float getBuffersMemory() { return buffersMemory; } public float getCachedMemory() { return cachedMemory; } public String getDDateTime() { return dDateTime; } public void setDDateTime(String dateTime) { dDateTime = dateTime; } public String getMIpAddress() { return mIpAddress; } public void setMIpAddress(String ipAddress) { mIpAddress = ipAddress; } public String getOsName() { return osName; } public void setOsName(String osName) { this.osName = osName; } public float getTotalMemorySize() { return totalMemorySize; } public void setTotalMemorySize(float totalMemorySize) { this.totalMemorySize = totalMemorySize; } public float getUsedMemory() { return usedMemory; } public void setUsedMemory(long usedMemory) { this.usedMemory = usedMemory; } public double getCpuRatio() { return cpuRatio; } public void setCpuRatio(double cpuRatio) { this.cpuRatio = cpuRatio; } public int compareTo(MonitorInfoBean m) { String stra = this.getDDateTime(); String strb = m.getDDateTime(); Timestamp a = Timestamp.valueOf(stra); Timestamp b = Timestamp.valueOf(strb); if (a.before(b)) { return -1; } else if (a.after(b)) { return 1; } else { return 0; } } public float getMemoryRatio() { return memoryRatio; } public void setMemoryRatio(float memoryRatio) { this.memoryRatio = memoryRatio; } public void setUsedMemory(float usedMemory) { this.usedMemory = usedMemory; } public void setBuffersMemory(float buffersMemory) { this.buffersMemory = buffersMemory; } public void setCachedMemory(float cachedMemory) { this.cachedMemory = cachedMemory; } }
package com.cvicse.test; public interface IMonitorService { public MonitorInfoBean getMonitorInfoBean() throws Exception; }
package com.cvicse.test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.LineNumberReader; import java.net.Inet6Address; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.net.UnknownHostException; import java.util.Enumeration; import java.util.StringTokenizer; import com.sun.management.OperatingSystemMXBean; import sun.management.ManagementFactory; public class MonitorServiceImpl implements IMonitorService { private static final int CPUTIME = 30; private static final int PERCENT = 100; private static final int FAULTLENGTH = 10; private static String osVersion = null; private String mIpAddress = null; private String dDateTime = null; private float totalMemorySize = 0.0f; private float buffersMemory = 0.0f; private float cachedMemory = 0.0f; private float usedMemory = 0.0f; private float memoryRatio; /** * 获得当前的监控对象. * * @return 返回构造好的监控对象 * @throws Exception * @author YINLIANG */ public MonitorInfoBean getMonitorInfoBean() throws Exception { int kb = 1024; CountDate ddate = new CountDate(); osVersion = System.getProperty("os.version"); OperatingSystemMXBean osmxb = (OperatingSystemMXBean) ManagementFactory .getOperatingSystemMXBean(); // 操作系统 String osName = System.getProperty("os.name"); // 主机IP if (osName.toLowerCase().startsWith("windows")) { mIpAddress = this.getWindowsIp(); } else { mIpAddress = this.getLinuxIP(); } if (osName.toLowerCase().startsWith("windows")) { // 总的物理内存 float totalPhysicalMemorySize = osmxb.getTotalPhysicalMemorySize() / kb; float usedPhysicalMemorySize = (osmxb.getTotalPhysicalMemorySize() - osmxb .getFreePhysicalMemorySize()) / kb; totalMemorySize = Float.parseFloat(String.format("%.1f", totalPhysicalMemorySize)); // 已使用的物理内存 usedMemory = Float.parseFloat(String.format("%.1f", usedPhysicalMemorySize)); // windows内存使用率 memoryRatio = Float.parseFloat(String.format("%.1f", (usedMemory / totalMemorySize) * 100)); } else { float[] result = null; result = getLinuxMemInfo(); totalMemorySize = Float .parseFloat(String.format("%.1f", result[0])); buffersMemory = Float.parseFloat(String.format("%.1f", result[1])); cachedMemory = Float.parseFloat(String.format("%.1f", result[2])); usedMemory = totalMemorySize - result[3]; // linux内存使用率 memoryRatio = Float .parseFloat(String .format( "%.1f", ((usedMemory - (cachedMemory + buffersMemory)) / totalMemorySize) * 100)); } // 获得cpu频率 double cpuRatio = 0; if (osName.toLowerCase().startsWith("windows")) { cpuRatio = this.getCpuRatioForWindows(); } else { cpuRatio = this.getCpuRateForLinux(); } /* 取得数据时间 */ dDateTime = ddate.getCurrentYMDHMS(); // 构造返回对象 MonitorInfoBean infoBean = new MonitorInfoBean(); infoBean.setOsName(osName); infoBean.setCpuRatio(cpuRatio); infoBean.setMIpAddress(mIpAddress); infoBean.setDDateTime(dDateTime); infoBean.setBuffersMemory(buffersMemory); infoBean.setCachedMemory(cachedMemory); infoBean.setUsedMemory(usedMemory); infoBean.setTotalMemorySize(totalMemorySize); infoBean.setMemoryRatio(memoryRatio); return infoBean; } /** * 获得Linux下IP地址. * * @return 返回Linux下IP地址 * @author yinliang */ public String getLinuxIP() { String ip = ""; try { Enumeration<?> e1 = (Enumeration<?>) NetworkInterface .getNetworkInterfaces(); while (e1.hasMoreElements()) { NetworkInterface ni = (NetworkInterface) e1.nextElement(); if (!ni.getName().equals("eth0")) { continue; } else { Enumeration<?> e2 = ni.getInetAddresses(); while (e2.hasMoreElements()) { InetAddress ia = (InetAddress) e2.nextElement(); if (ia instanceof Inet6Address) continue; ip = ia.getHostAddress(); } break; } } } catch (SocketException e) { e.printStackTrace(); System.exit(-1); } return ip; } public String getWindowsIp() { String ip = ""; try { ip = InetAddress.getLocalHost().getHostAddress(); } catch (UnknownHostException e) { e.printStackTrace(); } return ip; } /** * 获得Linux下CPU使用率. * * @return 返回Linux下cpu使用率 * @author yinliang */ private double getCpuRateForLinux() { InputStream is = null; InputStreamReader isr = null; BufferedReader brStat = null; StringTokenizer tokenStat = null; try { Process process = Runtime.getRuntime().exec("top -b -n 1"); is = process.getInputStream(); isr = new InputStreamReader(is); brStat = new BufferedReader(isr); if (osVersion.startsWith("2.4")) { brStat.readLine(); brStat.readLine(); brStat.readLine(); brStat.readLine(); tokenStat = new StringTokenizer(brStat.readLine()); tokenStat.nextToken(); tokenStat.nextToken(); String user = tokenStat.nextToken(); tokenStat.nextToken(); String system = tokenStat.nextToken(); tokenStat.nextToken(); String nice = tokenStat.nextToken(); user = user.substring(0, user.indexOf("%")); system = system.substring(0, system.indexOf("%")); nice = nice.substring(0, nice.indexOf("%")); float userUsage = new Float(user).floatValue(); float systemUsage = new Float(system).floatValue(); float niceUsage = new Float(nice).floatValue(); return (userUsage + systemUsage + niceUsage) / 100; } else { brStat.readLine(); brStat.readLine(); tokenStat = new StringTokenizer(brStat.readLine()); tokenStat.nextToken(); tokenStat.nextToken(); tokenStat.nextToken(); tokenStat.nextToken(); String cpuUsage = tokenStat.nextToken(); Float usage = new Float(cpuUsage.substring(0, cpuUsage .indexOf("%"))); return ((1 - usage.floatValue() / 100) * 100); } } catch (IOException ioe) { System.out.println(ioe.getMessage()); freeResource(is, isr, brStat); return 1; } finally { freeResource(is, isr, brStat); } } private static void freeResource(InputStream is, InputStreamReader isr, BufferedReader br) { try { if (is != null) is.close(); if (isr != null) isr.close(); if (br != null) br.close(); } catch (IOException ioe) { System.out.println(ioe.getMessage()); } } /** * 获得windows下CPU使用率. * * @return 返回windows下cpu使用率 * @author YINLIANG */ private double getCpuRatioForWindows() { try { mIpAddress = InetAddress.getLocalHost().getHostAddress(); String procCmd = System.getenv("windir") + "\\system32\\wbem\\wmic.exe process get Caption,CommandLine," + "KernelModeTime,ReadOperationCount,ThreadCount,UserModeTime,WriteOperationCount"; // 取进程信息 long[] c0 = readCpu(Runtime.getRuntime().exec(procCmd)); Thread.sleep(CPUTIME); long[] c1 = readCpu(Runtime.getRuntime().exec(procCmd)); if (c0 != null && c1 != null) { long idletime = c1[0] - c0[0]; long busytime = c1[1] - c0[1]; return Double.valueOf( PERCENT * (busytime) / (busytime + idletime)) .doubleValue(); } else { return 0.0; } } catch (Exception ex) { ex.printStackTrace(); return 0.0; } } /** * * 读取CPU信息. * * @param proc * @return * @author GuoHuang */ private long[] readCpu(final Process proc) { long[] retn = new long[2]; try { proc.getOutputStream().close(); InputStreamReader ir = new InputStreamReader(proc.getInputStream()); LineNumberReader input = new LineNumberReader(ir); String line = input.readLine(); if (line == null || line.length() < FAULTLENGTH) { return null; } int capidx = line.indexOf("Caption"); int cmdidx = line.indexOf("CommandLine"); int rocidx = line.indexOf("ReadOperationCount"); int umtidx = line.indexOf("UserModeTime"); int kmtidx = line.indexOf("KernelModeTime"); int wocidx = line.indexOf("WriteOperationCount"); long idletime = 0; long kneltime = 0; long usertime = 0; while ((line = input.readLine()) != null) { if (line.length() < wocidx) { continue; } // 字段出现顺序:Caption,CommandLine,KernelModeTime,ReadOperationCount, // ThreadCount,UserModeTime,WriteOperation String caption = Bytes.substring(line, capidx, cmdidx - 1) .trim(); String cmd = Bytes.substring(line, cmdidx, kmtidx - 1).trim(); if (cmd.indexOf("wmic.exe") >= 0) { continue; } // log.info("line="+line); if (caption.equals("System Idle Process") || caption.equals("System")) { idletime += Long.valueOf( Bytes.substring(line, kmtidx, rocidx - 1).trim()) .longValue(); idletime += Long.valueOf( Bytes.substring(line, umtidx, wocidx - 1).trim()) .longValue(); continue; } kneltime += Long.valueOf( Bytes.substring(line, kmtidx, rocidx - 1).trim()) .longValue(); usertime += Long.valueOf( Bytes.substring(line, umtidx, wocidx - 1).trim()) .longValue(); } retn[0] = idletime; retn[1] = kneltime + usertime; return retn; } catch (Exception ex) { ex.printStackTrace(); } finally { try { proc.getInputStream().close(); } catch (Exception e) { e.printStackTrace(); } } return null; } public float[] getLinuxMemInfo() { File file = new File("/proc/meminfo"); float result[] = new float[4]; try { BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream(file))); String str = null; StringTokenizer token = null; while ((str = br.readLine()) != null) { token = new StringTokenizer(str); if (!token.hasMoreTokens()) { continue; } str = token.nextToken(); if (!token.hasMoreTokens()) { continue; } if (str.equalsIgnoreCase("MemTotal:")) { result[0] = Long.parseLong(token.nextToken()); } if (str.equalsIgnoreCase("Buffers:")) { result[1] = Long.parseLong(token.nextToken()); } if (str.equalsIgnoreCase("Cached:")) { result[2] = Long.parseLong(token.nextToken()); } if (str.equalsIgnoreCase("MemFree:")) { result[3] = Long.parseLong(token.nextToken()); } } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return result; } /** * 测试方法. * * @param args * @throws Exception * @author YINLIANG */ public static void information() { MonitorInfoBean monitorInfo = null; IMonitorService service = new MonitorServiceImpl(); try { monitorInfo = service.getMonitorInfoBean(); } catch (Exception e) { e.printStackTrace(); } String osName = monitorInfo.getOsName(); String cpuRatio = String.valueOf(monitorInfo.getCpuRatio()); String mIpAddress = monitorInfo.getMIpAddress(); String memoryRatio = String.valueOf(monitorInfo.getMemoryRatio()); String dDateTime = monitorInfo.getDDateTime(); System.out.println("操作系统名字:" + osName); System.out.println("cpu使用频率:" + cpuRatio); System.out.println("内存使用率:" + memoryRatio); System.out.println("主机IP地址:" + mIpAddress); System.out.println("获取数据时间:" + dDateTime); } public static void main(String[] args) { MonitorServiceImpl.information(); } }
相关推荐
java 官方原版 jdk 1.6
mac for jdk1.6 jdk6 安装版 里面有两个jdk1.6的安装包,都可以用 如果电脑上安装有1.7,1.8等高版本jdk就不要再下安装包了,安装包安装会报错 命令是这个:brew install ...如果看不懂 移步搜怎么使用brew安装jdk1.6
aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-...
jdk1.6 源码
1.okhttp3.8源码使用jdk1.6重新编译,已集成了okio,在javaweb项目中使用,未在安卓项目中使用 2.okhttp3.8源码使用jdk1.6重新编译_okhttp3.8.0-jdk1.6.jar
这个是mac os的jdk1.6版本,亲测没有任何问题,目前官网上已经下载不到mac os的jdk的1.6版本了。
java jdbc oracle (JDK1.6)驱动
JDK1.6API。java1.6开发文档,最新官网文档。满足java开发需求
JDK 1.6 绿色版,我想很多人可能都需要,这是分卷4,剩下的分卷地址如下: JDK 1.6 绿色版 2 http://download.csdn.net/source/1502201 JDK 1.6 绿色版 3 http://download.csdn.net/source/1502209 JDK 1.6 绿色版...
可以用于解决jdk1.6下rt.jar中不支持Base64的问题。资源中包含替代包
适合okhttp,okio JDK1.6:okhttp3.8.0-jdk1.6.jar JDK1.6+:okhttp-3.12.13.jar;okio-1.15.0.jar 适用于Java开发环境、使用OkHttp调用
解决JDK1.6下的sun的Base64不可用情况。
JDK 1.6 JDK 1.6 JDK 1.6 JDK 1.6 JDK 1.6 winxp专用 winxp专用winxp专用winxp专用winxp专用winxp专用
JDK1.6百度云下载,里面有qq号,要是链接失效了,可以找我
Windows JDK 1.6 安装包,解压后直接双击安装,简单易用。 下面是Oracle官网对 Java 的介绍:Oracle Java is the #1 programming language and development platform. It reduces costs, shortens development time...
ZxingUtil生成二维码适用JDK1.6及以下,自己使用JDK1.6,生成的二维码为彩色
jdk1.6.0_45,Linux 64位,Ubuntu 或者 CentOS 均可,亲...export JAVA_HOME=/opt/jdk1.6 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PAT
IBM JDK1.6 安装版
jdk1.8英文版本和jdk1.6中文版本,这是关于开发时候查询相应类和方法使用的