首页 文章 精选 留言 我的

精选列表

搜索[centos],共5623篇文章
优秀的个人博客,低调大师

CentOS常用系统性能分析和方法

▲ vmstat--虚拟内存统计 vmstat(VirtualMeomoryStatistics,虚拟内存统计) 是Linux中监控内存的常用工具,可对操作系统的虚拟内存、进程、CPU等的整体情况进行监视。 vmstat的常规用法:vmstat interval times即每隔interval秒采样一次,共采样times次,如果省略times,则一直采集数据,直到用户手动停止为止。 简单举个例子: 可以使用ctrl+c停止vmstat采集数据。 第一行显示了系统自启动以来的平均值,第二行开始显示现在正在发生的情况,接下来的行会显示每5秒间隔发生了什么,每一列的含义在头部,如下所示: ▪procs:r这一列显示了多少进程在等待cpu,b列显示多少进程正在不可中断的休眠(等待IO)。 ▪memory:swapd列显示了多少块被换出了磁盘(页面交换),剩下的列显示了多少块是空闲的(未被使用),多少块正在被用作缓冲区,以及多少正在被用作操作系统的缓存。 ▪swap:显示交换活动:每秒有多少块正在被换入(从磁盘)和换出(到磁盘)。 ▪io:显示了多少块从块设备读取(bi)和写出(bo),通常反映了硬盘I/O。 ▪system:显示每秒中断(in)和上下文切换(cs)的数量。 ▪cpu:显示所有的cpu时间花费在各类操作的百分比,包括执行用户代码(非内核),执行系统代码(内核),空闲以及等待IO。 内存不足的表现:free memory急剧减少,回收buffer和cacher也无济于事,大量使用交换分区(swpd),页面交换(swap)频繁,读写磁盘数量(io)增多,缺页中断(in)增多,上下文切换(cs)次数增多,等待IO的进程数(b)增多,大量CPU时间用于等待IO(wa) ▲iostat--用于报告中央处理器统计信息 iostat用于报告中央处理器(CPU)统计信息和整个系统、适配器、tty 设备、磁盘和 CD-ROM 的输入/输出统计信息,默认显示了与vmstat相同的cpu使用信息,使用以下命令显示扩展的设备统计: 第一行显示的是自系统启动以来的平均值,然后显示增量的平均值,每个设备一行。 常见linux的磁盘IO指标的缩写习惯:rq是request,r是read,w是write,qu是queue,sz是size,a是verage,tm是time,svc是service。 ▪rrqm/s和wrqm/s:每秒合并的读和写请求,“合并的”意味着操作系统从队列中拿出多个逻辑请求合并为一个请求到实际磁盘。 ▪r/s和w/s:每秒发送到设备的读和写请求数。 ▪rsec/s和wsec/s:每秒读和写的扇区数。 ▪avgrq –sz:请求的扇区数。 ▪avgqu –sz:在设备队列中等待的请求数。 ▪await:每个IO请求花费的时间。 ▪svctm:实际请求(服务)时间。 ▪%util:至少有一个活跃请求所占时间的百分比。 ▲dstat--系统监控工具 dstat显示了cpu使用情况,磁盘io情况,网络发包情况和换页情况,输出是彩色的,可读性较强,相对于vmstat和iostat的输入更加详细且较为直观。在使用时,直接输入命令即可,当然也可以使用特定参数。 如下:dstat –cdlmnpsy ▲iotop--LINUX进程实时监控工具 iotop命令是专门显示硬盘IO的命令,界面风格类似top命令,可以显示IO负载具体是由哪个进程产生的。是一个用来监视磁盘I/O使用状况的top类工具,具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。 可以以非交互的方式使用:iotop –bod interval,查看每个进程的I/O,可以使用pidstat,pidstat –d instat。 ▲pidstat--监控系统资源情况 pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存、设备IO、任务切换、线程等。 使用方法:pidstat –d interval;pidstat还可以用以统计CPU使用信息:pidstat –u interval;统计内存信息:Pidstat –r interval。 ▲top top命令的汇总区域显示了五个方面的系统性能信息: 1.负载:时间,登陆用户数,系统平均负载; 2.进程:运行,睡眠,停止,僵尸; 3.cpu:用户态,核心态,NICE,空闲,等待IO,中断等; 4.内存:总量,已用,空闲(系统角度),缓冲,缓存; 5.交换分区:总量,已用,空闲 任务区域默认显示:进程ID,有效用户,进程优先级,NICE值,进程使用的虚拟内存,物理内存和共享内存,进程状态,CPU占用率,内存占用率,累计CPU时间,进程命令行信息。 ▲htop htop 是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses。 Htop可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。 与top相比,htop有以下优点: ▪可以横向或者纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。 ▪在启动上,比top更快。 ▪杀进程时不需要输入进程号。 ▪htop支持鼠标操作。 ▲mpstat mpstat 是Multiprocessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。常见用法:mpstat –P ALL interval times。 ▲netstat Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 ▲常见用法: netstat –npl 可以查看你要打开的端口是否已经打开。 netstat –rn 打印路由表信息。 netstat –in 提供系统上的接口信息,打印每个接口的MTU,输入分组数,输入错误,输出分组数,输出错误,冲突以及当前的输出队列的长度。 ▲ps--显示当前进程的状态 ps参数太多,具体使用方法可以参考man ps,常用的方法:ps aux #hsserver;ps –ef |grep #hundsun ▪杀掉某一程序的方法:ps aux | grep mysqld | grep –v grep | awk ‘{print $2 }’ xargs kill -9 ▪杀掉僵尸进程:ps –eal | awk ‘{if ($2 == “Z”){print $4}}’ | xargs kill -9 ▲strace 跟踪程序执行过程中产生的系统调用及接收到的信号,帮助分析程序或命令执行中遇到的异常情况。 举例:查看mysqld在linux上加载哪种配置文件,可以通过运行下面的命令:strace –e stat64 mysqld –print –defaults > /dev/null ▲uptime 能够打印系统总共运行了多长时间和系统的平均负载,uptime命令最后输出的三个数字的含义分别是1分钟,5分钟,15分钟内系统的平均负荷。 ▲lsof lsof(list open files)是一个列出当前系统打开文件的工具。通过lsof工具能够查看这个列表对系统检测及排错,常见的用法: 查看文件系统阻塞 lsof /boot 查看端口号被哪个进程占用 lsof -i : 3306 查看用户打开哪些文件 lsof –u username 查看进程打开哪些文件 lsof –p 4838 查看远程已打开的网络链接 lsof –i @192.168.34.128 ▲perf perf是Linux kernel自带的系统性能优化工具。优势在于与Linux Kernel的紧密结合,它可以最先应用到加入Kernel的new feature,用于查看热点函数,查看cashe miss的比率,从而帮助开发者来优化程序性能。 性能调优工具如 perf,Oprofile 等的基本原理都是对被监测对象进行采样,最简单的情形是根据 tick 中断进行采样,即在 tick 中断内触发采样点,在采样点里判断程序当时的上下文。假如一个程序 90% 的时间都花费在函数 foo() 上,那么 90% 的采样点都应该落在函数 foo() 的上下文中。运气不可捉摸,但我想只要采样频率足够高,采样时间足够长,那么以上推论就比较可靠。因此,通过 tick 触发采样,我们便可以了解程序中哪些地方最耗时间,从而重点分析。 汇总:结合以上常用的性能测试命令并联系文初的性能分析工具的图,就可以初步了解到性能分析过程中哪个方面的性能使用哪方面的工具(命令)。

