Java基础重点难点技能路径学习图(含面试题)

( 16 )在 JDK 目录中, Java 程序运行环境的根目录是

A ) bin

B ) demo

C ) lib

D ) jre


正确答案:A


下列关于JDK目录结构的说法,错误的是( )。

A.bin目录下有许多工具

B.demo目录下有各种演示例子

C.include目录下都是库文件

D.jre目录是Java程序运行环境的根目录


正确答案:C
解析: 本题考查JDK目录结构。bin目录下有编译器、解释器和各种工具,如服务器工具、IDL、package工具和 idb等。ire目录是Java程序运行环境的根目录,它下面有bin子目录,包括平台所用工具和库的可执行文件和DLL文件:lib子目录包括java运行环境的代码库。lib目录下都是库文件。demo日录下有各种演小例子。include目录下是Win32子目录,都是本地方法文件,选项C错误。


如果JDK的安装路径为“d:\jdk”,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项( )。

A.d:\jdk;

B.d:\jdk\bin;

C.d:\jre\bin;

D.d:\jre;


参考答案:B


运行Java程序需要的工具软件所在的目录是

A.JDK的bin目录

B.JDK的demo目录

C.JDK的lib目录

D.JDK的jre目录


正确答案:A
解析:运行Java的JDK一共包含五个目录,分别是:bin目录,该目录包含Java编译器、解释器和许多工具(如服务器工具、IDL、package工具等);lib目录,该目录包含Java库文件jre目录,该目录是Java程序运行环境的根目录,它下面包含 bin子目录,包括平台所用工具和库的可执行文件以及DLL文件;demo目录,该目录包含源代码的程序示例;include目录,该目录包含Win32子目录,都是本地方法的文件。因此,本题的正确答案是A。


运行Java程序需要的工具软件所在的目录是

A.JDK的bin目录

B.JDK的demo目录

C.JDK的lib目录

D.JDKR的jre目录


正确答案:A
解析:JDK目录中,选项A的bin目录下存放编译器、解释器和许多工具;选项B的demo目录下有各种演示例子;选项C的lib目录下都是库文件;选项D的jre目录是Java程序运行环境的根目录。另外还有include目录是win32子目录,都是本地方法文件。


