主頁 > 軟體設計 > Flume監控之Ganglia安裝與簡單實踐

Flume監控之Ganglia安裝與簡單實踐

2020-09-21 17:40:23 軟體設計

寫在前面: 博主是一名大資料的初學者,昵稱來源于《愛麗絲夢游仙境》中的Alice和自己的昵稱,作為一名互聯網小白,寫博客一方面是為了記錄自己的學習歷程,一方面是希望能夠幫助到很多和自己一樣處于起步階段的萌新,由于水平有限,博客中難免會有一些錯誤,有紕漏之處懇請各位大佬不吝賜教!個人小站:http://alices.ibilibili.xyz/ , 博客主頁:https://alice.blog.csdn.net/
盡管當前水平可能不及各位大佬,但我還是希望自己能夠做得更好,因為一天的生活就是一生的縮影,我希望在最美的年華,做最好的自己

上一篇博客,小菌為大家介紹了在Flume中如何實作過濾器的效果👉大資料小白必知必會之Flume實作過濾器效果,相信大家在看后一定還有很多的疑惑,我們該如何監控到Flume在運行程序中的變化呢?不用擔心,本篇博客,我們就來學習一下,關于Flume的監控之Ganglia的安裝與簡單實踐

碼字不易,先贊后看!

在這里插入圖片描述

文章目錄

      • Flume 監控之 Ganglia
        • 1、Ganglia的安裝與部署
          • <1> 安裝httpd服務與php
          • <2> 安裝其他依賴
          • <3> 安裝ganglia
          • <4>修改組態檔
            • 1)、修改組態檔/etc/httpd/conf.d/ganglia.conf
            • 2)、修改組態檔/etc/ganglia/gmetad.conf
            • 3)、修改組態檔/etc/ganglia/gmond.conf
            • 4)、修改組態檔/etc/selinux/config
          • <5>啟動ganglia
          • <6>打開網頁瀏覽ganglia頁面
        • 2、操作Flume測驗監控
          • <1> 修改conf目錄下的flume-env.sh配置:
          • <2>啟動Flume任務
          • <3>發送資料觀察ganglia監測圖
      • 小結


Flume 監控之 Ganglia

1、Ganglia的安裝與部署

<1> 安裝httpd服務與php

sudo yum -y install httpd php

[root@node01 ~]# sudo yum -y install httpd php
已加載插件:fastestmirror, security
設定安裝行程
Determining fastest mirrors
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
base                                                      | 3.7 kB     00:00
extras                                                    | 3.4 kB     00:00
extras/primary_db                                         |  29 kB     00:00
updates                                                   | 3.4 kB     00:00
updates/primary_db                                        |  11 MB     00:01
包 httpd-2.2.15-69.el6.centos.x86_64 已安裝并且是最新版本
解決依賴關系
--> 執行事務檢查
---> Package php.x86_64 0:5.3.3-50.el6_10 will be 安裝
--> 處理依賴關系 php-common(x86-64) = 5.3.3-50.el6_10,它被軟體包 php-5.3.3-50.e6_10.x86_64 需要
--> 處理依賴關系 php-cli(x86-64) = 5.3.3-50.el6_10,它被軟體包 php-5.3.3-50.el6_0.x86_64 需要
--> 執行事務檢查
---> Package php-cli.x86_64 0:5.3.3-50.el6_10 will be 安裝
---> Package php-common.x86_64 0:5.3.3-50.el6_10 will be 安裝
--> 完成依賴關系計算

依賴關系解決

================================================================================
 軟體包             架構           版本                    倉庫             大小
================================================================================
正在安裝:
 php                x86_64         5.3.3-50.el6_10         updates         1.1 M
為依賴而安裝:
 php-cli            x86_64         5.3.3-50.el6_10         updates         2.2 M
 php-common         x86_64         5.3.3-50.el6_10         updates         530 k

事務概要
================================================================================
Install       3 Package(s)

