首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

2020Java高频面试题--Java知识点汇总

JDK和JRE有什么区别? JDK:Java Development Kit的简称,Java开发工具包,它提供了Java程序的开发环境和运行环境,同时包括编译Java程序的编译器和调试器。...在Windows上编写的类和jar文件能够运行在Unix环境下。所以Java是真正的平台无关的语言。 所有这些可移植性的背后是Java字节码。 Java编译器生成的字节码可以由任何JVM解释。...如果你指定了CLASSPATH种jars,那么类加载器就会加载它们。 8. 你认为用于main方法的“ main”是Java中的关键字吗? 不,main只是方法的名称。...一个类文件中可以有多个具有相同名称main的方法。 它不是Java中的关键字。 9. 我们可以将main方法写为public void static而不是public static void吗?...12.Java中的字节和字符数据类型有什么区别? byte和char都是Java中的数字数据类型。 它们用于表示特定范围内的数字。

42351

Java虚拟机详解(七)------虚拟机监控和分析工具(1)——命令行

通过前面的几篇博客,我们介绍了Java虚拟机的内存分配以及内存回收等理论知识,了解这些知识对于我们在实际生产环境中提高系统的运行效率是有很大的帮助的。...但是话又说回来,在实际生产环境中,线上项目正在运行,我们怎么去监控虚拟机运行效率?又或者线上项目发生了OOM,异常堆栈信息,我们又怎么去抓取,然后怎么去分析定位问题呢?   ...该命令有如下常用参数:   ①、-l   显示应用程序main类的完整包名称或应用程序的JAR文件的完整路径名。   ②、-v   显示虚拟机启动时的JVM参数。   ...jstat 是用于监视虚拟机各种运行时状态信息的命令行工具。它可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行时数据,它是运行时期定位虚拟机性能问题的首选工具。...jmap -dump:format=b,file=heap20190821.hprof 16823   后面的数字是进程PID,可以通过jps命令来获取。

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux下Qt创建共享库与链接共享库详解

    ⑤设置类的基本信息 ⑥完成向导 2. 工程文件 ①工程创建完成后,删掉了Qt生成的一些文件,文件目录如下 ?...UI输入两个数字,点击按钮后通过共享库计算,如下: ?...上面的错误是在运行时没有找到共享库,在Linux下,可以使用 ldd命令查看一个可执行程序所需的库,效果如下: ? 2. 为什么在Qt中运行没有报上面的错误?...于是我使用了locate +库名 命令进行搜索,但是并没有在其他路径下发现刚刚生成的共享库;于是我又去找配置Linux环境变量的文件,发现也没有。...在Projects中的Run Environment 下的LD_LIBRARY_PATH对应的Value里面,我看到了在程序中链接库的目录。至此,我觉得我找到了原因。 3.

    5.8K20

    Linux内核版本_linux最新版本是多少

    大家好,又见面了,我是你们的朋友全栈 Linux版本 linux版本分为两类: 内核版本:免费的,它只是操作系统的核心,负责控制硬件、管理文件系统、程序进程等,并不给用户提供各种工具和应用软件; 发行版本...第二个组数字:偶数表示稳定版本;奇数表示开发中版本。 第三个组数字:错误修补的次数。...GNU(“GNU’s Not Unix”的递归首字母缩写词)是一个类Unix操作系统,它是由多个应用程序、系统库、开发工具乃至游戏构成的程序集合。...G++:C++编译器,是GCC的一部分。 GDB:源代码级的调试器。 GNU make:UNIX make命令的免费版本。 Bison:与UNIX yacc兼容的语法分析程序生成器。...有了这么多可用的自由软件,再加上Linux内核,我们可以说:创建一个GNU的、自由的类UNIX系统的目标已经实现了。

    1.8K30

    2020最全Java面试题--基础篇

    JDK和JRE有什么区别? JDK:Java Development Kit的简称,Java开发工具包,它提供了Java程序的开发环境和运行环境,同时包括编译Java程序的编译器和调试器。...在Windows上编写的类和jar文件能够运行在Unix环境下。所以Java是真正的平台无关的语言。 所有这些可移植性的背后是Java字节码。 Java编译器生成的字节码可以由任何JVM解释。...不,main只是方法的名称。 一个类文件中可以有多个具有相同名称main的方法。 它不是Java中的关键字。 9....12.Java中的字节和字符数据类型有什么区别? byte和char都是Java中的数字数据类型。 它们用于表示特定范围内的数字。...为什么需要构造函数? Java是一种面向对象的语言,我们可以在其中创建和使用对象。构造函数是一段类似于方法的代码。它用于创建对象并设置对象的初始状态。

    58431

    Linux之shell编程基础

    为什么要学习和使用shell? Shell属于内置的脚本 程序开发的效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理) 语法简单,代码写起来比较轻松,简单易学 常见的shell种类?...在linux中有很多类型的shell,不同的shell具备不同的功能,shell还决定了脚本中函数的语法,Linux中默认的shell是/bin/bash(重点),流行的shell有ash、bash、ksh...csh C shell 使用的是“类C”语法,csh是具有C语言风格的一种shell,其内部命令有52个,较为庞大。目前使用的并不多,已经被/bin/tcsh所取代。.../test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,Linux 系统会去 PATH(环境变量) 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin...变量名的规范 注意,变量名后面的等号左右不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则: 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。

    3.3K20

    VIM文本编辑器

    为什么要使用vim?...虽然在linux下的文本编辑器众多,这些工具都有各自的优点,但是有几点是其它编辑工具所不能比拟的 所有的类Unix系统都内建vi,其它的编辑工具则不一定,而vim相当于是vi的升级版 很多软件的编辑界面都会调用...vi,如后面提到的crontab、edquota等 vim具有程序编辑能力,可以主动以字体颜色标识语法的正确性,方便代码编写 程序简单,编辑速度非常快 综上所述这是一个老式的文字处理工具...0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符处 (常用) $ 或功能键[End] 移动到这一行的最后面字符处(常用) H 光标移动到这个屏幕的最上方那一行的第一个字符 M 光标移动到这个屏幕的中央那一行的第一个字符...:w [filename] 将编辑的数据储存成另一个档案(类似另存新档) :r [filename] 在编辑的数据中,从指定的文件读取数据并加到光标所在行后面 :n1,n2 w [filename] 将

    1.6K40

    嵌入式 C 语言(中)

    分析一下结构体声明的细节,首先是struct关键字,它表明跟在其后的是一个结构,后面是一个可选的标记,后面的程序中可以使用该标记引用该结构,因而我们可以在后面的程序中可以这样声明: struct [结构体名...在内存中这个结构中的成员也是连续存储的。在通常程序设计中,struct还会与typedef一起使用,具体的会在后面的《typedef用法》一节介绍。...typedef 用法 typedef工具是一个高级数据特性,利用typedef可以为某一类型自定义名称。...在前面的示例中,用BYTE代 替unsigned char表明你打算用BYTE类型的变量表示数字而不是字符。使用typedef还能提高程序的可移植性。...#include指令有两种形式: #include // 文件名在尖括号内 #include “myfile.h” // 文件名在双引号内 在UNIX中,尖括号告诉预处理器在标准系统目录中寻找该文件

    1.4K20

    代码整洁之道-读书笔记之有意义的命名

    既然有这么多命名要做,不妨做好它,下文列出了取个好名字的几条简单规则。1.2 名副其实变量、函数或类的名称应该已经答复了所有的大问题。它应该告诉你,他为什么会存在,做什么事,应该怎么用。...应当避免使用与本意相悖的词。例如,hp、aix和sco都不该用做变量名,因为它们都是UNIX平台或类UNIX平台的专有名称。...1.16 添加有意义的语境很少有名称是能自我说明的—多数都不能。反之,你需要用有良好命名的类、函数或名称空间来放置名称,给读者提供语境。如果没这么做,给名称添加前缀就是最后一招了。...“加油站豪华版”(Gas Station Deluxe)的应用,在其中给每个类添加GSD前缀就不是什么好点子。...再比如,你在GSD应用程序中的记账模块创建了一个表示邮件地址的类,然后给该类命名为 GSDAccountAddress。

    520100

    汇总了89个嵌入式相关的基本概念!你懂几个?

    多任务的一般方法是运行第一个程序的一段代码,保存工作环境;再运行第二个程序的一段代码,保存环境;……恢复第一个程序的工作环境,执行第一个程序的下一段代码。 13....FreeBSD:FreeBSD 是一个类 UNIX 的操作系统,也是 FreeBSD 项目的发展成果。 30....X Window System:X 窗口系统(X11,或简称X)是用于位图显示的窗口系统,在类 UNIX 操作系统上很常见。 31. Gnome:GNOME 是一个完全由自由软件组成的桌面环境。...每个单独的节点都拥有全局集合操作系统的特定软件的一部分。 34. 程序计数器(Program counter):程序计数器 是一个 CPU 中的寄存器,用于指示计算机在其程序序列中的位置。 35....缓存命中(cache hit):当应用程序或软件请求数据时,会首先发生缓存命中。首先,中央处理单元(CPU)在其最近的内存位置(通常是主缓存)中查找数据。

    39040

    用于松散耦合分布式系统的Chubby锁服务 (2)

    2.2 System structure Chubby有两个通过RPC进行通信的主要组件:一个是服务器,另一个是客户端应用程序连接的库;见图1。...写入请求通过共识协议传播到所有的副本;当写入请求到达单元中的大多数副本时,这些请求被确认。读取请求仅由领导者满足;只要领导者租约没有过期,这就是安全的,因为不可能存在其他领导者。...如果一个副本发生故障,并且在几个小时内没有恢复,一个简单的替换系统会从一个空闲的池中选择一个新的机器,并在其上启动锁服务器程序。然后,它更新DNS表,用新副本的IP地址替换故障副本的IP地址。...实例号;大于之前任何具有相同名称的节点的实例号。 内容生成号(仅文件);当文件的内容被写入时,这个数字会增加。 一个锁的生成号码;当节点的锁从free过渡到hold时,这个号码会增加。...ACL生成数;当节点的ACL名称被写入时,这个数字会增加。 Chubby还开放了一个64位的文件内容校验,因此客户可以判断文件是否不同。 客户端打开节点以获得类似于UNIX文件描述符的句柄。

    41510

    java基础学习_概述_day01总结

    JRE:Java程序的运行环境。     JDK:Java程序的开发环境。...:   A:Java程序的最基本单位是类,所以我们要定义一个类。     ...格式:class 类名     举例:class HelloWorld   B:在类中写内容的时候,要用大括号括起来。   C:Java程序要想执行,必须有main方法。     ...但是,注意:       javac后面跟的是文件名.扩展名 例如:javac HelloWorld.java       java后面跟的是类名且不带扩展名 例如:java HelloWorld...(2)path配置的两种方案: A:方案1(了解)       将jdk安装目录下的bin目录添加到环境变量中的系统变量path中的最左边(并添加分号)。(为什么最左边呢?

    56310

    程序员必知的 89 个操作系统核心概念

    多任务的一般方法是运行第一个程序的一段代码,保存工作环境;再运行第二个程序的一段代码,保存环境;…… 恢复第一个程序的工作环境,执行第一个程序的下一段代码。 13....FreeBSD:FreeBSD 是一个类 UNIX 的操作系统,也是 FreeBSD 项目的发展成果。 30....X Window System:X 窗口系统(X11,或简称 X)是用于位图显示的窗口系统,在类 UNIX 操作系统上很常见。 31. Gnome:GNOME 是一个完全由自由软件组成的桌面环境。...每个单独的节点都拥有全局集合操作系统的特定软件的一部分。 34. 程序计数器(Program counter):程序计数器 是一个 CPU 中的寄存器,用于指示计算机在其程序序列中的位置。 35....缓存命中(cache hit):当应用程序或软件请求数据时,会首先发生缓存命中。首先,中央处理单元(CPU)在其最近的内存位置(通常是主缓存)中查找数据。

    30310

    编程5分钟,命名2小时!

    注意命名,而且一旦发现有更好的名称,就换掉旧的。这么做,读你代码的人(包括你自己)都会更开心。 变量、函数或类的名称应该已经答复了所有的大问题。它该告诉你,它为什么会存在,它做什么事,应该怎么用。...应当避免使用与本意相悖的词,例如,hp、aix和sco都不该用作变量名,因为它们都是Unix平台或类Unix平台的专有名称。...05 使用可搜索的名称 对于单字母名称和数字常量,有一个问题,就是很难在一大篇文字中找出来。...而且,程序员趋向于使用更小的类、更短的方法,好让每个变量的定义都在视野范围之内。 Java程序员不需要类型编码,因为对象是强类型的,代码编辑环境已经先进到在编译开始前就能监测到类型错误的程度!...应当把类和函数做得足够小,以消除对成员前缀的需要。你应当使用某种可以高亮或用颜色标出成员的编辑环境。

    54620

    程序员必知的 89 个操作系统核心概念

    多任务的一般方法是运行第一个程序的一段代码,保存工作环境;再运行第二个程序的一段代码,保存环境;…… 恢复第一个程序的工作环境,执行第一个程序的下一段代码。 13....FreeBSD:FreeBSD 是一个类 UNIX 的操作系统,也是 FreeBSD 项目的发展成果。 30....X Window System:X 窗口系统(X11,或简称 X)是用于位图显示的窗口系统,在类 UNIX 操作系统上很常见。 31. Gnome:GNOME 是一个完全由自由软件组成的桌面环境。...每个单独的节点都拥有全局集合操作系统的特定软件的一部分。 34. 程序计数器(Program counter):程序计数器 是一个 CPU 中的寄存器,用于指示计算机在其程序序列中的位置。 35....缓存命中(cache hit):当应用程序或软件请求数据时,会首先发生缓存命中。首先,中央处理单元(CPU)在其最近的内存位置(通常是主缓存)中查找数据。

    26330

    编程5分钟,命名2小时!聊聊命名规则!

    注意命名,而且一旦发现有更好的名称,就换掉旧的。这么做,读你代码的人(包括你自己)都会更开心。 变量、函数或类的名称应该已经答复了所有的大问题。它该告诉你,它为什么会存在,它做什么事,应该怎么用。...应当避免使用与本意相悖的词,例如,hp、aix和sco都不该用作变量名,因为它们都是Unix平台或类Unix平台的专有名称。...05 使用可搜索的名称 对于单字母名称和数字常量,有一个问题,就是很难在一大篇文字中找出来。...而且,程序员趋向于使用更小的类、更短的方法,好让每个变量的定义都在视野范围之内。 Java程序员不需要类型编码,因为对象是强类型的,代码编辑环境已经先进到在编译开始前就能监测到类型错误的程度!...应当把类和函数做得足够小,以消除对成员前缀的需要。你应当使用某种可以高亮或用颜色标出成员的编辑环境。

    95420

    编程5分钟,命名2小时!聊聊命名规则!

    注意命名,而且一旦发现有更好的名称,就换掉旧的。这么做,读你代码的人(包括你自己)都会更开心。 变量、函数或类的名称应该已经答复了所有的大问题。它该告诉你,它为什么会存在,它做什么事,应该怎么用。...应当避免使用与本意相悖的词,例如,hp、aix和sco都不该用作变量名,因为它们都是Unix平台或类Unix平台的专有名称。...05 使用可搜索的名称 对于单字母名称和数字常量,有一个问题,就是很难在一大篇文字中找出来。...而且,程序员趋向于使用更小的类、更短的方法,好让每个变量的定义都在视野范围之内。 Java程序员不需要类型编码,因为对象是强类型的,代码编辑环境已经先进到在编译开始前就能监测到类型错误的程度!...应当把类和函数做得足够小,以消除对成员前缀的需要。你应当使用某种可以高亮或用颜色标出成员的编辑环境。

    46930
    领券