请我喝一杯优乐美,带走他,不过分吧,纯手写,这份宝典是我在培训班当老师的时候,自己总结的。顺序是从上而下,里面的知识点是你必须要掌握的,它包含了java课程体系中的基础、重点难点(我都划分出来了),以及面试题中经常被问到的一些题目(注意面试会问,要会用)。部分知识点,我结合了部分代码来进行讲解,通俗易懂。(如果看不懂建议大家边看视频,边看这份宝典,能让你事半功倍,视频大家可以去B站去搜索)1、Java基础3月25日-jre、jdk、jvm的1、 jre,jdk,jvm之间的区别是什么?(面试题)java -version命令,验证虚拟机运行环境在不在Jvm是虚拟机。Jre包括jvm和java程序所需核心类库。Jdk给开发人员使用的,包括了jre。简而言之:使用JDK开发完成的java程序,交给JRE去运行。2、 java中一个char类型是否可以存储一个汉字?(面试题) 可以,char是两个字节,一个中文是两个字节。3、 一个int类型的取值范围是多少?(面试题)Int是4个字节,一共32位,-(2)31到231 -14、 自动类型转换规则是什么?首先数值类型要互相要兼容其次是目标类型大于原类型(小的向大的转换)1、变量就近原则:当需要调用变量值得时候,以最近出现的这个变量为准,不管是成员变量还是局部变量。3月26日-运算符1、 运算符优先级顺序是什么?! 算数运算符 比较运算符 & |2、 If和Switch选择结构的区别是什么?If判断的是表达式。 Switch是等值条件的判断1、if卫语句,采用反向思维解决if嵌套过多问题。3月27日-循环1、 break和continue的区别是什么?(面试题)break跳出本层循环,continue继续本层的下一轮循环。2、 使用数组的步骤是什么?声明数组分配空间赋值处理数据1、在开发中中间变量的使用。3月28日-类和对象1、 类和对象之间的关系?类是对象的抽象描述,对象是类的实例。2、 类的开发步骤是什么?发现类发现属性发现方法第一步:定义类:使用关键字class。第二步:创建类的对象:使用关键字new。第三步:使用类的属性和方法:使用“.”操作符。3、 成员变量和局部变量的区别是什么? 作用域不同 成员变量的作用域在整个类内部都是可见的。 局部变量的作用域仅限于定义它的方法。初始值不同 成员变量有默认的一个初始值。 局部变量没有默认的初始值。 生命周期不同 同名的情况下:局部变量优先级高于成员变量。4、 Static修饰与非static修饰的区别? 第1点:针对于数据程序的开发套路1、 数据的输入2、 数据的校验3、 数据的处理第2点:尽量减少冗余的代码。第3点:一个对象可以同时具备属性和方法;也可以只具有属性,也可以只具有方法;第4点:一个方法完成一个功能点;注意好方法的拆和分;通常public方法作为对外主方法,private方法辅助public来完成功能点的开发。第5点:在实际开发中不同的类在一起共同完成一个功能点的开发。第6点:当在开发中如果发现几个方法有同名的局部变量时,可以考虑将其提升为成员变量。(来源于重构)第7点:在设计类,要考虑类与类之间是一对一的关系,还是一对多的关系。举例:手机和电池是一对一的关系;手机和APP是一对多的关系。3月29日-形参和实参1、 一个方法的参数列表不建议超过5个,或者说参数不建议过多。(解决方案:采用类的方式传值或者采用Map)。2、 形参:是在定义方法时对参数的称呼;实参:在调用方法时传递给方法的实际的值。 3、系统(软件)的代码按照工程来组织(java工程、web工程);咱们的软件里面又分了很多模块,模块会按照包来划分。4月01日-静态变量、实例变量1、 静态变量和实例变量的区别?(面试题)静态变量在内存中只有一个内存空间,在加载类的过程中完成静态变量的内存分配,可以直接通过类名来访问。每创建一个新的实例对象,就会为实例变量分配不同的内存,各个对象访问自己的实例变量。无论创建了一个类的多少个对象,静态变量只初始化一次,所有的实例都可以访问静态变量,而且可以通过类名直接访问。 使用静态变量:类名.(类名点)2、 静态变量与静态常量静态变量:private static int sum = 10;静态常量:private static final int sum1 = 20;3、Stringa=a;Stringb=a;Stringc=newString(a);问:a和b分别用双等号(=)和equals比较的结果是什么?为什么?都返回True。 = =比较两个引用是不是指向的同一地址,JAVA中的常量是存在常量池中的,如果用“”赋值的话,会先从常量池中找“a”,如果已存在刚返回它的地址,所以返回True。Equals比较两个地址存的内容是否一致,所以返回True。3、 String类中常用的方法都有哪些(面试题)。toUpperCase( ),toLowerCase( ),(大小写切换)。Split( ),(拆分字符串)。substring( ),(字符截取)。charAt( ),(求一个字符串中某个位置的值)。trim( ),(去掉两端空格)。indexOf( ),(查找指定字符串是否存在)。length( ),(取字符串长度)。Replace( ),替换字符串。concat( ),字符串连接。1、 在实际开发中,建议对静态变量使用多行注释。2、 static在实际开发中解决是共享数据或共享方法的问题,例如:一个班级里面,多个学生,一个老师,这个老师就是共享的。针对于共享数据这块,其实本质就是一对多关系。3、 在实际中静态常量用得最多,语法就是final static 数据类型 变量=初始化值。4、开发中多准备测试数据验证自己的代码在逻辑研究性。5、项目中会有一个公共的包,命名common ,comm。4月02日-字符串、数组1、 String 、StringBuffer、StringBuilder的区别(面试题)String: 适用于少量的字符串操作的情况StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况StringBuffer: 适用于多线程在字符缓冲区进行大量操作的情况,使用的场景jdbc中的statement拼接SQL。2、 | 与 | 以及 & 与&的区别? & 和 | 成为布尔运算符, & 和 |称为条件布尔运算符 两种运算符得到的结果完全相同,但是:条件布尔运算符性能比较好,它检查第一个操作数的值,再根据该操作数的值进行操作,可能根本就不处理第二个操作数。 布尔运算符是运算符前后都会比较是否符合。3、如何判断数组是null还是空呢? 数组为null:是创建传输组的引用,但在堆中并没有数组中的元素. 例如:int array = null; 判断的时候用array. length( ); 数组为空: 数组的空就是数组的长度为0,数组是真正的对象,只是对象中没有元素,也就是说里面没有内容 例如:int array = ; 判断的时候: 直接使用变量名 =null1、 在测试程序执行的时间,使用System.currentTimeMillis()2、 UML中用例图(Use Case)主要使用在需求分析中,图标主要是小人代表用户,椭圆代表功能,矩形代表系统的边界。4月03日-抽象和封装1、 你对面向对象4大特性的理解?(面试题)描述顺序:封装继承多态抽象。 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类;得到继承信息的类被称为子类。 封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口。 多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。多态性分为编译时的多态性和运行时的多态性。方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。2、 方法的重载和重写的区别?(面试题) 方法的重载实现的是编译时多态性,方法重写实现的是运行时的多态性。方法的重载:方法名相同,参数列表不相同,与返回值、访问修饰符无关。方法的重写:方法名相同,参数列表相同,返回值类型相同,访问权限不能严于父类。方法的重载是发生在一个类里面的,对返回类型没有要求。方法的重写是发生在父子类之间的。重写要求子类被重写方法与父类被重写有相同的返回类型。注:构造方法不能被继承,所以不能重写。3、 super关键字来访问父类的成员1 super只能出现在子类的方法和构造方法中2 super调用构造方法时,只能是第一句。3 super不能访问子类的private成员。1、 类的单一原则(面向对象设计五个基本原则之一),简单来说就是一个类只完成一个功能的开发。举例:class Student /只存放与学生相关的属性和方法。2、 我们在定义一个方法的时候,要考虑这个方法啥时候被调用。3、 我们在开发中更多的采用缺省构造+Set方法进行属性的赋值。4、 我们在做B/S的软件过程中:static属性在确保不存在线程安全的问题下才能用,否则,尽量不要用;static方法(Arrays.sort( ))尽量不用能,容易让你按照面向过程的方式去写代码。5、 数据的录入、数据的统计(select 分组查询)4月04日-继承1、 public、private、protected 、default之间的区别是什么?(面试题)2、 多重继承下初始化的顺序是什么?父类后子类,先父类构造方法,后子类构造方法。1、 1、使用继承的好处:1、对于新增类的时候,代码不需要写那么多;2、对于现有的类,维护起来,只需要修改一个地方。(从纵向的维度,解决代码重复的问题)2、 对父类中属性进行读写访问时候:第1种方法,借助于父类中get和set方法进行属性的读写操作;第2种方法,将父类中的属性的访问权限修改为protected。3、 JAVA中extends 一个类,单继承。4、 理解继承: 访问父类构造方法。 访问父类属性。 访问父类方法。5、 子类可以继承父类的所有资源吗? 不能被继承的父类成员: private成员。 子类与父类不在同包,使用默认访问权限的成员。 构造方法。扩展知识1:http:/w

