一、Java基础知识 二、JSP&Servlet技术 三、J2EE相关知识 四、其他
1.Web安全性的考虑(表单验证、浏览器Basic方式的验证,应用程序的安全性,SSL,代码考虑) 2.简单介绍您所了解的MVC。 3.简单介绍所了解的XML。 4.文档和编码规范 5.Java中的分页、效率考虑。 6.简单介绍您所了解的structs。 1.xml在项目中的作用 2.s-EJB 与 e-EJB的区别 3.会话面的作用 4.cmp与bmp的优缺点 5.j2me程序的必需的几个部分 6.c/s与b/s的区别 7.构建一个connect pool,然后再调用它, 8.j2ee平台与dotnet平台的区别 9.ejb的life cycle
10.session bean 和 entity bean的区别 11.ejb中的transaction机制 12.synchronized (生产者和消费) 13.String 和 StringBuffer 14.Serializable 15.MVC (Struts的工作流程) 16.什么是MDA 17.tcp与udp的区别
18.链表与散列表和数组的区别 19.堆和栈的区别 20.ejb的分类及区别 21.你对现在软件业以及国内软件业的看法 22.谈谈java多线程 23.谈谈文件加密技术 24.软件开发生命周期 25.路由协议种类及特点 26.java的awt和swing组件的GUI设计的关键 27.对于java流的认识 28.简单描述一下awt与swing区别。
29.简述java编程中事件处理模式。 30.你编写过applet吗?applet的安全权限如何?试列举java application或者applet中与servlet/jsp通信可以采用的方式。 31.简述逻辑操作(如&,|)与条件操作(如&&,||)的区别。
32.简述 Java Server Page 和 Servlet 的联系和区别。 33.简述synchronized和java.util.concurrent.locks.Lock的异同 ? 34.EJB规范规定EJB中禁止的操作有哪些? 35.java除了8种基本类型外,在虚拟机里还有哪一种,有什么作用? 36.除了使用new关键字创建对象意外,试列举另外三种以上创建实例的方式? 37.classloader中,JDK的API、Classpath中的同web-inf中的class加载方式有什么区别? 38.列举三种以上垃圾回收算法,并比较其优缺点? 39.编写代码实现一个线程池 40.描述一下JVM加载class文件的原理机制?
41.试举例说明一个典型的垃圾回收算法? 42.请用java写二叉树算法,实现添加数据形成二叉树功能,并以先序的方式打印出来. 43.请写一个java程序实现线程连接池功能? 44.给定一个C语言函数,要求实现在java类中进行调用。 45.如何获得数组的长度?
46.访问修饰符“public/private/protected/缺省的修饰符”的使用 47.用关键字final修饰一个类或者方法时,有何意义? 48.掌握类和对象的概念,掌握面向对象编程的本质 49.静态变量和静态方法的意义,如何引用一个类的静态变量或者静态方法? 50.JAVA语言如何进行异常处理,关键字:thorws,throw,try,catch,finally 51.Object类(或者其子类)的finalize()方法在什么情况下被调用? 52.一个“.java”原文件中是否可以包括多个类(不是内部类)? 53.掌握内部类和接口的概念 54.StringTokenizer类的使用 55.数据结构,如何遍历List中的元素? 如果要按照键值保存或者访问数据,使用什么数据结构? 要掌握Collection相关的接口和类的使用 56.使用StringBuffer类与String类进行字符串连接时有何区别? 57.调用Thread类的destroy()方法有什么后果? 58.多线程,用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用? 59.使用socket建立客户端与服务器的通信的过程 60.JAVA语言国际化应用,Locale类,Unicode 61.描述反射机制的作用 62.如何读写一个文件? 63.在图形界面中,一个按钮如何处理鼠标点击事件? 64.在图形界面中,一个表格,如何实现编辑单元格时弹出下拉框? 65.如何加载图片? 66.什么是模态对话框? 67.阐述MVC的概念 68.GUI布局管理器的使用,FlowLayout,BorderLayout,GridBagLayout 69.如何构造一棵树?选择树的一个节点时,如何得到这个节点? 70.向编辑框中输入字符时,如何控制只输入整数? 71.描述使用JDBC连接数据库的过程 72.EJB分为几类?什么是BMP,CMP? 73.什么是JNDI? 74.ADO是什么?ActiveX数据对象,是一个应用级程序接口.
75.四种JDBC方式?目前的版本? 76.EJB有哪几种?区别是什么? 77.JavaBean与EJB有什么区别? 78.软件开发生命周期有哪几个阶段? 79.软件开发有哪些因素? 80.软件开发中如何进行版本控制? 81.UML中,类视图如何表示类中的继承与聚合? 82.客户端游标与服务器端游标的区别? 83.动态游标与静态游标的区别? 84.dotnet由哪几个基本框架组成? 85.Oracle中SGA是什么? 86.web servers是什么? 87.UNIX中QT是什么意思? 88.在软件开发生命周期中的哪个阶段开始测试? 89.dotnet与J2EE的比较? 90.什么是ActiveX? 91.Java中IDL是什么? 92.ISO9000和CMM是什么?IS09000和CMM(软件能力成熟度模型)认证是国际上通用的软件质量评估方法.CMM的五个成熟度等级。 //反转这符串 public String convertStr(String s_text){ String b = ""; int li_len = s_text.length(); for (int i = li_len-1;i>=0;i--){ b = b + String.valueOf(s_text.charAt(i)); } return b; } //替换字符串 public String replaceStr(int start,int end ,String s_newStr, String s_oldAllStr){ String ls_temp = ""; int li_len = s_oldAllStr.length(); ls_temp = s_oldAllStr.substring(0,start); ls_temp = ls_temp + s_newStr; ls_temp = ls_temp + s_oldAllStr.substring(end+1,li_len); return ls_temp; } 字符串与整型互换:String.valueOf(int val) Integer.parseInt(String val); //四舍五入方法
public double getRound(double d_val,int i_sit){ String ls_temp = ""; ls_temp = String.valueOf(d_val); int li_index = ls_temp.indexOf("."); int li_len = ls_temp.length(); int li_weak = li_len - (li_index + 1); String ls_str; //位数 char ch_index; double d_unit,d_temp=d_val; String ls_subStr=ls_temp; for (int i=li_len-1; i>=li_index; i--){ ch_index = ls_temp.charAt(i);
li_weak = i - li_index; ls_str = "0."; if (li_weak == i_sit){ ls_subStr = ls_subStr.substring(0,i+1); d_temp = Double.parseDouble(ls_subStr); break; } if (Integer.parseInt(String.valueOf(ch_index))>=5){ for (int l=0;l<li_weak-1;l++){ if (l != li_weak -2) ls_str = ls_str + "0"; else ls_str = ls_str + "1"; } d_unit = Double.parseDouble(ls_str); d_temp = Double.parseDouble(ls_subStr) + d_unit; ls_subStr = String.valueOf(d_temp); continue; } else{ ls_subStr = ls_subStr.substring(0,i); d_temp = Double.parseDouble(ls_subStr); continue; } } return d_temp; } 如何取得年月日,小时分秒 //获取日期 public String getToday() { String ls_date = ""; GregorianCalendar obj_date = new GregorianCalendar(); ls_date = ls_date + obj_date.get(Calendar.YEAR); ls_date = ls_date + "-"+obj_date.get(Calendar.MONTH); ls_date = ls_date + "-"+obj_date.get(Calendar.DATE); ls_date = ls_date + " "+obj_date.get(Calendar.HOUR_OF_DAY); ls_date = ls_date + ":"+obj_date.get(Calendar.MINUTE); ls_date = ls_date + ":"+obj_date.get(Calendar.SECOND); return ls_date; } //如何取得从1970年到现在的毫秒数 public String getMillSecond(int i_yes){ GregorianCalendar obj_date = new GregorianCalendar(); int li_weak = obj_date.get(Calendar.YEAR) - i_yes; int li_m = obj_date.get(Calendar.MONTH); int li_d = obj_date.get(Calendar.DATE); int li_h = obj_date.get(Calendar.HOUR_OF_DAY); int li_min = obj_date.get(Calendar.MINUTE); int li_s = obj_date.get(Calendar.SECOND); //天数需要另外调整,包括锐年锐月、大小月不等,这里用30天将就一下,实际中另写 long bi_weak = li_weak * 12 * 30 * 24 * 60 * 60 * 1000; long bi_m = li_m * 30 * 24 * 60 * 60 * 1000; long bi_d = li_d * 24 * 60 * 60 * 1000; long bi_h = li_h * 60 * 60 * 1000; long bi_min = li_min * 60 * 1000; long bi_s = li_s * 1000; long bi_total; bi_total = bi_weak; bi_total = bi_total+bi_m; bi_total = bi_total+bi_d; bi_total = bi_total+bi_h; bi_total = bi_total+bi_min; bi_total = bi_total+bi_s; return String.valueOf(bi_total); } 这个不用这样子吧 System.currentTimeMillis()不就是吗? 还有上面的代码也都是太复杂了吧 在java 1.4后提供了一个四舍五入方法 NumberFormat /** * 格式化double数 * @param dNumber double * @param iFrac int 保留小数点后几位; * @return String */ public static String RoundFracToString(double dNumber, int iScale) { String sReturn = ""; NumberFormat format = NumberFormat.getNumberInstance(); if (iScale >= 0) { format.setGroupingUsed(true); //是否分组显示,如:1,400.00 format.setMaximumFractionDigits(iScale); format.setMinimumFractionDigits(iScale); sReturn = format.format(dNumber); } return sReturn; } 四舍五入方法 /** * 保留x位小数(将进行四舍五入) * @param str 需保留的字符串型数据 * @param x 需要保留的小数位 * @return String 返回保留后的字符串 **/ static public String getRound(String str, int x) { if (str == null || str.equals("")) { return "0"; } String cStr = ""; String rStr = ""; while (rStr.length() < x) { rStr += "#"; } java.text.DecimalFormat df = new java.text.DecimalFormat("##." + rStr); return df.format(Double.parseDouble(str)); } 反转字符串: String temp = "reddd";
char[] t = temp.toCharArray(); for(int j = t.length-1;j >= 0 ;j--){ System.out.println(t[j]); } // 四舍五入方法 private String RoundToScale(String number,int scale){ BigDecimal bdNumber = new BigDecimal(number); return RoundToScale(bdNumber,int scale); } private String RoundToScale(BigDecimal number,int scale){ if(number == null)return null; return number.setScale(scale,BigDecimal.ROUND_HALF_UP).toString(); } //reverse string :
public String reverseString(String str){ StringBuffer tmpStr= new StringBuffer(str); } //reverse string : public String reverseString(String str){ StringBuffer tmpStr= new StringBuffer(str); return tmpStr.reverse().toString(); } |
|