优秀的个人博客,低调大师

Centos7下安装JDK1.8

卸载系统中的OpenJDK(阿里云上一般没有OpenJDK) OpenJDK与JDK的区别:http://www.cnblogs.com/sxdcgaq8080/p/7487369.html 卸载方法:http://www.cnblogs.com/ystq/p/5972608.html 下载JDK1.8的tar包 切换到 user/local/src目录下: cd /usr/local/src 下载jdk1.8的tar包: wget http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/jdk-8u152-linux-x64.tar.gz?AuthParam=1509694567_4fd52e1e14637e31d5aebc232fd4826a 下载地址到oracle官网点击下载后,在浏览器下载内容中获取。 下载页:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载完成后解压tar包 tar -zxvf jdk-8u152-linux-x64.tar.gz 将解压后的文件夹剪切到usr/local 目录下,并改名为 jdk8 mv jdk1.8_152 ../jdk8 配置环境变量 vim /etc/profile 在该文件尾部追加如下代码: JAVA_HOME=/usr/local/jdk8 JRE_HOME=/usr/local/jdk8/jre CLASS_PATH=.:$JAVA_HOME/lib PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH export JAVA_HOME JRE_HOME PATH CLASS_PATH 追加完成后更新配置:source /etc/profile 查看是否安装成功:java -version