运行Java程序需要的工具软件所在的目录是( )。

A.JDK的bin目录

B.JDK的demo目录

C.JDK的lib日录

D.JDK的jre目录


正确答案:A
解析: 运行Java的JDK一共包含五个目录,分别是:bin目录,该目录包含Java编译器、解释器和许多工具(如服务器工具、IDL、package工具等);lib目录,该目录包含Java库文件;jre目录,该目录是Java程序运行环境的根目录,它下面包含bin子目录,包括平台所用工具和库的可执行文件以及DLL文件:demo目录,该目录包含源代码的程序示例;include目录,该目录包含Win32子目录,都是本地方法的文件。


运行Java程序需要的工具软件所在的目录是( )。

A.JDK的bin目录

B.JDK的dem0目录

C.JDK的lib目录

D.JDK的jre目录


正确答案:A
运行Java的JDK-共包含五个目录,分别是:bin目录,该目录包含Java编译器、解释器和许多工具(如服务器工具、IDL、package工具等);lib目录,该目录包含Java库文件;jre目录,该目录是Java程序运行环境的根目录,它下面包含bin子目录,包括平台所用工具和库的可执行文件以及DLL文件;demo目录,该目录包含源代码的程序示例;include目录,该目录包含Win32子目录,都是本地方法的文件。


