core java
CoreJavaOOP考试题

CoreJavaOOP考试题考试时间:90分钟考试总分:100分一、选择题(不定项选择)(2 * 20 = 40)1.下面哪些行为没有体现了Java的多态性(B)A.方法的覆盖B.抽象方法C.方法的重载D.类型转换2.下列说法正确的是(D)A.所有类都必须定义构造方法(构造器)B.构造方法必须初始化类的所有数据成员C.子类定义了构造器后,不再调用父类的构造器D.构造方法可以访问类的非静态成员3.下面代码运行的结果是(C)class F{Str ing name = “name_F”;private int age;public F(){}}class C extends F{String name = “name_C”;public C(){}public static void main(String[] args){F f = new C();C c = new C();System.out.println( +” ”+);}}_C name_C_C name_F_F name_C_F name_F4.public class Outer{private int index = 10;class Inner{private int index = 20;void print(){System.out.println(_____);System.out.println(_____);}}void print(){System.out.println(_____);}public static void main(String[] args){Outer o = new Outer();Outer.Inner i = o.new Inner();o.print();i.print();}}程序运行的结果是 10 20 10 ,则空白处填写的代码是(D)A.index index indexB.index Outer.index indexC.index index Outer.indexD.index Outer.this.index index5.class Base{static void test(){System.out.println(“Base.test()”);}}public class Child extends Base{static void test(){System.out.println(“Child.test()”);}public static void main(String[] args){Base base = new Child();Child child = new Child();base.test();child.test();}}程序运行的结果是(C)A.Child.test() Child.test()B.Child.test() Base.test()C.Base.test() Child.test()D.Base.test() Base.test()6.类中用多重catch 处理异常时,(B)异常类应最后列出。
oshi-core用法

oshi-core用法Oshi-core是一个用Java编写的用于获取系统信息的库。
它可以用于获取各种系统信息,如操作系统、硬件、进程和网络等。
以下是使用Oshi-core的基本用法:1. 引入Oshi-core库到你的Java项目中。
可以通过Maven或手动下载jar包的方式引入。
2. 创建一个SystemInfo对象:```javaSystemInfo systemInfo = new SystemInfo();```3. 获取操作系统信息:```javaOperatingSystem operatingSystem =systemInfo.getOperatingSystem();String osName = operatingSystem.getFamily();String osVersion = operatingSystem.getVersion().getVersion();```4. 获取硬件信息:```javaHardwareAbstractionLayer hardware = systemInfo.getHardware(); CentralProcessor processor = hardware.getProcessor();String processorName =processor.getProcessorIdentifier().getName();long physicalMemorySize = hardware.getMemory().getTotal();```5. 获取进程信息:```javaOperatingSystem os = systemInfo.getOperatingSystem(); OSProcess[] processes = os.getProcesses(5, OperatingSystem.ProcessSort.CPU);for (OSProcess process : processes) {String processName = process.getName();int processId = process.getProcessID();double cpuUsage = process.getProcessCpuLoadBetweenTicks(); }```6. 获取网络信息:```javaNetworkIF[] networkIFs = hardware.getNetworkIFs();for (NetworkIF net : networkIFs) {String networkName = net.getName();long bytesReceived = net.getBytesRecv();long bytesSent = net.getBytesSent();}```这只是Oshi-core的基本用法示例。
《CoreJava》理论试题题库答案版

