linux 发布java项目操作手记

Linux系统发布项目完整教程 1.后端代码打包 1.1后端代码中文件上传路径修改 说明:Linux发布项目,我们需要将前后端项目打包,并添加到Linux系统,这里以springBoot+maven+ssm的项目为例.如果我们有文件上传的功能,首先规定好文件在Linux系统中的存放路径,如我的windows系统的文件存放的路径是: private String localDir = "F:/images"; Linux系统文件存放的路径为: private String localDir = "/usr/local. 阅读详情

LINUX中,创建文件夹、文件命令及清除命令。

mkdir +文件夹名字
touch +文件名字
rm -fr 删除文件,问价夹  -f强制删除  -r是递归

linux 查看所有用户

查看linux下用户组是哪个命令!

察看 /etc/group文件

用cat /etc/passwd |cut -f 1 -d :
修改LINUX目录或文件的权限和所有权详解

一、文件和目录的权限

  1.文件的权限:

  文件所属用户 所属用户组 其它用户

  权限有:

  读:read 数字表示为4:110

  写:write 数字表示为2:10

  执行:execute 数字表示为:1

  0 1 10 11 110 111 1110 1111

  0 1 2 3 4 5 6 7

  具体解释如下:

  1: 1 可执行

  2:10 可写

  3. 11=10+1 可写可执行

  4. 100 可读

  5. 101=100+1 可读可执行(5=4+1)

  6. 110=100+10 可读可写(6=4+2)

  7. 111=100+10+1 可读可写可执行(7=4+2+1)

  2.权限的查看:

  ls -l|more/less

  二、使用chmod和数字改变文件或目录的访问权限

  文件和目录的权限表示,是用rwx这三个字符来代表所有者、用户组和其他用户的权限。有时候,字符似乎过于麻烦,因此还有另外一种方法是以数字来表示权限,而且仅需三个数字。

  r: 对应数值4

  w: 对应数值2

  x:对应数值1

  -:对应数值0

  数字设定的关键是mode的取值,一开始许多初学者会被搞糊涂,其实很简单,我们将rwx看成二进制数,如果有则有1表示,没有则有0表示,那么rwx r-x r- -则可以表示成为:

  111 101 100

  再将其每三位转换成为一个十进制数,就是754。

  例如,我们想让a.txt这个文件的权限为:

  自己 同组用户 其他用户

  可读 是 是 是

  可写 是 是

  可执 行

  那么,我们先根据上表得到权限串为:rw-rw-r--,那么转换成二进制数就是110 110 100,再每三位转换成为一个十进制数,就得到664,因此我们执行命令:

  [root@localhost ~]# chmod 664 a.txt

  按照上面的规则,rwx合起来就是4+2+1=7,一个rwxrwxrwx权限全开放的文件,数值表示为777;而完全不开放权限的文件“---------”其数字表示为000。下面举几个例子:

  -rwx------:等于数字表示700。

  -rwxr—r--:等于数字表示744。

  -rw-rw-r-x:等于数字表示665。

  drwx—x—x:等于数字表示711。

  drwx------:等于数字表示700。

  在文本模式下,可执行chmod命令去改变文件和目录的权限。我们先执行ls -l 看看目录内的情况:

  [root@localhost ~]# ls -l

  总用量 368

  -rw-r--r-- 1 root root 12172 8月 15 23:18 conkyrc.sample

  drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

  -r--r--r-- 1 root root 331844 10月 22 21:08 libfreetype.so.6

  drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

  -rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0

  -rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1

  -rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

  drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

  可以看到当然文件conkyrc.sample文件的权限是644,然后把这个文件的权限改成777。执行下面命令

  [root@localhost ~]# chmod 777 conkyrc.sample

  然后ls -l看一下执行后的结果:

  [root@localhost ~]# ls -l

  总用量 368

  -rwxrwxrwx 1 root root 12172 8月 15 23:18 conkyrc.sample

  drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

  -r--r--r-- 1 root root 331844 10月 22 21:08 libfreetype.so.6

  drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

  -rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0

  -rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1

  -rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

  drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

  可以看到conkyrc.sample文件的权限已经修改为rwxrwxrwx

  如果要加上特殊权限,就必须使用4位数字才能表示。特殊权限的对应数值为:

  s或 S (SUID):对应数值4。

  s或 S (SGID):对应数值2。

  t或 T :对应数值1。

  用同样的方法修改文件权限就可以了

  例如:

  [root@localhost ~]# chmod 7600 conkyrc.sample

  [root@localhost ~]# ls -l

  总用量 368

  -rwS--S--T 1 root root 12172 8月 15 23:18 conkyrc.sample

  drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

  -r--r--r-- 1 root root 331844 10月 22 21:08 libfreetype.so.6

  drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

  -rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0

  -rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1

  -rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

  drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

  加入想一次修改某个目录下所有文件的权限,包括子目录中的文件权限也要修改,要使用参数-R表示启动递归处理。

  例如:

  [root@localhost ~]# chmod 777 /home/user 注:仅把/home/user目录的权限设置为rwxrwxrwx

  [root@localhost ~]# chmod -R 777 /home/user 注:表示将整个/home/user目录与其中的文件和子目录的权限都设置为rwxrwxrwx

  三、使用命令chown改变目录或文件的所有权

  文件与目录不仅可以改变权限,其所有权及所属用户组也能修改,和设置权限类似,用户可以通过图形界面来设置,或执行chown命令来修改。

  我们先执行ls -l看看目录情况:

  [root@localhost ~]# ls -l

  总用量 368

  -rwxrwxrwx 1 root root 12172 8月 15 23:18 conkyrc.sample

  drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

  -r--r--r-- 1 root root 331844 10月 22 21:08 libfreetype.so.6

  drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

  -rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0

  -rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1

  -rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

  drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

  可以看到conkyrc.sample文件的所属用户组为root,所有者为root。

  执行下面命令,把conkyrc.sample文件的所有权转移到用户user:

  [root@localhost ~]# chown user conkyrc.sample

  [root@localhost ~]# ls -l

  总用量 368

  -rwxrwxrwx 1 user root 12172 8月 15 23:18 conkyrc.sample

  drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

  -r--r--r-- 1 root root 331844 10月 22 21:08 libfreetype.so.6

  drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

  -rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0

  -rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1

  -rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

  drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

  要改变所属组,可使用下面命令:

  [root@localhost ~]# chown :users conkyrc.sample

  [root@localhost ~]# ls -l

  总用量 368

  -rwxrwxrwx 1 user users 12172 8月 15 23:18 conkyrc.sample

  drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

  -r--r--r-- 1 root root 331844 10月 22 21:08 libfreetype.so.6

  drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

  -rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0

  -rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1

  -rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

  drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

  要修改目录的权限,使用-R参数就可以了,方法和前面一样。

