【ACCESS精品源码栏目提醒】:网学会员鉴于大家对ACCESS精品源码十分关注,论文会员在此为大家搜集整理了“【精品】程序员面试之葵花宝典2 - 小学课件”一文,供大家参考学习
118、LINUX 下线程,GDI 类的解释。
LINUX 实现的就是基于核心轻量级进程的quot一对一quot线程模型,一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现。
GDI 类为图像设备编程接口类库。
STRUTS 的应用如 STRUTS 架构 Struts 是采用 Java Servlet/JavaServer Pages 技术,119、开发 Web 应用程序的开放
源码的 framework。
采用 Struts 能开发出基于 MVCModel-View-Controller设计模式的应用构架。
Struts 有如下的主要功能: 一.包含一个 controller servlet,能将用户的请求发送到相应的 Action 对象。
二.JSP 自由 tag 库,并且在 controller servlet 中提供关联支持,帮助开发员创建交互式表单应用。
三.提供了一系列实用对象:XML 处理、通过 Java reflection APIs 自动处理 JavaBeans 属性、国际化的提示和消息。
120、Jdo 是什么 JDO 是 Java 对象持久化的新的规范,为 java data object 的简称也是一个用于存取某种数据仓库中的对象的标准化 API。
JDO 提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如 JDBC API 的使用)。
这些繁琐的例行工作已经转移到 JDO 产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。
另外,JDO 很灵活,因为它可以在任何数据底层上运行。
JDBC 只是面向关系数据库(RDBMS)JDO 更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML 以及对象数据库(ODBMS)等等,使得应用可移植性更强。
121、内部类可以引用他包含类的成员吗?有没有什么限制?一个内部类对象可以访问创建它的外部类对象的内容122、WEB SERVICE 名词解释。
JSWDL 开发包的介绍。
JAXP、JAXM 的解释。
SOAP、UDDIWSDL 解释。
Web ServiceWeb Service 是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得 Web Service 能与其他兼容的组件进行互操作。
JAXPJava API for XML Parsing 定义了在 Java 中使用 DOM SAX XSLT 的通用的接口。
这样在你的程序中你只要使用这些通用的接口,当你需要改变具体的实现时候也不需要修改代码。
JAXMJava API for XML Messaging 是为 SOAP 通信提供访问方法和传输机制的 API。
WSDL 是一种 XML 格式,用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作。
这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。
相关的具体端点即组合成为抽象端点(服务)。
SOAP 即简单对象访问协议Simple Object
Access Protocol,它是用于交换 XML 编码信息的轻量级协议。
UDDI 的目的是为电子商务建立标准;UDDI 是一套基于 Web的、分布式的、为 Web Service 提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的 Web Service 注册,以使别的企业能够发现的访问协议的实现标准。
JAVA 代码查错abstract class Name private String name public abstract boolean isStupidNameString name 大侠们,这有何错误答案: 错。
abstract method 必须以分号结尾,且不带花括号。
2.public class Something void doSomething private String s quotquot int l s.length 有错吗答案: 错。
局部变量前不能放置任何访问修饰符 private,public,和protected。
final 可以用来修饰局部变量final 如同 abstract 和 strictfp,都是非访问修饰符,strictfp 只能修饰 class 和 method 而非 variable。
3.abstract class Something private abstract String doSomething 这好像没什么错吧答案: 错。
abstract 的 methods 不能以 private 修饰。
abstract 的 methods 就是让子类 implement实现具体细节的,怎么可以用 private 把 abstract method 封锁起来呢 同理,abstract method 前不能加 final。
4.public class Something public int addOnefinal int x return x 这个比较明显。
答案: 错。
int x 被修饰成 final,意味着 x 不能在 addOne method 中被修改。
5.public class Something public static void mainString args Other o new Other new Something.addOneo public void addOnefinal Other o o.i class Other public int i和上面的很相似,都是关于 final 的问题,这有错吗答案: 正确。
在 addOne method 中,参数 o 被修饰成 final。
如果在 addOne method 里我们修改了 o 的 reference,比如: o new Other,那么如同上例这题也是错的。
但这里修改的是 o 的 member vairable成员变量,而 o 的 reference 并没有改变。
6.class Something int i public void doSomething System.out.printlnquoti quot i 有什么错呢 看不出来啊。
答案: 正确。
输出的是quoti 0quot。
int i 属於 instant variable 实例变量,或叫成员变量。
int instant variable 有 default value。
的 default value 是 0。
7.class Something final int i public void doSomething System.out.printlnquoti quot i 和上面一题只有一个地方不同,就是多了一个 final。
这难道就错了吗答案: 错。
final int i 是个 final 的 instant variable 实例变量,或叫成员变量。
final 的 instant variable 没有 default value,必须在 constructor 构造器结束之前被赋予一个明确的值。
可以修改为quotfinal int i 0quot。
8.public class Something public static void mainString args Something s new Something System.out.printlnquots.doSomething returns quot doSomething public String doSomething return quotDo something ...quot 看上去很完美。
答案: 错。
看上去在 main 里 call doSomething 没有什么问题,毕竟两个 methods 都在同一个 class 里。
但仔细看,main 是 static 的。
static method 不能直接 call non-static methods。
可改成quotSystem.out.printlnquots.doSomething returns quot s.doSomethingquot。
同理,static method 不能访问 non-static instant variable。
9.此处,Something 类的文件名叫 OtherThing.javaclass Something private static voidmainString something_to_do System.out.printlnquotDo something ...quot 这个好像很明显。
答案: 正确。
从来没有人说过 Java 的 Class 名字必须和其文件名相同。
但 public class 的名字必须和文件名相同。
10.interface A int x 0 class B int x 1 class C extends B implements A public void pX System.out.printlnx public static void mainString args new C.pX 答案:错误。
在编译时会发生错误错误描述不同的 JVM 有不同的信息,意思就是未明确的 x 调用,两个 x 都匹配(就象在同时 import java.util 和 java.sql 两个包时直接声明 Date 一样)。
对于父类的变量可以用 super.x 来明确,而接口的属性默认隐含为 public static final.所以可以通过 A.x 来明确。
11.interface Playable void play interface Bounceable void play interfaceRollable extends Playable Bounceable Ball ball new BallquotPingPangquot class Ball implements Rollable private String name public String getName return name public BallString name this.name name public void play ball new BallquotFootballquot System.out.printlnball.getName 这个错误不容易发现。
答案: 错。
quotinterface Rollable extends Playable Bounceablequot没有问题。
interface 可继承多个 interfaces,所以这里没错。
问题出在 interface Rollable 里的quotBall ball new BallquotPingPangquotquot。
任何在 interface 里声明的 interface variable 接口变量,也可称成员变量,默认 public 为static final。
也就是说quotBall ball new BallquotPingPangquotquot实际上是quotpublic static final Ball ball new BallquotPingPangquotquot。
Ball 类的 Play方法中, 在 quotball new BallquotFootballquotquot改变了 ball 的 reference,而这里的 ball 来自 Rollable interface,Rollable interface 里的 ball 是 public static final 的,final 的 object 是不能被改变 reference 的。
因此编译器将在quotball new BallquotFootballquotquot这里显示有错。
JAVA 编程题1.现在输入 n 个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供 resetimport java.util.public class bycomma public static String splitStringByCommaString source ifsourcenullsource.trim.equalsquotquot return null StringTokenizer commaToker new StringTokenizersourcequotquot String result new StringcommaToker.countTokens int i0 whilecommaToker.hasMoreTokens resulti commaToker.nextToken i return resultpublic static void mainString args String s splitStringByCommaquot5874391quot int ii new ints.length forint i 0ilts.lengthi iii Integer.parseIntsi Arrays.sortii //asc forint i0ilts.lengthi System.out.printlniii //desc forint is.length-1igt0i-- System.out.printlniii 2.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)-gt(一千零一拾一元整)输出。
package test.formatimport java.text.NumberFormatimport java.util.HashMappublic class SimpleMoneyFormat public static final String EMPTY quotquotpublic static final String ZERO quot零quotpublic static final String ONE quot壹quotpublic static final String TWO quot贰quotpublic static finalString THREE quot叁quotpublic static final String FOUR quot肆quot public static final String FIVE quot伍quotpublic static final String SIX quot陆quotpublic static final String SEVEN quot柒quot public static final String EIGHT quot捌quot public static final String NINE quot玖quotpublic static final String TEN quot拾quot public static final String HUNDRED quot佰quot public static final String THOUSAND quot仟quot public static final String TEN_THOUSAND quot万quot public static final String HUNDRED_MILLION quot亿quot public static final String YUAN quot元quot public static final String JIAO quot角quot public static final String FEN quot分quot public static final String DOT quot.quot private static SimpleMoneyFormat formatter nullprivate HashMap chineseNumberMap new HashMap private HashMap chineseMoneyPattern new HashMap private NumberFormat numberFormat NumberFormat.getInstance private SimpleMoneyFormat numberFormat.setMaximumFractionDigits4 numberFormat.setMinimumFractionDigits2 numberFormat.setGroupingUsedfalse chineseNumberMap.putquot0quot ZERO chineseNumberMap.putquot1quot ONE chineseNumberMap.putquot2quot TWO chineseNumberMap.putquot3quot THREE chineseNumberMap.putquot4quot FOUR chineseNumberMap.putquot5quot FIVE chineseNumberMap.putquot6quot SIX chineseNumberMap.putquot7quot SEVEN chineseNumberMap.putquot8quot EIGHT chineseNumberMap.putquot9quot NINE chineseNumberMap.putDOT DOT chineseMoneyPattern.putquot1quot TEN chineseMoneyPattern.putquot2quot HUNDRED chineseMoneyPattern.putquot3quot THOUSAND chineseMoneyPattern.putquot4quot TEN_THOUSAND chineseMoneyPattern.putquot5quot TEN chineseMoneyPattern.putquot6quot HUNDRED chineseMoneyPattern.putquot7quot THOUSAND chineseMoneyPattern.putquot8quot HUNDRED_MILLION public static SimpleMoneyFormat getInstance if formatter null formatter new SimpleMoneyFormat return formatter public String formatString moneyStr checkPrecisionmoneyStr String result result convertToChineseNumbermoneyStr result addUnitsToChineseMoneyStringresult return result public String formatdouble moneyDouble return formatnumberFormat.formatmoneyDouble public String formatint moneyInt return formatnumberFormat.formatmoneyInt public String formatlong moneyLong return formatnumberFormat.formatmoneyLong public String formatNumber moneyNum return formatnumberFormat.formatmoneyNum private String convertToChineseNumberString moneyStr String result StringBuffer cMoneyStringBuffer new StringBuffer for int i 0 i lt moneyStr.length i cMoneyStringBuffer.appendchineseNumberMap.getmoneyStr.substringi i 1 //拾佰仟万亿等都是汉字里面才有的单位,加上它们 int indexOfDot cMoneyStringBuffer.indexOfDOT int moneyPatternCursor 1 for int i indexOfDot - 1 i gt0 i-- cMoneyStringBuffer.inserti chineseMoneyPattern.getEMPTY moneyPatternCursor moneyPatternCursor moneyPatternCursor 8 1 : moneyPatternCursor 1 String fractionPart cMoneyStringBuffer.substringcMoneyStringBuffer.indexOfquot.quot cMoneyStringBuffer.deletecMoneyStringBuffer.indexOfquot.quot cMoneyStringBuffer.length while cMoneyStringBuffer.indexOfquot零拾quot -1 cMoneyStringBuffer.replacecMoneyStringBuffer.indexOfquot零拾quot cMoneyStringBuffer.indexOfquot零拾quot 2 ZERO while cMoneyStringBuffer.indexOfquot零佰quot -1 cMoneyStringBuffer.replacecMoneyStringBuffer.indexOfquot零佰quot cMoneyStringBuffer.indexOfquot零佰quot 2 ZERO while cMoneyStringBuffer.indexOfquot零仟quot -1 cMoneyStringBuffer.replacecMoneyStringBuffer.indexOfquot零仟quot cMoneyStringBuffer.indexOfquot零仟quot 2 ZERO while cMoneyStringBuffer.indexOfquot零万quot -1 cMoneyStringBuffer.replacecMoneyStringBuffer.indexOfquot零万quot cMoneyStringBuffer.indexOfquot零万quot 2 TEN_THOUSAND while cMoneyStringBuffer.indexOfquot零亿quot -1 cMoneyStringBuffer.replacecMoneyStringBuffer.indexOfquot零亿quot cMoneyStringBuffer.indexOfquot零亿quot 2 HUNDRED_MILLION while cMoneyStringBuffer.indexOfquot零零quot -1 cMoneyStringBuffer.replacecMoneyStringBuffer.indexOfquot零零quot cMoneyStringBuffer.indexOfquot零零quot 2 ZERO if cMoneyStringBuffer.lastIndexOfZERO cMoneyStringBuffer.length - 1 cMoneyStringBuffer.deletecMoneyStringBuffer.length - 1 cMoneyStringBuffer.length cMoneyStringBuffer.appendfractionPart result cMoneyStringBuffer.toString return result private String addUnitsToChineseMoneyStringString moneyStr String result StringBuffer cMoneyStringBuffer new StringBuffermoneyStr int indexOfDot cMoneyStringBuffer.indexOfDOT cMoneyStringBuffer.replaceindexOfDot indexOfDot 1 YUAN cMoneyStringBuffer.insertcMoneyStringBuffer.length - 1 JIAO cMoneyStringBuffer.insertcMoneyStringBuffer.length FEN if cMoneyStringBuffer.indexOfquot零角零分quot -1//没有零头,加整 cMoneyStringBuffer.replacecMoneyStringBuffer.indexOfquot零角零分quot cMoneyStringBuffer.length quot整quot else if cMoneyStringBuffer.indexOfquot零分quot -1//没有零分,加整 cMoneyStringBuffer.replacecMoneyStringBuffer.indexOfquot零分quot cMoneyStringBuffer.length quot整quot else ifcMoneyStringBuffer.indexOfquot零角quot-1 cMoneyStringBuffer.deletecMoneyStringBuffer.indexOfquot零角quotcMoneyStringBuffer.indexOfquot零角quot2 tmpBuffer.appendquot整quot result cMoneyStringBuffer.toString return result private void checkPrecisionString moneyStr int fractionDigits moneyStr.length - moneyStr.indexOfDOT - 1 if fractionDigits gt 2 throw new RuntimeExceptionquot金额quot moneyStr quot的小数位多于两位。
quot //精度不能比分低 public static void mainString args System.out.printlngetInstance.formatnew Double10010001.01 3、继承时候类的执行顺序问题一般都是选择题问你将会打印出什么答:父类: package testpublic class FatherClass public FatherClass System.out.printlnquotFatherClass Createquot 子类: package test import test.FatherClass public class ChildClass extends FatherClass public ChildClass System.out.printlnquotChildClass Createquot public static void mainString args FatherClass fc new FatherClass ChildClass cc new ChildClass 输出结果: C:gtjava test.ChildClass FatherClass Create FatherClass Create ChildClass Create4、内部类的实现方式 答:示例代码如下: package test public class OuterClass private class InterClass public InterClass System.out.printlnquotInterClass Createquot public OuterClass InterClass ic new InterClass System.out.printlnquotOuterClass Createquot public static void mainString args OuterClass oc new OuterClass 输出结果: C:gtjava test/OuterClassInterClass Create OuterClass Create 再一个例题: public class OuterClass privatedouble d1 1.0//insert code here You need to insert an inner class declaration at line 3. Which two inner class declarations are validChoose two.A. class InnerOne public static double methoda return d1 B. public class InnerOne static double methoda return d1 C. private class InnerOne double methoda return d1 D. static class InnerOne protected double methoda return d1 E. abstract class InnerOne public abstract double methoda 说明如下: 一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。
故 A、B 错 二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;return d1 出错。
故 D 错 三.非静态内部类的非静态成员可以访问外部类的非静态变量。
故 C 正确 四.答案为 C、E5、Java 的通信编程,编程题或问答,用 JAVA SOCKET 编程,读服务器几个字符,再写入本地显示?答:Server 端程序: package test import java.net. import java.io. public class Server private ServerSocket ss private Socket socketprivate BufferedReader in private PrintWriter out public Server try ssnew ServerSocket10000 whiletrue socket ss.acceptString RemoteIP socket.getInetAddress.getHostAddress String RemotePort quot:quotsocket.getLoc.