Java高级应用开发经验分享
Java的优点有: 跨平台性很强的,一次编译到处运行,一边编译一边执行, 不受病毒的干扰。但是美中不足,运行速度比C,C++ 等语言慢, 访问硬件底层比不上C++,C,一些应用需求却需要执行纯 Java 程序无法完成的一些任务。为此SUN公司为了突破JAVA的瓶颈, 就引入了JNI 的作用, JNI就是能够兼容C,扬长避短, 快速的访问硬件底层, 扩展我们软件的功能, 随心所欲的进行开发。对于移动开发而言, BREAW, SYMBIAN,等就是以C和C++为基础的, 而现在市场的新兴智能平台ANRDOID 和中国移动的Ophone也是以JAVA 开发为主, 也用到了JNI。而为什么笔者在本文力也推JNI 呢? 原因如下 :
J2ME作为手机应用开发的先驱,由于它的出发点考虑比较低,开发出来的手机应用软件处处受到限制,特别是在底层方面比如手机壁纸,声音均衡器,声音的捕捉等是不能通过软件来设置。不能让我们随心所欲的开发、策划我们的软件。而我们从Android Library或Ophone Library的组成来看, 他是由一系列的c/c++库组成,这些库的能力通过JNI封装成java接口,由Application Framework层提供给开发者。这样JNI为的们访问手机的硬件底层提供接口和方便。这些底层有:声音均衡器,视频,地图,3D, 驱动编写,网络底层等,这样就可以用JAVA 做UI界面,JNI来调用系统的底层, 这样两结合起来就是既提高开发的速度,又提高了软件的运行速度。不久将来Android 或Ophone只要实现了J2me API(大势所趋),这样大量现有的J2ME的应用可以很容易的移植到Android 或Ophone上来,而且通过JNI可以很容易的增加调用底层的高级功能。市场前景很宽阔。下面我就介绍一下:
java 调用JNI示例:
class HelloWorld {
public native void displayHelloWorld();//声明调用C的方法
static {
System.loadLibrary("hello");//导入C的文件,并运行C的MAIN() 方法.
}
public static void main(String[] args) {// 运行主程序
new HelloWorld().displayHelloWorld();//生成
}
}
声明native方法:如果你想将一个方法做为一个本地方法的话,那么你就必须声明改方法为native的,并且不能实现。其中方法的参数和返回值在后面讲述。
Load动态库:System.loadLibrary("hello");加载动态库.
C 的代码:
#include
/* Header for class HelloWorld */
#ifndef _Included_HelloWorld //声明C文件( 标识为C,语言代码)
#
相关文档:
关键字: java排序算法
Java各种排序算法
1)分类:
1)插入排序(直接插入排序、希尔排序)
2)交换排序(冒泡排序、快速排序)
3)选择排序(直接选择排序、堆排序)
4)归并排序
5)分配排序(箱排序、基数排序)
所需辅助空间最多:归并排序
所需辅助空间最少:堆排序
平均速度最快:快速排序 ......
实现一个RMI应用程序(实验报告)
㈠实验内容
实现一个简单的实时聊天系统。
㈡处理流程
1、系统设计
① 创建回调接口
定义一个回调接口,服务器端可以回调此接口中声明的方法。该接口必须继承远程接口即Remote。
② 创建一个本地接口
在该接口中添加本接口的实现类中的 ......
今天的笔试最后一题考的还是字符串替换这种题,花了好久总算写完了!但回来以后搜了一下,一下子虎到了,人家只要一句代码就把问题解决了,不得不佩服NB啊!
public static void replaceString(String a,String b,String c){
Sy ......
转至:http://sllereak.blog.163.com/blog
--异常
*异常是java提供的处理程序中运行时错误的一种机制
*java程序在执行过程中如果出现异常,会生成一个异常类实例,该实例封装了异常的信息交给java运行时系统,这一过程叫抛出异常
*当异常抛出时如果没有捕获那么java运行时默认的处理方式是将异 ......
public static void main(String[] args)
{
InputStream is = CommonUtil.getStream("http://wz.csdn.net/");
String regex = "(?<=href=\")[^\"]*";//查找网页中所 ......