總下載量:3.8 M
Installed size: 13 M
下載軟體包:
(1/3): php-5.3.3-50.el6_10.x86_64.rpm                     | 1.1 MB     00:00
(2/3): php-cli-5.3.3-50.el6_10.x86_64.rpm                 | 2.2 MB     00:00
(3/3): php-common-5.3.3-50.el6_10.x86_64.rpm              | 530 kB     00:00
--------------------------------------------------------------------------------
總計                                             4.7 MB/s | 3.8 MB     00:00
運行 rpm_check_debug
執行事務測驗
事務測驗成功
執行事務
  正在安裝   : php-common-5.3.3-50.el6_10.x86_64                             1/3
  正在安裝   : php-cli-5.3.3-50.el6_10.x86_64                                2/3
  正在安裝   : php-5.3.3-50.el6_10.x86_64                                    3/3
  Verifying  : php-5.3.3-50.el6_10.x86_64                                    1/3
  Verifying  : php-cli-5.3.3-50.el6_10.x86_64                                2/3
  Verifying  : php-common-5.3.3-50.el6_10.x86_64                             3/3

已安裝:
  php.x86_64 0:5.3.3-50.el6_10

作為依賴被安裝:
  php-cli.x86_64 0:5.3.3-50.el6_10      php-common.x86_64 0:5.3.3-50.el6_10

完畢!

<2> 安裝其他依賴

sudo yum -y install rrdtool perl-rrdtool rrdtool-devel

[root@node01 ~]# sudo yum -y install rrdtool
已加載插件:fastestmirror, security
設定安裝行程
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
解決依賴關系
--> 執行事務檢查
---> Package rrdtool.x86_64 0:1.3.8-10.el6 will be 安裝
--> 處理依賴關系 dejavu-sans-mono-fonts,它被軟體包 rrdtool-1.3.8-10.el6.x86_64
--> 處理依賴關系 dejavu-lgc-sans-mono-fonts,它被軟體包 rrdtool-1.3.8-10.el6.x86
--> 執行事務檢查
---> Package dejavu-lgc-sans-mono-fonts.noarch 0:2.33-1.el6 will be 安裝
---> Package dejavu-sans-mono-fonts.noarch 0:2.33-1.el6 will be 安裝
--> 完成依賴關系計算

依賴關系解決

================================================================================
 軟體包                               架構             版本                    倉
================================================================================
正在安裝:
 rrdtool                              x86_64           1.3.8-10.el6            b
為依賴而安裝:
 dejavu-lgc-sans-mono-fonts           noarch           2.33-1.el6              b
 dejavu-sans-mono-fonts               noarch           2.33-1.el6              b

事務概要
================================================================================
Install       3 Package(s)

總下載量:1.1 M
Installed size: 2.7 M
下載軟體包:
(1/3): dejavu-lgc-sans-mono-fonts-2.33-1.el6.noarch.rpm                      | 3
(2/3): dejavu-sans-mono-fonts-2.33-1.el6.noarch.rpm                          | 4
(3/3): rrdtool-1.3.8-10.el6.x86_64.rpm                                       | 2
--------------------------------------------------------------------------------
總計                                                                1.6 MB/s | 1
運行 rpm_check_debug
執行事務測驗
事務測驗成功
執行事務
  正在安裝   : dejavu-lgc-sans-mono-fonts-2.33-1.el6.noarch
  正在安裝   : dejavu-sans-mono-fonts-2.33-1.el6.noarch
  正在安裝   : rrdtool-1.3.8-10.el6.x86_64
  Verifying  : dejavu-sans-mono-fonts-2.33-1.el6.noarch
  Verifying  : rrdtool-1.3.8-10.el6.x86_64
  Verifying  : dejavu-lgc-sans-mono-fonts-2.33-1.el6.noarch

已安裝:
  rrdtool.x86_64 0:1.3.8-10.el6

作為依賴被安裝:
  dejavu-lgc-sans-mono-fonts.noarch 0:2.33-1.el6     dejavu-sans-mono-fonts.noar

完畢!

sudo yum -y install apr-devel

