Java
Dong Guo
Google Oriented Programming
展开
-
JavaSE JNI 动态注册本地方法(c语言实现native层)
最近结合着 Android 源码研究了一下 JNI ,发现 Android 上的 JNI 本地方法绑定使用的不是通过函数名进行绑定的静态绑定,而是使用了不常见的动态绑定。于是在 JavaSE 中动手实现了一下 JNI 本地方法动态绑定,在实现过程中或多或少的出现了一些问题,而网上搜索到的相关文章大多数只是对 Android 源码的一个摘要,而没有具体在 JavaSE 中的实现,故作此文以补此空白。本文不涉及 JNI 基础,仅仅是对本地方法动态绑定的一个讲解,不明白 JNI 为何物的小白同学请先 Goog原创 2013-11-13 03:33:18 · 2734 阅读 · 0 评论 -
Java 类初始化顺序 -- 结合阿里2014校招笔试 Java 附加题
首先用文字简单描述一下Java 类的初始化顺序(此处引用 Core Java Volume I 中的译文)规则1:在类第一次加载的时候,将会进行静态域的初始化:1. 将所有的静态数据域初始化为默认值(0、false 和 null)2. 按照在类中定义的顺序依次执行静态初始化语句和静态初始化块规则2:调用构造器的具体处理步骤:1. 将所有的数据域初始化为默认值(0原创 2013-10-03 23:28:33 · 3506 阅读 · 1 评论 -
Java 输出通过 InetAddress 获得的 IP 地址数组
使用 InetAddress 获取 IP 地址会得到一个 byte 数组如果你直接输出这个数组,你会发现 IP 地址中的某些位变成了负数比如 61.135.169.105 会输出成 61.-121.-87.105仔细看一看,会发现 135 + 121 = 256,169 + 87 = 256-_-! 怎么个情况!原创 2013-09-16 01:27:25 · 2685 阅读 · 0 评论 -
Java ObjectInputStream与ObjectOutputStream阻塞(block)问题
在网络通讯中,主机与客户端若使用ObjectInputStream与ObjectOutputStream建立对象通讯时,有时会发生线程阻塞问题。这是因为当从InputStream创建一个ObjectInputStream时,需要从流中读入并验证一个Header,这时如果对方的ObjectOutputStream没有写入一个Header,ObjectInputStream的构造函数便会阻塞(bl原创 2012-05-09 00:37:28 · 3925 阅读 · 0 评论 -
Java Socket实战之三 传输对象
本文地址:http://blog.csdn.net/kongxx/article/details/7259827Java Socket实战之一 单线程通信Java Socket实战之二 多线程通信前面两篇文章介绍了怎样建立Java Socket通信,这一篇说一下怎样使用Java Socket来传输对象。首先需要一个普通的对象类,由于需要序列化这个对象以便在网转载 2012-05-04 01:03:28 · 1586 阅读 · 0 评论 -
在命令提示符下编译、运行java 以及使用jar命令制作可执行的jar包
由于一些新手在刚开始学习Java时便开始使用IDE环境,以至于对传统的命令提示符下的java编译、运行不了解,在使用java、javac等命令时经常遇到一些莫名奇妙的问题。特此发帖介绍一下这些传统的操作。命令提示行符下的java编译、运行1、如果源文件没有使用package,那么可以直接使用 javac MainClass.java 命令编译源文件2、但是一旦指定了package,原创 2011-11-16 15:43:45 · 3190 阅读 · 0 评论 -
Apache的HttpClient项目的3.x版本的使用问题
打算使用Java写一个网络爬虫,使用到了HttpClient,发现HttpClient4.x版本与之前的3.x版本差别很大于是换为使用3.x版本,但编译时又发现eclipse报错Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactoryCaused by: java.lang.原创 2012-02-16 17:02:38 · 3877 阅读 · 0 评论 -
有关import sun.audio.AudioPlayer(或者其它文件)的问题
今天白天在工作中使用Eclipse编译代码的时候,在播放声音的代码中报了这么一个错误 import sun.audio.AudioPlayer; import sun.audio.AudioStream; 上面这两句都报“Access restriction: The type AudioPlayer is not accessible due to restriction on转载 2012-02-14 02:03:29 · 2228 阅读 · 2 评论 -
SWT中实现Label背景透明
可以设置Label的容器Composie的样式为SWT.INHERIT_DEFAULT这样可以达到Label的背景为其容器的背景.也就是背景透明效果..注意SWT.INHERIT_DEFAULT 是递归传递的 。假设这样的层次结构Composite Composite Label如果最外层的Composite设置了SWT.INHERIT_原创 2012-02-11 02:22:33 · 6208 阅读 · 0 评论 -
SWT中消除重绘闪烁问题
在使用 SWT 进行绘图时,我们经常会用到画布 (org.eclipse.swt.Canvas) 。开发者既可以通过类 Canvas 来进行绘图,也可以通过它来自定义一个特制的 Control 。画布默认的行为是在其更新自己之前,首先填充整个绘图区域的背景色,而这可能导致用户在原背景和将要填充的背景之间看到闪烁。其中一种解决方法是让画布的样式设成 SWT.NO_BACKGROUND, 但是此时原创 2012-02-10 02:28:58 · 3055 阅读 · 0 评论 -
SWT中的canvas
Canvas主要用于显示图像,既可以在Canvas上画图,也可以将图片显示于其中。下面通过一个小程序,来演示Canvas使用的3个主要方面:设置图像、更换图像、清除图像。其代码如下:package swt;import java.io.*;import org.eclipse.swt.SWT;import org.eclipse.swt.events.*;import or转载 2012-02-10 02:01:35 · 2872 阅读 · 0 评论 -
ATM自助终端及后台管理系统(课程设计)
ATM自助终端及后台管理系统(课程设计)软件工程的课程设计,文档写的很烂,系统不是按照文档开发的,源代码在包里面都有。界面使用SWT开发,使用MySQL数据库下面是软件运行的一些截图ATM自助终端-登录界面后台管理系统界面原创 2012-01-06 17:53:53 · 7619 阅读 · 8 评论 -
Java转义字符
转义序列 含义 \n 回车(\u000a) \t 水平制表符(\u0009) \b 空格(\u0008) \r 换行(\u000d) \f 换页(\u000c) \' 单引号(\u0027) \" 双引号(\u0022) \\ 反斜杠(\u005c) \ddd 三位八进制 \udddd 四位十六进制 JAVA中转义字符: 1.八进制转义序列:\转载 2011-12-19 19:19:47 · 1386 阅读 · 0 评论 -
SWT的TableItem双击事件监听
TableItem是table里面的显示数据的行,你可以通过对table的双击监听来实现对TableItem的监听当双击table时必定会选种一行,再通过对table选中的行进行判断就知道选中的是哪一行了.具体如下:table.addListener(SWT.MouseDoubleClick, new Listener(){public void handleEvent(Event ev转载 2011-12-13 18:19:50 · 3700 阅读 · 0 评论 -
Android蓝牙通讯模块源码(Android蓝牙开发浅析 续)
前一段时间研究了一下Android的蓝牙通讯,尝试在博客和论坛上发了个帖子,没想到文章竟然有2000多的访问,而且帖子还被版主设为了推荐(在此感谢版主~)实在超乎我的预料(本人菜鸟一只,容易激动~~)于是乎当即放出话,要编写一个蓝牙模块来方便大家使用,并且放出源码供大家学习~终于经过几天的设计和编码,终于完成了Android蓝牙通讯模块,话不多说,请往下看~~Android蓝牙原创 2012-05-09 23:53:11 · 34304 阅读 · 42 评论