1.新建com文件夹,在里面新建 fibnq.java package com; public class fibnq { public fibnq(){} public int fb(int n){ if(n <2){ return 1; }else { return fb(n-1)+fb(n-2); } } } 2.在com文件夹路径打开cmd,编译fibnq.java javac ./fibnq.java 3.返回上一层目录 cd ../ 4.把fibnq类打包:注意   com要和fib…
相信大家已经了解到Java具有跨平台的特性,可以“一次编译,到处运行”,在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的. 那么,跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM). JVM也是一个软件,不同的平台有不同的版本.我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件.Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行.也就是说,只要在不同平台上安…
项目中用到python操作hdfs的问题,一般都是使用python的hdfs包,然而这个包初始化起来太麻烦,需要: from pyspark impport SparkConf, SparkContextfrom hdfs import * client = Client("http://127.0.0.1:50070") 可以看到python需要指定master的地址,平时Scala使用的时候不用这样,如下: import org.apache.hadoop.fs.{FileSyst…
转载: https://www.zhihu.com/question/23003213 1. C代码如何调用Python 1.1 test #include <Python.h> int main(int argc, char *argv[]) { Py_SetProgramName(argv[]); Py_Initialize(); PyRun_SimpleString("print ('Hello Python!')\n"); Py_Finalize(); ; } Li…
Go 1.5发布了,其中包含了一个特性:可以编译生成动态链接库,经试验,生成的.so文件可以被python加载并调用.下面举个例子: 先写一个go文件main.go: package main import "C" //export Sum func Sum(a, b int) int { return a + b } func main() {} 然后编译go build -buildmode=c-shared -o sum.so main.go,会得到一个sum.so和一个sum.…
Go 1.5发布了,其中包含了一个特性:可以编译生成动态链接库,经试验,生成的.so文件可以被python加载并调用.下面举个例子: 先写一个go文件main.go: package main import "C" //export Sum func Sum(a, b int) int { return a + b } func main() {} 然后编译go build -buildmode=c-shared -o sum.so main.go,会得到一个sum.so和一个sum.…
1.生成动态链接库 [root@typhoeus79 c]# more head.c #include <stdio.h> #include <stdlib.h> typedef struct _point{ int x; int y; }Point; Point * InitPoint(int x,int y) { Point *p = (Point *)malloc(sizeof(Point)); p->x = x; p->y = y; return p; } Po…
Linux环境下使用python调用C的printf例子: #!/usr/bin/env python2.7 #-*- coding:utf-8 -*- from ctypes import * def test(): #libc = cdll.LoadLibrary("libc.so.6") libc = CDLL("libc.so.6") msg = "hello world!\n" libc.printf("Testing:%s&…
近日关注性能调优,关注JMX,发现java.lang.management.*之强大.同时查阅了资料,整合一版关于JVM参数获取的note,仅供参考: MemoryMXBean memorymbean = ManagementFactory.getMemoryMXBean(); MemoryUsage usage = memorymbean.getHeapMemoryUsage(); System.out.println("INIT HEAP: " + usage.getInit())…
一.JAVA中获取JVM的信息 原理,利用JavaSDK自带的ManagementFactory类来获取. 二.获取信息 1.获取进程ID @Test public void test1() { RuntimeMXBean mxb = ManagementFactory.getRuntimeMXBean(); System.out.println(mxb.getName()); //2668@Sindrol-PC } 2.获取ManagementFactory.getRuntimeMXBean(…