<!--[if !supportLists]-->1.
<!--[endif]-->API
Application
Programming Interface:有两层含义,一个是系统给提供的一些能够实现一些功能的接口的集合。我们可以通过这些接口来快速的组建自己想要的符合某种功能的结构,而不必知道这些接口的内部是怎么实现这些功能的。另一层含义是给提供以上接口的公司给提供的一种帮助文档,它可以快速的帮助我们查找我们需要的接口以及这些接口的使用方式。
<!--[if !supportLists]-->2.
<!--[endif]-->String和StringBuffer的差异;replace()和toUppercase()的区别
String类定义的是一种不可变长的字符串,用于比较连个字符串,查找和抽取串中的字符或子串,字符串与其他类型的转换等;
StringBuffer类定义的是一种可变长的字符串,可以将其他各种类型的数据增加、插入到字符串中,也可以翻转字符串中的内容。可以通过toString()方法来转换成String类
String类中的replace()方法可以实现将字符串中的特定字符转换成其他字符,并且会创建新的String对象来保存新的字符串并返回新的字符串。StringBuffer类中的replace()方法实现将给定的字符串替换指定的位置的子字符串。先将子字符串中的字符移除,然后将给定的字符串插入。不会创建新的对象。
String类中的toUppercase()方法实现将字符串中的所有字符按照指定的Locale规则转换成大写字母。StringBuffer类中没有toUppercase()方法
<!--[if !supportLists]-->3.
<!--[endif]-->三种将字符串转换成整数的方式
Sting
s = new String(“315”);int
t = 0;
(1)t=Integer.valueOf(s).intValue();
(2)t=Integer.parseInt(s);
(3)char[] ch =
s.toCharArray();
for (int i= 0; i <
ch.length; i++) {
t=t*10+(ch[i]-48);
System.out.println(t);
}
<!--[if !supportLists]-->4.
<!--[endif]-->Vector和ArrayList的区别及应用场合
编程中,若要考虑线程安全问题,程序员又不想对其处理,可以使用Vector,因为在Vector中已经为我们考虑处理了,使用ArrayList时,需要程序员考虑线程安全并对其进行相应的处理。单线程中ArrayList效率更高。
Vector和ArrayList可以从两个方面来比较:
(1)Vector是线程安全的,也就是说是同步的,而ArrayList是线程不安全的,不同步的。
(2)当需要增长时,Vector默认增长为原来的一倍,而ArrayList却是原来的一半
因此,如果涉及到堆栈,队列等操作,应该考虑Vector;对于需要快速随机访问元素的,应该使用ArrayList。而对于要进行快速插入、删除元素操作的,两者都不用,而使用LinkedList。
<!--[if !supportLists]-->5.
<!--[endif]-->编写一个能用作Hashtable关键字的子类,其中含String name;int age这两个成员变量,编写出验证该关键字类是否正确的检测代码
import java.util.*;
public class HashTableTest {
public
static void main(String[] args) {
Hashtable
numbers = new Hashtable();
numbers
.put(new MyKey("zhangsan",18), new Integer(1));
numbers
.put(new MyKey("lisi",15), new Integer(2));
numbers
.put(new MyKey("wangwu",20), new Integer(3));
Enumeration
e = numbers.keys();
while(e.hasMoreElements()){
MyKey
key = (MyKey)e.nextElement();
System.out.print(key
+ "=");
System.out.println(numbers.get(key));
}
System.out.print(numbers.get(new
MyKey("zhangsan",18)));
}
}
public class MyKey {
private
String name = null;
private
int age = 0;
public
MyKey(String name, int age) {
super();
this.name
= name;
this.age
= age;
}
public
String toString() {
return
"MyKey [name=" + name + ", age=" + age + "]";
}
public
boolean equals(Object obj) {
if(obj
instanceof MyKey){
MyKey
objTemp = (MyKey)obj;
if(name.equals(objTemp.name)
&& age == objTemp.age){
return
true;
}
}
return
false;
}
public
int hashCode() {
return
name.hashCode() + age;
}
}
<!--[if !supportLists]-->6.
<!--[endif]-->编写出打印出当前虚拟机的所有系统属性的程序,并在启动这个程序时,为Java虚拟机增加一个系统属性
import java.util.*;
public class GetProperties {
public
static void main(String[] args) {
// TODO: Add your code here
Properties sp= System.getProperties();
System.getProperties().list(System.out);
sp.setProperty("Mypath", "d:/woshihaoren");
System.out.println("/n/n/n");
System.getProperties().list(System.out);
}
}
<!--[if !supportLists]-->7.
<!--[endif]-->为什么Runtime类被设计成不能在程序中直接创建它的实例对象?Java设计者又是通过什么样的方式来保证在程序中只能有一个Runtime的实例对象呢?
程序只可在一个JVM中应用,一个Runtime对应一个JVM,若可以创建实例对象的话,那么多个实例对象就有多个JVM,程序就不知道该在哪个里面跑了。
Runtime不能够用new来创建实例,是因为Runtime作为一个类不提供公有的构造函数,而是采用私有的构造函数强化其不可在用户程序中实例化的能力。Runtime是和java当前的应用程序相关联的,应该只有一个实例,这个实例是在应用程序运行初自动创建的。要使用这个实例,可以用Runtime.getRuntime()方法来获得这个实例的引用。
<!--[if !supportLists]-->8.
<!--[endif]-->编写程序,使在该程序中启动windows自带的计算器程序,并且立即结束
import java.io.IOException;
import java.util.*;
public class TestRuntime {
public
static void main(String[] args) {
//
TODO Auto-generated method stub
Timer
tm = new Timer();
tm.schedule(new
MyTimerTask(tm), 3000);
}
}
class MyTimerTask extends TimerTask{
private
Timer tm = null;
public
MyTimerTask(Timer tm){
this.tm
= tm;
}
public
void run(){
Process
p = null;
try
{
p
= Runtime.getRuntime().exec("calc.exe");
}
catch (IOException e) {
//
TODO Auto-generated catch block
e.printStackTrace();
}
tm.cancel();//结束任务线程的代码
try{
Thread.sleep(1000); //启动1秒后就结束
p.destroy();
}catch(Exception e){
System.out.println(e.toString());
}
}
}
分享到:
相关推荐
数据架构设计与实践(下)MySQL中间件中关于用户验证的思考与实践V2.zip
OpenStacK峰会PPT
在标题中提到的“智慧商业思考与实践”,结合内容部分的描述和标签,我们可以提炼出以下知识点: 1. 数据在企业决策中的作用:文章多次强调了“数据改变企业决策”,这表明上海大悦城在其商业运营中充分运用了数据...
在本文档中,美团大众点评的高级工程师罗泽响分享了关于美团iOS客户端构建过程中的思考和实践经验。...通过这些思考与实践,我们可以更好地理解如何打造一个高效、稳定且易于维护的移动应用客户端。
大数据的思考与实践
朱常波在其文章《中国联通网络安全战略的思考与实践》中,深入分析了中国联通面临的网络安全形势,并提出了相应的战略思考与实践路径。 首先,文章强调了网络安全上升为国家战略的重要性。随着5G、物联网、人工智能...
四招破解三角形作高的难点——“三角形作高”教学策略改进的思考与实践收集.pdf
不过,根据标题《新时代教师专业发展的思考与实践》和描述中出现的“36STEM”,可以推测文档可能涉及到新时代背景下的教师发展,以及STEM教育(即科学Science、技术Technology、工程Engineering和数学Mathematics)...
资本市场信息与网络安全的思考和实践.pdf
认证层面 保证每台设备预制不同密钥,用户绑定产生唯一关联性的token,利用密钥与token的关系防止越权操作问题。 通讯层面 要做流量加密与数据签名。 硬件层面 尽可能的把调试接口关掉,并且引入安全芯片,安全存储...
网络安全分析与情报大会,PPT分享 ,演讲者靳晓飞,
北京市大数据工作实践与思考.pdf
新常态下的安全形势 零信任架构的本质 零信任技术体系 光大银行零信任探索-大三支柱 ...零信任身份系统-新的身份边界 零信任持续评估中心 零信任技术-应用隐身+微隔离 ...零信任架构落地实践的挑战与应对
《像外行一样思考,像专家一样实践:科研成功之道》是卡耐基梅陇大学一位美国工程院院士的著作,这本书旨在为科研工作者提供独特的思维方式和实践经验,帮助他们在科研道路上取得成功。书中不仅包含了作者对科研工作...
匠人手记:一个单片机工作者的实践与思考匠人手记【完整高清版】
软件供应链安全思考与实践
信息化建设思考与实践.pdf
《匠人手记:一个单片机工作者的实践与思考》这本书是一本结合了作者实际开发与应用单片机经验、心得感悟与技术分享的专著。作者张俊以轻松诙谐的笔调,摒弃了传统技术书籍的刻板说教,力求在交流分享中与读者产生...
#### 一、匠人手记:单片机实践与思考 《匠人手记:一个单片机工作者的实践与思考》是一本由具有多年硬件开发经验的作者编写的书籍,旨在为那些对硬件开发感兴趣的读者提供深入的学习资源。本书不仅仅是一本理论...