优秀的个人博客,低调大师

CentOS命令usermod、chown和chmod的区别

初学Linux,本人经常混淆chown和chmod的区别,特写此博客备查。 usermod用于修改用户的UID、GID与groups,具体用法: usermod -u 9999 testuser // 将testuser的UID修改为9999 usermod -g 9999 testuser // 将testuser的GID修改为9999 usermod -G 9999 testuser // 将testuser的附加组修改为9999 chown用来修改文件的所属用户及所属组,具体用法: chown -R root:root /tmp/tmp1 // -R参数同时修改子目录所属用户和组 chmod用来修改文件或目录的访问权限,即修改-rwxrwxrwx列,具体用法: chmod [-Rf] u+w 文件名 // 用户所有者增加写权限 chmod [-Rf] 777 文件名 // 给文件赋予777权限 操作对象 操作对象 含义 u 表示“用户(user)”,即文件或目录的所有者 g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户 o 表示“其他(others)用户” a 表示“所有(all)用户”。它是系统默认值 操作符号 操作符号 含义 + 添加某个权限 - 取消某个权限 = 赋予给定权限并取消其他所有权限(如果有的话) 权限 权限符号 含义 r 可读 w 可写 x 可执行

优秀的个人博客,低调大师

解决CentOS 6.5 自启动无效的问题

遇见 网上有好多答案,也有好多方法。 基本都是/etc/rc.local 权限的问题。 不同 我遇到的也是权限的问题,但是我的是用户目录权限的问题, 自启动时没有权限读取 对应的目录。 后来我把启动脚本包括在 sh 文件中 放到 /etc/init.d/ 下 启动就可以了。 还有 我的python 可执行是放在 /usr/local/bin/python 下, 也导致了开机启动无效的问题。 后来我软链接到 /usr/bin/python 就可以了。

优秀的个人博客,低调大师

CentOS定时任务crontab命令的使用

简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。 如何使用 首先查看帮助 [root@dmp004 orderreport]# crontab -h usage: crontab [-u user] file crontab [-u user] [ -e | -l | -r ] (default operation is replace, per 1003.2) -e (edit user's crontab) -l (list user's crontab) -r (delete user's crontab) -i (prompt before deleting user's crontab) -s (selinux context) 通过usage可以看到使用格式如下: crontab [-u user] [ -e | -l | -r ] file -u后边跟用户名 -e 代表编辑定时任务列表 -l 列出用户定时任务 file为定义定时任务的文件 其他参数一目了然,其中file的格式很重要 minute hour day month week command 文件中共包含六个字段,前五个字段为时间,最后一个字段为要执行的命令。 minute表示分钟,可以是0-59 hour表示小时,可以是0-23 day表示天,可以是1-31 month表示月,可以是1-12 week表示周几,可以是0-7 command代表要执行的命令,可以是linux命令,也可以是shell脚本 时间字段中: 星号*代表任何时间 逗号,比如hour是 “3,4,9” 代表3点、4点、9点都要执行 横杠-代表范围 比如hour是“3-9”,代表3点至9点都要执行 斜线\/ 代表时间间隔 比如hour是 “0-23/2”,代表在0至23点之间,每两个小时执行一次 常用 查看当前用户下的定时任务 [root@dmp004 orderreport]# crontab -l 50 17 * * * /home/mofei/task/orderreport/start.sh 查看用户root下的定时任务 [root@dmp004 orderreport]# crontab -u root -l 50 17 * * * /home/mofei/task/orderreport/start.sh 3.给root用户添加定时任务 定义test.task,内容如下: * * * * * echo 'this is a test' 添加到定时任务列表 [root@dmp004 orderreport]# crontab -u root test.task [root@dmp004 orderreport]# crontab -u root -l * * * * * echo 'this is a test' 删除root的定时任务 [root@dmp004 orderreport]# crontab -u root -r

优秀的个人博客,低调大师

CentOS7 NAT模式固定IP设置

