文档章节

使用sed在文件中定位文本的方式

AlphaJay
 AlphaJay
发布于 2012/03/05 16:54
字数 5451
阅读 3488
收藏 1
sed是实现对流的编辑。通常,我们使用sed可以实现内容的编辑后然后保存成另外的一个文件,如果正确的话,才写入到源文件。但是某些时候,我们需要直接修改文件,因为,保存文件到一个文件,然后再覆盖原文件的办法显得很麻烦。其实很简单,只需要一个 -i 参数就可以了。
比如,我想替换文件中的 properties 为 property ,可以使用
sed  -i -n 's/properties/property/g'  build.xml
另外 -n 选项可以取消屏幕的输出信息

 
PS: 经测试 部分内容有问题 需要更正
把一个文件里的文件传FTP.

ftp -in <<EOF
open 10.0.0.1
user uname passwd
$(sed 's/^/mput /' ftpfile.txt)
bye
EOF

使用s e d在文件中定位文本的方式

x x为一行号,如1
x , y 表示行号范围从x到y,如2,5表示从第2行到第5行
/ p a t t e r n / 查询包含模式的行。例如/ d i s k /或/[a-z]/
/ p a t t e r n / p a t t e r n / 查询包含两个模式的行。例如/ d i s k / d i s k s /
p a t t e r n / , x 在给定行号上查询包含模式的行。如/ r i b b o n / , 3
x , / p a t t e r n / 通过行号和模式查询匹配行。3 . / v d u /
x , y ! 查询不包含指定行号x和y的行。1 , 2 !


使用s e d在文件中定位文本的方式

x x为一行号,如1
x , y 表示行号范围从x到y,如2,5表示从第2行到第5行
/ p a t t e r n / 查询包含模式的行。例如/ d i s k /或/[a-z]/
/ p a t t e r n / p a t t e r n / 查询包含两个模式的行。例如/ d i s k / d i s k s /
p a t t e r n / , x 在给定行号上查询包含模式的行。如/ r i b b o n / , 3
x , / p a t t e r n / 通过行号和模式查询匹配行。3 . / v d u /
x , y ! 查询不包含指定行号x和y的行。1 , 2 !

sed编辑命令

p 打印匹配行
= 显示文件行号
a 在定位行号后附加新文本信息
i 在定位行号后插入新文本信息
d 删除定位行
c 用新文本替换定位文本
s 使用替换模式替换相应模式
r 从另一个文件中读文本
w 写文本到一个文件
q 第一个模式匹配完成后推出或立即推出
l 显示与八进制A S C I I代码等价的控制字符
{ } 在定位行执行的命令组
n 从另一个文件中读文本下一行,并附加在下一行
g 将模式2粘贴到/pattern n/
y 传送字符
n 延续到下一输入行;允许跨行的模式匹配语句


例子
sed -n '2p' file.txt //打印第二行
sed -n '1,4p' file.txt //print 1-4 line
sed -n '1,$p' file.txt //print all

sed -n '/require/'p cart.php /匹配require
sed -n '/$/'p cart.php /匹配$特殊字符 要用
sed -n '/.*uire/'p cart.php
sed -n -e '/require/p' -e '/require/=' cart.php //匹配require 并且打印行号
sed -n '/require/=' cart.php //只打印匹配的行号


替换命令用替换模式替换指定模式,格式为:
[ a d d r e s s [,address]] s/ pattern-to-find /replacement-pattern/[g p w n]
s选项通知s e d这是一个替换操作,并查询p a t t e r n - t o - f i n d,成功后用r e p l a c e m e n t - p a t t e r n替
换它。
替换选项如下:
g 缺省情况下只替换第一次出现模式,使用g选项替换全局所有出现模式。
p 缺省s e d将所有被替换行写入标准输出,加p选项将使- n选项无效。- n选项不打印输出
结果。
w 文件名使用此选项将输出定向到一个文件。

sed 's/class/CLASS/' cart.inc 例如:
sed 's/class/CLASS/g' cart.inc //替换所有的匹配项目

sed 's/class/CLASS/w cart.inc' out.file //替换后的结果输出到 out.file中

sed '/require./r cart.php' 1.php //把cart.php文件中/require 后面的数据添加到1.php之前。
sed 's/##*//g' 1.php //把1.php文件中所有##替换成空格。

sed 's/^0*//g' 1.php //把行首的0设为空。
sed 's/^M//g' 1.php //除去控制字符^M 键。