《CoreJava》理论试题题库答案版得分阅卷人一、单选题(20题,共38分)1、(2分)基本数据类型float的包装类是哪项,(C) A( Integer B( DoubleC( Float D( Character 2、(2分)使用下列哪个修饰符定义的类不能被继承( C ) A. static B. abstract C. final D. Native3、(1分)下列类的定义,错误的是( D ) A. public class test extends Object{……} 学院班级姓名 B. final class operators{……}密封线内不要答题 C. class Point{……}D. void class Point{……}4、(2分)静态内部类是指使用(B)来修饰的内部类 A(final B.staticC.publicD.protected5、(2分)匿名内部类的特点下面错误的是(b) A、匿名内部类没有构造方法B、匿名内部类是静态的C、它主要用于继承其他类或实现接口D、它是一个特殊的局部内部类6、(2分)下列哪个类不是java基本数据类型的封装类,( C )A. Integer;B. Byte;C. String;D. Character;7、(1分)基本数据类型char的包装类是哪项,( D )A intB charC StringD Character8、(2分)阅读以下程序代码,作出分析:public class Test { public static void main(String[]args) { boolean b = true; b=new Apple().equals(new Apple()); System.out.println(b); }}class1 / 49Apple{}该程序的输出结果是:(A)A(falseB(trueC. 不确定结果D. 编译错误9、(2分)List接口的特点是哪项,(C)A(不允许重复元素,元素无顺序B(不允许重复元素,元素无顺序c(允许重复元素,元素有顺序D(允许重复元素,元素无顺序10、(2分)关于HashMap和HashTable的说法错误的是( D ): A. HashMap和HashTable都是Map接口的实现类B. HashTable是线性安全的C. HashMap是线性不安全的D(HashTable要比HashMap的性能高一点11、(2分)当程序调用一个null对象的方法或属性时,这将引起(A )异常A NullPointerExceptionB NumberFormatExceptionC IndexOutOfBoundExceptionD 以上都可能12、(2分)局部内部类是定义在(B)A.外部类里面 B、外部类的某个方法里面 C、通过实现接口来实现 D、都可以13、(1分)创建一个数据库对象的关键字是( D )A、alterB、newC、addD、create 14、(2分):在数据库中,下列表示整型数据类型的是(B)。
linux javacore文件生成指令

linux javacore文件生成指令JavaCore文件是一种用于分析Java程序运行时状态的重要工具。
它记录了Java虚拟机(JVM)在程序运行过程中的堆栈信息、线程信息、内存使用情况等,对于分析程序的性能问题和调试故障非常有帮助。
在Linux系统中,我们可以使用一些命令来生成JavaCore 文件。
我们介绍一下jstack命令。
jstack是JDK中自带的一个工具,用于生成JavaCore文件。
使用jstack命令时,需要指定目标Java进程的进程ID。
例如,要生成Java进程ID为12345的JavaCore文件,可以使用以下命令:```shelljstack 12345 > javacore.txt```在这个例子中,我们使用jstack命令生成JavaCore文件,并将输出重定向到一个名为javacore.txt的文件中。
通过这个文件,我们可以查看Java进程的堆栈信息。
除了使用jstack命令,我们还可以使用kill命令来生成JavaCore 文件。
具体而言,我们可以向目标Java进程发送一个SIGQUIT信号,这会导致Java进程生成一个JavaCore文件。
假设我们的目标Java 进程的进程ID为12345,以下是使用kill命令生成JavaCore文件的示例:```shellkill -3 12345```在这个例子中,我们使用kill命令向进程ID为12345的Java进程发送SIGQUIT信号。
Java进程会在收到信号后生成一个JavaCore 文件。
需要注意的是,生成JavaCore文件可能会影响Java进程的性能,因此在生产环境中应谨慎使用。
最好在测试或开发环境中进行操作。
除了生成JavaCore文件,我们还可以使用其他命令来分析JavaCore文件。
比如,我们可以使用jstack命令来查看JavaCore 文件中的堆栈信息:```shelljstack -F javacore.txt```在这个例子中,我们使用jstack命令查看名为javacore.txt的JavaCore文件中的堆栈信息。
达内corejava第二次测试试题(含答案请先做在对)

达内corejava第二次考试试题类型:单选题试题1已知变量a和obj的定义如下:Object[] a1 = { "a", "b", "c" };Object obj = a1;则下面语句运行时会抛出异常的是( )。
CA.Object[] a2 = (Object[])obj;B.String str1 = (String)((Object[])obj)[1]C.String[] a3 = (String[])objD.String str2 = (String)a1[2]试题2已知类Foo的定义如下:public class Foo {int value;Foo(int value) {this.value = value;}}运行下面程序段:Foo[] a1 = { new Foo(1), new Foo(2), new Foo(3) }; Foo[] a2 = new Foo[a1.length];System.arraycopy(a1, 0, a2, 0, a1.length);System.out.println((a1 == a2) + "," + (a1[1] == a2[1]));控制台输出的结果是( )。
AA.false,trueB.false,falseC.true,trueD.true,false试题3已知类Foo的定义如下:public class Foo {int value;Foo(int value) {this.value = value;}public boolean equals(Object obj) {if (obj instanceof Foo) {Foo foo = (Foo) obj;return value == foo.value;} else {return false;}}运行下面程序段:ArrayList list = new ArrayList();HashSet set = new HashSet();list.add(new Foo(1));set.add(new Foo(1));System.out.println(list.contains(new Foo(1)) + "," + set.contains(new Foo(1)));控制台输出的结果是( )。
corejava部分面试题

一. Java基础部分面试题1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?答:可以包括但公共类只能有一个、且与源文件名相同2、Java有没有goto?答:有、但是是作为保留字存在的。
3、说说&和&&的区别。
答:在java中,这两个符号都属于逻辑运算符与的操作。
但&&表示的是短路运算,所谓的短路运算是,与运算中,两边的表达式的布尔值,如果有一个为假,另外一个就不需要进行判断了。
最为常见的地方是,if(o!=null&&o.equals(s)) 如果第一个为false 那么不会对第二个式子判断,但如果是非短路运算符& 会对第二个判断,但此时o为空,会抛出NullPointerExcetption异常而&还有取地址的作用常用来对一个整数的后四bit位计算(常和ox0f进行运算)。
4、在JAVA中如何跳出当前的多重嵌套循环?答:关键字常见的有return、ok标号和break。
用法上:ok是使用带有ok标号的break 语句我最常用的不是这一种,而是return和让外层的循环条件表达式的结果可以受到内层循环代码的控制。
5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上?答:可以作用在byte、short、int、char(及以上四种的包装类)7.0之后支持String 和枚举.可以理解为 expression值只能是整型表达式和枚举常量6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?答:错误在于s1+1是一个短整型和一个1相加 1作为字面值是byte、short、int通用的,但在进行刚才的加法运算时,会被认为是一个整型。
整型和短整型相加会出现自动类型提升。
将提升后的整型值赋值给一个短整型会报错而直接给short赋值一个1不会被认为是整型,只有在加法运算时会。
coreJavaBasic试题带答案

coreJavaBasic试题带答案CoreJavaBasic考试试卷考试时间:90分钟考题总分:100分⼀:选择题,30题共60分(每⼩题2分不定项选择)1.What will be the output when you compile and execute the following program. public class Base{ static public void main(String[] a) {System.out.println(6 + 6 + "(Result)");}}Select most appropriate answer.A 66(Result)B 12(Result)C Runtime Error.Incompatible type for +. Can't convert an int to a string.D Compilation Error.Incompatible type for +. Can't add a string to an int.2.执⾏完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的():A、x[24]为0B、x[24]未定义C、x[25]为0D、x[0]为空3.编译运⾏以下程序后,关于输出结果的说明正确的是():public class Conditional{public static void main(String args[ ]){int x=4;System.out.println(“value is “+ ((x>4) ? 99.9 :9));}}A、输出结果为:value is 99.99B、输出结果为:value is 9C、输出结果为:value is 9.0D、编译错误4.执⾏下列代码后,哪个结论是正确的int[] s=new int[10];A.s[9] 为-1D.s.length 为105.在字符串前⾯加上_____符号,则字符串中的转义字符将不被处理。
java 中线程池的几个参数

java 中线程池的几个参数
Java中线程池的几个参数包括:
1. corePoolSize:线程池的核心线程数,即线程池中一直保持
的线程数量,即使线程处于空闲状态。
2. maximumPoolSize:线程池的最大线程数,即线程池中允许
存在的最大线程数量。
3. keepAliveTime:线程在空闲状态下的存活时间,当线程池
中的线程数量超过corePoolSize时,如果空闲线程超过指定时
间则会被终止。
4. unit:keepAliveTime的时间单位,可以是毫秒、秒、分钟等。
5. workQueue:用于保存等待执行的任务的阻塞队列,当任务
数量超过核心线程数时,新增的任务会被添加到该队列中等待执行。
6. threadFactory:用于创建新线程的工厂。
7. handler:当线程池已满且阻塞队列已满时,用于处理新提交的任务的拒绝策略,可以是抛出异常、丢弃任务等。
这些参数可以通过ThreadPoolExecutor类的构造方法进行设置,例如:
```
ThreadPoolExecutor executor = new
ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, threadFactory, handler);
```。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Chapter 01Getting Started一、核心概念1.什么叫类?类就是某一种事物的一般性的集合体,是相同或相似的各个事物共同特性的一种抽象。
2.什么叫对象?在面向对象概念中,对象(Object)是类的实例(instance)。
对象与类的关系就像变量与数据类型的关系一样。
3.类的核心特性有哪些?类具有封装性、继承性和多态性。
封装性:类的封装性为类的成员提供公有、缺省、保护和私有等多级访问权限,目的是隐藏类中的私有变量和类中方法的实现细节。
继承性:类的继承性提供从已存在的类创建新类的机制,继承(inheritance)使一个新类自动拥有被继承类(父类)的全部成员。
多态性:类的多态性提供类中方法执行的多样性,多态性有两种表现形式:重载和覆盖。
4.方法对象中的方法表达了对象所具有的行为。
方法实际上就是函数。
5.属性一个对象的属性是能够被外界或对象所处的环境所感知或操纵的数据或状态。
6.Java是什么?Java是一门易于变成的跨平台编程语言,同时又是一个开发、应用、执行和部署平台。
Java包括Java编程语言,开发工具和环境、Java类库等。
Java语言是由美国Sun公司开发的一种完全面向对象的程序设计语言。
Java语言由C++语言发展起来,但比C++语言简单。
Java语言具有简单、与平台无关、高效、健壮、安全、多线程等特点,它是当前网络编程的首选语言。
Java既是一门编程语言又是一个平台。
7.为什么要用Java?最主要的原因是Java与平台无关,一次编译,处处运行,以及它的易于编程的特性。
8.用Java开发程序的步骤是怎么样的?编写源代码(*.java)→编译(javac *.java)→执行(java *.class)9.Java的环境变量由于Java是平台无关的,安装JDK时Java不会自动设置路径,也不会修改注册表,需要用户自行设置环境变量,但不需要修改注册表。
JAVA_HOME:JDK的安装路径;CLASSPATH:JVM装载、class字节码文件时的搜索路径;PATH:系统的环境变量,命令的搜索路径。
path变量指出Java提供的可执行文件的路径;class path变量指出Java包的路径(for Windows)set path=%path%;C:\Program Files\jdk1.5.0\bin;set classpath=.;C:\Progam Files\jdk1.5.0\lib10.JVM是什么?JVM,Java Virtual Machine,Java虚拟机,是一个逻辑的操作系统,它屏蔽了硬件和平台信息,JVM能将字节码文件(*.class)解释并执行。
正是这种独立执行的方式,使得Java具有与平台无关的特性。
11.类的加载过程类加载器(class loader)加载字节码到内存,JVM内存数据区将对象状态放置在堆区,各线程使用的变量放在栈区,类的特征放在方法区。
然后进行字节码验证(Byte code verifer),再执行。
二、常用Java命令1.$javac <opitions><source files>编译源代码2.$java <options> class [args]执行类文件(Byte code 文件)3.$jdb <options> <class> <arguments>调试命令4.$javadoc [options] [packagenames] [sourcefiles] [@files]生成Javadoc文档5.$jar {ctxu} {jar -flie} [manifest -flie] [-c directory] fiels…解压缩jar文件命令c:创建新的压缩文件(create)t:列出清单(tail)u:更新压缩文件(update)v:显示压缩过程(view)f:压缩文件的名称(filename)m;按照清单指定信息进行压缩三、语法与规范1. 一个源文件只有一个public类;2.public源文件可以有多个类定义;3.源文件名字必须与public类名一致4.包名必须在第一行(except annotation)注释通常放在第一行,定义了包,则包定义放在第一行(包用来区分同名的类以及组织类);5.包名可以有零个或一个,但不可以有多个;6.源文件如果带包的话,最好存放在包结构对应的目录下。
Chapter 02Identifiers,Keywords and Types1.标识符:定义:程序语言中用于标识变量名、方法名、类名的字符串。
begin with character"_" or "$"。
Case sensitive编码规范:类名:首字母大写,每一个单词的首字母也大写(驼峰格式),并且取有意义的单词或单词的联合。
方法名:首字母小写,每一个单词的首字母也大写,方法名最好取动名词,并且取有意义的单词或单词的联合。
变量名:首字母小写,每一个单词的首字母也大写。
常量名:每一个字母都要大写。
如果常量名是由两个或几个字母的联合,用下划线联接。
2.关键字:程序语言当中,程序已经使用,用户不得再使用的单词。
一般keywords都是小写。
3.数据类型:基本类型:boolean byte char double float int long short基本类型不是对象,所以基本类型没有方法,需要使用包装类才能使基本类型有自己的方法。
Example:public class Test(){private int i=10;public void f(){for(int k=0;k<i;k++){i--;System.out.println(i);}}public static void main(String[] args ){f();}}API: printlnpublic void println()Terminate the current line by writing the line separator string. The lineseparator string is defined by the system property line.separator, and isnot necessarily a single newline character ('\n').请问:print语句一共运行几次?答案:编译报错整型:byte short int long浮点型:float double(浮点型由基数、指数、尾数组成,默认情况下是double 型)布尔型:boolean另一分类方法:布尔型(boolean)和数值型cast:隐式转换:由大到小;强制转换:由小到大(强制转换的前提是两种类型必须有继承关系)char:字符编码:将字符按照某种规则转换成数字。
ASCII码:美国国家信息标准编码,一个字节来表示英文中所用的字符。
ISO8859-1:国际标准化组织把一个字节来表示英文中所用的字符。
GB2312:大陆编码标准,6000多个。
GBK:大陆编码标准,20000多个。
Unicode:二个字节,表示所有字符,60000多个,Unicode组织提出,Java采用Unicode编码,几乎包含所有字符。
String:字符串,是一个类,不是一个基本类型。
String,要用" "进行赋值表示。
default data type :int引用类型:类,接口,数组类:定义:从对象中抽象出来的一个模板,在模板中有方法特征和属性特征,可以通过类来创建相应的实例。
结构:package [packagenames];import <class or package>;修饰符 class类名{修饰符 属性类型属性名修饰符 构造器名修饰符 返回类型方法名(参数类型 参数名)main方法执行过程:1.先到方法区搜索Student。
class对象(此对象它描述了Student类的方法特征及静态成员等),如果搜索不到则去加载Student的字节码文件;2.通过classpath查找对应的Student字节码文件,找不到就返回错误:类找不到;3.将字节码文件的二进制数据转换为class对象放置于方法区,加载完成;4.验证字节码文件;5.在堆区划分空间,放置Student对象;6.在栈(stack)区放置引用类型变量stu,stu值的Student对象的地址;7.Student对象存放class对象的地址;8.通过stu引用类型变量的值找到Student对象,通过Student对象存放class对象的地址找到对应的study方法,然后执行;9.释放资源,JVM运行结束。
基本类型于引用类型的区别:(1)引用类型存放的是对象的地址;基本类型存放的是变量的实际值。
(2)引用类型变量可用指向复杂的数据结构。
(3)引用类型变量可用使用"."操作,来访问它所指向的对象的方法或者属性。
Chapter 03Expressions and Flow Control1.表达式:Definition:运算符和操作数按照一定的规则组成的语句。
运算符:(1)赋值运算符(2)比较运算符(3)相等运算符(4)移位运算符对一个数的二进制位进行移位操作。
左移(<<) Description:×2的n次方Example:3(10)=00000011(2)右移(>>) Description:/2的n次方Example:3>>2=?移动的时候,对于最高位,复制符号位。
无条件右移(>>>)在移动的时候,对于最高位(符号位),不复制最高位(符号位)。
负数右移的位数越小,值越大。
Example:-12>>>1=?(5)位运算符对一个数值的二进制位进行操作。
~ :取反^ :异或| :或&:与(6)逻辑运算符&&:短路与操作(7)条件运算符Syntax:? :2.变量的作用域:Definition:变量生存的时间。
(1)变量的分类:类的成员变量①类的静态成员变量Example:Student类的带static修饰的属性类的静态成员变量的生命周期:从类加载开始,到类被卸载结束。
静态成员初始化以后放在方法区。
②类的实例成员变量Student类的不带static修饰的属性。
变量初始化以后放在堆区。
实例变量的生命周期:A.从对象生成开始,到对象被回收时结束。
B.类的实例成员变量在对象初始化的时候,会赋默认值。