什么是面向对象编程?

面向过程:按照步骤解决问题

面向对象:把构成问题的各个事物分解成各个对象,对象作为程序基本单位,将程序和数据封装其中,以提高程序的重用性、灵活性和可扩展性。

Java三大特性

封装

继承

多态性

Java八种基本数据类型

8种基本数据类型:

byte、short、int、long

float、double

boolean

char

3种引用数据类型:

对象、数组、接口

Java多线程实现方法

Thread —— 类,继承

Runnable——接口,实现implement

实现Callable接口通过FutureTask包装器来创建Thread线程

使用ExecutorService、Callable、Future实现有返回结果的多线程

Thread类中的start()和run()方法有什么区别?

start():作用是启动一个新线程,新线程会执行相应的run()方法,不能被重复调用;

run():可以被重复调用,单独调用run()的话,会在当前线程中执行run(),不会启动新线程

三个线程T1、T2、T3,如何确保它们按顺序执行?

join():等待线程结束,可以实现线程按顺序执行

编写一个线程安全的单例模型

String、StringBuilder、StringBuffer三者区别

运行速度/执行速度:StringBuilder > StringBuffer > String

String是字符串常量(char保存),对象创建之后不可更改;前两者是字符串变量,是引用类型,是可以更改的。

线程安全:StringBuilder是线程不安全的,StringBuffer是线程安全的。

StringBuffer中很多方法可以带有synchronized关键字,所以可以保证线程安全;

StringBuilder的方法则没有synchronized关键字

多线程-StringBuffer 单线程-StringBuilder

结论:

String:适用于少量的字符串操作情况

StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况

StringBuffer:适用于多线程下在字符缓冲区进行大量操作的情况

垃圾回收

与垃圾回收相关的JVM参数

-Xms/-Xmx —— 堆的初始大小/堆的最大大小

-Xmn —— 堆中年轻代的大小

-XX:-DisableExplicitGC ——让System.gc()不产生作用

-XX:+PrintGCDetail —— 打印GC的细节

-XX:+PrintGCDateStamps —— 打印GC操作的时间戳

Java中final关键字有哪些用法

1、修饰类:表示该类不能被继承;

2、修饰方法:表示方法不能被重写;

3、修饰变量:表示变量只能一次赋值,值不能被修改,即是常量

数据类型之间的转换

1)如何将字符串转换为基本数据类型?

2)如何将基本数据类型转换为字符串?

1)调用基本数据类型对应的包装类中的方法parseXXX(String)或者valueOf(String)即可返回基本类型。

2)方法一:将基本数据类型与空字符串连接(+);

方法二:调用String类中的valueof()方法返回相应字符串。

Error和Exception有什么区别?

Error:表示系统级的错误和程序不必处理的异常,是恢复不是不可能 但很困难的情况下的一种严重问题,比如内存溢出。

Exception:表示需要捕获或者需要程序运行处理的异常,是一种设计或实现问题,也就是说如果程序运行正常,从不会发生的情况。

try()里有一个return语句,那么紧跟在这个try后的finally{}里面的code会不会被执行?什么时候被执行,return之前还是之后?

会执行。在方法返回调用者之前执行。因此,若finally修改返回值,可能会导致问题。

final,finally,finalize的区别

final:修饰符,可以修饰类、方法、变量。

finally:通过放在try catch的后面构造总是执行的代码,可以将释放外部资源的代码写在finally块中。

finalize:Object中定义的方法,Java中运行使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在销毁对象时候调用。