[root@node01 ~]# sudo yum -y install apr-devel
已加載插件:fastestmirror, security
設定安裝行程
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
解決依賴關系
--> 執行事務檢查
---> Package apr-devel.x86_64 0:1.3.9-5.el6_9.1 will be 安裝
--> 完成依賴關系計算

依賴關系解決

================================================================================
 軟體包                 架構                版本                            倉庫
================================================================================
正在安裝:
 apr-devel              x86_64              1.3.9-5.el6_9.1                 base

事務概要
================================================================================
Install       1 Package(s)

總下載量:176 k
Installed size: 717 k
下載軟體包:
apr-devel-1.3.9-5.el6_9.1.x86_64.rpm                                         | 1
運行 rpm_check_debug
執行事務測驗
事務測驗成功
執行事務
  正在安裝   : apr-devel-1.3.9-5.el6_9.1.x86_64
  Verifying  : apr-devel-1.3.9-5.el6_9.1.x86_64

已安裝:
  apr-devel.x86_64 0:1.3.9-5.el6_9.1

完畢!

<3> 安裝ganglia

sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

[root@node01 ~]# sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epe.rpm
Retrieving http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch
warning: /var/tmp/rpm-tmp.jfeJoR: Header V3 RSA/SHA256 Signature, key ID 0608b89
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]

sudo yum -y install ganglia-gmetad

[root@node01 ~]# sudo yum -y install ganglia-gmetad
已加載插件:fastestmirror, security
設定安裝行程
Loading mirror speeds from cached hostfile
epel/metalink                                              | 7.9 kB     00:00
 * base: mirrors.163.com
 * epel: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.163.com
 * updates: mirrors.163.com
epel                                                       | 4.7 kB     00:00
epel/primary_db                                            | 6.1 MB     00:04
解決依賴關系
--> 執行事務檢查
---> Package ganglia-gmetad.x86_64 0:3.7.2-2.el6 will be 安裝
--> 處理依賴關系 ganglia = 3.7.2-2.el6,它被軟體包 ganglia-gmetad-3.7.2-2.el6.x864 需要
--> 處理依賴關系 libconfuse.so.0()(64bit),它被軟體包 ganglia-gmetad-3.7.2-2.el686_64 需要
--> 處理依賴關系 libganglia.so.0()(64bit),它被軟體包 ganglia-gmetad-3.7.2-2.el686_64 需要
--> 執行事務檢查
---> Package ganglia.x86_64 0:3.7.2-2.el6 will be 安裝
---> Package libconfuse.x86_64 0:2.7-4.el6 will be 安裝
--> 完成依賴關系計算

依賴關系解決

================================================================================
 軟體包                  架構            版本                 倉庫           大小
================================================================================
正在安裝:
 ganglia-gmetad          x86_64          3.7.2-2.el6          epel           52
為依賴而安裝:
 ganglia                 x86_64          3.7.2-2.el6          epel           88
 libconfuse              x86_64          2.7-4.el6            epel           79

事務概要
================================================================================
Install       3 Package(s)

總下載量:220 k
Installed size: 926 k
下載軟體包:
(1/3): ganglia-3.7.2-2.el6.x86_64.rpm                      |  88 kB     00:00
(2/3): ganglia-gmetad-3.7.2-2.el6.x86_64.rpm               |  52 kB     00:00
(3/3): libconfuse-2.7-4.el6.x86_64.rpm                     |  79 kB     00:00
--------------------------------------------------------------------------------
總計                                              905 kB/s | 220 kB     00:00
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOK
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Importing GPG key 0x0608B895:
 Userid : EPEL (6) <epel@fedoraproject.org>
 Package: epel-release-6-8.noarch (installed)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
運行 rpm_check_debug
執行事務測驗
事務測驗成功
執行事務
Warning: RPMDB altered outside of yum.
  正在安裝   : libconfuse-2.7-4.el6.x86_64                                    1/
  正在安裝   : ganglia-3.7.2-2.el6.x86_64                                     2/
  正在安裝   : ganglia-gmetad-3.7.2-2.el6.x86_64                              3/
  Verifying  : ganglia-gmetad-3.7.2-2.el6.x86_64                              1/
  Verifying  : ganglia-3.7.2-2.el6.x86_64                                     2/
  Verifying  : libconfuse-2.7-4.el6.x86_64                                    3/