修改每台虚拟机的配置文件,设置固定IP cd/etc/sysconfig/network-scripts 修改配置内容 viifcfg-eno16777736 初始配置: 修改为: BOOTPROTO=static IPV6…..都注释 DNS1=114.114.114.114 #这个是国内的DNSip,是固定的,当然还有个8.8.8.8,是国外谷歌的,具体自行百度 IPADDR=192.168.183.130 # 设置一个和原来动态分配的ip在同一子网的IP NETMASK=255.255.255.0 #子网掩码 GATEWAY=192.168.183.2 #网关,vmvare的nat模式网关为x.x.x.2 ONBOOT=yes 重启 service network restart 查看 修改后的IP ifconfig 测试本机是否能Ping通虚拟机 测试虚拟机是否能连外网

优秀的个人博客,低调大师

CentOS下netstat查看正在监听的端口

[root@pa137 ~]# netstat --help usage: netstat [-veenNcCF] [<Af>] -r netstat {-V|--version|-h|--help} netstat [-vnNcaeol] [<Socket> ...] netstat { [-veenNac] -I[<Iface>] | [-veenNac] -i | [-cnNe] -M | -s } [delay] -r, --route display routing table -I, --interfaces=[<Iface>] display interface table for <Iface> -i, --interfaces display interface table -g, --groups display multicast group memberships -s, --statistics display networking statistics (like SNMP) -M, --masquerade display masqueraded connections -v, --verbose be verbose -n, --numeric don't resolve names --numeric-hosts don't resolve host names --numeric-ports don't resolve port names --numeric-users don't resolve user names -N, --symbolic resolve hardware names -e, --extend display other/more information -p, --programs display PID/Program name for sockets -c, --continuous continuous listing -l, --listening display listening server sockets -a, --all, --listening display all sockets (default: connected) -o, --timers display timers -F, --fib display Forwarding Information Base (default) -C, --cache display routing cache instead of FIB -T, --notrim stop trimming long addresses -Z, --context display SELinux security context for sockets <Iface>: Name of interface to monitor/list. <Socket>={-t|--tcp} {-u|--udp} {-S|--sctp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom <AF>=Use '-A <af>' or '--<af>'; default: inet List of possible address families (which support routing): inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25) netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP) x25 (CCITT X.25) 显示正在监听的tcp端口: -l表示监听 -t表示tcp -p表示显示程序名 -n表示部将ip和端口转换成域名和服务名 -u表示udp [root@pa137 ~]# netstat -tlnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 2493/portmap tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 2776/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2808/sendmail: acce tcp 0 0 0.0.0.0:1020 0.0.0.0:* LISTEN 2534/rpc.statd tcp 0 0 :::3306 :::* LISTEN 15681/mysqld tcp 0 0 :::22 :::* LISTEN 2767/sshd [root@pa137 ~]# [root@pa137 ~]# netstat -atnp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 2493/portmap tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 2776/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2808/sendmail: acce tcp 0 0 0.0.0.0:1020 0.0.0.0:* LISTEN 2534/rpc.statd tcp 0 0 :::3306 :::* LISTEN 15681/mysqld tcp 0 0 :::22 :::* LISTEN 2767/sshd tcp 0 0 ::ffff:192.168.1.137:22 ::ffff:192.168.31.101:49223 ESTABLISHED 3110/2 tcp 0 260 ::ffff:192.168.1.137:22 ::ffff:192.168.31.101:49712 ESTABLISHED 3438/4 tcp 0 0 ::ffff:192.168.1.137:22 ::ffff:192.168.31.102:1039 ESTABLISHED 3151/3 [root@pa137 ~]# netstat -aunp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name udp 0 0 0.0.0.0:33716 0.0.0.0:* 2915/avahi-daemon: udp 0 0 0.0.0.0:5353 0.0.0.0:* 2915/avahi-daemon: udp 0 0 0.0.0.0:111 0.0.0.0:* 2493/portmap udp 0 0 0.0.0.0:1014 0.0.0.0:* 2534/rpc.statd udp 0 0 0.0.0.0:631 0.0.0.0:* 2776/cupsd udp 0 0 0.0.0.0:1017 0.0.0.0:* 2534/rpc.statd udp 0 0 :::5353 :::* 2915/avahi-daemon: udp 0 0 :::54269 :::* 2915/avahi-daemon: [root@pa137 ~]# 功能说明:Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 语 法:netstat[-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip] 补充说明:利用netstat指令可让你得知整个Linux系统的网络情况。 参 数: -a或–all 显示所有连线中的Socket。 -A<网络类型>或–<网络类型> 列出该网络类型连线中的相关地址。 -c或–continuous 持续列出网络状态。 -C或–cache 显示路由器配置的快取信息。 -e或–extend 显示网络其他相关信息。 -F或–fib 显示FIB。 -g或–groups 显示多重广播功能群组组员名单。 -h或–help 在线帮助。 -i或–interfaces 显示网络界面信息表单。 -l或–listening 显示监控中的服务器的Socket。 -M或–masquerade 显示伪装的网络连线。 -n或–numeric 直接使用IP地址,而不通过域名服务器。 -N或–netlink或–symbolic 显示网络硬件外围设备的符号连接名称。 -o或–timers 显示计时器。 -p或–programs 显示正在使用Socket的程序识别码和程序名称。 -r或–route 显示Routing Table。 -s或–statistice 显示网络工作信息统计表。 -t或–tcp 显示TCP传输协议的连线状况。 -u或–udp 显示UDP传输协议的连线状况。 -v或–verbose 显示指令执行过程。 -V或–version 显示版本信息。 -w或–raw 显示RAW传输协议的连线状况。 -x或–unix 此参数的效果和指定”-A unix”参数相同。 –ip或–inet 此参数的效果和指定”-A inet”参数相同 netstat的一些常用选项 ·netstat–s 本选项能够按照各个协议分别显示其统计数据。如果我们的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么我们就可以用本选项来查看一下所显示的信息。我们需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。 ·netstat–e 本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量)。 ·netstat–r 本选项可以显示关于路由表的信息,类似于后面所讲使用route print命令时看到的 信息。除了显示有效路由外,还显示当前有效的连接。 ·netstat–a 本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请(LISTENING)的那些连接。 ·netstat–n 显示所有已建立的有效连接。

