Java基础
文章平均质量分 61
胡老哈
学电子出身,玩过嵌入式,玩过MFC,熟悉一些常用的通讯协议,用过几个开源库,喜欢自己做东西玩。现在一边玩C++,一边学Android,顺便学点Java。
展开
-
JAVA垃圾回收机制与内存泄露
1.垃圾收集算法的核心思想 Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危 险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。 垃圾收集算法的核心思想是:对虚拟机可用内存空间,即堆空间中的对象进行识别,如果对象正在被引用,那么称其为存活对象,反之,如果对象不再被引 用转载 2012-12-24 09:46:19 · 4565 阅读 · 0 评论 -
不重复随机数列生成算法
原文地址:http://www.cnblogs.com/eaglet/archive/2011/01/17/1937083.html 本文将讲述一个高效的不重复随机数列的生成算法,其效率比通常用hashtable 消重的方法要快很多。 作者:eaglet 转载请注明出处。 首先我们来看命题: 给定一个正整数n,需要输出一个长度为n的数组,数组元素是随机数,范围为转载 2015-07-27 16:41:26 · 810 阅读 · 0 评论 -
7款开源Java反编译工具
今天我们要来分享一些关于 Java 的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程。尤其是像 .NET、Java 这样的运行在虚拟机上的编程语言,更容易进行反编译得到源代码。当然,也有一些商业软件,对其程序进行了混淆加密,这样我们就很难用工具反编译了。 1、Java 反编译插件 —— Jadclipse转载 2014-09-10 11:34:05 · 1021 阅读 · 0 评论 -
Java的char与byte--和C++中的是不同的
今儿偶然看到一个java基础的东西,发现一个很有趣的地方,如果不是偶然看到,我估计自己会一直错下去。 在C++中 在C++中,char是基础数据类型,8位,1个字节。byte不是基础数据类型,一般是typedef unsigned char byte;这样子的,也就是说,byte其实是unsigned char类型,那么也是8位,1个字节。不同的是,char可以表示的范围是-128-1原创 2012-12-25 11:16:49 · 12812 阅读 · 2 评论 -
7步使用JNI
//1.在静态初始化中载入需要调用的本地动态库 static { System.loadLibrary("xxx"); } //2.申明Native方法 public native int getA(int nInput); //3.利用javah 生成本地头文件 //cmd 进入当前根目录 javah -classpath bin/classes -d jni co原创 2013-10-19 17:02:58 · 928 阅读 · 0 评论 -
Jni简单记录
LocalRef与GlobalRef 前者类似局部变量(类似,但是又有本质区别),后者类似全局变量 前者在一次jni调用结束后,由jvm自动释放 后者需要手动释放 LocalRef内存泄露 LocalRef与局部变量不同,它是保存在一张表中的,这张表在调用jni开始创建,一次jni调用结束后销毁 注意:LocalRef的生命周期不是一个函数,而是一次jni调用,这一点与局部变量原创 2014-02-26 23:21:38 · 1494 阅读 · 0 评论 -
android的jar包生成及使用
jar包生成步骤: 编码在要生成jar包的包上,右键,exportjava-->jar file去掉一些不必要的打包的东西,填写导出路径导出 OK,此时在导出路径下就可以找到导出的jar包了。 使用: 把jar包放到工程目录下,一般是libs文件夹下在jar包上右键,build path-->add to build path在工程上右键,build path-原创 2013-10-19 16:59:23 · 1714 阅读 · 0 评论 -
Java中的Package.Import.Class以及和C++的比较(二)--类成员初始化及顺序
接下来主要都是关于Class的内容。 类成员初始化 在C++中,这样做是不行的: class a { public: int a = 0;//不能初始化 编译失败 }但是在java中,这是完全可行的。 在C++中,如果: int a; 你会发现a的值是不确定的。 但是在java中,a的值肯定是0,因为java会自动初始化这个值为0。 这是不原创 2012-12-26 21:29:31 · 1888 阅读 · 0 评论 -
Java中的集合collection以及与C++的比较
java中的集合类似于C++中的STL,里面包含了set、list、map、queue等较常用的数据结构。 其中比较主要的几个: Set--关注元素的唯一性,所有元素不可重复List--关注元素的索引,位置Queue--关注元素的出入顺序Map--关注元素的对应关系,值可重复,但是键不可重复 以上这4个是基本的,不过这4个都是接口类,如果要使用,需要使用它们的实现类。具体关系原创 2013-01-04 09:19:50 · 3159 阅读 · 0 评论 -
Java异常处理及与C++的比较--异常分类.检验异常.非检验异常.常见异常
Java和C++一样,也有一些关键字用于处理异常。 注:以下2个示例只是为了尽可能把所有关键字都使用到,为了介绍关键字的使用位置,并不推荐以下做法。 C++中异常处理的关键字有:try.catch.throw,基本用法示例: try { throw E; } catch (E e) { } catch (...) { }原创 2012-12-29 09:03:56 · 1252 阅读 · 0 评论 -
Java中的Package.Import.Class以及和C++的比较(一)--包.导入.类权限
Package 包 java中的包,类似C++中的namespace,主要是为了防止命名冲突做的,class都在package的里面。 package的申明要放在最前面,申明格式一般是: package 包名; 例如: package java.basic; Import 导入 java中的导入,类似C++中的include,格式如下: import java.ut原创 2012-12-26 14:09:33 · 1933 阅读 · 0 评论 -
Java中的Package.Import.Class以及和C++的比较(三)--继承.抽象类.内部类.接口类
2个关键字 extends:一般是继承类,java里面不能多重继承。 implements:一般是实现接口,因为java里面不能多重继承,所以出现了接口来实现类似多重继承的功能。 一个使用例子: class Son extends Father implements InterfaceA,InterfaceB,InterfaceC son 类,继承自father类,同时实现3个接口。原创 2012-12-27 08:52:49 · 1215 阅读 · 0 评论 -
Java类型转换-引用-string-数组
类型转换 字节数少的可以直接转换成字节数多的,字节数多的转换成少的需要强制类型转换。 引用 java中,引用数据类型一般包括:类引用、接口引用、数组引用。比如 //对象 类 static Object object; //接口 static List list =null; //数组 static int[] months;类似指针,就是指向地址。 string类原创 2012-12-25 13:11:49 · 3420 阅读 · 0 评论 -
AsyncHttpClient+mysql 中文乱码问题
最近做一个小东西,客户端用到AsyncHttpClient做get请求,服务端接收处理数据,然后存储到mysql,再从mysql读取数据回传给客户端。 传输数据中需要使用中文,于是乎,各种乱码问题搞了好久,今天总算搞定,在此记录一下,备查。 AsyncHttpClient中文编码 先解决AsyncHttpClient的中文编码问题,AsyncHttpClient将客户端请求数据发原创 2016-05-16 21:11:27 · 1920 阅读 · 1 评论