已安裝:
  ganglia-gmetad.x86_64 0:3.7.2-2.el6

作為依賴被安裝:
  ganglia.x86_64 0:3.7.2-2.el6            libconfuse.x86_64 0:2.7-4.el6

完畢!

sudo yum -y install ganglia-web

[root@node01 ~]# sudo yum -y install ganglia-web
已加載插件:fastestmirror, security
設定安裝行程
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * epel: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.163.com
 * updates: mirrors.163.com
解決依賴關系
--> 執行事務檢查
---> Package ganglia-web.x86_64 0:3.7.1-2.el6 will be 安裝
--> 處理依賴關系 php-ZendFramework,它被軟體包 ganglia-web-3.7.1-2.el6.x86_64 需
--> 處理依賴關系 php-gd,它被軟體包 ganglia-web-3.7.1-2.el6.x86_64 需要
--> 執行事務檢查
---> Package php-ZendFramework.noarch 0:1.12.20-1.el6 will be 安裝
--> 處理依賴關系 php-bcmath,它被軟體包 php-ZendFramework-1.12.20-1.el6.noarch 要
--> 處理依賴關系 php-process,它被軟體包 php-ZendFramework-1.12.20-1.el6.noarch 要
--> 處理依賴關系 php-xml,它被軟體包 php-ZendFramework-1.12.20-1.el6.noarch 需要
---> Package php-gd.x86_64 0:5.3.3-50.el6_10 will be 安裝
--> 處理依賴關系 libXpm.so.4()(64bit),它被軟體包 php-gd-5.3.3-50.el6_10.x86_64 要
--> 執行事務檢查
---> Package libXpm.x86_64 0:3.5.10-2.el6 will be 安裝
---> Package php-bcmath.x86_64 0:5.3.3-50.el6_10 will be 安裝
---> Package php-process.x86_64 0:5.3.3-50.el6_10 will be 安裝
---> Package php-xml.x86_64 0:5.3.3-50.el6_10 will be 安裝
--> 完成依賴關系計算

依賴關系解決

================================================================================
 軟體包                  架構         版本                    倉庫           大小
================================================================================
正在安裝:
 ganglia-web             x86_64       3.7.1-2.el6             epel          782
為依賴而安裝:
 libXpm                  x86_64       3.5.10-2.el6            base           51
 php-ZendFramework       noarch       1.12.20-1.el6           epel          4.1
 php-bcmath              x86_64       5.3.3-50.el6_10         updates        40
 php-gd                  x86_64       5.3.3-50.el6_10         updates       112
 php-process             x86_64       5.3.3-50.el6_10         updates        44
 php-xml                 x86_64       5.3.3-50.el6_10         updates       108

事務概要
================================================================================
Install       7 Package(s)

總下載量:5.2 M
Installed size: 38 M
下載軟體包:
(1/7): ganglia-web-3.7.1-2.el6.x86_64.rpm                  | 782 kB     00:00
(2/7): libXpm-3.5.10-2.el6.x86_64.rpm                      |  51 kB     00:00
(3/7): php-ZendFramework-1.12.20-1.el6.noarch.rpm          | 4.1 MB     00:00
(4/7): php-bcmath-5.3.3-50.el6_10.x86_64.rpm               |  40 kB     00:00
(5/7): php-gd-5.3.3-50.el6_10.x86_64.rpm                   | 112 kB     00:00
(6/7): php-process-5.3.3-50.el6_10.x86_64.rpm              |  44 kB     00:00
(7/7): php-xml-5.3.3-50.el6_10.x86_64.rpm                  | 108 kB     00:00
--------------------------------------------------------------------------------
總計                                              2.6 MB/s | 5.2 MB     00:01
運行 rpm_check_debug
執行事務測驗
事務測驗成功
執行事務
  正在安裝   : php-process-5.3.3-50.el6_10.x86_64                             1/
  正在安裝   : libXpm-3.5.10-2.el6.x86_64                                     2/
  正在安裝   : php-gd-5.3.3-50.el6_10.x86_64                                  3/
  正在安裝   : php-bcmath-5.3.3-50.el6_10.x86_64                              4/
  正在安裝   : php-xml-5.3.3-50.el6_10.x86_64                                 5/
  正在安裝   : php-ZendFramework-1.12.20-1.el6.noarch                         6/
  正在安裝   : ganglia-web-3.7.1-2.el6.x86_64                                 7/
  Verifying  : php-xml-5.3.3-50.el6_10.x86_64                                 1/
  Verifying  : ganglia-web-3.7.1-2.el6.x86_64                                 2/
  Verifying  : php-bcmath-5.3.3-50.el6_10.x86_64                              3/
  Verifying  : libXpm-3.5.10-2.el6.x86_64                                     4/
  Verifying  : php-process-5.3.3-50.el6_10.x86_64                             5/
  Verifying  : php-gd-5.3.3-50.el6_10.x86_64                                  6/
  Verifying  : php-ZendFramework-1.12.20-1.el6.noarch                         7/