优秀的个人博客,低调大师

centos7为用户添加root权限

1. useradd sha passwd sha 创建用户及密码 2. 一、gpasswd -a sha wheel 赋予 sha root权限 二、 vi /etc/sudoers Allow root to run any commands anywhere root ALL=(ALL) ALL #原有行 sha ALL=(ALL) ALL #添加此行 保存后 登陆sha用户 使用 sudo 即可 三、vi /etc/sudoers ## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL #找到此行 如果前面有 # 删掉#后保存 执行 usermod -g root sha 登陆sha 使用sudo

优秀的个人博客,低调大师

centos升级glibc(升级到 2.17版)

1、原先的系统glibc库的版本是2.12,需要升级到2.17版本。 下载地址: http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz 这里可以选择你所需要的版本。 2、安装部署 [root@kafzook1 common]# tar -xf glibc-2.17.tar.gz [root@kafzook1 common]# cd glibc-2.17 [root@kafzook1 glibc-2.17]# mkdir build; cd build [root@kafzook1 build]# ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin [root@kafzook1 build]# make -j 8 [root@kafzook1 build]# make install [root@kafzook1 common]# strings /lib64/libc.so.6 | grep GLIBC 会看到下面的结果 GLIBC_2.2.5 GLIBC_2.2.6 GLIBC_2.3 GLIBC_2.3.2 GLIBC_2.3.3 GLIBC_2.3.4 GLIBC_2.4 GLIBC_2.5 GLIBC_2.6 GLIBC_2.7 GLIBC_2.8 GLIBC_2.9 GLIBC_2.10 GLIBC_2.11 GLIBC_2.12 GLIBC_2.13 GLIBC_2.14 GLIBC_2.15 GLIBC_2.16 GLIBC_2.17 GLIBC_PRIVATE 我们可以看到部署成功后的glibc的版本为2.17 问题总结: 在上面安装的过程中我们可能会遇到下面的问题 百度了一下这个问题,说是这个变量后面有一个冒号“:”,我们打印一下这个变量查看一下果然有一个冒号。 他人博客地址:glibc问题解决方案 解决方案:找到这一环境变量,把后面的冒号+$LD_LIBRARY_PATH去掉,然后source一下。 我们看到后面的冒号已经没有了。 然后继续按照安装步骤进行部署。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册