小白,求指点。(关于Java的可移植性)
小白,求指导。(关于Java的可移植性)
各位大大,大家好,本人纯粹小白一个(完全没有Java基础,只会使用Visual Basic 6和Fortran),请教大家一些问题。
首先说说我面临的问题。因为导师的要求必须使用Fortran来编写运算内核(计算声场),但可以自由选择一门语言进行界面设计。界面设计主要是用来输入用户参数和显示模型,类似于CAD那种模型,但是完全是二维的。我想让我的软件具有跨平台能力,所以特地想问问:
(1)在Windows下编写Java界面移植到Mac os X下工作量有多少,移植难度如何。(Fortran的移植没有问题)
(2)在Windows下编写Java界面移植到linux 下工作量有多少,移植难度如何。(Fortran的移植没有问题)
(3)Windows下在Java中可否调用Fortra编写的dll传递数据(在VB中,也是通过dll来进行数据传输的,传递的是数组,大概有500个实数),在MAC下是否同样可以采用相同的方式。
(4)如果(1)、(2)、(3)能圆满解决,那么我要学习JAVA最好在WIndows下用哪一个开发环境(新手),同样在MAC下选择哪一个。
(5)推荐一本Java的入门经典教材,英文的也行,网上能买到的,要有作者名字。
这些问题可能连常识都搞错了,望大家不要笑话,小白在此先谢过了。
------解决方案--------------------
(1)在Windows下编写Java界面移植到Mac os X下工作量有多少,移植难度如何。(Fortran的移植没有问题)
答:如果你使用Swing编写。几乎不用修改任何代码,至少我做过几个都是这样。包括移植到有图形界面的Linux系统。
(2)在Windows下编写Java界面移植到linux 下工作量有多少,移植难度如何。(Fortran的移植没有问题)
答:上面已经回答了。
(3)Windows下在Java中可否调用Fortra编写的dll传递数据(在VB中,也是通过dll来进行数据传输的,传递的是数组,大概有500个实数),在MAC下是否同样可以采用相同的方式。
答:如果不是必须,建议你用VB或Fortran写个转化器把dll的数据转化到txt里面。然后用Java直接读取。至于是否有Java读取dll数据的,Java使用本地方法也是引用dll,所以应该没问题。
(4)如果(1)、(2)、(3)能圆满解决,那么我要学习JAVA最好在WIndows下用哪一个开发环境(新手),同样在MAC下选择哪一个。
答:JDK+Eclipse。这两个都提供了全平台支持。
(5)推荐一本Java的入门经典教材,英文的也行,网上能买到的,要有作者名字。
答:《Thinking In Java》(这本不用作者名字吧)、Oracle的开发者社区、搜索引擎。
------解决方案--------------------
第二个问题:java本身推广的时候就是说可移植性好,所以移植到Mac亦或是Linux,都是非常简单的;
第四个问题:windows下可以先考虑使用UE,linux下可以考试使用vi,这些用于学习时用,当感觉这些工具的使用满足不了时,自然而然的就可以考虑eclipse了;
第五个问题:要说Java经典,或许大多数人都首推《Java编程思想》,《Java核心技术I》和《Java核心技术II》;
这本书在Java中的位置,或许就和《GOF设计模式--可复用面向对象软件的基础》这本书在设计模式中的地位;
------解决方案--------------------
Linux用的一般是so。mac应该也类似so。所以说最好把数据放到txt里面。这样是最通用的。dll是windows的产物。
------解决方案--------------------
都没问题是指界面。
dll mac下肯定不行,用linux下的.so。所以需要编译两个版本.dll .so
------解决方案--------------------
你可以在启动程序的时候就加载数据,然后用的时候直接返回,不需要在每次使用的时候才加载。这样应该不慢吧。具体的还是得看你需求。
各位大大,大家好,本人纯粹小白一个(完全没有Java基础,只会使用Visual Basic 6和Fortran),请教大家一些问题。
首先说说我面临的问题。因为导师的要求必须使用Fortran来编写运算内核(计算声场),但可以自由选择一门语言进行界面设计。界面设计主要是用来输入用户参数和显示模型,类似于CAD那种模型,但是完全是二维的。我想让我的软件具有跨平台能力,所以特地想问问:
(1)在Windows下编写Java界面移植到Mac os X下工作量有多少,移植难度如何。(Fortran的移植没有问题)
(2)在Windows下编写Java界面移植到linux 下工作量有多少,移植难度如何。(Fortran的移植没有问题)
(3)Windows下在Java中可否调用Fortra编写的dll传递数据(在VB中,也是通过dll来进行数据传输的,传递的是数组,大概有500个实数),在MAC下是否同样可以采用相同的方式。
(4)如果(1)、(2)、(3)能圆满解决,那么我要学习JAVA最好在WIndows下用哪一个开发环境(新手),同样在MAC下选择哪一个。
(5)推荐一本Java的入门经典教材,英文的也行,网上能买到的,要有作者名字。
这些问题可能连常识都搞错了,望大家不要笑话,小白在此先谢过了。
------解决方案--------------------
(1)在Windows下编写Java界面移植到Mac os X下工作量有多少,移植难度如何。(Fortran的移植没有问题)
答:如果你使用Swing编写。几乎不用修改任何代码,至少我做过几个都是这样。包括移植到有图形界面的Linux系统。
(2)在Windows下编写Java界面移植到linux 下工作量有多少,移植难度如何。(Fortran的移植没有问题)
答:上面已经回答了。
(3)Windows下在Java中可否调用Fortra编写的dll传递数据(在VB中,也是通过dll来进行数据传输的,传递的是数组,大概有500个实数),在MAC下是否同样可以采用相同的方式。
答:如果不是必须,建议你用VB或Fortran写个转化器把dll的数据转化到txt里面。然后用Java直接读取。至于是否有Java读取dll数据的,Java使用本地方法也是引用dll,所以应该没问题。
(4)如果(1)、(2)、(3)能圆满解决,那么我要学习JAVA最好在WIndows下用哪一个开发环境(新手),同样在MAC下选择哪一个。
答:JDK+Eclipse。这两个都提供了全平台支持。
(5)推荐一本Java的入门经典教材,英文的也行,网上能买到的,要有作者名字。
答:《Thinking In Java》(这本不用作者名字吧)、Oracle的开发者社区、搜索引擎。
------解决方案--------------------
第二个问题:java本身推广的时候就是说可移植性好,所以移植到Mac亦或是Linux,都是非常简单的;
第四个问题:windows下可以先考虑使用UE,linux下可以考试使用vi,这些用于学习时用,当感觉这些工具的使用满足不了时,自然而然的就可以考虑eclipse了;
第五个问题:要说Java经典,或许大多数人都首推《Java编程思想》,《Java核心技术I》和《Java核心技术II》;
这本书在Java中的位置,或许就和《GOF设计模式--可复用面向对象软件的基础》这本书在设计模式中的地位;
------解决方案--------------------
Linux用的一般是so。mac应该也类似so。所以说最好把数据放到txt里面。这样是最通用的。dll是windows的产物。
------解决方案--------------------
都没问题。编写的dll不要依赖外部库文件,或者有依赖一起拷贝过来即可
在MAC下是否也能调用DLL
都没问题是指界面。
dll mac下肯定不行,用linux下的.so。所以需要编译两个版本.dll .so
------解决方案--------------------
都没问题。编写的dll不要依赖外部库文件,或者有依赖一起拷贝过来即可
在MAC下是否也能调用DLL
Linux用的一般是so。mac应该也类似so。所以说最好把数据放到txt里面。这样是最通用的。dll是windows的产物。
恩,知道了。但是用文档的形式速度好慢的,MAC和linux有没有其他比较好的数据交互
你可以在启动程序的时候就加载数据,然后用的时候直接返回,不需要在每次使用的时候才加载。这样应该不慢吧。具体的还是得看你需求。