- 浏览: 17713 次
- 性别:
- 来自: 武汉
最新评论
-
lufei1344:
[img][/img][url][/url]
Java 类的热替换 —— 概念、设计与实现
文章列表
JAVA消费者与生产者模型的几个不同实现
- 博客分类:
- java基础
java的生产者与消费者模型对与理解JAVA的锁机制,线程安全和并发编程来说是一个比较经典的例子,下面就将我遇到过的几种不同的实现跟大家分享一下。
1.使用synchronized关键字
synchronized来 加同步锁,保证线程安全,synchronized锁自1.6后做了很大的优化,对于一般情况下的同步,用此锁已经足已应付。
public class ProducerAndConsumer {
public static void main(String[] args) {
SyncStack ss = new Sy ...
在C/C++中调用JAVA
本篇中主要是在C/C++中调用JAVA的变量和方法,这篇用到的示例是承接上一篇文章JNI学习系列——java中调用C/C++ ,下面来看看具体的实例1.对上一篇中的TestNative.java稍加修改 ,下面代码黑体的部分为修改的部分 TestNative.javapackage com.yin.jni;
public class TestNative {
int number = 10;
//native关键字 声明本地化方法,不需要用JAVA代码具体实现
public native void sayHello();
public void ...
- 2011-07-11 20:51
- 浏览 973
- 评论(0)
深入了解JNI
1.了解JNI中JAVA类型与C/C++的映射关系
JAVA类型
本地类型
JNI中自定义类型
描述
int
long
jint/jsize
signed 32 bits
long
_int64
jlong
signed 64 bits
byte
signed char
jbyte
signed 8 bits
boolean
unsigned char
jboolean
unsigned 8 bits
char
unsigned short
jchar
unsigned 16 bits
short
short
jsho
- 2011-07-11 19:12
- 浏览 621
- 评论(0)
java中调用C/C++
对JNI的初步认识请看上篇JNI学习系列——初步认识JNI,本编将介绍怎样编写一个简单的JAVA程序来调用C\C++; 1. 编写带有native声明的方法的java类 TestNative.java
package com.yin.jni;
public class TestNative {
//native关键字 声明本地化方法,不需要用JAVA代码具体实现
public native void sayHello();
public static void main(String[] args) {
}
}
2.进入 TestNativ ...
- 2011-07-11 15:24
- 浏览 1136
- 评论(0)
初步认识JNI 什么是JNI? JNI是Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。
设计目的 标准的java类库可能不支持你的程序所需的特性。
·或许你已经有了一个用其他语言写成的库或程序,而你希望在java程序中使用它。 你可能需要用底层语言实现一个小型的时间敏感代码,比如汇编,然后 ...
- 2011-07-11 14:28
- 浏览 505
- 评论(0)
史上最具有内涵的程序猿面试题目
转自:http://energykey.iteye.com/blog/1118494
序员文史综合题目一,选择题(皆为单选): 1,以下谁是二进制思想的最早提出者? a,伏羲;b,姬昌;c,莱布尼茨;d,柏拉图。
2,以下哪个概念和公 ...
- 2011-07-07 21:31
- 浏览 580
- 评论(0)
本文实现的是一个简单的来电监视器,用Toast来提示电话来电的不同状态;
看图 :
主要代码 :
package com.yin.telephony;
import android.app.Activity;
import android.os.Bundle;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.widget.Toast;
pub ...
Java 类的热替换 —— 概念、设计与实现
出处 :http://www.ibm.com/developerworks/cn/java/j-lo-hotswapcls/
Java ClassLoader 技术剖析
在本文中,我们将不对 Java ClassLoader 的细节进行过于详细的讲解,而是关注于和构建在线升级系统相关的基础概念。关于 ClassLoader 的详细细节许多资料可以参考,有兴趣的读者可以自行研读。
要构建在线升级系统,一个重要的技术就是能够实现 Java 类的热替换 —— 也就是在不停止正在运行 ...
- 2011-06-12 16:04
- 浏览 738
- 评论(1)
JAVA代码执行shell命令
2011-06-07 20:48:20
在Android可能有的系统信息没有直接提供API接口来访问,为了获取系统信息时我们就要在用shell指令来获取信息,这时我们可以在代码中来执行命令 ,这里主要用到ProcessBuilder
这个类.
代码部分 :
package com.yin.system_analysis;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import android.ap ...
- 2011-06-07 21:04
- 浏览 964
- 评论(0)
Android中级篇之多线程下载
2011-06-05 15:50:49
要是先多线程下载,则必须对同一个文件可任意位置的写入 ,java中提供这样一个类可任意写入RandomAccessFile
。通过多线程,可将文件分割成多个子断,每一个线程只需下载一段文件即可。实现效果如图:
下面看代码部分:
1.布局文件 main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=" ...
- 2011-06-05 16:20
- 浏览 706
- 评论(0)
自定义Activity间的切换动画
2011-05-31 18:33:50
Android中默认的2个Activity间的切换是左右形式的,你是否已经看的厌烦,或者觉得他不够个性,Android中提供了一种方法,可以自定义这个动画效果;
先看下效果图
产生动画效果主要是这行代码 overridePendingTransition(R.anim.scale, R.anim.alpha);
看代码部分 :
1. 自定义2个Activity 和 2 动画效果
淡入淡出效果 R.anim.alpha
<?xml version=& ...
- 2011-05-31 18:51
- 浏览 827
- 评论(0)
Android基础篇之显示GIF格式图片
2011-05-25 23:20:17
大家都知道,如果我们在Android中用ImageView直接显示GIF的图片,图片只会停在第一帧上,而不会继续。这时看到的只是一张静态的图片,没有GIF的效果。我们可以用Movie来显示图片 这个方法较简单;
1.在main.xml中添加ImageView,指定一张GIF图片为背景;
2.MainActivity.java
package com.yin.displayGIF;
import android.app.Activity;
import android.content.Contex ...
- 2011-05-25 23:30
- 浏览 1089
- 评论(0)
Android中级篇之区分系统程序和安装程序
2011-05-20 21:37:08
出处:http://www.cnblogs.com/mengshu-lbq/archive/2010/09/09/1822237.html
在google上输入以上的关键字+ android,可以搜到的代码:
1
List<PackageInfo> packs = getPackageManager().getInstalledPackages(
0
);
虽然,有 ...
- 2011-05-20 21:44
- 浏览 716
- 评论(0)
ListView中显示网络图片
2011-05-20 10:48:22
最近在做一个天气预报的例子,想在ListView中添加网络图片,在翻阅很多文档,在Baidu上Google很久,终于找到了办法,现在跟大家分享一下解决方案,此篇仅做一个比较简单的实例;
大家知道ImageView 类虽然有一个 setImageUri 方法,但不能直接接受一个由网络地址生成的uri作为参数从而显示图片,我们只好使用其 setImageBitmap 方法,如
Bitmap mBitmap = null;
URL url = new URL(imageUrl);
...
- 2011-05-20 11:19
- 浏览 837
- 评论(0)
Android基础篇之ImageSwitcher与Gallery
2011-05-19 16:16:15
自己制作一个图片浏览器的时候ImageSwitcher与Gallery组合使用是一个比较简遍的方法,现在我们蓝看一下他们的基本用法。
1.配置布局文件 main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android&q ...
- 2011-05-19 16:45
- 浏览 815
- 评论(0)