java砖头铺路面试题,Java基础知识面试题相关推荐

  1. [转载] Java基础知识面试题(2020最新版)

    参考链接: Java中的异常类型与示例 文章目录 Java概述何为编程什么是Javajdk1.5之后的三大版本JVM.JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码? ...

  2. Java基础知识面试题(2021最新版)

    转载自:https://thinkwon.blog.csdn.net/article/details/104390612 文章目录 Java概述 何为编程 什么是Java jdk1.5之后的三大版本 ...

  3. Java基础知识面试题每日三道 追梦:第二天

    Java基础知识面试题每日三道 追梦:第二天 1.什么是类和对象? 类和对象的区别? 类是对象的抽象,而对象是类的具体实例. 类是抽象的,不占用内存,而对象是具体的,占用存储空间. 类是用于 创建对象 ...

  4. 猿圈 题库_小猿圈总结常见HTML5基础知识面试题汇总

    现在对于刚刚毕业的大学生来说,面试是一种一点自信都没有的,但是对于一些有职场经验的人来说,是轻车熟路的,今天作为IT行业中的老油条,小猿圈web前端讲师为你简单讲解HTML5基础知识面试题汇总. 1. ...

  5. java doubke类型转换为String_Java基础知识面试题大集合

    本文整理自作者:ThinkWon  链接: blog.csdn.net/ThinkWon/article/details/104390612 本文知识点目录 Java概述 何为编程 什么是Java j ...

  6. Java基础知识面试题(2021最新)

    文章目录 1.Java概述 什么是Java jdk1.5之后的三大版本 JVM.JRE和JDK的关系 什么是跨平台性?原理是什么? Java语言有哪些特点 什么是字节码?采用字节码的好处是什么? 什么 ...

  7. java基础知识面试题(41-95)

    41.日期和时间: - 如何取得年月日.小时分钟秒? - 如何取得从1970年1月1日0时0分0秒到现在的毫秒数? - 如何取得某月的最后一天? - 如何格式化日期? 答: 问题1:创建java.ut ...

  8. Java基础知识面试题重点汇总

    Java概述 何为编程 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并 终得到结果的过程. 为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路.方法. 和手段通过计算 ...

  9. Java 基础知识面试题(2021最新版)

    点击下方公众号「关注」和「星标」 回复"1024"获取独家整理的学习资料! Java概述 何为编程 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果 ...

  10. Java基础知识面试题(2022最新版)

    Java概述 何为编程 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并 终得到结果的过程. 为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路.方法. 和手段通过计算 ...

最新文章

  1. SQLYog快捷键大全
  2. php文件名函数,php 获取文件名basename()函数的用法总结
  3. javascript面向对象技术基础(四)
  4. php form validator 下单,PHP Form表单验证:PHP form validator使_php
  5. TensorFlow 官方文档中文版发布啦(持续维护) 1
  6. [转载] 七龙珠第一部——第115话 一定要找到迷般的超神水
  7. python iot_使用EduBlocks,适用于Linux的i3窗口管理器,必读新闻通讯,CI / CD,敏捷,IoT等进行Python编程
  8. NUCLEO开发板:STM32 st-link驱动程序错误
  9. 推荐10个我在用的Chrome浏览器插件
  10. AdGuard Home 安装使用教程
  11. oracle创建用户'表空间配额,牛刀小试:Oracle 用户表空间配额(quota )控制之随心所欲...
  12. java+mail+authen_javamail实现smtp身份认证
  13. nvivo服务器项目,【NVivo教程】用Nvivo为研究团队设立主项目
  14. IT男人:四十岁是一枝花吗?
  15. seata xid是什么_急:IDMA是什么?SDMA又是什么?
  16. H5版仿制微信跳一跳小游戏,网页版仿微信跳一跳小游戏源码,实现了跳一跳的基本核心功能
  17. php使用百度地图,调用百度地图
  18. vs使用教程3:(调试断点)
  19. R语言基础编程技巧汇编 - 20
  20. 用c-lodop打印远端pdf

热门文章

  1. 1、CSS 提示工具(Tooltip),2、box-sizing: border-box;的作用,3、实例2 - 图像的透明度 - 悬停效果,4、CSS 图像拼合技术,
  2. JS开发之Factory(工厂)模式解析
  3. 1.Kubernetes权威指南 --- Kubernetes入门
  4. 11.企业安全建设指南(金融行业安全架构与技术实践) --- 互联网应用安全
  5. 17.Mac Ctags 使用
  6. 9. CSS 背景属性
  7. 内置模块--又称为常用模块
  8. 关于面向对象和面向过程本质的区别(个人感悟)
  9. 面试:C++实现访问者模式
  10. WeX5 - AJAX跨域调用相关知识-CORS和JSONP