已安裝:
  ganglia-web.x86_64 0:3.7.1-2.el6

作為依賴被安裝:
  libXpm.x86_64 0:3.5.10-2.el6          php-ZendFramework.noarch 0:1.12.20-1.el6
  php-bcmath.x86_64 0:5.3.3-50.el6_10   php-gd.x86_64 0:5.3.3-50.el6_10
  php-process.x86_64 0:5.3.3-50.el6_10  php-xml.x86_64 0:5.3.3-50.el6_10

完畢!

sudo yum install -y ganglia-gmond

[root@node01 ~]# sudo yum install -y ganglia-gmond
已加載插件:fastestmirror, security
設定安裝行程
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * epel: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.163.com
 * updates: mirrors.163.com
解決依賴關系
--> 執行事務檢查
---> Package ganglia-gmond.x86_64 0:3.7.2-2.el6 will be 安裝
--> 完成依賴關系計算

依賴關系解決

================================================================================
 軟體包                 架構            版本                  倉庫           大小
================================================================================
正在安裝:
 ganglia-gmond          x86_64          3.7.2-2.el6           epel           78

事務概要
================================================================================
Install       1 Package(s)

總下載量:78 k
Installed size: 178 k
下載軟體包:
ganglia-gmond-3.7.2-2.el6.x86_64.rpm                       |  78 kB     00:00
運行 rpm_check_debug
執行事務測驗
事務測驗成功
執行事務
  正在安裝   : ganglia-gmond-3.7.2-2.el6.x86_64                               1/
  Verifying  : ganglia-gmond-3.7.2-2.el6.x86_64                               1/

已安裝:
  ganglia-gmond.x86_64 0:3.7.2-2.el6

完畢!

其中,Ganglia由gmond、gmetad 和 gweb三部分組成,

gmond(Ganglia Monitoring Daemon)是一種輕量級服務,安裝在每臺需要收集指標資料的節點主機上,使用gmond,你可以很容易收集很多系統指標資料,如CPU、記憶體、磁盤、網路和活躍行程的資料等,

gmetad(Ganglia Meta Daemon)整合所有資訊,并將其以RRD格式存盤至磁盤的服務,

gweb(Ganglia Web)Ganglia可視化工具,gweb是一種利用瀏覽器顯示gmetad所存盤資料的PHP前端,在Web界面中以圖表方式展現集群的運行狀態下收集的多種不同指標資料,

<4>修改組態檔
1)、修改組態檔/etc/httpd/conf.d/ganglia.conf

sudo vim /etc/httpd/conf.d/ganglia.conf

修改為紅顏色的配置:

# Ganglia monitoring system php web frontend
Alias /ganglia /usr/share/ganglia
<Location /ganglia>
Order deny,allow
#Deny from all
Allow from all
#Allow from 127.0.0.1
#Allow from ::1

#Allow from .example.com

2)、修改組態檔/etc/ganglia/gmetad.conf

sudo vim /etc/ganglia/gmetad.conf

