精华内容
下载资源
问答
  • java通过代码登录远程linux服务器并执行linux命令源码以及jar包
  • 在linux服务器运行java文件

    千次阅读 2014-02-24 14:38:33
    1、 在windows环境下编写java类,如java类是Test类。 2、 将该Test类上传到linux服务器上,命令如下: ...3、 mapred@10:/bwdata168_2/hyg$ vim Test.java修改该java代码,将该类中的package包去掉。 4、 生成.c

     

    1、  在windows环境下编写java类,如java类是Test类。

    2、  将该Test类上传到linux服务器上,命令如下:

    mapred@10:/bwdata168_2/hyg$rz  -be 会打开一个上传文件的对话框

    3、  mapred@10:/bwdata168_2/hyg$ vim Test.java修改该java代码,将该类中的package包去掉。

    4、  生成.class文件:

    mapred@10:/bwdata168_2/hyg$javac Test.java

    这样该目录下会生成Test.class文件

    5、  创建一个.mf文件,并编辑该文件

       mapred@10:/bwdata168_2/hyg$ vim Test.mf 

       Test.mf 文件内容如下:

        Manifest-Version:1.0

    Main-Class: Test

    Created-By: huangyinge 

    注意:两列之间有空格,不然会报错。

    这样该目录下会生成Test.mf文件。

    6、  mapred@10:/bwdata168_2/hyg$ jar cfm Test.jar Test.mf *.class  

    执行完该命令后,目录下会生成Test.jar文件。

    7、  mapred@10:/bwdata168_2/hyg$ java -jar Test.jar  

    执行该命令后就成功地在linux服务器上运行了java代码。

    展开全文
  • 计算机为何可以运行Java代码

    千次阅读 多人点赞 2021-12-19 01:11:22
    Java代码有很多种不同的运行方式。比如说可以在开发工具中运行,可以双击执行jar文件运行,也可以在命令行中运行,甚至可以在网页。 这些执行方式都离不开JRE,Java运行时环境。 JRE仅包含运行Java程序的必需组件,...

    关注文末公众号,有惊喜福利!

    Java代码有很多种不同的运行方式。比如说可以在开发工具中运行,可以双击执行jar文件运行,也可以在命令行中运行,甚至可以在网页。
    这些执行方式都离不开JRE,Java运行时环境。

    JRE仅包含运行Java程序的必需组件,包括Java虚拟机以及Java核心类库等。我们Java程序员经常接触到的JDK(Java开发工具包)同样包含了JRE,并且还附带了一系列开发、诊断工具。

    然而,运行C++代码则无需额外的运行时。往往把这些代码直接编译成CPU所能理解的代码格式,即机器码。

    比如下图的中间列,就是用C语言写的Helloworld程序的编译结果。
    C程序编译而成的机器码就是一个个的字节,它们是给机器读的。那为让开发人员也能理解,用反汇编器将其转换成汇编代码(如下图的最右列所示)。

    ; 最左列是偏移;中间列是给机器读的机器码;最右列是给人读的汇编代码
    0x00:  55                    push   rbp
    0x01:  48 89 e5              mov    rbp,rsp
    0x04:  48 83 ec 10           sub    rsp,0x10
    0x08:  48 8d 3d 3b 00 00 00  lea    rdi,[rip+0x3b] 
                                        ; 加载"Hello, World!\n"
    0x0f:  c7 45 fc 00 00 00 00  mov    DWORD PTR [rbp-0x4],0x0
    0x16:  b0 00                 mov    al,0x0
    0x18:  e8 0d 00 00 00        call   0x12
                                        ; 调用printf方法
    0x1d:  31 c9                 xor    ecx,ecx
    0x1f:  89 45 f8              mov    DWORD PTR [rbp-0x8],eax
    0x22:  89 c8                 mov    eax,ecx
    0x24:  48 83 c4 10           add    rsp,0x10
    0x28:  5d                    pop    rbp
    0x29:  c3                    ret
    

    为什么Java要在虚拟机里运行?

    Java作为一门高级程序语言,它的语法非常复杂,抽象程度也很高。因此,直接在硬件上运行这种复杂的程序并不现实。所以呢,在运行Java程序之前,需要对其进行一番转换。

    转换怎么操作

    设计一个面向Java语言特性的虚拟机,并通过编译器将Java程序转换成该虚拟机所能识别的指令序列,即Java字节码。
    之所以这么取名,是因为Java字节码指令的操作码(opcode)被固定为一个字节。

    下图的中间列,正是用Java写的Helloworld程序编译而成的字节码。可以看到,它与C版本的编译结果一样,都是由一个个字节组成的。
    同样可以将其反汇编为人类可读的代码格式(如下图的最右列所示)。
    Java版本的编译结果相对精简一些,Java虚拟机相对于物理机而言,抽象程度更高。

    # 最左列是偏移;中间列是给虚拟机读的机器码;最右列是给人读的代码
    0x00:  b2 00 02         getstatic java.lang.System.out
    0x03:  12 03            ldc "Hello, World!"
    0x05:  b6 00 04         invokevirtual java.io.PrintStream.println
    0x08:  b1               return
    

    Java虚拟机常见的是在各个现有平台(如Windows_x64、Linux_aarch64)上提供软件实现。一旦一个程序被转换成Java字节码,便可在不同平台上的虚拟机实现里运行,即“一次编写,到处运行”。

    虚拟机的另外一个好处是它带来托管环境(Managed Runtime),代替我们处理一些代码中冗长而且容易出错的部分。自动内存管理与垃圾回收,这部分内容甚至催生了一波垃圾回收调优。

    托管环境还提供了诸如数组越界、动态类型、安全权限等等的动态检测。

    Java虚拟机具体是怎样运行Java字节码的?

    以标准JDK中的HotSpot虚拟机为例,从虚拟机以及底层硬件两个角度,给你讲一讲Java虚拟机具体是怎么运行Java字节码的。

    虚拟机视角,执行Java代码首先要将它编译而成的class文件加载到Java虚拟机。
    加载后的Java类会被存放于方法区(Method Area)。实际运行时,虚拟机会执行方法区内的代码。

    这和段式内存管理中的代码段类似。而且,Java虚拟机同样也在内存中划分出堆和栈来存储运行时数据。

    但Java虚拟机会将栈细分为面向Java方法的Java方法栈,面向本地方法(用C++写的native方法)的本地方法栈,以及存放各个线程执行位置的PC寄存器。
    运行过程中,每当调用进入一个Java方法,Java虚拟机会在当前线程的Java方法栈中生成一个栈帧,存放局部变量以及字节码的操作数。这个栈帧的大小是提前计算好的,而且Java虚拟机不要求栈帧在内存空间里连续分布。

    当退出当前执行的方法时,不管是正常返回、异常返回,Java虚拟机均会弹出当前线程的当前栈帧,并舍弃。

    硬件视角,Java字节码无法直接执行。因此,Java虚拟机需要将字节码翻译成机器码。
    HotSpot翻译过程有两种形式:

    • 解释执行,逐条将字节码翻译成机器码并执行
      无需等待编译
    • 即时编译(Just-In-Time compilation,JIT),将一个方法中包含的所有字节码编译成机器码后再执行
      实际运行速度更快

      HotSpot默认采用混合模式,综合了解释执行和即时编译两者的优点:
      先解释执行字节码,而后将其中反复执行的热点代码,以方法为单位进行即时编译。

    Java虚拟机的运行效率

    HotSpot采用了多种技术来提升启动性能以及峰值性能,即时编译便是其中最重要的技术之一。

    即时编译建立在程序符合二八定律,百分之二十的代码占据了百分之八十的计算资源。

    • 对占据大部分的不常用的代码,无需耗费时间将其编译成机器码,而是采取解释执行的方式运行
    • 对于仅占据小部分的热点代码,我们则可以将其编译成机器码,以达到理想运行速度。

    理论即时编译后的Java程序的执行效率,是可能超过C++。因为与静态编译相比,即时编译拥有程序的运行时信息,并且能够根据这个信息做出相应的优化。
    虚方法是用来实现多态性。对一个虚方法调用,尽管有很多目标方法,但实际运行过程中,可能只调用其中一个。

    这信息可被即时编译器所利用,规避虚方法调用的开销,达到比静态编译的C++程序更高的性能。

    为满足不同用户场景的需要,HotSpot内置了多个即时编译器:C1、C2和Graal。
    Graal是Java 10正式引入的实验性即时编译器。

    之所以引入多个即时编译器,为在编译时间和生成代码的执行效率之间进行取舍。C1又叫做Client编译器,面向对启动性能有要求的客户端GUI程序,采用的优化手段相对简单,因此编译时间较短。
    C2又叫做Server编译器,面向对峰值性能有要求的服务器端程序,采用的优化手段相对复杂,因此编译时间较长,但同时生成代码的执行效率较高。

    从Java 7开始,HotSpot默认采用分层编译的方式:热点方法首先会被C1编译,而后热点方法中的热点会进一步被C2编译。
    为了不干扰应用的正常运行,HotSpot的即时编译是放在额外的编译线程中进行的。HotSpot会根据CPU的数量设置编译线程的数目,并且按1:2的比例配置给C1及C2编译器。
    在计算资源充足的情况下,字节码的解释执行和即时编译可同时进行。编译完成后的机器码会在下次调用该方法时启用,以替换原本的解释执行。

    总结

    在虚拟机中运行,是因为它提供了可移植性。一旦Java代码被编译为Java字节码,便可以在不同平台上的Java虚拟机实现上运行。此外,虚拟机还提供了一个代码托管的环境,代替我们处理部分冗长而且容易出错的事务,例如内存管理。

    Java虚拟机将运行时内存区域划分为五个部分,分别为方法区、堆、PC寄存器、Java方法栈和本地方法栈。Java程序编译而成的class文件,需要先加载至方法区中,方能在Java虚拟机中运行。

    为了提高运行效率,标准JDK中的HotSpot虚拟机采用的是一种混合执行的策略。

    它会解释执行Java字节码,然后会将其中反复执行的热点代码,以方法为单位进行即时编译,翻译成机器码后直接运行在底层硬件之上。

    HotSpot装载了多个不同的即时编译器,以便在编译时间和生成代码的执行效率之间做取舍。

    参考

    • [1]https://en.wikipedia.org/wiki/Java_processor
    • [2]https://wiki.openjdk.java.net/display/CodeTools/asmtools

    展开全文
  • 云服务器搭建java服务器运行环境

    千次阅读 2018-09-26 20:22:08
    文章目录安装jdk解压jdk配置环境变量安装tomcattomcat开机自启安装MySQL安装MySQL开机启动启动mysql服务配置mysql如果运行上面的命令中途发生错误:`ERROR 1558 (HY000): Column count of mysql.user is wrong....

    安装jdk

    先下载jdk linux版本,点击下载

    通过ftp上传文件到服务器。

    解压jdk

    tar -zxvf jdk-8u181-linux-x64.tar.gz
    

    配置环境变量

    如果你用的是服务器普通用户,编辑~/.bashrc文件,修改环境变量。

    在文件的最后添加如下配置,将JAVA_HOME设置为jdk路径。

    export JAVA_HOME=/home/hjw/app/jdk1.8.0_181
    export PATH=$JAVA_HOME/bin:$PATH
    export JAVA_BIN=$JAVA_HOME/bin
    export JAVA_LIB=$JAVA_HOME/lib
    export JRE_HOME=$JAVA_HOME/jre
    export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar
    

    然后运行source ~/.bashrc使得配置生效。

    如果你用的是root用户,要修改/etc/profile文件,在最后添加上面的代码。

    然后运行source /etc/profile使得配置生效。

    然后运行javac或者java,如果没有出现command not found。则java就配置好了。

    安装tomcat

    点击此地址下载tomcat。

    然后通过ftp上传到服务器,运行tar -zxvf apache-tomcat-8.5.33.tar.gz解压tomcat,根据自己下载的文件修改命令。

    进入tomcat的bin目录,运行./startup.sh运行tomcat。

    此时在浏览器输入http://公网ip:8080 就可以打开tomcat页面了。
    我这里使用了域名绑定了服务器公网ip。

    如果用的是阿里云,可能需要配置安全组策略来开发端口,可以参考阿里云文档。

    tomcat开机自启

    修改脚本文件rc.local,这个脚本是使用者自定的开机启动程序,可以在里面添加想在系统启动之后执行的脚本或者脚本执行命令。

    添加如下内容:

    /home/hjw/app/apache-tomcat-8.5.33/bin/startup.sh 
    

    授权

    chmod 777 /etc/rc.d/rc.local
    

    安装MySQL

    安装MySQL

    这里注意,腾讯云官方文档的安装命令安装出来的mysql是不能启动的,好像安装了mysql另一个分支,命令操作有区别

    rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
    
    yum -y install mysql-community-server
    

    开机启动

    systemctl enable mysqld
    

    启动mysql服务

    systemctl start mysqld
    

    配置mysql

    运行mysql_secure_installation

    提示Enter current password for root (enter for none):由于是刚刚安装,直接按回车通过。

    Set root password? [Y/n] y
    

    输入y设置root密码

    Remove anonymous users? [Y/n] y
    

    删除匿名用户

    Disallow root login remotely? [Y/n] y 
    

    禁止root远程登录

    Remove test database and access to it? [Y/n] y 
    

    删除test数据库

    Reload privilege tables now? [Y/n] y
    

    刷新权限

    如果运行上面的命令中途发生错误:ERROR 1558 (HY000): Column count of mysql.user is wrong. Expected 43, found 39.

    运行mysql_upgrade -uroot -p

    提示输入密码,刚刚安装直接回车。

    进入mysql

    mysql -uroot -p+密码
    

    如密码为12345,输入

    mysql -uroot -p12345
    
    mysql> use mysql;
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
    

    开启远程访问权限“%”代表所有人,12345是密码,root是用户名。

    展开全文
  • Java代码是怎么运行的?

    万次阅读 2018-11-06 00:52:56
    极客时间《深入拆解Java虚拟机》...Java 代码有很多种不同的运行方式,比如在开发工具中运行、双击执行 jar 文件运行、在命令行中运行,甚至可以在网页中运行Java运行离不开 JRE(Java 运行时环境), JRE ...

    《深入拆解Java虚拟机》学习笔记
    专栏地址:http://gk.link/a/1018S
    个人博客:http://laijianfeng.org

    Java 和 C++ 在运行方式上的区别?

    Java 代码有很多种不同的运行方式,比如在开发工具中运行、双击执行 jar 文件运行、在命令行中运行,甚至可以在网页中运行。

    Java 的运行离不开 JRE(Java 运行时环境), JRE 仅包含运行 Java 程序的必需组件,包括 Java 虚拟机以及 Java 核心类库等。当然我们程序员更经常接触到的是 JDK(Java 开发工具包),包含了JRE,并且还附带了一系列开发、诊断工具

    运行 C++ 代码则无需额外的运行时,往往把代码直接编译成 CPU 所能理解的机器码即可。

    为什么 Java 要在虚拟机里运行?

    Java 作为一门高级程序语言,它的语法非常复杂,抽象程度也很高。因此,直接在硬件上运行这种复杂的程序并不现实。

    所以可以在 Java 代码与机器码之间加一层虚拟机,先将 Java 代码转换成 Java 字节码,最后才转换成机器码,降低复杂度。

    Java Hello World 字节码格式
    Java字节码

    Java 虚拟机的好处

    • 通过为各个平台(Linux、Windows、Mac os等)提供Java虚拟机的软件实现,在各个平台上都可以将Java代码转换成字节码来运行Java(可移植性),达到 “一次编写、到处运行” 的目的

    • Java虚拟机为我们带来了一个托管环境(Managed Runtime),可以替我们处理一些冗长而且容易出错的代码,最重要的譬如自动内存管理垃圾回收,同时还提供诸如数组越界动态类型安全权限等的动态检测,让我们可以专心的写业务代码

    Java 虚拟机具体是怎样运行 Java 字节码的?

    首先从虚拟机的角度来看:

    1. 首先将 Java 代码编译成的 class 文件
    2. 将 class 文件加载到 Java 虚拟机中(载入Java内存),加载后的 Java 类会被存放于方法区(Method Area)中
    3. 运行时,虚拟机执行方法区内的代码

    Java虚拟机运行Java字节码的过程

    Java 虚拟机会将栈细分为面向 Java 方法的 Java 方法栈,面向本地方法(用 C++ 写的 native 方法)的本地方法栈,以及存放各个线程执行位置的** PC 寄存器**。

    本地方法,用关键字 native 修饰,基于JNI(Java Native Interface,Java本地接口),它允许 Java 代码和其他语言写的代码进行交互

    在运行过程中,每当调用进入一个 Java 方法,Java 虚拟机会在当前线程的 Java 方法栈中生成
    一个栈帧,用以存放局部变量以及字节码的操作数。(栈帧是提前计算好且不需连续分布)

    当退出当前执行的方法时,不管是正常返回还是异常返回,Java 虚拟机均会弹出当前线程的当前栈帧,并将之舍弃。

    Java 虚拟机将字节码翻译成机器码有两种形式:

    • 解释执行:即逐条将字节码翻译成机器码并执行;
    • 即时编译(Just-In-Time compilation,JIT),即将一个方法中包含的所有字节码编译成机器码后再执行。

    Java虚拟机运行Java字节码的过程

    解释执行的好处是无须等待编译,即时编译的好处是实际执行速度更快

    HotSpot 默认采用混合模式,综合了解释执行和即时编译两者的优点,它会先解释执行字节码,然后将其中反复执行的热点代码以方法为单位进行即时编译

    关于即时编译

    即时编译主要是为了提高 Java 虚拟机的启动性能以及峰值性能,它建立在程序符合二八定律的假设上,也就是百分之二十的代码占据了百分之八十的计算资源。

    对于百分之八十(大部分)不常用的代码,我们无需耗费时间将其编译成机器码,而是采取解释执行的方式运行;对于百分之二十(小部分)的热点代码,我们则可以将其编译成机器码,以达到理想的运行速度

    为了满足不同用户场景的需要(在编译时间和生成代码的执行效率之间进行取舍),HotSpot 内置了多个即时编译器:C1、C2 和 Graal

    • C1,又叫 Client 编译器,面向的是对启动性能有要求的客户端 GUI 程序,采用的优化手段相对简单,编译时间较短
    • C2,又叫 Server 编译器,面向的是对峰值性能有要求的服务器端程序,采用的优化手段相对复杂,编译时间较长,但同时生成代码的执行效率较高
    • Graal 是Java 10 正式引入的实验性即时编译器

    从 Java 7 开始,HotSpot 默认采用分层编译的方式:热点方法首先会被 C1 编译,而后热点方法中的热点会进一步被 C2 编译。

    小作业:观察两个条件判断语句的运行结果

    通过观察两个条件判断语句的运行结果,来思考 Java 语言Java 虚拟机看待 boolean 类型的方式是否不同?

    点击下载asmtools,并在命令行中运行下述指令

    注:ASM 是一个 Java 字节码操控框架

    $ echo '
    public class Foo {
     public static void main(String[] args) {
      boolean flag = true;
      if (flag) System.out.println("Hello, Java!");
      if (flag == true) System.out.println("Hello, JVM!");
     }
    }' > Foo.java
    $ javac Foo.java
    $ java Foo
    $ java -cp /path/to/asmtools.jar org.openjdk.asmtools.jdis.Main Foo.class > Foo.jasm.1
    $ awk 'NR==1,/iconst_1/{sub(/iconst_1/, "iconst_2")} 1' Foo.jasm.1 > Foo.jasm
    $ java -cp /path/to/asmtools.jar org.openjdk.asmtools.jasm.Main Foo.jasm
    $ java Foo
    

    运行结果

    结果分析:(来自评论区)

    jvm 把 boolean 当做 int 来处理,flag = iconst_1 = true
    awk 把 stackframe 中的 flag 改为 iconst_2
    if(flag)比较时ifeq指令做是否为零判断,常数2仍为true,打印输出
    if(true == flag)比较时if_cmpne做整数比较,iconst_1是否等于flag,比较失败,不再打
    印输出

    Hotspot 中的热点代码探测技术

    怎样区分热点代码呢?主要有下面两种方法:

    • 基于采样的热点探测
    • 基于计数器的热点探测

    计数器方法又可细分为方法调用计数器和汇编计数器

    HotSpot的热点代码探测技术

    • 方法调用计数器 统计一个相对的执行频率,即一段时间内方法被调用的次数,当超过一定的时间限度,如果方法的调用次数仍然不足以让它提交给即时编译器,那这个方法的调用计数器就会被减少一半,这个过程称为方法调用计数器热度的衰减,而这段时间就称为方法统计的半衰周期,进行热度衰减的动作在虚拟机进行垃圾收集时顺便进行了。一般采用的都是基于计数器的热点探测,基于计数器的热点探测又有两个计数器,方法调用计数器,回边计数器,他们在C1和C2又有不同的阈值

    • 汇编计数器统计一个方法体重循环体代码执行的次数,在字节码中遇到控制流向后跳转的指令称为汇编,显然,建立汇编计数器的目的就是为了触发OSR编译。没有计数热度衰减的过程,因此这个计数器统计的就是该方法执行循环的绝对次数,当计数器溢出的时候它还会把方法计数器的值也调整到溢出的状态,这样下去在再次进入该方法的时候就会执行标准编译过程。


    扫码购买可加入专栏进行学习,一起成长

    极客时间.深入拆解Java虚拟机

    展开全文
  • JVM是如何运行Java代码

    千次阅读 2018-12-07 19:50:29
    作为一名 Java 程序员,你应该知道,Java 代码有很多种不同的运行方式。比如说可以在开发工具中运行,可以双击执行 jar 文件运行,也可以在命令行中运行,甚至可以在网页中运行。当然,这些执行方式都离不开 JRE,也...
  • //以下代码实现从本地上传一个文件到服务器,如果要实现下载,对换以下流就可以了 outstream = sftp.put(fileName); outstream.write(bytes); } catch (Exception e) { e.printStackTrace(); } finally { //...
  • 运行服务器上的Java程序:Servlet

    千次阅读 2020-02-04 09:37:14
    概念 server applet:运行服务器端的小程序 ...也就是,我们需要通过Java代码来确定。 具体就是,通过Java类来实现。 创建 Java类,判断账号密码 但是,并非所有的Java类都可以在服务器运行,...
  • 各位好,我用myeclipse编写了一个小程序,现在想放到服务器里(windows server2008r2)供局域网里的用户使用,数据库是sqlserver,请问如何设置?
  • Java代码实现执行Linux服务器命令

    千次阅读 2018-10-24 10:51:10
    通过jsch可以实现基于sftp协议的文件传输,使用的是ChannelSftp类,如果要在程序中实现启动服务器的一个脚本,执行某个系统命令的话,就需要用到另一个channel类了,就是ChannelExec类。  如果项目采用maven构建的...
  • 怎样从安卓客户端发出一个命令到服务器,然后服务器端收到命令后执行一段java代码,比如计算1+1,然后返回结果到安卓客户端?请问服务器端需要用什么软件和方法?
  • 这里申请的是测试域名,所以只有...做好了这些准备,那么就可以开始写代码了。 我这里使用的是SpringBoot,这样可以省去很多配置,在这个项目中,几乎是零配置。 图片上传,这里需要两个jar包 <depend...
  • Linux下怎么运行java

    千次阅读 2021-02-26 08:46:51
    linux运行java的方法:首先安装好jdk;然后将代码从windows下拷到linux下;接着执行“javac”,生成“.class”文件;最后运行java程序即可。最近初步接触了linux,感觉很有新鲜感。之前在windows下干过的事情也便...
  • 我在方法中加了print打印,重新编译后在本机运行可以打印出来内容,但是把class文件重新部署到服务器上就不行了,tomcat也重启了,服务器也reboot了,项目也重新部署了几次,但是执行的代码不是最新的,控制台也没...
  • 服务器上跑java程序

    千次阅读 2017-09-05 15:58:13
    1.准备工作准备两个软件SecureCRT用来输入命令行,执行操作 WinSCP用来上传文件到服务器2.登录到服务器(允许进入集群的服务器)上先用SecureCRT登录到...4. 将文件传送到集群的某个节点(用来运行代码的节点)将jart
  • Java代码如何在虚拟机中运行

    千次阅读 多人点赞 2021-05-15 01:03:41
    写在前面 本文隶属于专栏《100个问题搞定Java虚拟机》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!...实际运行时,虚拟机会执行方法区内的代码Java 虚拟机在内存中划分出堆和
  • 初探JAVA代码在虚拟机中的运行机制

    千次阅读 2018-08-04 00:06:13
    作为一名Android程序员,我们都知道Java代码有很多种运行方式,比如:可以在命令行中运行,可以在开发工具中运行,可以以jar文件的形式运行,甚至可以在网页中运行。这些执行的方式都离不开JRE(Java Runtime ...
  • 最近需要将一个用了websocket和netty的java服务端项目放在服务器上,然后由我们的硬件设施发送数据给...(jre是java程序运行时需要的环境,包含了jvm和java核心类库;而jdk是java开发的工具包,包含了jre、java工具...
  • (需要开发改代码) 2、 Tomcat启动端口被占用 Java.net.binexception:address already in use 处理方法: 1、 根据错误信息提示地址已使用 2、 查看Tomcat端口是不是配置了相同端口,或者是已经有在使用的端口。...
  • 现在人类对网络的认识越来越深入,大家都听说过服务器被攻击的案件,但是你们了解服务器被攻击的套路吗? 下面,我们讲解一下服务器的五大攻击: 1.DDOS攻击,是网络中最普遍的攻击类型,衍生很多的其他的攻击类型...
  • Java 很普通的代码执行很慢

    千次阅读 2021-03-08 07:05:55
    大家好,我们生产系统上面现在有一个接口,这个接口里面的代码有的时候运行很慢,后来我把代码分成了好几段,每段代码前后都加了开始时间和结束时间。今天下午 2020/4/7 14:48:00 的时候,运维找我说又发现客户调了...
  • 但是最近由于业务需求,需要通过java代码来操作远程服务器。其实也就是操作shell。 思路: ①使用java两个相关类Runtime和Process1.Runtime:该类封装了运行时的环境。每个Java应用程序都有一个Runtime类实例,是...
  • 如何关闭服务器远程工具仍然运行python代码 开启nohup nohup python ***.py 关闭nohup ps -ef | grep train kill -9 ****#pid为每一行的第二个id编码,表示的是该进程的父进程)
  • Tcp服务端与客户端的JAVA实例源代码 2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多...
  • 内存溢出与锁表则不然,一般现象是操作一般时间后系统越来越慢,直到死机,但并不能明确是在什么操作上出现的,发生的时间点也没有规律,查看日志或查看数据库也不能定位出问题的代码。更严重的是内存溢出与数据库锁...
  • Java 连接linux服务器

    千次阅读 2019-07-01 16:50:30
    Java 连接linux服务器 ... 众所周知,linux服务器是支持ssh命令连接的,连接格式:ssh user@ipAddr port,回车之后输入...那么,怎样使用Java代码进行连接,并且执行命令呢? 来了解一下什么是Jsch与ganymed-ssh2 Gany...
  • 文章目录概述EasyConnect (连入内网)Xshell(建立连接)FileZilla(传输文件)运行代码运行Python代码运行Java代码Linux基础指令 概述 在很多时候,我们需要把代码上传到服务器端,让其在服务器上运行。本文介绍...
  • 1. 在linux进入到项目部署的Tomcat中 2.打开./catalina.sh 配置启动参数 ...5.在Remote启动方式中增加服务器的ip地址 6.重启linux中的tomcat 7.启动新增的Remote 8.在项目中打对应的断...
  • Java代码在本地运行没有问题。上传到阿里云服务器后。出现了中文乱码解决 java -Dfile.encoding=UTF-8 -jar project.jar posted @ 2018-07-01 10:53 Rest探路者 阅读...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 627,110
精华内容 250,844
关键字:

服务器运行java代码

java 订阅