Atitit 调用另外语言的功能 目录 1. Waht 常见的语言java python js sql xml h5 c# php等之间的互相调用 1 2. 为什么需要互相调用why 1 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

import java.io.BufferedInputStream;

import java.io.IOException;

 

import org.apache.commons.io.IOUtils;

 

public class invokeLan {

 

public static void 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_processexec()

 

 

 

 

 

 

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

控制台console

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

Process。StandardInput.WriteLine(command)

 

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

输出编码读写

参数对象序列化

长时间输出的读取   

异步模式的读取

  1. ref

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

posted @ 2019-06-12 14:24  attilaxAti  阅读(100)  评论(0编辑  收藏  举报