JAVA
文章平均质量分 73
极客Nero
IT技术爱好者,抱着一颗实诚的心去学习每天进步一点点。
展开
-
Java I/O编程
java i/o原理基本概念:I/O(Input/Output)数据源(Data Source)数据宿(Data Sink)Java中把不同的数据源与程序间的数据传输都抽象表述为"流"(Stream),java.io包中定义了多种I/O流类型实现数据I/O功能。I/O流分类:输入流(Input Stream)和输出流(Output Stream)节点流(No转载 2014-03-11 09:55:48 · 608 阅读 · 0 评论 -
同步处理的ArrayList和Vector性能小测试
import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.Vector;public class ArrayTest { private List mArrayList; private Vector mVector; private ArrayTest(原创 2014-12-26 11:49:25 · 740 阅读 · 0 评论 -
Java对象生命周期
1. 创建阶段(Created)为对象分配存储空间开始构造对象从父类到子类对static成员进行初始化父类成员变量按照顺序初始化,递归调用父类的构造方法子类成员变量按照顺序初始化,子类构造方法调用一旦对象被创建,并有某个引用指向它,这个对象的状态就切换到了应用阶段(In Use)2. 应用阶段(In Use)对象至少被一个强引用持有并且对象在作用域内转载 2015-01-10 00:08:15 · 658 阅读 · 0 评论 -
JSON for java入门总结
一、JSON介绍JSON(JavaScript Object Notation),类似于XML,是一种数据交换格式,比如JAVA产生了一个数据想要给JavaScript,则除了利用XML外,还可以利用JSON;JSON相比XML的优势是表达起来很简单;官网:http://www.json.org/JSON是AJAX中的X(就是可以取代XML);转载 2014-12-03 20:51:18 · 614 阅读 · 0 评论 -
使用Eclipse Debug调试程序详解
1.在程序中添加一个断点如果所示:在Eclipse中添加了一个程序断点 在Eclipse中一共有三种添加断点的方法第一种: 在红框区域右键出现菜单后点击第一项 Toggle Breakpoint 将会在你右键代码的哪一行添加一个程序断点 (同样的操作方可取消程序断点)第二种: 在红框区域双击鼠标左键将会在你双击代码的哪一行添加一个程序断点 (同样的操作方可取消程转载 2014-12-03 22:05:51 · 4151 阅读 · 0 评论 -
详解Eclipse断点
详解Eclipse断点大家肯定都用过Eclipse的调试的功能,在调试的过程中自然也无法避免要使用断点(breakpoint),但不知是否对Eclipse中各类断点都有所了解。本篇图文并茂地介绍了Eclipse中全部类型的断点,及其设置,希望对大家有所帮助。(2011.11.20)1. 示例程序BreakpointDemo是一个臆造的应用程序,只是为了便于讲解Eclipse中各类断转载 2014-11-24 13:59:58 · 1034 阅读 · 0 评论 -
Apache MINA连接数性能提高
在使用mina的时候,我使用的xp系统,想测试一下mina到底支持多少长连接.但是奇怪的是每次最多支持到415个左右.这样和网上说的mina的性能完全不符.经过研究,应该是操作系统的原因.后来修改了两个注册表连接数可以达到4000多.下面是修改方法:增加windows最大TCP连接随机端口数系统默认TCP随机端口范围为:1024-5000转载 2014-11-26 11:04:46 · 2806 阅读 · 0 评论 -
Java中的String不再纠结
又是新的一月,又是各种总结,先分享一下java中string的一些小专题吧,这部分比比较基础,但是也非常的有用。我发现很多面试官像中了邪一样就爱问这个。。string的种种,纠结,希望这篇文章让大家不再纠结。。 string是我们经常用到的一个类型,其实有时候觉得写程序就是在反复的操作字符串,这是C的特点,在java中,jdk很好的封装了关于字符串的操作。今天主要讲的是三个类St转载 2014-11-02 10:01:08 · 556 阅读 · 0 评论 -
ConcurrentHashMap原理分析
集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的ConcurrentHashMap,让我们从原理上细致的了解它们,能够让我们在深度项目开发中获益非浅转载 2014-11-17 08:52:30 · 532 阅读 · 0 评论 -
Java基本数据类型及字节
1.基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。JAVA中的数值类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或者操作系统的改变而改变。实际上,JAVA中还存在另外一种基本类型void转载 2014-10-30 09:35:05 · 682 阅读 · 0 评论 -
java枚举类型
Java 枚举7常见种用法http://softbeta.iteye.com/blog/1185573DK1.5引入了新的类型——枚举。在Java中它虽然算个“小”功能,却给我的开发带来了“大”方便。用法一:常量在JDK1.5之前,我们定义常量都是:public static fianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供转载 2014-10-25 00:22:44 · 680 阅读 · 0 评论 -
Eclipse背景颜色修改
Eclipse背景颜色修改: 操作界面默认颜色为白色。对于我们长期使用电脑编程的人来说,白色很刺激我们的眼睛,所以我经常会改变workspace的背景色,使眼睛舒服一些。设置方法如下: 1、打开window->Preference,弹出Preference面板 2、展开General标签,选中Editors选项,展开。 3、选中 Test Editors,右边出现Test转载 2014-10-22 22:49:58 · 731 阅读 · 0 评论 -
String,StringBuffer与StringBuilder的区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常转载 2014-08-18 16:48:53 · 523 阅读 · 0 评论 -
android:installLocation简析
在Froyo(android 2.2,API Level:8)中引入了android:installLocation.通过设置该属性可以使得开发者以及用户决定程序的安装位置.android:installLocation隶属于AndroidManifest.XML中的manifest节点.如下所示:xmlns:android="http://schemas.android.com/ap转载 2014-08-17 12:15:18 · 582 阅读 · 0 评论 -
Java RandomAccessFile用法
RandomAccessFileRandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了。这些记录的大小不必相同;但是其大小和位置必须是可知的。但是该类仅限于操作文件。RandomAccessFile不属于InputStream和OutputStream类系的。实际上,除了实现DataInput和DataOutput接转载 2014-08-15 22:47:38 · 550 阅读 · 0 评论 -
Java中用内存映射处理大文件
在处理大文件时,如果利用普通的FileInputStream 或者FileOutputStream 抑或RandomAccessFile 来进行频繁的读写操作,都将导致进程因频繁读写外存而降低速度.如下为一个对比实验。[java] view plaincopypackage test; import java.io.Buffer转载 2014-08-15 21:06:58 · 784 阅读 · 0 评论 -
file的getPath getAbsolutePath和getCanonicalPath的不同
file的这几个取得path的方法各有不同,下边说说详细的区别概念上的区别:(内容来自jdk,个人感觉这个描述信息,只能让明白的人明白,不明白的人看起来还是有点难度(特别试中文版,英文版稍好些)所以在概念之后我会举例说明。如果感觉看概念很累就跳过直接看例子吧。看完例子回来看概念会好些。getPathpublic String getPath()将此抽象路径名转换为一个路径名字符转载 2014-08-17 11:45:35 · 595 阅读 · 0 评论 -
java 反射 Field类
package com.ncs;public class Point { private int x; public int y; public String s1 ="ball"; public String s2="hubin"; public String s3="zhangxiaoxiang"; //做实验而已,字段不可能是 public 的 public P转载 2014-08-13 20:40:53 · 576 阅读 · 0 评论 -
同步处理的ArrayList和Vector性能小测试(多线程写法)
import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.Vector;public class ArrayTest { public static List mArrayList = new ArrayList(); public static Vector原创 2014-12-26 12:39:03 · 686 阅读 · 0 评论 -
java多线程返回函数结果
两种方式:一种继承Thread类实现;一种通过实现Callable接口。第一种方法:因为实现Thread类的run方法自身是没有返回值的,所以不能直接获得线程的执行结果,但是可以通过在run方法里把最后的结果传递给实例变量,然后通过getXX方法获取该实例变量的值。继承实现的代码:[java] view plaincopycl转载 2014-12-26 12:11:43 · 806 阅读 · 0 评论 -
java的System.getProperty()方法可以获取的值
java.versionJava 运行时环境版本java.vendorJava 运行时环境供应商java.vendor.urlJava 供应商的 URLjava.homeJava 安装目录java.vm.specification.vers转载 2014-12-26 15:14:46 · 735 阅读 · 0 评论 -
使用Inputstream读取文件
在java中,可以使用InputStream对文件进行读取,就是字节流的输入。当读取文件内容进程序时,需要使用一个byte数组来进行存储,如此会有如下两个问题:1.如何建立合适大小的byte数组,如果已知输入流的大小。2.如果不知输入流的大小,则肯定需要建立一个很大的byte数组,那么byte中很可能有空的内容,那么如何正确合适的将byte数组的中的内容输出?先看第一个问题转载 2014-03-11 19:57:44 · 1168 阅读 · 0 评论 -
java写入文件(文件内容末尾追加)
import java.io.FileWriter;import java.io.IOException;import java.io.RandomAccessFile;public class AppendToFile { /** * A方法追加文件:使用RandomAccessFile */ public static void ap转载 2014-03-17 18:31:29 · 1346 阅读 · 0 评论 -
JAVA设计模式初探之组合模式
先看看组合模式的定义吧:“将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。” 就拿剪发办卡的事情来分析一下吧。 首先,一张卡可以在总部,分店,加盟店使用,那么总部可以刷卡,分店也可以刷卡,加盟店也可以刷卡,这个属性结构的店面层级关系就明确啦。 那么,总店刷卡消费与分店刷卡消费是一样的道理,那么总店与分店对转载 2015-06-05 16:46:36 · 549 阅读 · 0 评论 -
RandomAccessFile
RandomAccessFileRandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了。这些记录的大小不必相同;但是其大小和位置必须是可知的。但是该类仅限于操作文件。RandomAccessFile不属于InputStream和OutputStream类系的。实际上,除了实现DataInput和DataOutput接转载 2014-03-17 18:49:50 · 652 阅读 · 0 评论 -
Java中getResourceAsStream的用法
Java中getResourceAsStream的用法首先,Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoade转载 2014-04-13 15:56:02 · 529 阅读 · 0 评论 -
java中的io系统详解
相关读书笔记、心得文章列表 Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 java 内 Unicode 字符流之间的转换。而类 InputStreamRead转载 2014-04-17 12:05:33 · 689 阅读 · 0 评论 -
Java——抽象类实现接口
在Java中,使用抽象类来实现接口,并不是毫无作用。相反,有时间有很大的作用。 当你只想实现接口中的个别方法(不是所有方法)时,你可以先写一个抽象类来实现该接口,并实现除了你想要的方法之外的所有方法(方法体为空)。接着再用你的类继承这个抽象类,这个类中就只用实现你需要的方法了,这样就可以达到你的需要了。但是,如果你直接实现接口的话,你就需要实现接口的所有方法。转载 2015-06-01 10:06:55 · 737 阅读 · 0 评论 -
Java构建工具:Ant vs Maven vs Gradle
创世之初,世上只有Make一种构建工具,后来,其发展为GNU Make。但是,由于需求的不断涌现,码农的世界里逐渐演化出了千奇百怪的构建工具。当前,JVM生态圈由三大构建工具所统治:Apache Ant带着IvyMavenGradelAnt with IvyAnt是第一个“现代”构建工具,在很多方面它有些像Make。2000年发布,在很短时间内成为Java项目上最流行的构建转载 2015-05-26 19:04:01 · 671 阅读 · 0 评论 -
DriverManager与DataSource 连接数据库区别?
DriverManager与DataSource 连接数据库有何区别? DriverManager传统的jdbc连接,通过Class.forName("XXX"),的办法注册之后,就可以DriverManager.getConnection()获得连接了。 DataSource是建立在JNDI服务基础上的,需要application server配转载 2015-04-12 15:35:12 · 2205 阅读 · 0 评论 -
使用java闭锁实现并发测试
最近看到公司的一个同事写了一个程序对我们的服务器进行并发测试,看了他代码令我很抓狂,他用一个for循环,然后分别启动线程进行就搞定,类似这样的写法:for(int i=0;iThread thread = new MyThread();thread.start();}上面的写法其实不是真正的并发测试,没有实现对5000个线程进行同步,让它们进行并发启动.因为转载 2015-04-12 02:37:40 · 793 阅读 · 0 评论 -
Eclipse 报"Dead Code"警告的原因
public static String parseJson(News user) { if (user != null) { mUser = user; if (mJsonStr.length() != 0) { mJsonStr.setLength(0); } mJsonStr.append("{\"user\":").append(user.getSend原创 2015-01-22 16:42:18 · 24572 阅读 · 0 评论 -
MySql与Java的时间类型
MySql与Java的时间类型MySql的时间类型有 Java中与之对应的时间类型date java.sql.DateDatetime java.sql.TimestampTimestamp转载 2015-01-04 21:47:42 · 751 阅读 · 0 评论 -
静态初始化块、初始化块、构造函数
[java] view plaincopyJava中,静态初始化块、初始化块、构造函数三者都用来完成类的初始化工作,在实际编程中可以根据不同的需要使用不同的初始化方式,以下为三者的代码格式及Java虚拟机对三者的执行顺序分析。 先看一程序: package org.zeroup; class Blocks { static转载 2015-01-21 01:27:34 · 580 阅读 · 0 评论 -
设计模式总结篇系列:单例模式(SingleTon)
在Java设计模式中,单例模式相对来说算是比较简单的一种构建模式。适用的场景在于:对于定义的一个类,在整个应用程序执行期间只有唯一的一个实例对象。如Android中常见的Application对象。通过单例模式,自行实例化并向这个系统提供这个单一实例的访问方法。根据此单一实例产生的时机不同(当然,都是指第一次,也是唯一一次产生此单一实例时),可以将其分为懒汉式、饿汉式和登记式。转载 2015-01-21 01:37:23 · 619 阅读 · 0 评论 -
Java多线程编程环境中单例模式的实现
原文出自:http://xupo.iteye.com/blog/463426http://blog.csdn.net/huzhongxiang20/article/details/6902128Abstract 在开发中,如果某个实例的创建需要消耗很多系统资源,那么我们通常会使用惰性加载机制,也就是说只有当使用到这个实例的时候才会创建这个实例,这个好处在转载 2015-01-21 01:35:30 · 554 阅读 · 0 评论 -
JSONObject对象的optXXX和getXXX的区别
今天在用org.json这个包解析json的时候有两个方法getInt()和optInt()把源代码拿出来一下getInt("key") 取值 不存在 或者类型不对 报错optInt("key") 取值 不存在 返回默认值 public int getInt(String key) throws JSONException {原创 2014-12-27 22:26:50 · 10478 阅读 · 2 评论 -
CumulativeProtocolDecoder的deCode()
mina的粘包拆包其实是蛮简单的,只是一开始没搞清楚原理。我们要约定数据包的格式,我这里的是(4个字节长度+json的string字符串)1:写一个ProtocolCodecFactory类,用来拦截数据包处理内容如下public class MessageCodecFactory implements ProtocolCodecFactory {转载 2014-12-27 22:49:06 · 3290 阅读 · 0 评论 -
Java enum 枚举还可以这么用
在大部分编程语言中,枚举类型都会是一种常用而又必不可少的数据类型,Java中当然也不会例外。然而,Java中的Enum枚举类型却有着许多你意想不到的用法,下面让我们一起来看看。1、可以在enum中添加变量和方法先来看一段代码示例:public enum State { Normal("正常态", 1), Update("已更新", 2), Deleted("已删转载 2014-09-08 19:55:15 · 635 阅读 · 0 评论 -
Java关于23种设计模式的有趣见解(转贴)
1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。 麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:转载 2014-08-18 22:29:43 · 630 阅读 · 0 评论