题目1:final在Java中的作用?
答案1:final修饰基本数据类型变量和引用数据类型变量
被final修饰的常量在编译阶段会被放入常量池中
在局部或者匿名内部类在使用外部局部变量时只能使用被final修饰的变量。
修饰类:使用final修饰类的目的简单明确: 表明这个类不能被继承.
final可以修饰方法(在方法非常庞大的时候,这样的内嵌手段是几乎看不到任何性能上的提升的,在最近的Java版本中,不需要使用final方法进行这些优化了

题目2:普通类和抽象类有哪些区别?
答案2:抽象类不能被实例化。
抽象类可以有构造函数,被继承时子类必须继承父类一个构造方法,抽象方法不能被声明为静态。
抽象方法只需申明,而无需实现,抽象类中可以允许普通方法有主体
含有抽象方法的类必须申明为抽象类
抽象的子类必须实现抽象类中所有抽象方法,否则这个子类也是抽象类。

题目3:Java中操作字符串都有哪些类型?它们之间的有什么区别?
答案3:Java中操作字符串分为String、StringBuilder、StringBuffer三个类,这三个类之间主要的区别在”运行速度“和”线程安全“方面。
(1)运行速度(执行速度):StringBuilder>StringBuffer>String
String最慢的原因:下面的例子表面上看是abc+def组成abcdef的结果,但我们仔细分析一下,首先String先创建一个对象abc然后在abc=abc+def加起来再赋值给一个新的abc,而原来的abc被JVM的GC(回收机制)给回收掉了,所以实际上这两个abc不是同一个abc,所以String操作字符串的过程是一个不断创建对象和回收对象的过程。String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。而StringBuilder和StringBuffer的对象是变量,对变量进行操作就是直接对该对象进行更改,而不进行创建和回收的操作,所以速度要比String快很多。
(2)线程安全
在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的。如果一个StringBuffer对象在字符串缓冲区被多个线程使用时,StringBuffer中很多方法可以带有synchronized关键字,所以可以保证线程是安全的,但StringBuilder的方法则没有该关键字,所以不能保证线程安全,有可能会出现一些错误的操作。所以如果要进行的操作是多线程的,那么就要使用StringBuffer,但是在单线程的情况下,还是建议使用速度比较快的StringBuilder。

题目4:面向对象的特征有哪些方面,具体有何含义?
答案4:
面向对象的三大特征:1.继承 2.封装 3.多态性
(1)继承:就是保留父类的属性,开扩新的东西。通过子类可以实现继承,子类继承父类的所有状态和行为,同时添加自身的状态和行为。

(2)封装:就是类的私有化。将代码及处理数据绑定在一起的一种编程机制,该机制保证程序和数据不受外部干扰。

(3)多态:是允许将父对象设置成为和一个和多个它的子对象相等的技术。包括重载和重写。重载为编译时多态,重写是运行时多态

题目5:定义长方形类,含:
属性:宽、高(整型);
方法:求周长、面积;
构造方法3个:
(1)无参——宽、高默认值为1;
(2)1个参数——宽、高均为参数值;
(3)2个参数——宽、高各为参数值。
写出代码并得出打印结果。
答案5:
定义类://定义长宽属性
private int iWidth; private int iHeight;
//构造器1
public Rectangle(){
this.iHeight = 1;this.iWidth = 1;
}
//构造器2
public Rectangle(int iIndex){
this.iWidth = iIndex;
this.iHeight = iIndex;
}
//构造器3
public Rectangle(int iWidth, int iHeight){
this.iHeight = iHeight;this.iWidth = iWidth;
}
//求周长
public int getLength(){
return 2*(this.iHeight+this.iWidth);
}
//求面积
public int getSquare(){
return this.iHeight*this.iWidth;
}

测试类:public static void main(String[] args) {
// TODO Auto-generated method stub
Rectangle oRec1 = new Rectangle();
System.out.println(“默认长方形的周长为:”+oRec1.getLength());
System.out.println(“默认长方形的面积为:”+oRec1.getSquare());

Rectangle oRec2 = new Rectangle(2);
System.out.println("一个参数长方形的周长为:"+oRec2.getLength());
System.out.println("一个参数长方形的面积为:"+oRec2.getSquare());Rectangle oRec3 = new Rectangle(2,3);
System.out.println("两个参数长方形的周长为:"+oRec3.getLength());
System.out.println("两个参数长方形的面积为:"+oRec3.getSquare());

}
打印结果:默认长方形的周长为:4
默认长方形的面积为:1
一个参数长方形的周长为:8
一个参数长方形的面积为:4
两个参数长方形的周长为:10
两个参数长方形的面积为:6

题目6:运行时异常和编译时异常在运行时候的区别,为什么/0这种运行时异常不用写判断语句?那么编译时异 常又怎么实现捕获的?
答案6:运行时异常:都是RuntimeException类及其子类异常,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理
非运行时异常 (编译异常):是RuntimeException以外的异常,类型上都属于Exception类及其子类。是必须进行处理的异常,如果不处理,程序就不能编译通过。
程序就不能编译通过 /0这种运行是系统自己会处理 编译异常可以自己处理异常,也可以抛出异常不处理

题目7:String类型new对象时总共创建了几次?
答案7:这个创建2个class;2次,常量池一次,堆一次

题目8:启动一个线程用run()还是start()
答案8:启动一个线程用的是start()方法,使线程进入就绪状态,以后可以被调度为运行状态。run(方法是线程的线程执行体,是线程将要完成的事

题目9:Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别?
答案9:
sleep()方法(休眠)是线程类(Thread)的静态方法,调用此方法会让当前线程暂停执行指定的时间,
将执行机会(CPU)让给其他线程,但是对象的锁依然保持,因此休眠时间结束后会自动恢复(线程回到就绪状态,
请参考第66题中的线程状态转换图)。wait()是Object类的方法,调用对象的wait()方法导致当前线程放弃对象的锁(
线程暂停执行),进入对象的等待池(wait pool),只有调用对象的notify()方法(或notifyAll()方法)
时才能唤醒等待池中的线程进入等锁池(lock pool),如果线程重新获得对象的锁就可以进入就绪状态。

题目10:请说出与线程同步以及线程调度相关的方法。
答案10:
wait():使一个线程处于等待(阻塞)状态,并且释放所持有的对象的锁;
sleep():使一个正在运行的线程进入休眠状态
notify():唤醒一个处于等待状态的线程,当然在调用此方法的时候,并不能确切的唤醒 某一个等待状态的线程,而是由 JVM 确定唤醒哪个线程,而且与优先级无关;
notityAll():唤醒所有处于等待状态的线程,该方法并不是将对象的锁给所有线程,而是 让它们竞争,只有获得锁的线程才能进入就绪状态;

吾日三省吾身、温故而知新相关推荐

  1. “吾日三省吾身”小应用

    "吾日三省吾身"小应用 本小应用的名字叫做"吾日三省吾身",其设计目的在于通过提问的方式让用户对自己一天的生活进行总结和反省,界面上出现的三个问题分别对应了孟子 ...

  2. 论语(节选)吾日三省吾身

    曾子曰:"吾日三省吾身:为人谋而不忠乎,与朋友交而不信乎?传不习乎?" 曾子:姓曾名参,字子舆,生于公元前505年,鲁国人 省(xing):检查,察看 忠:指对人应当尽心竭力 信: ...

  3. 2016.04.23 吾日三省吾身

    日三省吾身 这二天看了几集"欢乐颂",很行赏里面一句台词:每个人都有自己立身之本,很符合自己做人的原则.不会刻意改变,高兴就是高兴,不高兴就是不高兴,想说就多说几句,觉得没必要就一 ...

  4. 认识自我,还需吾日三省吾身

    人有所优,固有所劣:人有所工,固有所拙.人无完人,总会留有弱点与不足.但不能因它的存在而苦恼,更不能因此觉得自己低人一等而感到失望.要知道,消极会蒙蔽自己的双眼,让自己陷入绝望的低谷.没有正确地认识自 ...

  5. 吾日三省吾身:三种光

    生命是一种感受.生命离不开光.有光的日子,神采奕奕.无光的日子,山河暗淡.杨过在至暗时刻发明黯然销魂掌,想必是心中仍有光.申公豹也不是天生就要做坏事,是人们心中成见的大山,遮蔽了,使他看不见光. 根据 ...

  6. n+1天 吾日三省吾身

    昨日繁忙,昨日未自省,昨昨日亦未省,罪过罪过. 1.生活: 昨日去医院,陪老婆看医生,最后落了一身埋怨,不过无所谓,病看了就行,医生真不错,感谢感谢: 2.工作: 请假,没上班: 3.学习: 抽空刷了 ...

  7. 2021-07-17 吾日三省吾身

    今日事,今日省 1.生活: 今天陪老婆去了医院检查身体,肠胃不适,并且去看望了老婆的姐姐,下午开始肚子疼,晚上终于睡下了,希望睡醒会好一些. 2.工作: 伺候老婆便是今日工作. 3.学习: leetc ...

  8. 2021-06-05 吾日三省吾身

    昨日反省没?卧槽,忘了!!! 1.生活: 小屁孩子来了,开始皮了,累~ 2.工作: 开心的周末! 3.学习: 去了图书馆,看了看算法,借了本数据库,好好捋捋.

  9. 2021-05-26 吾日三省吾身

    呵呵 传统艺能咋就改不掉呢!!! 昨日事 今日省 1.生活: 不知是不是疫苗的原因,昨天特别累,健身房锻炼没有达到预期里程,而且睡得特别早. 2.工作: 无聊的工作 没有惊喜 3.学习: 需要多读书, ...

  10. 【马司机带带我】君子日三省吾身

     君子日三省吾身: 为人谋而不忠乎?  吾今天坚持了吗? 与朋友交而不信乎?  吾今天不要脸了吗? 传不习乎?  吾今天坚持不要脸了吗? 成功三要素 -- 坚持,不要脸,坚持不要脸 孔子长得是这样 ...

最新文章

  1. Python使用sklearn构建ElasticNet回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型
  2. 15.并发工具类(解析hashtable,ConcurrentHashMap1.7与1.8的区别以及Semaphore)
  3. 奚记--最简洁的记账软件
  4. Android 近百个项目的源代码,覆盖Android开发的每个领域
  5. silverlight中如何将string(字符串)写入Resource(资源)?
  6. VMM系列之VMM角色介绍以及创建运行方式账户
  7. 【BZOJ4028】[HEOI2015]公约数数列(分块/数量级很小法)
  8. java多线程总结一:线程的两种创建方式及优劣比较
  9. linux下汇编语言开发总结
  10. iphone全部机型_iPhone 12 销量或创 iPhone 6 以来最高|iphone|郭明錤
  11. SDP协议 学习笔记
  12. sql having是什么意思_图解sql面试题:如何查找重复数据?
  13. 六问六答理解ForkJoin原理
  14. [JSP]自定义标签库taglib
  15. tomcat server.xml详细配置
  16. document.all用法
  17. 服务器运行按键精灵脚本,打开按键精灵自动运行脚本的方法_win7系统如何使用按键精灵的图文步骤...
  18. SQL Server2000安装sp4补丁中的错误与破解
  19. 【英语-同义词汇词组】consider,think,believe,count,deem,reckon,regard、hold 表示【认为】时的用法及区别
  20. 计算机主机上有几个按钮,电脑键盘各个按键有哪些作用 电脑键盘各个按键作用介绍...

热门文章

  1. 通过3D-MAX制作三维地图模型
  2. VS2022 EGE 游戏开发之跨年滑雪小游戏
  3. 某计算机的主存空间中,某计算机的主存地址空间中
  4. 【机器学习】LatLRR
  5. 含稀土配合物粒径小/发色性能好的聚苯乙烯荧光微球/交联羧基聚苯乙烯微球/单分散荧光微球/红色荧光微球
  6. android-如何检查手机和无线是否连接
  7. 第10周:吴恩达机器学习课后编程题ex8——Python
  8. 如何下载网页的字体图标相关文件
  9. 亚马逊s3存储: aws cli上传工具速度和各文件大小关系探究
  10. 1.2 Git基本操作之提交文件到本地库