Atitit 调用另外语言的功能 目录 1. Waht 常见的语言java python js sql xml h5 c# php等之间的互相调用1 2. 为什么需要互相调用why1 3. 常?

Atitit 调用另外语言的功能

目录

1. Waht 常见的语言java python js sql xml h5 c# php等之间的互相调用 1

2. 为什么需要互相调用why 1

3. 常见模式how, 2

3.1. 语言内部解释器api模式 解析器模式 2

3.2. Cli 模式 2

3.3. 远程接口模式ws rest ajax等 2

3.4. 宿主注册接口调用模式 2

4. Java调用python 2

4.1. Python调用java 3

4.2. Sql调用其他语言 3

5. 各大语言对比表格 3

6. Console控制台的一些内部规范 4

6.1. 标准输出stdin、stdout 以及错误输出 4

6.2. 执行命令的原理是向控制台输入字符读取输出 4

7. 阻塞式api和子线程式 4

8. 面临的常见问题与解决 4

9. ref 4

  1. Waht 常见的语言java python js sql xml h5 c# php等之间的互相调用
  1. 为什么需要互相调用why

提升可读性

提升性能,相当于用高性能语言写库

取长补短,提升灵活性等各方面能力

减少重复代码 项目中常见

隔离本机微服务

提升服务稳定性

  1. 常见模式how,
    1. 语言内部解释器api模式 解析器模式

Java调用sql。。

Java调用xml h5,mybatis 调用xml里面的sql

    1. Cli 模式
    2. 远程接口模式ws rest ajax等
    1. 宿主注册接口调用模式
  1. Java调用python

/bookmarksHtmlEverythingIndexPrj/src/aaa/invokeLan.java

importjava.io.BufferedInputStream;

import java.io.IOException;

import org.apache.commons.io.IOUtils;

publicclass invokeLan {

publicstaticvoid main(String[] args) throws IOException {

String command = "python D:\\zzz\\py.py";

String rzt = IOUtils.toString(Runtime.getRuntime().exec(command).getInputStream(),"gbk");

System.out.println(rzt);

}

}

    1. Python调用java

os.popen()

    1. Sql调用其他语言

主要用来写udf,sp

  1. 各大语言对比表格

语言

方法

java

Runtime.getRuntime().exec(

Python

Os.popen()

Php

exec()

C#

Process。StandardInput.WriteLine(command)

Js (node环境

child_process。exec()

  1. Console控制台的一些内部规范

控制台console,

    1. 标准输出stdin、stdout以及错误输出
    2. 执行命令的原理是向控制台输入字符读取输出

Process。StandardInput.WriteLine(command)

  1. 阻塞式api和子线程式
  2. 面临的常见问题与解决

输出编码读写

参数对象序列化

长时间输出的读取

异步模式的读取

  1. ref

python cmd命令调用 - 飞起的炮哥 - 博客园.html