
Java技术
文章平均质量分 68
LogicTeamLeader
软件项目组长,科幻爱好者。
展开
-
Java中文乱码相关问题深入剖析
使用Java语言时,遇到中文乱码是最令人头疼的问题之一。很多从VC、C#转过来的程序员尤其不适应。鉴于目前网上大多数文章治标不治本,有必要写一篇文章来专门释疑。1. 从Byte开始首先看一段代码: public static void startWithByte() { byte[] unicode_b = new byte[4原创 2012-12-03 07:59:07 · 1757 阅读 · 2 评论 -
Java流编程实例之九--加密流
本例中的加密流使用了PBEWithMD5AndDES加密算法,该算法是对称加密算法,加密和解密使用的密钥是一样的。不同的是除了密码之外,还需要“盐”。代码如下:import javax.crypto.*;import javax.crypto.spec.DESKeySpec;import javax.crypto.spec.PBEKeySpec;import javax.crypto.spec原创 2016-11-30 10:27:34 · 1529 阅读 · 0 评论 -
Java流编程实例之十--多重流使用范例
将一组信息缓冲、加密、压缩后保存到一个文件中,然后从此文件中读取该信息,经解密、解压缩后输出到屏幕。代码如下:import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;import javax.crypto.*;import javax.crypto.spec.PBEKeySpec;import javax.crypto.sp原创 2016-11-30 10:36:32 · 1178 阅读 · 0 评论 -
Java流编程实例及代码
1.前言在众多流行的编程语言中,Java对IO的处理应该是最特殊的,Java打着“尽量减少IO类的设计理念”,搞出了目前应该是最复杂的一套IO相关类,并称之为Java流。 对于新手来说,Java流包含的类众多,含义混杂,上手困难且其中暗藏的陷阱众多;但是对于熟悉了Java流的程序员来说,它的确称得上功能强大。 本文总结了一些Java流的使用指南,给出了一些实例代码,主要内容包括: - Jav原创 2016-12-14 22:53:40 · 3276 阅读 · 1 评论 -
Java流编程实例之八--摘要流
9. 摘要流摘要流在对一组信息进行输入输出操作的同时,将摘要信息记录下来,最后通过getMessageDigest().digest()方法得到摘要信息的byte数组。 摘要流示例代码:对字符串进行摘要和对文件进行摘要。import java.io.*;import java.security.DigestOutputStream;import java.security.Message原创 2016-11-22 21:30:28 · 1225 阅读 · 0 评论 -
Java字符的编码解码与乱码问题
1. 前言编码、解码、乱码、Unicode、UCS-2、UCS-4、UTF-8、UTF-16、Big Endian、Little Endian、GBK这些名词,如果你有一个不太清楚,那么建议看看本文。2. 一幅图说尽Java编码问题2.1 一幅图与三个概念 字符有三种形态:形状(显示在显示设备上)、数字(运行于JVM中,Java统一为unicode编码)和字节数组(不同的字符集有不同的映射方案原创 2017-02-25 23:25:12 · 1087 阅读 · 0 评论 -
Java NIO编程实例之一Buffer
Java NIO主要解决了Java IO的效率问题,解决此问题的思路之一是利用硬件和操作系统直接支持的缓冲区、虚拟内存、磁盘控制器直接读写等优化IO的手段;思路之二是提供新的编程架构使得单个线程可以控制多个IO,从而节约线程资源,提高IO性能。 Java IO引入了三个主要概念,即缓冲区(Buffer)、通道(Channel)和选择器(Selector),本文主要介绍缓冲区。原创 2017-03-11 12:37:22 · 992 阅读 · 0 评论 -
Java NIO编程实例之二Channel
Java NIO(新IO)与Java传统IO(即IO流)之间最大的区别在于,NIO提供了一套异步IO解决方案,其目的在于使用单线程来监控多路异步IO,使得IO效率,尤其是服务器端的IO效率得到大幅提高。为了实现这一套异步IO解决方案,NIO引入了三个概念,即缓冲区(Buffer)、通道(Channel)和选择器(Selector),本文主要介绍通道Channel。原创 2017-03-21 21:25:38 · 858 阅读 · 0 评论 -
Java NIO编程实例之三Selector
Java NIO主要包含三个概念,即缓冲区(Buffer)、通道(Channel)和选择器(Selector)。前面的文章已经介绍了缓冲区和通道,本文则讲述最复杂的选择器Selector。 本文是本系列的第三篇文章,关于缓冲区Buffer可以看第一篇: https://zhuanlan.zhihu.com/p/25701512 关于通道Channel可以看第二篇: https://zhuan原创 2017-04-08 11:44:35 · 2454 阅读 · 2 评论 -
Java Concurrency代码实例之一执行者与线程池
本文的读者应该是已经掌握了基本的Java多线程开发技巧,但不熟悉Java Concurrency包的程序员。Concurrency包中提供的工具众多,用法各异,熟练掌握后大有裨益。本文对包中的各种工具类从概念和用法上进行了分类,并给出了具体的样例代码。原创 2017-05-04 22:34:46 · 990 阅读 · 0 评论 -
Java Concurrency代码实例之二并发队列
**本文的读者应该是已经掌握了基本的Java多线程开发技巧,但不熟悉Java Concurrency包的程序员。本文是本系列的第二篇文章,第一篇文章请看这里: https://zhuanlan.zhihu.com/p/26724352**原创 2017-05-27 21:55:34 · 1002 阅读 · 0 评论 -
Java Concurrency代码实例之三原子变量
本文的读者应该是已经掌握了基本的Java多线程开发技巧,但不熟悉Java Concurrency包的程序员。本文是本系列的第三篇文章,前两篇文章请看这里: https://zhuanlan.zhihu.com/p/26724352 https://zhuanlan.zhihu.com/p/271483811原创 2017-06-10 17:32:14 · 746 阅读 · 0 评论 -
Java Concurrency代码实例之五-同步工具
Java Concurrency代码实例之五-同步工具本文的读者应该是已经掌握了基本的Java多线程开发技巧,但不熟悉Java Concurrency包的程序员。本文是本系列的第五篇文章,前四篇文章请看这里: https://zhuanlan.zhihu.com/p/26724352 https://zhuanlan.zhihu.com/p/27148381原创 2017-07-11 23:10:36 · 1227 阅读 · 0 评论 -
Java Concurrency代码实例之四-锁
本文的读者应该是已经掌握了基本的Java多线程开发技巧,但不熟悉Java Concurrency包的程序员。本文是本系列的第四篇文章,前三篇文章请看这里: https://zhuanlan.zhihu.com/p/26724352 https://zhuanlan.zhihu.com/p/27148381 https://zhuanlan.zhihu.com/p/273383951原创 2017-06-24 22:24:55 · 840 阅读 · 0 评论 -
Java Concurrency代码实例之六-ConcurrentHashMap
本文的读者应该是已经掌握了基本的Java多线程开发技巧,但不熟悉Java Concurrency包的程序员。本文是本系列的第六篇文章,前五篇文章请看这里: Java Concurrency代码实例之一执行者与线程池 Java Concurrency代码实例之二并发队列 Java Concurrency代码实例之三原子变量 Java Concurrency代码实例之四-锁原创 2017-08-19 11:44:37 · 2606 阅读 · 1 评论 -
Java流编程实例之七--压缩流
8. 压缩流压缩流可以将输入的数据变为压缩格式后进行输出,或者读取压缩格式的数据后,解压为正常数据。8.1 将一个文件压缩为一个压缩文件注意ZipEntry的使用,一个ZipEntry代表压缩文件中的一个文件入口。import java.io.*;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;/** *原创 2016-10-02 19:55:19 · 1217 阅读 · 0 评论 -
Java流编程实例之六--数据流
7. 数据流数据流DataOutputStream和DataInputStream用来将Java的简单数据类型和字符串保存为二进制格式,并从二进制格式读取。使用它们时需要注意以下几点: 第一,DataOutputStream输出的二进制流,必须使用DataInputStream读入,且各个变量的输出输出顺序必须相同; 第二,boolean,byte,short,char,int,long,flo原创 2016-09-28 20:35:46 · 1550 阅读 · 0 评论 -
Java流编程实例之二--文件流
3. 文件流3.1 如何选择文件流的类文件流应该是Java流中使用最普遍、最广泛的流了。文件流分为两组,一组是操作字节的FileInputStream和FileOutputStream,另一组是操作字符的FileReader和FileWriter,事实上,我们还经常用到FileReader和FileWriter的父类InputStreamReader和OutputStreamWriter,原因后原创 2016-09-07 21:57:00 · 1569 阅读 · 0 评论 -
在Eclipse中非法删除项目时如何处理
如果你不是在Eclipse中删除项目,而是在文件夹中将项目源码删除。则导入或重建原创 2014-10-22 22:19:17 · 997 阅读 · 0 评论 -
android-viewbadger为你的Android app中的view添加角标
项目地址https://github.com/jgilfelt/android-viewbadger使用方法:1.导入android-viewbadger.jar或者直接将源代码中的com.readystatesoftware.viewbadger包导入项目。2.参考viewbadger.demo.DemoActivity中的写法,最简单的一个角标可以这样插入: View tar原创 2015-04-21 21:47:22 · 1959 阅读 · 0 评论 -
Java泛型代码例子
Java泛型代码例子一篇代码胜过千言万语package com.apkkids.javalanguage;import java.util.ArrayList;import java.util.List;/** * @author wxb * Java泛型例子 */public class GenericTest { //泛型接口 public interface MyCo原创 2015-06-16 21:26:57 · 1100 阅读 · 0 评论 -
Java的四种引用源代码例子
Java的四种引用源代码例子不解释,直接上代码,千言万语顶不住一行代码。package com.apkkids.javalanguage;import java.lang.ref.PhantomReference;import java.lang.ref.Reference;import java.lang.ref.ReferenceQueue;import java.lang.ref.Sof原创 2015-06-26 21:45:33 · 1710 阅读 · 0 评论 -
Android中Fragment和Activity之间的互操作代码例子
摘要本文介绍了Android中一个Activity中有多个Fragment的情况下,Fragment之间如何通过Activity进行互操作。源代码源代码地址为:http://download.youkuaiyun.com/detail/logicteamleader/8931199 源代码使用ADT编写,ADT版本为2014,Android版本为android-22。技术要点1.在Activity中的多个Fr原创 2015-07-24 22:19:04 · 1581 阅读 · 0 评论 -
Java中的二进制、八进制、十六进制和移位运算
Java中的二进制、八进制、十六进制和移位运算一个源代码说明一切:package com.apkkids.javalanguage;import java.util.Random;/** * @author wxb Description:二进制、八进制、十六进制,移位运算 * * 2015-9-28 下午8:31:04 */public class BitCompute原创 2015-09-28 20:55:35 · 4036 阅读 · 0 评论 -
Java的登记式单例代码
网上很多关于登记式单例的代码,有的是错误的,有的过于繁杂,因此自己写了一个代码例子,供大家参考。原创 2016-01-24 21:45:23 · 831 阅读 · 0 评论 -
Java中的原子性与并发编程总结
来自知乎的一个问题引起了我的关注,问题地址是:https://www.zhihu.com/question/42779759在java doc 中 https://docs.oracle.com/javase/tutorial/essential/concurrency/atomic.html However, this does not eliminate all need to synchro原创 2016-04-13 23:11:06 · 2881 阅读 · 0 评论 -
Java API 远程连接Standalone模式的Hbase
前言很多人使用HBase都是从Standalone模式开始的,毕竟不是每个人都有一个集群可以用来随便测试的。但是很多书上没有对如何使用Java API远程连接Standalone模式的HBase详细介绍,导致很多人的代码在连接HBase时碰到很多问题。本文可为你解惑步骤一,JDK安装Standalone模式的HBase,这个看看HBase的官网即可。 设置JDK,一般jdk7即可,目前jdk8经常原创 2016-06-14 22:02:51 · 3495 阅读 · 1 评论 -
使用Phoenix将SQL代码移植至HBase
1.前言HBase是云计算环境下最重要的NOSQL数据库,提供了基于Hadoop的数据存储、索引、查询,其最大的优点就是可以通过硬件的扩展从而几乎无限的扩展其存储和检索能力。但是HBase与传统的基于SQL语言的关系数据库无论从理念还是使用方式上都相去甚远,以至于要将基于SQL的项目移植到HBase时往往需要重写整个项目。 本文介绍了如何使用Apache Phoenix来像操作SQL一样操作HBase。原创 2016-07-13 21:39:04 · 7310 阅读 · 3 评论 -
Java流编程实例之三--字节数组流和字符数组流
4. 字节数组流和字符数组流很多网上的教程在介绍FileInputStream的时候,经常写出这样的代码: FileInputStream fis = new FileInputStream(outputfile); byte[] buf = new byte[1024]; int len = fis.read(buf);代码中使用1024字节的byt原创 2016-09-16 16:52:08 · 2457 阅读 · 0 评论 -
Java流编程实例之一--Java中的字节与字符
1.前言在众多流行的编程语言中,Java对IO的处理应该是最特殊的,Java打着“尽量减少IO类的设计理念”,搞出了目前应该是最复杂的一套IO相关类,并称之为Java流。 对于新手来说,Java流包含的类众多,含义混杂,上手困难且其中暗藏的陷阱众多;但是对于熟悉了Java流的程序员来说,它的确称得上功能强大。 本文总结了一些Java流的使用指南,给出了一些实例代码,主要内容包括: - Jav原创 2016-09-04 21:18:59 · 1636 阅读 · 0 评论 -
Java流编程实例之四--管道流
5. 管道流管道流是用来在多个线程之间进行信息传递的Java流,被号称是最难使用的流,被使用的频率也非常低。但事实上,管道流是非常有用的,它提供了多线程间信息传输的一种有效手段。 管道流包括两个类PipedOutputStream和PipedInputStream。其中PipedOutputStream是写入者/生产者/发送者;PipedInputStream是读取者/消费者/接收者。在使用管道流原创 2016-09-16 19:56:32 · 5933 阅读 · 2 评论 -
Java流编程实例之五--Java过滤器概论
6. Java过滤器概论前面章节讲到的各种Java流,包括文件流、字节数组流、管道流等等被称之为原始流,它们提供了对某类数据的输入输出功能。为了在流处理的过程中简化和标准化某一类功能,例如缓冲、压缩、加密、摘要等,Java提供了一系列过滤器类,每组类提供了一种典型的信息处理功能。根据操作对象是字节还是字符,过滤器又分为过滤器流和阅读器/书写器两类,举例如下:BufferedInputStream/原创 2016-09-16 20:16:25 · 1961 阅读 · 0 评论 -
Java Concurrency代码实例之七-ConcurrentSkipListMap
本文的读者应该是已经掌握了基本的Java多线程开发技巧,但不熟悉Java Concurrency包的程序员。本文是本系列的第七篇文章,前六篇文章请看这里:Java Concurrency代码实例之一执行者与线程池 Java Concurrency代码实例之二并发队列 Java Concurrency代码实例之三原子变量 Java Concurrency代码实例之四-锁 Java Co原创 2018-01-29 22:44:51 · 696 阅读 · 0 评论