下列关于JDK、JRE和JVM关系的描述中正确的是()

A、JDK中包含了JREJVM中包含了JRE。

B、JRE中包含了JDKJDK中包含了JVM。

C、JRE中包含了JDKJVM中包含了JRE。

D、JDK中包含了JREJRE中包含了JVM。


正确答案:D


下列关于JDK安装的说法中,错误的是?

A、Oracle公司提供了多种操作系统的JDK

B、开发工具中已经包含了一个JRE,因此可以选择不再安装公共的JRE环境

C、在安装JDK过程中,源代码指的是Java公共的API

D、开发工具是JDK中的核心功能模块,因此无论是否进行Java程序开发都必须安装


正确答案:D


如果只想运行别人的Java程序可以只安装Java运行环境JRE。()

此题为判断题(对,错)。


答案:对

更多 “Java基础重点难点技能路径学习图(含面试题)” 相关考题
考题 如果jdk的安装路径为:c:/jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项()。A、c:/jdkB、c:/jdk/binC、c:/jre/binD、c:/jre正确答案:B

考题 一个java程序运行从上到下的环境次序是()A、 操作系统、Java程序、jre/jvm、硬件B、 jre/jvm、Java程序、硬件、操作系统C、 java程序、jre/jvm、操作系统、硬件D、 java程序、操作系统、jre/jvm、硬件正确答案:C

考题 单选题一个java程序运行从上到下的环境次序是()A操作系统、Java程序、jre/jvm、硬件Bjre/jvm、Java程序、硬件、操作系统Cjava程序、jre/jvm、操作系统、硬件Djava程序、操作系统、jre/jvm、硬件正确答案:D解析:暂无解析

考题 (难度:中等)jre是java开发工具包,是开发人员所需要安装的环境答案:(no)

考题 单选题下列关于JDK、JRE和JVM关系的描述中,正确的是().A JDK中包含了JRE,JVM中包含了JRE。B JRE中包含了JDK,JDK中包含了JVM。C JRE中包含了JDK,JVM中包含了JRE。D JDK中包含了JRE,JRE中包含了JVM。正确答案:B解析:暂无解析

考题 (难度:中等)jdk是java运行环境,java程序运行所需要安装的环境答案:(no)

考题 单选题一个Java程序运行从上到下的环境次序是()。A 操作系统、Java程序、JRE/JVM、硬件B JRE/JVM、Java程序、硬件、操作系统C Java程序、JRE/JVM、操作系统、硬件D Java程序、操作系统、JRE/JVM、硬件正确答案:B解析:暂无解析

考题 问答题简述JRE和JDK的区别正确答案:JDK是Java开发工具包,它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具。JRE是Java程序运行时环境,它包含Java虚拟机、运行时的类包、Java应用启动器以及一个bin目录解析:暂无解析

考题 下列关于JDK、JRE和JVM关系的描述中,正确的是().A、JDK中包含了JRE,JVM中包含了JRE。B、JRE中包含了JDK,JDK中包含了JVM。C、JRE中包含了JDK,JVM中包含了JRE。D、JDK中包含了JRE,JRE中包含了JVM。正确答案:D

考题 (难度:中等)java中常见的锁主要分为,jvm实现的java对象锁和jdk基于AQS框架实现的锁。答案:(yes)