易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : java

Java控制台输入密码,不回显

import java.io.*;
public class TestConsole{
public static void main(String[] args){
Console console;
char[] pwd;
if((console = System.console()) != null && (pwd = console.readPassword("[%s]", "Please Enter Password:")) != null){
System.out.println(String.valueOf(pwd));
}
}
}
......

什么样的java代码容易memory leak?

很多developer知道java也可能memory leak,关于这个主题已经有很多文章了。我这里只想分享一下自己的memory leak的经验。
说明一下这里指的memory leak是程序不及时释放heap导致的OutOfMemoryError.
首先一种情况是collection或者是map一直被put数据,没有机会remove,导致OutOfMemoryError。尤其是当collection或者是map被设计成static变量的时候,它就是个global性质的变量,很可能永远不会被赋为null。这也是不建议使用static变量的一个原因。
有人会察觉到就算collection赋为null,元素还是可能未被释放:
Object o= new Object ();
ArrayList<Object > l=new ArrayList<Object >();
 l.add(o);
 l=null;
System.out.println(o==null);// "false" will be printed
原因在于这个o 还是可能被程序reference到。而一般情况下我们遇到的是:
 l.add(new Object ());
在这种情况下,l=null, o也被GC了。
我也看到有文章提到在listener的模式下,如果listener一直在注册register而没有机会remove也会导致OutOfMemoryError。其实listener也是一个list的结构,本质上是一样的。很多listener是以匿名类被构造和注册到被监听类上面 ......

Java学习书籍推荐

1、JavaSE的学习书籍
英文名:《Thinking in Java》
中文名:《Java编程思想》
图  片:  
作  者:Bruce Eckel
出版社:机械工业出版社
阅读方法:这本书并不适合一点基础都没有的同学进行阅读,强烈建议学的JavaSE。
 然后可以直接学习JavaWEB的内容了,但是如果想备一本书在手边备查的话,那么Thinking in Java还算是不错的,除此之外,Java核心编程(两册),英文名Core Java,也是非常不错的参考手册。
 我们的建议是:阅读完视频教程(并跟着动手操作),把这本书当作参考手册,不建议从头到尾的细细阅读,很累而且没有必要,当遇到实际问题的时候按需而查就可以了。
 2、数据结构的学习书籍
英文名:《Data Structures & Algorithms in Java》
中文名:《Java数据结构和算法》
图  片:  
作  者:Robert Lafore
出版社:中国电力出版社
阅读方法:相对与其他的数据结构和算法的书,这本书语言很简洁而且容易读,让你少了一些阅读算法书籍的苦恼,但是也不能指望很轻松的把它读完,毕竟,这也是描述算法的书呀。
不过幸运的是,如果只是为了锻炼工作技能,倒是不必把所有的算法细节都弄 ......

使用java + oracle插入clob类型的数据

 使用java + oracle插入clob类型的数据,需要用以下的步骤:
1、将数据插入数据库,对于clob字段,使其为空clob数据。例如:insert into test values(1,empty_clob())";
2、从数据库中取出插入的clob字段,并将其赋值给oracle.sql.clob类型的变量。例如
String sqll="select content from test where id=1 for update";
  ResultSet rss=stmt.executeQuery(sqll);
  if(rss.next()){
   CLOB clob = ((OracleResultSet)rss).getCLOB(1);
3、给clob数据重新赋值,然后更新到数据库中。
例如:
clob.putString(1,"ddddddddddddddddddddddddddddddddddd");
   sql="update test set content=? where id=1";
   PreparedStatement pstmt=con.prepareStatement(sql);
   pstmt.setClob(1,clob);
   pstmt.executeUpdate(); ......

使用java + oracle插入clob类型的数据

 使用java + oracle插入clob类型的数据,需要用以下的步骤:
1、将数据插入数据库,对于clob字段,使其为空clob数据。例如:insert into test values(1,empty_clob())";
2、从数据库中取出插入的clob字段,并将其赋值给oracle.sql.clob类型的变量。例如
String sqll="select content from test where id=1 for update";
  ResultSet rss=stmt.executeQuery(sqll);
  if(rss.next()){
   CLOB clob = ((OracleResultSet)rss).getCLOB(1);
3、给clob数据重新赋值,然后更新到数据库中。
例如:
clob.putString(1,"ddddddddddddddddddddddddddddddddddd");
   sql="update test set content=? where id=1";
   PreparedStatement pstmt=con.prepareStatement(sql);
   pstmt.setClob(1,clob);
   pstmt.executeUpdate(); ......

谈谈IBM2009校园招聘Java笔试题

 只说说几道涉及到我有些遗忘的知识点的题目吧~~
1. 关于final的
一下哪几种声明是正确的?
A: private final int FINAL_INTEGER = 0;
B: private final int FINAL_INTEGER;
{
FINAL_INTEGER = 1;
}
C: private final int FINAL_INTEGER;
static{
FINAL_INTEGER = 1;
}
D: private final int FINAL_INTEGER;
public void test(){
FINAL_INTEGER = 1;
}
E: private final int FINAL_INTEGER = getValue();
private static int getValue(){
return 0;
}

A毫无疑问是正确的,大多数人在初始化final变量的时候也会用这个办法。
而至于B选项和C选项可以一起解释,则需要先知道语句块的作用,一般而言有两种语句块,静态语句块和动态语句块,对于静态语句块,加载类的时候会执行,而对于动态语句块,则会在初始化对象的时候执行。因此B是合法的,而由于静态语句块中不允许使用非静态变量,所以C是不合法的,而至于D则更为明显,不允许修改一个常量,因此D选项错误。最后看看E选项, ......

Java读写cookie

Java读写cookie
/*
 * 写cookie
*/
Cookie namecookie = new Cookie("name",name);
Cookie passwordcookie = new Cookie("password",password);
Cookie optioncookie = new Cookie("option","1");
//生命周期    
namecookie.setMaxAge(60*60*24*365);
passwordcookie.setMaxAge(60*60*24*365);
optioncookie.setMaxAge(60*60*24*365);
    
response.addCookie(namecookie);
response.addCookie(passwordcookie); 
response.addCookie(optioncookie); 
/*
 * 读cookie
*/
Cookie[] cookies = request.getCookies();
if(cookies!=null)
{
    String name = "";
    String password = "";
    String option = "";
    for (int i = 0; i < cookies.length; i++)
    {
       Cookie c = cookies[i];     
       if(c.getName().equalsIgnoreCase("name"))
   &nb ......
总记录数:6386; 总页数:1065; 每页6 条; 首页 上一页 [908] [909] [910] [911] 912 [913] [914] [915] [916] [917]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号