^M 的产生 ,<ctrl>+V 按J
^[[ 的产生 <ctrl>+V + 方向键 <-

处理报文输出

1) 使用s/-*//g删除横线- - - - - -。
2) 使用/^$ / d删除空行。
3) 使用$d删除最后一行
4) 使用1d删除第一行。
5) 使用awk {print $1}打印第一列。
命令如下,这里使用了cat,并管道传送结果到sed命令
cat cart.php |sed 's/--*//g' | sed '/^$/d' | sed '$d' | sed '1d' | awk '{print $1}'


快速一行命令
下面是一些一行命令集。([ ]表示空格, [ ]表示t a b键)
‘s / . $ / / g’ 删除以句点结尾行
‘-e /abcd/d’ 删除包含a b c d的行
‘s / [ ] [ ] [ ] * / [ ] / g’ 删除一个以上空格,用一个空格代替
‘s / ^ [ ] [ ] * / / g’ 删除行首空格
‘s / . [ ] [ ] * / [ ] / g’ 删除句点后跟两个或更多空格,代之以一个空格
‘/ ^ $ / d’ 删除空行
‘s / ^ . / / g’ 删除第一个字符
‘s /CO L ( . . . ) / / g’ 删除紧跟C O L的后三个字母
‘s / ^ / / / g’ 从路径中删除第一个
‘s / [ ] / [ ] / / g’ 删除所有空格并用t a b键替代
‘S / ^ [ ] / / g’ 删除行首所有t a b键
‘s / [ ] * / / g’ 删除所有t a b键


——————————————————————————————————

sed命令学习笔记收藏

http://victoryseason.blog.sohu.com/110677264.html

1.简介

sed是源于行编辑器ed的非交互式的流(stream-oriented)编辑器。sed之所以称为“流”编辑器,是因为象大多数UNIX程序一样,输入流过它,然后被导向标准输出。sed编辑器逐行处理文件(或输入),把当前处理的行存储在称为“模式空间”(pattern space)的临时缓冲区中,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。sed处理完一行后将其从模式空间中删除,然后读入下一行进行处理和输出。sed是对文件副本进行编辑和修改,所以不用担心会修改或破坏原文件。sed主要用来自动编辑一个或多个文件,简化对文件的反复操作和编写转换程序等。   

2. 使用格式

sed的使用格式如下:

sed [-n] [-e]  ‘instruction’  file(s)
sed [-n] –f  scriptfile  file(s)

sed的instruction格式如下:

[address[,address]][!]command [arguments]

3.选项

sed的主要选项有:

选 

功 

-n

取消默认的输出

-e

允许多行编辑

-f

指定sed脚本文件名

-i[SUFFIX]

修改原文件,如果提供suffix,作备份

-r

使用扩展正则表达式

4. 指令地址

sed指令可以指定0、1或2个地址:

<!--[if !supportLists]-->0)  <!--[endif]-->命令应用于所有行;

<!--[if !supportLists]-->1)  <!--[endif]-->命令令应用于任何符合这一地址的行

<!--[if !supportLists]-->2)  <!--[endif]-->命令应用与从第1个地址到第2个地址之间的行

5. 命令(command)

sed的命令主要有:

令 

功 

d

删除行

p

打印行

对所选行之外的所有行应用命令

=

打印行号

s