修改為:

data_source “node01” 192.168.100.100

3)、修改組態檔/etc/ganglia/gmond.conf

sudo vim /etc/ganglia/gmond.conf

修改為:

cluster {
name = “hadoop102”
owner = “unspecified”
latlong = “unspecified”
url = “unspecified”
}
udp_send_channel {
#bind_hostname = yes # Highly recommended, soon to be default.
# This option tells gmond to use a source address
# that resolves to the machine’s hostname. Without
# this, the metrics may appear to come from any
# interface and the DNS names associated with
# those IPs will be used to create the RRDs.
#mcast_join = 239.2.11.71
host = 192.168.100.100
port = 8649
ttl = 1
}
udp_recv_channel {
# mcast_join = 239.2.11.71
port = 8649
bind = 192.168.100.100
retry_bind = true
#Size of the UDP buffer. If you are handling lots of metrics you really
#should bump it up to e.g. 10MB or even higher.
#buffer = 10485760
}

4)、修改組態檔/etc/selinux/config

sudo vim /etc/selinux/config

修改為:

# This file controls the state of SELinux on the system.
#SELINUX= can take one of these three values:
#enforcing - SELinux security policy is enforced.
#permissive - SELinux prints warnings instead of enforcing.
#disabled - No SELinux policy is loaded.
SELINUX=disabled
#SELINUXTYPE= can take one of these two values:
#targeted - Targeted processes are protected,
#mls - Multi Level Security protection.
SELINUXTYPE=targeted

提示:

selinux本次生效關閉必須重啟,如果此時不想重啟,可以臨時生效之:

sudo setenforce 0

<5>啟動ganglia

sudo service httpd start

sudo service gmetad start

sudo service gmond start

<6>打開網頁瀏覽ganglia頁面

http://192.168.100.100/ganglia

一切都正常的情況下,可以看到類似的頁面,

在這里插入圖片描述

提示:如果完成以上操作依然出現權限不足錯誤,請修改/var/lib/ganglia目錄的權限:

sudo chmod -R 777 /var/lib/ganglia

2、操作Flume測驗監控

<1> 修改conf目錄下的flume-env.sh配置:
JAVA_OPTS="-Dflume.monitoring.type=ganglia
-Dflume.monitoring.hosts=192.168.1.102:8649
-Xms100m
-Xmx200m"
<2>啟動Flume任務
[root@node01 conf]# bin/flume-ng agent --conf conf/ --name a1 --conf-file conf/netcat-logger.conf -Dflume.root.logger==INFO,console -Dflume.monitoring.type=ganglia -Dflume.monitoring.hosts=192.168.100.100:8649
<3>發送資料觀察ganglia監測圖
[root@node01 ~]# nc node01  44444

在Web頁面,我們選擇監控的節點

在這里插入圖片描述

往下翻,我們可以看見這樣的一個監控畫面

在這里插入圖片描述
圖例說明:

欄位(圖表名稱)欄位含義
EventPutAttemptCountsource嘗試寫入channel的事件總數量
EventPutSuccessCount成功寫入channel且提交的事件總數量
EventTakeAttemptCountsink嘗試從channel拉取事件的總數量,這不意味著每次事件都被回傳,因為sink拉取的時候channel可能沒有任何資料
EventTakeSuccessCountsink成功讀取的事件的總數量
StartTimechannel啟動的時間(毫秒)
StopTimechannel停止的時間(毫秒)
ChannelSize目前channel中事件的總數量
ChannelFillPercentagechannel占用百分比
ChannelCapacitychannel的容量

小結

關于Ganglia更多的演示說明就不過多敘述了,感興趣的朋友們可以去http://ganglia.info/了解更多~

受益的朋友或對大資料技術感興趣的伙伴記得點贊關注支持一波🙏

希望我們都能在學習的道路上越走越遠😉
在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/98690.html

標籤:其他

上一篇:四面阿里,三面百度,成功斬獲阿里offer!分享下經驗總結和面試問題(Java崗)

下一篇:Java學習路線從入門到入土

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more