- 浏览: 673297 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (198)
- 编程经验 (12)
- 移动端 (2)
- linux (1)
- 基础理论 (10)
- 开发工具 (8)
- 开发语言_java (21)
- 开源框架_Axis2 (8)
- GIS开发_OpenLayers (9)
- GIS开发_ArcGIS (6)
- GIS开发_googleAPI (4)
- GIS开发_AO (2)
- Web前端_Javascript (7)
- Web前端_CSSDIV (2)
- Web前端_WebGL (5)
- Web前端_HTML5 (1)
- 数据库 (17)
- 项目管理 (6)
- REST服务_Restlet (0)
- REST服务_RestEasy (5)
- 连接池 (6)
- 框架组合_SSI (7)
- 框架组合_SSH (37)
- 异常处理 (10)
- 测试 (1)
- ASP/ASP.NET (3)
- 我所遇到的JavaScript (1)
- cas (1)
- CI (1)
- nginx (1)
- 大数据 (1)
- maven (1)
- 机器学习 (0)
最新评论
-
章元o:
正解,问题解决了,要换tomcat的
webservice开发时项目启动过程中出现版本问题 -
dcloud:
大师,按照你的指点进行初始化工作,但是在connection. ...
AO连接sde出现java.lang.UnsatisfiedLinkError: no ntvauth in java.library.path -
yiran0314:
您好 关于这个问题能描述得更详细一点吗?
CXF异常处理 -
tianhandigeng:
找了半个小时了也没小号到m2e最新的地址,既然这个都让你找得这 ...
Myeclipse8.6安装Maven插件------ -
wxb880114:
这个发的比较早了,现在在myeclipse中有自带的,ecli ...
Myeclipse8.6安装Maven插件------
收藏列表
标题 | 标签 | 来源 | |
IOC死锁 | 【Spring】IOC容器并发条件下,可能发生死锁 | ||
package com.alibaba.test; import org.springframework.context.support.ClassPathXmlApplicationContext; public class DeadLockTest { ClassPathXmlApplicationContext context = null; public void startContext() { context = new ClassPathXmlApplicationContext(); context.setConfigLocation("spring/bean/mybeans.xml"); context.refresh(); } public void getBean() { new Thread(new GetBean()).start(); } /** * @param args */ public static void main(String[] args) { DeadLockTest t = new DeadLockTest(); //get bean 工作线程 t.getBean(); //容器启动主线程 t.startContext(); } //get bean 工作线程 class GetBean implements Runnable { public void run() { try { Thread.sleep(10000); MyBean myBean = (MyBean) context.getBean("myBean"); myBean.getOtherBean().sayHello(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } // TODO Auto-generated method stub } } } |
|||
sha1加密 | SHA1 加密源码 | ||
public class SHA1 { private static final boolean hexcase = false; private static final int chrsz = 8; // 得到字符串SHA-1值的方法 public static String hex_sha1(String s) { s = (s == null) ? "" : s; return binb2hex(core_sha1(str2binb(s), s.length() * chrsz)); } private static String binb2hex(int[] binarray) { String hex_tab = hexcase ? "0123456789abcdef" : "0123456789abcdef"; String str = ""; for (int i = 0; i < binarray.length * 4; i++) { char a = (char) hex_tab.charAt((binarray[i >> 2] >> ((3 - i % 4) * 8 + 4)) & 0xf); char b = (char) hex_tab.charAt((binarray[i >> 2] >> ((3 - i % 4) * 8)) & 0xf); str += (new Character(a).toString() + new Character(b).toString()); } return str; } private static String binb2str(int[] bin) { String str = ""; int mask = (1 << chrsz) - 1; for (int i = 0; i < bin.length * 32; i += chrsz) { str += (char) ((bin[i >> 5] >>> (24 - i % 32)) & mask); } return str; } private static int[] core_sha1(int[] x, int len) { int size = (len >> 5); x = strechbinarray(x, size); x[len >> 5] |= 0x80 << (24 - len % 32); size = ((len + 64 >> 9) << 4) + 15; x = strechbinarray(x, size); x[((len + 64 >> 9) << 4) + 15] = len; int[] w = new int[80]; int a = 1732584193; int b = -271733879; int c = -1732584194; int d = 271733878; int e = -1009589776; for (int i = 0; i < x.length; i += 16) { int olda = a; int oldb = b; int oldc = c; int oldd = d; int olde = e; for (int j = 0; j < 80; j++) { if (j < 16) { w[j] = x[i + j]; } else { w[j] = rol(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1); } int t = safe_add(safe_add(rol(a, 5), sha1_ft(j, b, c, d)), safe_add(safe_add(e, w[j]), sha1_kt(j))); e = d; d = c; c = rol(b, 30); b = a; a = t; } a = safe_add(a, olda); b = safe_add(b, oldb); c = safe_add(c, oldc); d = safe_add(d, oldd); e = safe_add(e, olde); } int[] retval = new int[5]; retval[0] = a; retval[1] = b; retval[2] = c; retval[3] = d; retval[4] = e; return retval; } private static int rol(int num, int cnt) { return (num << cnt) | (num >>> (32 - cnt)); } private static int safe_add(int x, int y) { int lsw = (int) (x & 0xffff) + (int) (y & 0xffff); int msw = (x >> 16) + (y >> 16) + (lsw >> 16); return (msw << 16) | (lsw & 0xffff); } private static int sha1_ft(int t, int b, int c, int d) { if (t < 20) return (b & c) | ((~b) & d); if (t < 40) return b ^ c ^ d; if (t < 60) return (b & c) | (b & d) | (c & d); return b ^ c ^ d; } private static int sha1_kt(int t) { return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 : (t < 60) ? -1894007588 : -899497514; } public static String str_sha1(String s) { s = (s == null) ? "" : s; return binb2str(core_sha1(str2binb(s), s.length() * chrsz)); } private static int[] str2binb(String str) { str = (str == null) ? "" : str; int[] tmp = new int[str.length() * chrsz]; int mask = (1 << chrsz) - 1; for (int i = 0; i < str.length() * chrsz; i += chrsz) { tmp[i >> 5] |= ((int) (str.charAt(i / chrsz)) & mask) << (24 - i % 32); } int len = 0; for (int i = 0; i < tmp.length && tmp[i] != 0; i++, len++) ; int[] bin = new int[len]; for (int i = 0; i < len; i++) { bin[i] = tmp[i]; } return bin; } private static int[] strechbinarray(int[] oldbin, int size) { int currlen = oldbin.length; if (currlen >= size + 1) { return oldbin; } int[] newbin = new int[size + 1]; for (int i = 0; i < size; newbin[i] = 0, i++) ; for (int i = 0; i < currlen; i++) { newbin[i] = oldbin[i]; } return newbin; } } |
|||
Log4j 基本原理 | Log4j 基本原理 | ||
package com.javaeye.renny.log4j; import org.apache.log4j.BasicConfigurator; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; public class SimpleTest { static Logger logger = Logger.getLogger(SimpleTest.class.getName()); public static void main(String[] args) { //利用log4j系统提供的配置来进行配置 BasicConfigurator.configure(); //利用自定义的配置文件来进行配置 //PropertyConfigurator.configure("log4j.properties"); logger.debug("debug of logger"); logger.info("info of logger"); logger.warn("warn of logger"); logger.error("error of logger"); logger.fatal("fatal of logger"); } } |
|||
Mac地址 | Servlet获取客户端ip地址和mac地址 | ||
package com.babyDuncan.java; import java.io.IOException; import java.io.InputStreamReader; import java.io.LineNumberReader; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ipServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String ip = getRemoteAddress(request); System.out.println(ip); System.out.println(getMACAddress(ip)); response.setContentType("text/html"); PrintWriter out = response.getWriter(); out .println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println(" <BODY>"); out.print(" This is "); out.print(this.getClass()); out.println(", using the POST method"); out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); } public String getRemoteAddress(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) { ip = request.getHeader("Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) { ip = request.getHeader("WL-Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) { ip = request.getRemoteAddr(); } return ip; } public String getMACAddress(String ip) { String str = ""; String macAddress = ""; try { Process p = Runtime.getRuntime().exec("nbtstat -A " + ip); InputStreamReader ir = new InputStreamReader(p.getInputStream()); LineNumberReader input = new LineNumberReader(ir); for (int i = 1; i < 100; i++) { str = input.readLine(); if (str != null) { if (str.indexOf("MAC Address") > 1) { macAddress = str.substring( str.indexOf("MAC Address") + 14, str.length()); break; } } } } catch (IOException e) { e.printStackTrace(System.out); } return macAddress; } } |
|||
GET请求 | HttpClient 用于HTTP GET 请求 | ||
public class TestHttpGet { public String executeGet(String url) throws Exception { BufferedReader in = null; String content = null; try { // 定义HttpClient HttpClient client = new DefaultHttpClient(); // 实例化HTTP方法 HttpGet request = new HttpGet(); request.setURI(new URI(url)); HttpResponse response = client.execute(request); in = new BufferedReader(new InputStreamReader(response.getEntity() .getContent())); StringBuffer sb = new StringBuffer(""); String line = ""; String NL = System.getProperty("line.separator"); while ((line = in.readLine()) != null) { sb.append(line + NL); } in.close(); content = sb.toString(); } finally { if (in != null) { try { in.close();// 最后要关闭BufferedReader } catch (Exception e) { e.printStackTrace(); } } return content; } } } |
|||
SpringEJB | Spring2.X+EJB3.X(一) | ||
package com.ejb3.service; import com.ejb3.domain.Customer; import java.util.Collection; import javax.ejb.Stateless; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; import javax.jws.WebMethod; @Stateless @Remote( { CustomerService.class }) public class CustomerServiceImpl implements CustomerService { //unitName是指你数据库的用户名,我用的是oracle10g,如果是别的数据库就是数据库名称 @PersistenceContext(unitName="ERP") private EntityManager manager; public Customer create(Customer info) { this.manager.persist(info); return info; } public Customer update(Customer info) { return this.manager.merge(info); } public void remove(Long customerId) { this.manager.remove(this.manager.getReference(Customer.class, customerId)); } public Collection<Customer> findAll() { Query query = this.manager.createQuery("SELECT c FROM Customer c"); return query.getResultList(); } public Customer[] findAllAsArray() { Collection<Customer> collection = findAll(); return (Customer[]) collection.toArray(new Customer[collection.size()]); } public Customer findByPrimaryKey(Long customerId) { return (Customer) this.manager.find(Customer.class, customerId); } |
|||
按行读取txt文件 | |||
package test import java.io.File; import java.io.FileReader; import java.io.IOException; import java.io.LineNumberReader; public class ReadSelectedLine{ // 读取文件指定行。 static void readAppointedLineNumber(File sourceFile, int lineNumber) throws IOException { FileReader in = new FileReader(sourceFile); LineNumberReader reader = new LineNumberReader(in); String s = ""; if (lineNumber <= 0 || lineNumber > getTotalLines(sourceFile)) { System.out.println("不在文件的行数范围(1至总行数)之内。"); System.exit(0); } int lines = 0; while (s != null) { lines++; s = reader.readLine(); if((lines - lineNumber) == 0) { System.out.println(s); System.exit(0); } } reader.close(); in.close(); } // 文件内容的总行数。 static int getTotalLines(File file) throws IOException { FileReader in = new FileReader(file); LineNumberReader reader = new LineNumberReader(in); String s = reader.readLine(); int lines = 0; while (s != null) { lines++; s = reader.readLine(); } reader.close(); in.close(); return lines; } /** * 读取文件指定行。 */ public static void main(String[] args) throws IOException { // 指定读取的行号 int lineNumber = 2; // 读取文件 File sourceFile = new File("D:/java/test.txt"); // 读取指定的行 readAppointedLineNumber(sourceFile, lineNumber); // 获取文件的内容的总行数 System.out.println(getTotalLines(sourceFile)); } } |
|||
一二维数组互换 | |||
public class TestConvertArray { public static void main(String[] args) { int[] preOneDegree = {1,2,3,4,5,6}; oneDegreeToTwoDegree(preOneDegree,3,2); twoDegreeConvertLeft90(preOneDegree,2,3); twoDegreeConvertRight90(preOneDegree,2,3); } //一维转二维 private static void oneDegreeToTwoDegree(int[] oneDegree,int row,int col){ int k = 0; int[][] twoDegree = new int[row][col]; for(int i=0;i<row;i++){ for(int j=0;j<col;j++){ twoDegree[i][j] = oneDegree[k]; k++; } } display(twoDegree,row,col); } //二维一维 private static void twoDegreeToOneDegree(int[][] twoDegree,int row,int col){ int[] oneDegree = new int[row*col]; int k = 0; for(int i=0;i<row;i++){ for(int j=0;j<col;j++){ oneDegree[k] = twoDegree[i][j]; k++; } } } //左转90度 private static void twoDegreeConvertLeft90(int[] oneDegree,int row,int col){ int k = 0; int[][] convert90Degree = new int[row][col]; for(int i=0;i<col;i++){ for(int j=row-1;j>=0;j--){ convert90Degree[j][i] = oneDegree[k]; k++; } } display(convert90Degree, row, col); } //右转90度 private static void twoDegreeConvertRight90(int[] oneDegree,int row,int col){ int k = 0; int[][] convert90Degree = new int[row][col]; for(int i=col-1;i>=0;i--){ for(int j=row-1;j>=0;j--){ convert90Degree[j][i] = oneDegree[k]; k++; } } display(convert90Degree, row, col); } //打印 private static void display(int[][] arr,int row,int col){ for(int i=0;i<row;i++){ for(int j=0;j<col;j++){ System.out.print(arr[i][j]+" "); } System.out.println(); } System.out.println(); } } 简介:这是在Javascript中如何定义二维数组的详细页面,介绍了和javascript,有关的知识、技巧、经验,和一些javascript源码等。 在Javascript中如何定义二维数组,它的声明都有哪一些简洁的声明方法呢?下面是我收集的一些定义的方法。 Javascript二维数组定义[一]: JavaScript代码 <script> var a=new Array(); a[1]=new Array(“a”,”b”); </script> ——————————————————————————– Javascript二维数组定义[二]: JavaScript代码 <script language=”JavaScript”> <!– var a = new Array(); a[0] = new Array(“a”,”b”); a[1] = new Array(“c”,”d”); alert(a[1][1]); //–> </script> ——————————————————————————– Javascript二维数组定义[三]:? JavaScript代码 var arr = new Array([1,2,3],[4,5,6],[7,8,9,10]); for(var e in arr) alert(arr[e]); ——————————————————————————– Javascript二维数组定义[四]:? 先声明一个数组: JavaScript代码 var a=new arrray(first_num); a[first_num]=new array(number); a[first_num]=new array(number); //first_name是维数, //number可以根据你的需要来了。 //这样可以创造出多维数组了。 ——————————————————————————– Javascript二维数组定义[五] ? JavaScript代码 <script> T=new Array; T[1]=new Array; T[1][0]=”a”; T[1][1]=”b”; alert(T[1][0]); </script> ——————————————————————————– Javascript二维数组定义[六]? JavaScript代码 <script> var result = new Array(new Array(“1″,”1111″), new Array(“2″,”2222″), new Array(“3″,”3333″), new Array(“4″,”4444″)); for(var i=0;i< result.length;i++){ alert(result[i][0]+”|”+result[i][1]); } </script> |