替换命令(如’s/^west/north/g’)注意查找替换分隔符不必是’/’,而可以是换行符和反斜线外的任何字符(如s#^west#north#g

r

读文件

w

写文件

a\

在当前行后添加一行或多行

i\

在当前行之前插入文本

c\

用新文本代替当前行中的文本

l

显示模式空间中的内容,显示非打印字符为两字节ASCII码

y

将一字符转换为另一字符(如:[address]y/abc/xyz/)

n

读入下一行,并将其读入模式缓冲区中,任何命令都将应用于下一行

q

结束或退出sed

D

删除多行pattern space中到\n为止

N

将下一行附加到上一行

P

打印到多行pattern space的\n为止

H(h)

Hold命令,附加(H)或拷贝(h)pattern space的内容到hold space(暂存区)

    G(g)

Get命令,附加(拷贝)暂存区的内容到pattern space

     x

Exchange命令,互换hold space和pattern space的内容

     b

Branch(跳转)命令([address]b[label])

     t

Test(测试)命令([address]t[label])

5. sed正则表达式元字符

元字符

使  用

.

除换行(\n)之外的任何字符

*

匹配0或多个前导字符,相当于\{0,\} (如:/*love/)

+

匹配1或多个前导字符,相当于\{1,\} 注意这是扩展元字符

[...]

匹配指定字符组内的任一字符 (如:/[Ll]ove/

\{n,m\}

匹配至少n个,至多m个前导字符;\{n\} 将匹配正好 n个, \{n,\}将匹配至少n个 (如:/o\{5,10\}) 

^

行首定位符

$

行尾定位符

\

取消转义字符

\( \)

保存已匹配的字符,最多可定义9个标签(如:s/\(love\)able/\1er/)

\n

获取以上获取的第n个标签

&

保存查找串以便在替代串中引用 (如 s/love/**&**/g)

\<

词首定位符  /\<love/

\>

词尾定位符  /love\>/

6. sed脚本编程

 在命令行使用sed时常常会涉及到和shell的交互,而使用sed脚本则完全不必要为此操心。不再用引号来确保sed命令不被shell解释,而且可用反斜杠来续行。另外,对于脚本中的多个指令,应注意sed是对一行使用完了所有指令后再转到下一行的。sed的这种选择使得它可以方便地处理大文件(不必将整个文件一次读进内存)。另外,应注意sed对于脚本中输入的命令非常挑剔,在命令的末尾不能有任何空白或文本,如果在一行中有多个命令,要用分号分隔。开始的{后不许有空格,结束的}必须单起一行。这一点与awk的比较自由的使用方式形成对比。sed中使用多行指令的示例如下:

/^\.TS/,/^\.TE/{
	/^$/d
  	s/^\.ps 10/.ps 8/
  	s/^\.vs 12/.vs 10/
}

7. sed中使用shell变量

sed如何使用shell变量?

比如在shell中定义了一个var变量,如何在sed中调用此变量?可以考虑以下方法:

  • 将平常的单引号改为双引号(Shell里单引号中所有字符都作字面解释):

sed "s/mytext/$var/g" file

对于某些mytext这种方法可能不起作用。

  • 一个单引号改为两个

sed 's/mytext/'$var'/g' file

8.理解与补充说明

  • grep与sed的区别。grep ‘John’ datafile对应的sed命令是sed –n ‘/John/p’ datafile。区别:

(1)使用grep时,正则表达式没有包含在//分隔符中,而sed需要包含在//之间

(2)sed默认会输出每一行,所以需要用-n命令阻止默认输出

(3)返回状态。如果grep在文件中找到指定模式,将返回状态0,否则返回1。sed则

不管是否找到指定模式,它的退出状态都是0,只有命令存在语法错误时,sed的

退出状态才不是0。

     sed为什么要设计得如此“麻烦”呢?初用者在想只输出匹配行时往往忘记加-n选项。

这是因为sed首先是一个编辑器,而不是一个查找工具。比如当我们需要替换文件的

一部分时可以用不加-n选项的sed ‘s/a/b/g’ file实现。

  • 比较sed与ed/vi理解ed/vi的current-line addressing和sed的global line addressing非常重要:在ed/vi中使用定址来扩展命令处理行;而在sed中使用定址来限制处理的行。在ed/vi中,除非你告诉处理哪些行,不会处理什么,而在sed中,它将工作于每一行除非你告诉它不处理。
  • 关于命令括在单引号中。这不是必须的,但是应养成总是这样做的良好习惯单引号对可以避免shell解释在编辑指令中出现的特殊字符或空格(shell使用空格来分别提交给程序的不同参数,对于shell的特别字符在命令调用之前被扩展),所以当指令中存在空格时是必须使用单引号的。
  • sed注释。#用来注释。System V只认第一列的#,而GNU sed则可以将#符号放在任何地方。但是注意,如果第一二个字符是#n 表示脚本不会自动输出结果,相当于指定了一个命令行参数-n
  • 在命令行中使用多指令的三种方法。(1)在指令之间加分号(2)在每一指令之前加-e;(3)使用Shell的多行记录功能(前面加’后可以直接换行,shell会等待用户输入’后再解释。
  • 最新版本的-i选项可以很方便地实现多文件直接修改,值得好好注意。

 

 

Shell中的grep、awk和sed的常用命令和语法

Grep的常用命令语法1. 双引号引用和单引号引用
在g r e p命令中输入字符串参数时,最好将其用双引号括起来。例如:”m y s t r i n g”。这样做有两个原因,一是以防被误解为 s h e l l命令,二是可以用来查找多个单词组成的字符串,例如:”jet plane”,如果不用双引号将其括起来,那么单词 p l a n e将被误认为是一个文件,查询结果将返回”文件不存在”的错误信息。
在调用变量时,也应该使用双引号,诸如: g r e p”$ M Y VA R”文件名,如果不这样,将
没有返回结果。
在调用模式匹配时,应使用单引号.[root@mypc ]# echo `grep 123 111.txt`  (#注意是反单引号)

2. 常用的g r e p选项有:
-c   只输出匹配行的计数。
-i   不区分大小写(只适用于单字符)。
-h   查询多文件时不显示文件名。
-l   查询多文件时只输出包含匹配字符的文件名。
-n   显示匹配行及行号。
-s   不显示不存在或无匹配文本的错误信息。
-v   显示不包含匹配文本的所有行。

3. 特殊的–在多个文件中进行查询
$ grep “sort”*.doc     ( #在当前目录下所有. d o c文件中查找字符串”s o r t”)
 
$ grep “sort it” *      (#或在所有文件中查询单词”sort it”)
接下来的所有示例是指在单个文件中进行查询
4. 行匹配
$ grep -c “48″ data.f
$ 4                      (#g r e p返回数字4,意义是有4行包含字符串”4 8″。)
$ grep “48″ data.f          (#显示包含”4 8″字符串的4行文本)

5. 显示满足匹配模式的所有行行数:
[root@mypc oid2000]# grep -n 1234 111.txt
1:1234
3:1234ab

6. 精确匹配
[root@mypc oid2000]# grep “1234\>” 111.txt
1234

7. 查询空行,查询以某个条件开头或者结尾的行。
结合使用^和$可查询空行。使用- n参数显示实际行数
[root@mypc oid2000]# grep -n “^$” 111.txt    (返回结果 2:   #说明第二行是空行)
[root@mypc oid2000]# grep -n “^abc” 111.txt (#查询以abc开头的行)
[root@mypc oid2000]# grep -n “abc$” 111.txt  (#查询以abc结尾的行)

8. 匹配特殊字符,查询有特殊含义的字符,诸如$ . ‘ ” * [] ^ | \ + ? ,必须在特定字符前加\。
[root@mypc oid2000]# grep  “\.” 111.txt  (#在111.txt中查询包含”.”的所有行)
[root@mypc oid2000]# grep  “my\.conf”  111.txt (#查询有文件名my. c o n f的行)

9. 目录的查询
[root@mypc oid2000]# ls -l |grep “^d”      (#如果要查询目录列表中的目录)
[root@mypc oid2000]# ls -l |grep “^d[d]”    (#在一个目录中查询不包含目录的所有文件)
[root@mypc]# ls -l |grpe “^d…..x..x” (#查询其他用户和用户组成员有可执行权限的目录集合)

Awk的常用命令语法

awk命令擅长格式化报文或从一个大的文本文件中抽取数据包,下面是该命令的基本语法
awk [-F filed-separator] “commands” input-file(s)
[ - F域分隔符]是可选的,a w k使用空格作为缺省的域分隔符,如果在要处理的文件中是以冒号作为分割域的(如passwd文件),则在处理的时候要这样指明 awk -F: command input-file(s)

1.1域和记录
a w k执行时,其浏览域标记为$ 1,$ 2 . . . $ n。这种方法称为域标识。使用$ 1 , $ 3表示参照第1和第3域,注意这里用逗号做域分隔。如果希望打印一个有 5个域的记录的所有域,不必指明 $ 1 , $ 2 , $ 3 , $ 4 , $ 5,可使用$ 0,意即所有域。

1.2保存a w k输出
$ awk ‘{print $0}’ input-files > out-files    (#重定向保存输出)
$ awk ‘{print $0}’ input-files | tee out-files  (#使用t e e命令,输出到文件的同时输出到屏幕)

1.3 常用的awk命令举例
[root@mypc /]# awk ‘$0 ~ /user/’ /etc/passwd  (#如果某域含有user就将该行打印出来)
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
[root@mypc /]# awk ‘/user/’ /etc/passwd      (#同上)
[root@mypc /]# awk -F: ‘{if ($5 ~ /user/) print $0}’ /etc/passwd (#如第五域有user则输出该行)
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
[root@mypc /]# ifconfig | awk ‘/inet/{print $2}’  (#从ifconfig的输出中抽取含inet的行并打印第二域)
[root@mypc /]# ifconfig | awk ‘/inet/{print $2}’ | awk -F: ‘{print $2}’ (#在上面的基础上再抽取,这个命令可以让你直接得到本机的ip地址)

Sed的常用命令语法
Sed是一个非交互性文本流编辑器。它编辑文件或标准输入导出的文本拷贝。

1.行的匹配
[root@mypc /]# sed -n ‘2p’ /etc/passwd  打印出第2行
[root@mypc /]# sed -n ‘1,3p’ /etc/passwd 打印出第1到第3行
[root@mypc /]# sed -n ‘$p’ /etc/passwd   打印出最后一行
[root@mypc /]# sed -n ‘/user/’p /etc/passwd 打印出含有user的行
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
[root@mypc /]# sed -n ‘/\$/’p /etc/passwd  打印出含有$元字符的行,$意为最后一行

2.插入文本和附加文本(插入新行)
[root@mypc /]# sed -n ‘/FTP/p’ /etc/passwd  打印出有FTP的行
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@mypc /]# sed ‘/FTP/ a\ 456′ /etc/passwd 在含有FTP的行后面新插入一行,内容为456
[root@mypc /]# sed ‘/FTP/ i\ 123′ /etc/passwd在含有FTP的行前面新插入一行,内容为123
[root@mypc /]# sed ‘/FTP/ i\ “123″‘ /etc/passwd在含有FTP的行前面新插入一行,内容为”123″
[root@mypc /]# sed ‘5 a\ 123′ /etc/passwd         在第5行后插入一新行,内容为123
[root@mypc /]# sed ‘5 i\ “12345″‘ /etc/passwd   在第5行前插入一新行,内容为”12345″

3.删除文本
[root@mypc /]# sed ‘1d’ /etc/passwd  删除第1行
[root@mypc /]# sed ‘1,3d’ /etc/passwd  删除第1至3行
[root@mypc /]# sed ‘/user/d’ /etc/passwd  删除带有user的行

4. 替换文本,替换命令用替换模式替换指定模式,格式为:
[ a d d r e s s [,address]] s/ pattern-to-find /replacement-pattern/[g p w n]
[root@mypc /]# sed ’s/user/USER/’ /etc/passwd     将第1个user替换成USER,g表明全局替换
[root@mypc /]# sed ’s/user/USER/g’ /etc/passwd    将所有user替换成USER
[root@mypc /]# sed ’s/user/#user/’ /etc/passwd    将第1个user替换成#user,如用于屏蔽作用
[root@mypc /]# sed ’s/user//’ /etc/passwd         将第1个user替换成空
[root@mypc /]# sed ’s/user/&11111111111111/’ /etc/passwd  如果要附加或修改一个很长的字符串,可以使用( &)命令,&命令保存发现模式以便重新调用它,然后把它放在替换字符串里面,这里是把&放前面
[root@mypc /]# sed ’s/user/11111111111111&/’ /etc/passwd  这里是将&放后面

5. 快速一行命令
下面是一些一行命令集。([ ]表示空格,[ ]表示t a b键)
‘s / \ . $ / / g’ 删除以句点结尾行
‘-e /abcd/d’ 删除包含a b c d的行
‘s / [ ] [ ] [ ] * / [ ] / g’ 删除一个以上空格,用一个空格代替
‘s / ^ [ ] [ ] * / / g’ 删除行首空格
‘s / \ . [ ] [ ] * / [ ] / g’ 删除句点后跟两个或更多空格,代之以一个空格
‘/ ^ $ / d’ 删除空行
‘s / ^ . / / g’ 删除第一个字符
‘s /COL \ ( . . . \ ) / / g’ 删除紧跟C O L的后三个字母
‘s / ^ \ / / / g’ 从路径中删除第一个\
‘s / [ ] / [ ] / / g’ 删除所有空格并用t a b键替代
‘S / ^ [ ] / / g’ 删除行首所有t a b键
‘s / [ ] * / / g’ 删除所有t a b键
如果使用s e d对文件进行过滤,最好将问题分成几步,分步执行,且边执行边测试结果。
经验告诉我们,这是执行一个复杂任务的最有效方式。

 

 

 

  1. awk '/^$/{print NR}'
复制代码
  1. sed -n '/^$/='
复制代码

 

[root@localhost ~]# nl test.txt
     1  hahahaha
     2  aaaaaaa
     3  aaaaaaa

     4  bbbbbbbbbbbbb
     5  vvvvvvvv
     6  ddddddddd
     7  vvvvvvvv
     8  aaaaaaa
     9  bbbbbbbbbbbbb
    10  ddddddddddd
    11  $
    12  #
    13  345
    14   345
    15  a5^
[root@localhost ~]# nl test.txt | grep -vn "[1-9]"
4:
[root@localhost ~]#

nl 文件名
默认就会加行号显示.空白行不加行号.

如果需要空白行也加行号可以输入
nl -b a 文件名

 

 



如果要自动把行号前面用0填充可以
[root@localhost ~]# nl -n rz test.txt
000001  hahahaha
000002  aaaaaaa
000003  aaaaaaa
000004  bbbbbbbbbbbbb
000005  vvvvvvvv
000006  ddddddddd
000007  vvvvvvvv
000008  aaaaaaa
000009  bbbbbbbbbbbbb
000010  ddddddddddd
000011  $
000012  #
000013  345
000014   345
000015  a5^


[root@localhost ~]#

-w 后面可以决定填充几个0.可以自己试试。。
nl -n rz -w 4 test.txt|grep -nv "^0"

所以这样也可以实现楼主要求

 

本文转载自:http://hi.baidu.com/imp_dream/blog/item/f3c97f2cb275213d349bf79e.html

共有 人打赏支持
AlphaJay
粉丝 79
博文 284
码字总数 313790
作品 0
杭州
私信 提问
【Linux】sed命令用法详解

http://witmax.cn/linux-sed-usage.html http://www.linuxsir.org/bbs/showthread.php?t=189620 Sed学习笔记 1. sed简介 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行...

AlphaJay
2011/11/10
0
0
linux下grep、awk和sed工具用法概览

linux下grep、awk和sed工具用法概览 在linux下,grep、awk和sed是非常强大的文本处理工具,其中grep命令主要用作文本搜索,而awk和sed命令侧重于文本的编辑等操作,另外awk本身还可以是编程语...

小陶小陶
2018/09/11
0
0
shell基础十二篇

[size=4]编者按:由 [color=orange]wingger[/color] 整理的 [color=green]shell基础十二篇[/color] 涉及shell 编程及使用的各个方面,又附有大量的例子,极适合初学者系统学习。如果配合網...

红薯
2009/05/06
667
0
linux学习-文本处理工具sed

sed(stream editor)是一种非交互的流编辑器,通过多种转换修改流经它的文本。但是,默认情况下,sed并不会改变原文件本身,而只是通过sed命令的文本进行修改,并将修改后的结果打印到标准输出...

羊草
2018/07/16
0
0
大数据教程(2.9):Linux命令sed详解

Sed简介 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲...

em_aaron
2018/07/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

阿里的Java岗面试到底有多难?这些常问技术原理你能答出多少!

阿里面试喜欢问哪些? 阿里的面试特别喜欢面试技术原理,特别是 数据结构 多线程并发 NIO 异步消息框架 分布式相关的缓存算法等 JVM的加裁过程和原理 垃圾回收算法 以及具体使用过的框架,会...

java知识分子
6分钟前
0
0
hibernate入门

下载和导包 下载hibernate 导入数据库驱动包 导入hibernate必要包 lib/required 导入日志记录的包 创建数据库和数据库实体 package com.company.domain;public class Customer { ...

gwl_
12分钟前
0
0
快速体验 Sentinel 集群限流功能,只需简单几步

️ Pic by Alibaba Tech on Facebook 集群限流 可以限制某个资源调用在集群内的总 QPS,并且可以解决单机流量不均导致总的流控效果不佳的问题,是保障服务稳定性的利器。 Sentinel 从 1.4.0 ...

阿里云云栖社区
12分钟前
0
0
元数据注册系统:命名和标识原则

名词定义 对象类术语 对象类是概念、抽象或客观事物的集舍,它们具有明确的边界和含义,且其特性和行为都遵循相同的规则。一个对象类术语可以是管理项概念域、数据元概念和数据元的名称的一部...

十动然拒
21分钟前
0
0
抽丝剥茧:生产环境中负载均衡产品DPDK问题的解决

ULB4是UCloud自主研发的基于DPDK的高可用四层负载均衡产品,转发能力接近线速;DPDK则是一个高性能的开源数据面开发套件。ULB4作为用户应用的全局入口,在大流量多元化场景下保证用户业务的持...

UCloudTech
22分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部