linux grep命令

1.作用
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

2.格式
grep [options]

3.主要参数
[options]主要参数:
-c:只输出匹配行的计数。
-I:不区分大 小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达 式的行开始。
\>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的单个字符。
* :有字符,长度可以为0。

4.grep命令使用简单实例
$ grep ‘test’ d*
显示所有以d开头的文件中包含 test的行。
$ grep ‘test’ aa bb cc
显示在aa,bb,cc文件中匹配test的行。
$ grep ‘[a-z]\{5\}’ aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
$ grep ‘w\(es\)t.*\1′ aa
如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着 另外一个es(\1),找到就显示该行。如果用egrep或grep -E,就不用”\”号进行转义,直接写成’w(es)t.*\1′就可以了。

5.grep命令使用复杂实例
假设您正在’/usr/src/Linux/Doc’目录下搜索带字符 串’magic’的文件:
$ grep magic /usr/src/Linux/Doc/*
sysrq.txt:* How do I enable the magic SysRQ key?
sysrq.txt:* How do I use the magic SysRQ key?
其中文件’sysrp.txt’包含该字符串,讨论的是 SysRQ 的功能。
默认情况下,’grep’只搜索当前目录。如果 此目录下有许多子目录,’grep’会以如下形式列出:
grep: sound: Is a directory
这可能会使’grep’ 的输出难于阅读。这里有两种解决的办法:
明确要求搜索子目录:grep -r
或忽略子目录:grep -d skip
如果有很多 输出时,您可以通过管道将其转到’less’上阅读:
$ grep magic /usr/src/Linux/Documentation/* | less
这样,您就可以更方便地阅读。

有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用 *)。如果您忘了,’grep’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按 <CTRL c> ,然后再试。

下面还有一些有意思的命令行参数:
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行,
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。

grep -n pattern files  即可显示行号信息

grep -c pattern files  即可查找总行数

这里还有些用于搜索的特殊符号:
\< 和 \> 分别标注单词的开始与结尾。
例如:
grep man * 会匹配 ‘Batman’、’manic’、’man’等,
grep ‘\<man’ * 匹配’manic’和’man’,但不是’Batman’,
grep ‘\<man\>’ 只匹配’man’,而不是’Batman’或’manic’等其他的字符串。
‘^’:指匹配的字符串在行首,
‘$’:指匹配的字符串在行 尾,



Grep 命令 用法大全

1、 参数: 
-I :忽略大小写 
-c :打印匹配的行数 
-l :从多个 文件 中查找包含匹配项 
-v :查找不包含匹配项的行 
-n:打印包含匹配项的行和行标 

2、RE(正则表达式) 
\ 忽略正则表达式中特殊字符的原有含义 
^ 匹配正则表达式的开始行 
$ 匹配正则表达式的结束行 
\< 从匹配正则表达式的行开始 
\> 到匹配正则表达式的行结束 
[ ] 单个字符;如[A] 即A符合要求 
[ - ] 范围 ;如[A-Z]即A,B,C一直到Z都符合要求 
. 所有的单个字符 
* 所有字符,长度可以为0 

3、举例 
# ps -ef | grep in.telnetd 
root 19955 181 0 13:43:53 ? 0:00 in.telnetd 

# more size.txt size文件的内容 
b124230 
b034325 
a081016 
m7187998 
m7282064 
a022021 
a061048 
m9324822 
b103303 
a013386 
b044525 
m8987131 
B081016 
M45678 
B103303 
BADc2345 

# more size.txt | grep '[a-b]' 范围 ;如[A-Z]即A,B,C一直到Z都符合要求 
b124230 
b034325 
a081016 
a022021 
a061048 
b103303 
a013386 
b044525 
# more size.txt | grep '[a-b]'* 
b124230 
b034325 
a081016 
m7187998 
m7282064 
a022021 
a061048 
m9324822 
b103303 
a013386 
b044525 
m8987131 
B081016 
M45678 
B103303 
BADc2345 

# more size.txt | grep ' b' 单个字符;如[A] 即A符合要求 
b124230 
b034325 
b103303 
b044525 
# more size.txt | grep '[bB]' 
b124230 
b034325 
b103303 
b044525 
B081016 
B103303 
BADc2345 

# grep 'root' /etc/group 
root::0:root 
bin::2:root,bin,daemon 
sys::3:root,bin,sys,adm 
adm::4:root,adm,daemon 
uucp::5:root,uucp 
mail::6:root 
tty::7:root,tty,adm 
lp::8:root,lp,adm 
nuucp::9:root,nuucp 
daemon::12:root,daemon 

# grep '^root' /etc/group 匹配正则表达式的开始行 
root::0:root 

# grep 'uucp' /etc/group 
uucp::5:root,uucp 
nuucp::9:root,nuucp 

# grep '\<uucp' /etc/group 
uucp::5:root,uucp 

# grep 'root$' /etc/group 匹配正则表达式的结束行 
root::0:root 
mail::6:root 

# more size.txt | grep -i 'b1..*3' -i :忽略大小写 

b124230 
b103303 
B103303 

# more size.txt | grep -iv 'b1..*3' -v :查找不包含匹配项的行 

b034325 
a081016 
m7187998 
m7282064 
a022021 
a061048 
m9324822 
a013386 
b044525 
m8987131 
B081016 
M45678 
BADc2345 

# more size.txt | grep -in 'b1..*3' 
1:b124230 
9:b103303 
15:B103303 

# grep '$' /etc/init.d/nfs.server | wc -l 
128 
# grep '\$' /etc/init.d/nfs.server | wc –l 忽略正则表达式中特殊字符的原有含义 

15 
# grep '\$' /etc/init.d/nfs.server 
case "$1" in 
>/tmp/sharetab.$$ 
[ "x$fstype" != xnfs ] && 
echo "$path\t$res\t$fstype\t$opts\t$desc" 
>>/tmp/sharetab.$$ 
/usr/bin/touch -r /etc/dfs/sharetab /tmp/sharetab.$$ 
/usr/bin/mv -f /tmp/sharetab.$$ /etc/dfs/sharetab 
if [ -f /etc/dfs/dfstab ] && /usr/bin/egrep -v '^[ ]*(#|$)' 
if [ $startnfsd -eq 0 -a -f /etc/rmmount.conf ] && 
if [ $startnfsd -ne 0 ]; then 
elif [ ! -n "$_INIT_RUN_LEVEL" ]; then 
while [ $wtime -gt 0 ]; do 
wtime=`expr $wtime - 1` 
if [ $wtime -eq 0 ]; then 
echo "Usage: $0 { start | stop }" 

# more size.txt 

the test file 
their are files 
The end 

# grep 'the' size.txt 
the test file 
their are files 

# grep '\<the' size.txt 
the test file 
their are files 

# grep 'the\>' size.txt 
the test file 

# grep '\<the\>' size.txt 
the test file 

# grep '\<[Tt]he\>' size.txt 
the test file

==================================================================

1,简介
使用正则表达式的一个多用途文本搜索工具.这个php?name=%C3%FC%C1%EE" onclick="tagshow(event)" class="t_tag">命令本来是ed行编辑器中的一个php?name=%C3%FC%C1%EE" onclick="tagshow(event)" class="t_tag">命令/过滤器:
        g/re/p -- global - regular expression - print.
基本格式
grep pattern [file...]
(1)grep 搜索字符串 [filename]
(2)grep 正则表达式 [filename]
在文件中搜索所有 pattern 出现的位置, pattern 既可以是要搜索的字符串,也可以是一个正则表达式.
注意:在输入要搜索的字符串时最好使用双引号/而在模式匹配使用正则表达式时,注意使用单引号

2,grep的选项
    -c 只输出匹配行的计数
    -i 不区分大小写(用于单字符)
    -n 显示匹配的行号
    -v 不显示不包含匹配文本的所以有行
    -s 不显示错误信息
    -E 使用扩展正则表达式
    更多的选项请查看:man grep

3,常用grep实例

(1)多个文件查询
    grep "sort" *.doc       #见文件名的匹配

(2)行匹配:输出匹配行的计数
    grep -c "48" data.doc   #输出文档中含有48字符的行数

(3)显示匹配行和行数
    grep -n "48" data.doc       #显示所有匹配48的行和行号

(4)显示非匹配的行
    grep -vn "48" data.doc      #输出所有不包含48的行

(4)显示非匹配的行
    grep -vn "48" data.doc      #输出所有不包含48的行

(5)大小写敏感
    grep -i "ab" data.doc       #输出所有含有ab或Ab的字符串的行

4, 正则表达式的应用

(1)正则表达式的应用 (注意:最好把正则表达式用单引号括起来)
    grep '[239].' data.doc      #输出所有含有以2,3或9开头的,并且是两个数字的行

(2)不匹配测试
    grep '^[^48]' data.doc      #不匹配行首是48的行

(3)使用扩展模式匹配
    grep -E '219|216' data.doc

(4) ...
    这需要在实践中不断应用和总结,熟练掌握正则表达式。

5, 使用类名
可以使用国际模式匹配的类名:
[[:upper:]]   [A-Z]
[[:lower:]]   [a-z]
[[:digit:]]   [0-9]
[[:alnum:]]   [0-9a-zA-Z]
[[:space:]]   空格或tab
[[:alpha:]]   [a-zA-Z]

(1)使用
    grep '5[[:upper:]][[:upper:]]' data.doc     #查询以5开头以两个大写字母结尾的行


一、常见的Java内存溢出有以下三种

 

1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出
JVM在启动的时候会自动设置JVM Heap的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。

可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap的大小是Young Generation 和Tenured Generaion 之和。

在JVM中如果98%的时间是用于GC,且可用的Heap size 不足2%的时候将抛出此异常信息。

解决方法:手动设置JVM Heap(堆)的大小。  

 

2. java.lang.OutOfMemoryError: PermGen space  ---- PermGen space溢出。 
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。

为什么会内存溢出,这是由于这块内存主要是被JVM存放Class和Meta信息的,Class在被Load的时候被放入PermGen space区域,它和存放Instance的Heap区域不同,sun的 GC不会在主程序运行期对PermGen space进行清理,所以如果你的APP会载入很多CLASS的话,就很可能出现PermGen space溢出。

解决方法: 手动设置MaxPermSize大小

 

3. java.lang.StackOverflowError   ---- 栈溢出
栈溢出了,JVM依然是采用栈式的虚拟机,这个和C和Pascal都是一样的。函数的调用过程都体现在堆栈和退栈上了。
调用构造函数的 “层”太多了,以致于把栈区溢出了。
通常来讲,一般栈区远远小于堆区的,因为函数调用过程往往不会多于上千层,而即便每个函数调用需要 1K的空间(这个大约相当于在一个C函数内声明了256个int类型的变量),那么栈区也不过是需要1MB的空间。通常栈的大小是1-2MB的。
通常递归也不要递归的层次过多,很容易溢出。

解决方法:修改程序。


二 .linux下的tomcat(64位)

编辑   

#sudo vi /opt/tomcat/bin/catalina.sh
在第一行注释下加入
#!/bin/sh
JAVA_OPTS='-server -d64 -Xms2g -Xmx16g -XX:PermSize=1g -XX:MaxPermSize=4g -XX:-UseGCOverheadLimit'
三.windows下的tomcat(64位)

编辑tomcat/bin/catalina.bat文件

找到如下内容,加粗部分为我们加入的内容

rem ----- Execute The Requested Command ---------------------------------------
set JAVA_OPTS=-server -d64 -Xms1g -Xmx8g -XX:PermSize=512M -XX:MaxNewSize=512m -XX:MaxPermSize=1g
echo Using CATALINA_BASE:   "%CATALINA_BASE%"


四.jvm参数说明

 

-server:一定要作为第一个参数,在多个CPU时性能佳 
-Xms:java Heap初始大小。 默认是物理内存的1/64。
-Xmx:java heap最大值。建议均设为物理内存的一半。不可超过物理内存。


-XX:PermSize:设定内存的永久保存区初始大小,缺省值为64M。(我用visualvm.exe查看的)

-XX:MaxPermSize:设定内存的永久保存区最大 大小,缺省值为64M。(我用visualvm.exe查看的)


-XX:SurvivorRatio=2  :生还者池的大小,默认是2,如果垃圾回收变成了瓶颈,您可以尝试定制生成池设置

 

-XX:NewSize: 新生成的池的初始大小。 缺省值为2M。

-XX:MaxNewSize: 新生成的池的最大大小。   缺省值为32M。

如果 JVM 的堆大小大于 1GB,则应该使用值:-XX:newSize=640m -XX:MaxNewSize=640m -XX:SurvivorRatio=16,或者将堆的总大小的 50% 到 60% 分配给新生成的池。调大新对象区,减少Full GC次数。


+XX:AggressiveHeap 会使得 Xms没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。 
-Xss:每个线程的Stack大小,“-Xss 15120” 这使得JBoss每增加一个线程(thread)就会立即消耗15M内存,而最佳值应该是128K,默认值好像是512k. 


-verbose:gc 现实垃圾收集信息 
-Xloggc:gc.log 指定垃圾收集日志文件 
-Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一 
-XX:+UseParNewGC :缩短minor收集的时间 
-XX:+UseConcMarkSweepGC :缩短major收集的时间 此选项在Heap Size 比较大而且Major收集时间较长的情况下使用更合适。

-XX:userParNewGC 可用来设置并行收集【多CPU】
-XX:ParallelGCThreads 可用来增加并行度【多CPU】
-XX:UseParallelGC 设置后可以使用并行清除收集器【多CPU】


如何用ggplot2绘制专业级双侧柱状图展示GO富集结果(附完整代码) 本文详细介绍了如何使用R语言的ggplot2包绘制专业级双侧柱状图展示GO富集结果,包括数据预处理、基础图形构建、高级样式定制和出版级细节调整。通过完整的代码示例和实用技巧,帮助生物信息学研究人员高效可视化高通量数据,提升学术图表的质量和可读性。 阅读详情

相关推荐

快速入门:使用 SQL Server Management Studio (SSMS) 连接和查询 SQL Server 实例

开始使用 SQL Server Management Studio (SSMS) 连接到 SQL Server 实例并运行一些 Transact-SQL (T-SQL) 命令。本文介绍如何连接和查询实例SQL Server。有关 Azure SQL,请参阅连接。若要使用,请参阅连接和查询。若要详细了解如何SQL Server Management Studio,请参阅其他。......

m0_72938729的博客 5728

Java在linux上只能在程序的当前目录下创建文件/文件夹导致的问题

Java在linux上只能在程序的当前目录下创建文件/文件夹导致的问题 Java在linux上只能在程序的当前目录下创建文件/文件夹,导致正常在Windows运行正常的程序,到linux上,如果创建的目录不在当前程序执行目录下会提示:Permission denied 解决也很简单,增加以下代码即可: File f=new File("/home/sxl/out"); f.setWritable(true, false); 如果项目是用docker部署的话,创建的文件夹在磁盘上找不到,则需要将创建的文件夹

qq_41646211的博客 1553

《从0到1:CTFer成长之路》书籍配套题目-[第二章 web进阶]文件上传

[第二章 web进阶]文件上传开始行动绕过第1个限制绕过第2个限制 介绍:记录一下笔记,方便以后迅速回忆使用。 《从0到1:CTFer成长之路》书籍配套题目,来源网站:《从0到1:CTFer成长之路》 先看一下题目源码: <?php header("Content-Type:text/html; charset=utf-8"); // 每5分钟会清除一次目录下上传的文件 require_once('pclzip.lib.php'); if(!$_FILES){ echo '

weixin_46703850的博客 3410

如何在Linux下部署Java项目

如何在Linux下部署Java项目

aaa 7704

ss524v100 调试cvbs输出

启用视频层3 dev2 对应 layer3在vdec与vo绑定的时候(不需要经过vpss),不能绑定错误,以下是绑定的程序。

2116

AI视频生成技术研究报告:现状、挑战与展望

AI 视频生成技术概述:介绍 AI 视频生成技术的基本概念,回顾其发展历程,从早期依赖图像拼接的简单生成方式,到如今融合多种先进技术的复杂模型应用,梳理技术演进的关键节点和重要突破。同时,分析该技术在当前阶段的特点,包括生成视频的质量、速度、灵活性等方面,以及与传统视频制作方式的差异,阐述 AI 视频生成技术如何改变视频创作的流程和模式。技术实现路径分析。

daqsdfas的博客 4574

在linux上部署Java项目

要是想要部署java web程序,首先要配置环境。

m0_60354608的博客 4440

如何利用PREEvision和MATLAB开发AUTOSAR软件组件

在业界,比较著名的电子电气架构开发工具要属德国Vector公司开发的PREEvision工具了,而MATLAB/Simulink软件是非常高效且实用的基于模型的应用软件开发工具。利用PREEvision与Simulink联合开发AUTOSAR应用软件组件的开发流程有三种,分别是:“自上而下”开发流程(从PREEvision开始),“自下而上”开发流程(从Simulink开始),以及“双向”开发流程。如下图所示,无论哪一种开发流程,PREEvision与Simulink工具都是通过arxml文件进行信息交互的

怿星科技的博客 5395

【学习日记2023.6.6】之 Linux环境下部署Java项目

Linux环境下部署Java项目

qq_42575689的博客 3207

STM32 IIC电量计LTC2944

LTC2944是一款电池电量计,设计用于端电压为3.6V至60V的多节电池。它测量电池充电和放电、电池电压、电流和自身温度。精密模拟库仑计数器通过电池正极端子与负载或充电器之间的检测电阻器对电流进行积分。电池电压、电池电流和硅温度由内部ADC测量。

baidu_34971492的博客 3161

回声消除AEC初探

那段保留即可——在播放期间把麦克风关闭(软件层面的 mute),同样能根除回声,只是会失去“一句话期间仍能捕获背景噪声”的能力。如果还有更细节的需求(比如多语言 TTS、实时流式 ASR),欢迎继续交流。的完整示例,可直接拷贝、改造、集成到你现有的 LLM‑TTS 对话系统中。实际效果取决于用户设备的硬件与驱动,若仍有回声,可让用户佩戴。把扬声器信号(把播放音频拷贝给 AEC)从麦克风流中减去。:TTS 播放的声音被同一个麦克风再次捕获,导致声学回声。三种实现示例,帮助你快速落地。,几乎可以消除所有回声。

NLP与推荐算法 570

Linux 部署Java项目

阿里云服务器 初始化云盘后,要更换操作系统操作才能远程登录。Linux sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。

u014575452的博客 3639

FPGA 学习笔记:Vitis IDE launch failed 的解决方法

FPGA 学习笔记:Vitis IDE launch failed 的解决方法

坚韧与专注 1万+

将 java 项目部署到 linux 上的具体步骤

项目部署其实非常的简单,尤其是 java 项目。最近微信群里有网友,初学者还未毕业,问我 Java 项目是如果部署的? 我让他百度搜索,谁知他搜索了,半天发给我了 4 个链接! https://download.youkuaiyun.com/download/jjn311402/9722324 https://download.youkuaiyun.com/download/wazheng/4914235 htt...

xmt1139057136的专栏 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Linux下发布java项目(jar包)

最近做了Linux下的项目发布,记录一下过程。 首先Linux要准备的环境,java8,nginx这些必备的环境。 第一步:将Java项目进行打jar包。 打包完成之后,会出现如下图所示。 第二步:给前端项目进行打包 npm run build 第三步:使用工具连接linux。(这里使用的是xshell和winscp) 使用命令:mkdir 创建好相应的文件夹。 第四步:通过工具,将对应...

qq_35529931的博客 4391

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

linux 下如何发布java项目

linux 下如何发布java项目 1、在eclipse或者myEclipse上将项目打好包(war) 右击项目/export.../java EE/war file 2、使用ftp将war包上传至linux服务器,并在webapps下创建一个文件夹demo,用于存放解压的项目 mkdir demo 3、将war包移动到demo文件夹中 mv demo.war demo/ 4、解

Isnotsuitable的专栏 4165

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

关于LINUX系统的项目配置及发布

Linux系统中的项目发布配置流程 在Linux中安装jdk,并对jdk的环境变量进行配置,配置路径/usr/local/src/source /etc/profile,安装完成之后通过Java -version指令查看jdk配置是否成功 在Linux系统中安装数据库mriaDB 1.数据库的安装和启动 2.数据库初始化 3.切换数据库mysql 4.修改数据库表 5.刷新数据库权限 三.配置防火墙 1.检查防火墙状态 2.防火墙配置,开机不需...

qq_59612674的博客 1699

java项目发布到Linux

java发布到linux下

阿乐的博客 1673

java项目发布到Linux环境

java项目发布到Linux环境简单流程步骤: 1:打开idea项目。在右侧找到maven ,有需要打包的项目,确定需要发布的项目 , 打开 Lifecycle 选择package。 点击:package 如果打包报版本号不对的错,选择右上角的 如图小工具 打开,选择安装的额jdk版本。 第二步:打包完成后,找到打包的文件夹: 打开文件夹 找到对应的项目: 点击 show in Explorer 把该jar包拷贝到Liunx服务器上,其他的所有文件夹不需要管, (.

xulong5000的专栏 1481

Linux安装Tomcat并发布项目

如果你使用的是服务器,记得去安全组添加8080端口。

一切总会归于平淡 3726

linux之项目部署与发布

现在我们可以去测试一下,我们不需要输入端口号就自动访问的tomcat,会在3个端口中选择一个端口进入,当然你们也可以自己去测试一下,把其中的一个tomcat停了,看它是否还能进入tomcat。1)把我们后端项目,cp到/usr/local/java/apache-tomcat-8.5.20/webapps当中。首先先去准备tomcat,我这边在tomcat的根目录,复制了两个,一个是8081,一个是8082。cd /切换到8081的/conf/,这个上面我们说了,这个是用来配置环境文件的。

2302_76705099的博客 2311

完整项目学习-10项目发布即在linux系统中完成部署

文章目录1. 部署JDK1.1 上传JDK1.2 解压压缩包1.3 删除安装文件1.4 修改JDK名称1.5 检查JDK是否有效1.6 JDK环境变量配置2 Linux 项目部署2.1 项目搭建流程2.2 Linux安装Mariadb数据库2.3 后端项目发布2.3.1 后端项目修改2.3.2 后端项目打包2.3.3 上传jar包文件2.3.4 发布项目2.3.5 项目测试2.4 jar包文件项目启动报错说明2.5 关于Linux 进程项说明2.5.1 查询进程2.5.2 杀死进程2.6 项目后台发布2.6

星是河的眼的博客 3533

linux下 docker和发布java服务 使用命令大全

docker使用介绍linux下操作命令Docker中上传,拉取镜像到docker hub中宝塔linux命令大全 linux下操作命令 拉取镜像 docker pull centos:7.2.1511 使用镜像创建1个容器,映射主机6666端口与容器内8888端口 docker run -d -it -p 8888:8888 -p 6666:80 centos:7.2.1511 一般我们再......

beyond的博客 6393

Linux项目发布

文章目录部署JDK上传JDK解压压缩包删除安装文件修改JDK名称检查JDK是否有效JDK环境变量配置补充知识浏览器自动将http转化为https问题设定安全策略Linux 项目部署项目搭建流程Linux安装Mariadb数据库后端项目发布后端项目修改后端项目打包上传jar包文件发布项目项目测试jar包文件项目启动报错说明关于Linux 进程项说明查询进程杀死进程项目后台发布前台发布测试后台发布安装Nginx服务器下载Linux版本Nginx上传到指定目录下解压/删除/改名Nginx 安装步骤配置安装文件安装

Javaciyuwolilian的博客 213

在linux发布项目

1.安装jdk a.检测是否安装了jdk 运行java -version b.若有需要将其卸载 c.查看安装那些jdk rpm -qa | grep java d.卸载 先卸载 openjdk 1.7 rpm -e --nodeps 卸载的包 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.i686 再卸载 openjdk 1.6...

Those who achieve great thing do not stick to trifles 1437

Linux的常用命令及项目的发布

为什么用Linux系统: linux是开源系统,免费; linux由于内部算法复杂安全性高,很少有病毒侵入 linux是多用户、多任务系统,windows是单用户,多任务 linux是模块化、组件化,可以任意关闭不需要的功能,windows只要微软才有此权限 linux系统对硬件支持的要求低,节约成本; 目录结构: Linux的常用命令: CD命令: ipaddr 检查IP地址 pwd 检查当前的位置 tab键 自动补齐(注意唯一性) cd命令是linux中最基本的命令语...

Yjh_pythonking的博客 656
上一篇: 领域模型驱动设计(Domain Driven Design)入门概述
下一篇: linux 发布java项目所遇到的错误 linux unable to create default
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值