Java
承影v
4年Android工作经验作品若干擅长app网络应用产品策划及开发
展开
-
RSA算法原理(二)
作者: 阮一峰上一次,我介绍了一些数论知识。有了这些知识,我们就可以看懂RSA算法。这是目前地球上最重要的加密算法。六、密钥生成的步骤我们通过一个例子,来理解RSA算法。假设爱丽丝要与鲍勃进行加密通信,她该怎么生成公钥和私钥呢?第一步,随机选择两个不相等的质数p和q。爱丽丝选择了61和53。(实际应用中,这两个质数越大,就越难破解。)第二步,计算p和q的转载 2014-07-17 15:46:24 · 1418 阅读 · 0 评论 -
javabase64 1.3 manual
IndexRequirementsInstallationJavadocsQuickstartEncoding with Base64OutputStreamDecoding with Base64InputStreamRequirementsTo run the javabase64 library you need a Java Runtime Environment J2转载 2014-01-15 17:17:53 · 2250 阅读 · 0 评论 -
JAVA 对象序列化(三)——transient以及Externalizable的一种替代方法(使用Serializable)
transient(瞬时)关键字 当我们队序列化进行控制时,可能某个特定子对象不想让Java的序列化机制自动保存与恢复。如果子对象表示的是我们不希望将其序列化的敏感信息(如密码),通常就会面临这种情况。即使对象中的这些信息是private属性,一经序列化处理,人们就可以通过读取文件或者拦截网络传输的方式来访问它。 在Java对象序列化(二)——Externaliz转载 2014-01-11 17:49:14 · 1975 阅读 · 0 评论 -
JAVA 对象序列化(二)——Externalizable
在Java对象序列化(一)——Serializable一文中我们可以看到,Java默认的序列化机制非常简单,而且序列化后的对象不需要再次调用构造器重新生成,但是在实际中,我们可以会希望对象的某一部分不需要被序列化,或者说一个对象被还原之后,其内部的某些子对象需要重新创建,从而不必将该子对象序列化。 在这些情况下,我们可以考虑实现Externalizable接口从而代替Serializable接转载 2014-01-11 17:48:31 · 981 阅读 · 0 评论 -
java泛型类和泛型函数
什么是泛型?泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。可以在集合框架(Collection framework)中看到泛型的动机。例如,Map 类允许您向一个 Map 添加任意类的对象转载 2014-01-10 15:19:55 · 78664 阅读 · 3 评论 -
JAVA中List、Map、Set的区别与选用
类层次关系如下:Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap下面来分别介绍Collection接口 Collection是最基本的集合接口,一个Collection代转载 2013-12-07 15:47:04 · 681 阅读 · 0 评论 -
Java设计模式Proxy之动态代理
Java动态代理主要涉及到两个类:InvocationHandler:该接口中仅定义了一个Object : invoke(Object proxy, Method method, Object[] args);参数proxy指代理类,method表示被代理的方法,args为method中的参数数组,返回值Object为代理实例的方法调用返回的值。这个抽象方法在代理类中动态实现。Pr转载 2013-11-28 23:36:10 · 759 阅读 · 0 评论 -
Java时间到达提醒
import java.io.*;import java.text.*;import java.util.*;import javax.swing.JOptionPane;/** * Read a file of reminders, run each when due using java.util.Timer * @author Ian F. Darwin, http://www转载 2013-11-10 15:11:53 · 12976 阅读 · 0 评论 -
java项目之间的相互引用
Java 一个项目A另一个项目B:(项目A和项目B都是JAVA写的项目) 在A项目中怎么调用B项目中的类和方法 有两种方法 : 1.将一个项目打包成jar包,通过build path 将该jar包引入即可,这种方法是静态的,修改了项目后,要重新引入相应的jar包; 2.通过项目与项目之间建立引用,利用build path/projects add后即可,这种方法更加动转载 2013-11-01 16:37:01 · 2328 阅读 · 0 评论 -
java读取写入utf-8编码文件
private static void replace(File file,String searchStr,String replaceStr) { // TODO Auto-generated method stub if(searchStr == null){ return; } try{/*原创 2013-10-16 11:34:06 · 27256 阅读 · 2 评论 -
Java中Array与ArrayList的主要区别
1)精辟阐述:可以将 ArrayList想象成一种“会自动扩增容量的Array”。2)Array([]):最高效;但是其容量固定且无法动态改变; ArrayList: 容量可动态增长;但牺牲效率;3)建议:基于效率和类型检验,应尽可能使用Array,无法确定数组大小时才使用ArrayList!不过当你试着解决更一般化的问题时,Array的功能就可能过于受限转载 2013-10-31 00:20:51 · 768 阅读 · 0 评论 -
Java Map遍历方式的选择
1. 阐述 对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次value,从而降低了总体效率。那么实际情况如何呢? 为了解遍历性能的真实差距,包括在遍历key+value、遍历key转载 2014-02-18 18:39:21 · 850 阅读 · 0 评论 -
java接口
Java接口中的字段默认都是静态常量,不管在编码的时候有没有显示的指定static或者final。如以下接口:public interface AccessFlag { public int a = 10; public static int b = 20; public final int c = 30; public static final int d =原创 2014-03-11 13:38:51 · 675 阅读 · 0 评论 -
java.nio.ByteBuffer 类 缓冲区
Buffer 类定义了一个可以线性存放primitive type数据的容器接口。Buffer主要包含了与类型(byte, char…)无关的功能。值得注意的是Buffer及其子类都不是线程安全的。每个Buffer都有以下的属性:capacity这个Buffer最多能放多少数据。capacity一般在buffer被创建的时候指定。limit在Buffer上进行的转载 2014-04-01 18:33:25 · 724 阅读 · 0 评论 -
Java对称与非对称加密解密,AES与RSA
加密技术可以分为对称与非对称两种.对称加密,解密,即加密与解密用的是同一把秘钥,常用的对称加密技术有DES,AES等而非对称技术,加密与解密用的是不同的秘钥,常用的非对称加密技术有RSA等 为什么要有非对称加密,解密技术呢假设这样一种场景A要发送一段消息给B,但是又不想以明文发送,所以就需要对消息进行加密.如果采用对称加密技术,那么加密与解密用的是同一把秘钥.除非B事先就知道A转载 2014-07-17 15:32:03 · 2202 阅读 · 0 评论 -
android中tesseract-ocr的介绍
最近在做身份证号码识别,在网上搜索的一番后发现目前开源的OCR中tesseract-ocr算是比较强大的了,它由HP于1985年到1995年间开发,后来由google直接负责,经过谷歌进一步开发后,目前的tesseract-ocr有了显著的改进。tesseract-ocr和Leptonica图像库一起工作,它可以读取多种图像格式,并将其转换成超过60种语言的文本。可以工作在Linux,Wind转载 2014-05-14 00:48:06 · 16492 阅读 · 4 评论 -
代码面试最常用的10大算法
在程序员的职业生涯中,算法亦算是一门基础课程,尤其是在面试的时候,很多公司都会让程序员编写一些算法实例,例如快速排序、二叉树查找等等。本文总结了程序员在代码面试中最常遇到的10大算法类型,想要真正了解这些算法的原理,还需程序员们花些功夫。1.String/Array/Matrix在Java中,String是一个包含char数组和其它字段、方法的类。如果没有IDE自动转载 2014-04-28 20:24:03 · 1064 阅读 · 0 评论 -
eclipse常见问题及技巧
修改 格式化 每行的长度window->preferences->java->code style->formatter->edit->line wrapping->maximum line width 修改后保存就可以了.设置eclipse帮助文档的字体大小window->Preferences->在文本框中输入Font—〉选择Java ->javadoc display font原创 2014-01-09 19:26:41 · 3768 阅读 · 0 评论 -
Java 之 文件读写及性能比较总结
干Java这么久,一直在做WEB相关的项目,一些基础类差不多都已经忘记。经常想得捡起,但总是因为一些原因,不能如愿。其实不是没有时间,只是有些时候疲于总结,今得空,下定决心将丢掉的都给捡起来。文件读写是一个在项目中经常遇到的工作,有些时候是因为维护,有些时候是新功能开发。我们的任务总是很重,工作节奏很快,快到我们不能停下脚步去总结。文件读写有以下几种常用的方法1、字节读写(转载 2014-05-12 17:56:49 · 26139 阅读 · 5 评论 -
FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
这是关于FastJson的一个使用Demo,在Java环境下验证的转载 2014-04-21 11:00:43 · 101774 阅读 · 8 评论 -
Java中8进制和16进制的表示方法
由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题。 但,二进制数太长了。比如int 类型占用4个字节,32位。比如100,用int类型的二进制数表达将是: 0000 0000 0000 0000 0110 0100 面对这么长的数进行思考或操作,没有人会喜欢。因此,C,C++,以及java中 没转载 2014-04-02 16:58:26 · 15202 阅读 · 0 评论 -
Java中普通代码块,构造代码块,静态代码块区别及代码示例
//执行顺序:(优先级从高到低。)静态代码块>mian方法>构造代码块>构造方法。其中静态代码块只执行一次。构造代码块在每次创建对象是都会执行。1 普通代码块//普通代码块:在方法或语句中出现的{}就称为普通代码块。普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行”public class CodeBlock01{ public sta转载 2014-04-02 16:49:16 · 916 阅读 · 0 评论 -
ByteBuffer用法小结
在NIO中,数据的读写操作始终是与缓冲区相关联的.读取时信道(SocketChannel)将数据读入缓冲区,写入时首先要将发送的数据按顺序填入缓冲区.缓冲区是定长的,基本上它只是一个列表,它的所有元素都是基本数据类型.ByteBuffer是最常用的缓冲区,它提供了读写其他数据类型的方法,且信道的读写方法只接收ByteBuffer.因此ByteBuffer的用法是有必要牢固掌握的.1转载 2014-04-01 17:39:41 · 719 阅读 · 0 评论 -
java挂起、恢复和终止线程&线程间通信
有时,线程的挂起是很有用的。例如,一个独立的线程可以用来显示当日的时间。如果用户不希望用时钟,线程被挂起。先于java2的版本,程序用Thread定义的suspend()和resume()来暂停和再启动线程。 java2中挂起、恢复和终止线程。thread定义的suspend(),resume()和stop()方法看起来是管理线程的完美的和方便的方法,它们不能用于新java版本的转载 2014-04-01 18:51:31 · 835 阅读 · 0 评论 -
eclipse git插件配置
1. 安装git客户端(1)MsysGITMsysGIT是命令行版本工具,它是其它工具能运行的基础。下载 Git-1.7.3.1-preview20101002.exe 。下载成功后安装,将安装 git 和一个方便的 bash shell 工具。注意,安装时选择:"Run Git from the Windows Command Prompt""Ch转载 2013-09-16 18:24:07 · 7328 阅读 · 0 评论 -
java创建删除文件及文件夹大全
/** * 根据路径删除指定的目录或文件,无论存在与否 *@param sPath 要删除的目录或文件 *@return 删除成功返回 true,否则返回 false。 */ public static boolean deleteFolder(String sPath) { boolean flag = false;原创 2013-10-16 14:38:43 · 955 阅读 · 0 评论 -
java读写属性配置文件
import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.原创 2013-10-16 14:36:53 · 4661 阅读 · 0 评论 -
servlet常见错误收藏
web.xml文件是在WEB-INF里的,而不是在WEB-ROOT下的。原创 2013-08-13 17:43:03 · 603 阅读 · 0 评论 -
java打印数组
实际中我们单纯打印数组出来是这样的:[Ljava.lang.String;@429719e0可以将数组转化为List来打印。打印一个数组中的所有的元素:1、使用for循环打印2、将数组转化为有序的List打印出来package com.inc.test; import java.util.Arrays; public class Test { public static void原创 2013-08-26 10:25:45 · 24163 阅读 · 2 评论 -
Java构造函数
public class Util_HttpPost { String url = ""; HttpPost httpRequest; List params; String result;//服务器返回结果 public Util_HttpPost(String url, Map map) { // 请求数据// httpRequest = new HttpPost(Var原创 2013-08-22 09:57:40 · 842 阅读 · 0 评论 -
Java 判断字符串是否为空
方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低.方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法.方法三: Java SE 6.0 才开始提供的方法, 效率和方法二几乎相等if(s == null || s.equals(""));if(s == null || s.length() <= 0);if(s == null || s.isEmpty());转载 2013-08-21 19:06:17 · 979 阅读 · 0 评论 -
java遍历map的三种方法
import java.util.Collection;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import java.util.Map.Entry;/** * map遍历的三种办法 *转载 2013-08-21 10:22:47 · 932 阅读 · 0 评论 -
Java不定参数
先看两个简单的例子,来感受一下Java的不定长度参数 第一个例子: Java代码 public class VariArgs { public static void main(String[] args) { test(); test("aaa"); test("aaa",转载 2013-08-21 10:00:51 · 40092 阅读 · 0 评论 -
函数外初始化先于构造函数执行
class A{ public A(){ System.out.println("A构造器"); }}class B{ public B(){ System.out.println("B构造器"); }}class C{ A a; public C(){ a=new A(); } B b=new B();}public class Test{转载 2013-07-22 11:43:08 · 726 阅读 · 0 评论 -
判断ResultSet结果集是否为空
很多时候我们都要判断ResultSet是否存在记录, 但是java里ResultSet 这个对象没有提供一个方法能判断 ,我们只能用next这个方法, next会滚动一条记录丢失第一条数据, 往往很多时候都需要第一条记录,所以我们要做相应的处理 我平常在开发中用到了以下两种形式 。 第一种方法 不及时更新ResultSet 结果集//sql脚本String sql="转载 2013-07-09 14:41:54 · 54632 阅读 · 6 评论 -
虚拟服务器的路由端口映射
本路由器自身集成了防火墙,这样广域网中的计算机要想通过本路由器访问局域网中的某些服务器,则在默认设置下无法通过防火墙的防护,这就出现了一对矛盾,路由器既要保护网络不被侵袭,又要方便广域网合法的用户访问。这里,本路由器提供了虚拟服务器功能,即可以解决这一对矛盾。虚拟服务器定义一个服务端口,所有对此端口的服务请求将被重新定位给通过IP地址指定的局域网中的服务器。服务端口:原创 2013-07-08 13:42:36 · 7255 阅读 · 0 评论 -
JAVA判断文件编码类型
java读取文件,处理过程中,可能因为文件的编码问题导致了中文乱码。有时需要将UTF-8的改为ANSI的编码。以下代码就可以判断文件是什么编码方式。 主要jar包:cpdetector.jar 下载地址http://cpdetector.sourceforge.net/ 同时还需jchardet-1.0.jar这个包,否则detector.add(cpdetector.io.JC转载 2013-09-04 14:18:42 · 5461 阅读 · 0 评论 -
Java 创建指定格式的文件
两种思路:1: 在创建IO流的时候,指定编码[java] view plaincopytry{ File file=new File("C:/11.jsp"); OutputStream out=new FileOutputStream(file);转载 2013-09-04 14:08:14 · 2520 阅读 · 0 评论 -
java读写文件大全
使用Java操作文本文件的方法详解 摘要: 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类,这两个类都是抽象类,Writer中 write(char[] ch,int off,intlength),flush()和close()方法为抽转载 2013-09-04 14:15:46 · 797 阅读 · 0 评论 -
Java中Split函数的用法技巧
在java.lang包中也有String.split()方法,与.net的类似,都是返回是一个字符型数组,但使用过程中还有一些小技巧。如执行:"2|33|4".split("|")出来的结果是:""2|33|4奇怪吧,不过注意看一下API说明还是知道原因的.java.lang.string.split sp转载 2013-10-15 18:34:06 · 2683 阅读 · 0 评论