Java
文章平均质量分 73
月亮弯弯2013
android developer
展开
-
Java并发线程池,ThreadPoolExecutor解析
Executor存在的目的是提供一种将"任务提交"与"任务如何运行"分离开来的机制。虽然只有一个方法,但是却为灵活且强大的异步任务执行框架提供了基础。它提供了一种标准的方法将任务的提交过程与执行过程解耦开来,并用Runnable来表示任务。**一、线程池**对于数据库连接,我们经常听到数据库连接池这个概念。因为建立数据库连接时非常耗时的一个操作,其中涉及到网络IO的一些操作。因此就想出把连接通过原创 2017-11-16 17:34:30 · 864 阅读 · 0 评论 -
Java中asmx的全称
.asmx的全程是ASMX Active Server Methods .asmx 是WEB服务文件asmx.cs里有相关代码属于B/S形式,用SOAP方式HTTP访问,用XML返回可以返回基础类型和PUBLIC结构类型。在C/S结构中经常用到原创 2015-03-31 16:57:34 · 1156 阅读 · 0 评论 -
Java JNI的详细介绍
JNI就是Java Native Interface的简称,也就是java本地接口。它提供了若干的API实现了和Java和其他语言的通信(主要是C&C++)。或许不少人觉得Java已经足够强大,为什么要需要JNI这种东西呢?我们知道Java是一种平台无关性的语言,平台对于上层的java代码来说是透明的,所以在多数时间我们是不需要JNI的,但是假如你遇到了如下的三种情况之一呢? 你的原创 2015-03-13 11:44:39 · 1035 阅读 · 0 评论 -
Android 中StringTokenizer 实现字符串分割
StringTokenizer实现字符串分割1. java.util.StringTokenizer 用于分割字符串实例一:String str = "abc-de" ;StringTokenizer st = new StringTokenizer (str , "-") ;System.out.println( st.nextToKen() ) ;原创 2015-03-25 09:15:26 · 2559 阅读 · 0 评论 -
java的NIO包中ByteBuffer类的clear(),flip(),rewind()方法的意思
我们要澄清一点:这三个方法都是ByteBuffer的抽象基类Buffer定义的方法,ByteBuffer只是继承了它们。****************************************************其次,你要理解缓冲区的概念,就是Buffer的意义:缓冲区是特定基本类型元素的线性有限序列。除内容外,缓冲区的基本属性还包括容量、限制和位置:缓冲区的容量 是它所包原创 2015-02-13 16:58:04 · 1435 阅读 · 0 评论 -
java Junit的各种断言
JUnit为我们提供了一些辅助函数,他们用来帮助我们确定被测试的方法是否按照预期的效果正常工作,通常,把这些辅助函数称为断言。下面我们来介绍一下JUnit的各种断言。 1、assertEquals 函数原型1:assertEquals([String message],expected,actual) 参数说明: message是个可选的消息,假如提供,将原创 2015-02-11 14:16:46 · 1227 阅读 · 0 评论 -
Java常用的设计模式及工厂模式介绍
j2ee常用的设计模式?说明工厂模式。总共23种,分为三大类:创建型,结构型,行为型我只记得其中常用的6、7种,分别是:创建型(工厂、工厂方法、抽象工厂、单例)结构型(包装、适配器,组合,代理)行为(观察者,模版,策略)然后再针对你熟悉的模式谈谈你的理解即可。 Java中的23种设计模式:Factory(工厂模式), Builder(建造模式)原创 2015-01-05 13:38:42 · 1261 阅读 · 0 评论 -
java equal和==的比较,尤其注意基本类型和基本类型的包装类型的比较
java中equals方法和“==”的区别: equals 方法是 java.lang.Object 类的方法。 有两种用法说明: (1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。 “==”比较两个变量本身的值,即两个对象在内存中的首地址。 “equals()”比较字符串中所包含的内容是否相同。 比如:原创 2015-02-12 11:52:56 · 8144 阅读 · 4 评论 -
java Arrays.asList的用法
import java.util.Arrays; import java.util.List; /** * * 本类演示了Arrays类中的asList方法 * 通过四个段落来演示,体现出了该方法的相关特性. * * (1) 该方法对于基本数据类型的数组支持并不好,当数组是基本数据类型时不建议使用 * (2) 当使用asList()方法时原创 2015-02-10 08:54:27 · 4723 阅读 · 0 评论 -
java LinkedList的使用方法介绍
LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用.LinkedList的构造函数如下1. public LinkedList(): ——生成空的链表2. public LinkedList(Collection col): 复制构造函数1、获取链表的第一个和最后一个元素[java] view plaincopy原创 2015-02-10 08:41:54 · 2288 阅读 · 0 评论 -
java getCanonicalName getSimpleName和getName的区别和用法
接口:Java代码 package com.test; public interface Fruit { } 一个实现类:Java代码 package com.test; public class Apple implements Fruit {原创 2015-02-09 16:42:41 · 1999 阅读 · 0 评论 -
Java clone()方法使用说明
Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。比如函数参数类型是自定义的类时,此时便是引用传递而不是值传递。下面是举例:Java代码 public class A { public原创 2015-02-13 16:47:07 · 1291 阅读 · 0 评论 -
android equalsIgnoreCase和equals的比较说明
1、使用equals( )方法比较两个字符串是否相等。它具有如下的一般形式:boolean equals(Object str)这里str是一个用来与调用字符串(String)对象做比较的字符串(String)对象。如果两个字符串具有相同的字符和长度,它返回true,否则返回false。这种比较是区分大小写的。2、为了执行忽略大小写的比较,可以调用equalsIgnoreC原创 2015-04-15 15:47:56 · 3032 阅读 · 0 评论 -
Java 守护线程和非守护线程的说明
在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 。 估计学过Unix开发但是没有细致学习Java的同学们会疑惑了,操作系统里面是没有所谓的守护线程的概念,只有守护进程一说,但是Java语言机制是构建在JVM的基础之上的,意思是Java平台把操作系统的底层给屏蔽起来,所以它可以在它自己的虚拟的平台里面构造出对自己有利的机制,而语言或者说平台原创 2015-10-10 22:33:48 · 815 阅读 · 0 评论 -
java巧用软引用和弱引用避免OOM
很多人对OOM(OutOfMemory)这个错误不会陌生,而当遇到这种错误如何有效地解决这个问题呢?今天我们就来说一下如何利用软引用和弱引用来有效地解决程序中出现的OOM问题。下面是本文的目录大纲: 一.了解 强引用、软引用、弱引用、虚引用的概念 二.进一步理解软引用和弱引用 三.如何利用软引用和弱引用解决OOM问题 一.了解 强引用、软引用、弱引用、虚引用的概念 在Java中,虽然不需原创 2017-11-20 21:19:29 · 760 阅读 · 1 评论 -
Java之Semaphore介绍
一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。拿到信号量的线程可以进入代码,否则就等待。通过acquire()和release()获取和释放访问许可。原创 2017-09-05 14:26:26 · 539 阅读 · 1 评论 -
java Locale介绍
定义: public final class Locale extends Object Locale 对象表示了特定的地理、政治和文化地区 字段摘要 Locale.CHINA 用于表示中国常量 Locale.US 用于表示美国常量 Locale.JAPAN原创 2014-12-13 12:13:41 · 13390 阅读 · 2 评论 -
java InputStreamheOutputStream的用法讲义
1.InputStream ◇ 从流中读取数据: int read( ); //读取一个字节,返回值为所读的字节 int read( byte b[ ] ); //读取多个字节,放置到字节数组b中,通常读取的字节数量为b的长度,返回值为实际读取的字节的数量 int read( byte b[ ], int off, int len ); //读取len个字节,放置到以下标off转载 2016-06-20 17:52:43 · 1450 阅读 · 0 评论 -
SynchronizedMap和ConcurrentHashMap的深入研究
javadoc中对Map的解释如下:An object that maps keys to values . A map cannot contain duplicate keys; each key can map to at most one value.This interface takes the place of the Dictionary class,转载 2015-12-23 16:33:07 · 2297 阅读 · 0 评论 -
java BigDecimal介绍
1.引言 借用《Effactive Java》这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。 2.转载 2015-12-05 16:35:55 · 419 阅读 · 0 评论 -
java replaceall 用法
关键字: java replaceall 用法Java代码 public class TryDotRegEx { public static void main(String[] args) { // TODO Auto-generated method stub String str = "111.3.22.11"; str=str.replaceAl转载 2016-01-03 15:36:57 · 1465 阅读 · 0 评论 -
java设计模式--两种单例模式实现
单例模式有以下三个特点:一、单例类在整个系统中只能有一个实例二、单例类必须自己创建自己的实例三、单例类必须系统中其他对象提供这个实例单例模式的好处就是:类只实例化一次,省资源,节省开销,提高速度第一种:饿汉式,在类被加载时,静态变量m_instance会被初始化,此时类的私有构造子会被调用。SingletonOne .javapackage desi转载 2015-11-17 23:02:40 · 565 阅读 · 0 评论 -
android PriorityQueue优先级队列解析
import java.io.*;mport java.util.*; public class PQ {public static void main(String[] args) {PriorityQueue pq = new PriorityQueue();pq.add("carrot");pq.add("apple");pq.add("banana");System.ou转载 2015-12-10 16:37:22 · 2310 阅读 · 0 评论 -
软件设计 OOA和OOD的作用及说明
“Object Oriented Analyzing 面向对象分析 Object Oriented Design 面向对象设计 Object Oriented Programming 面向对象编程(或者有的就叫面向对象程序设计,我理解为编码实现)”这里只讲了OOA和OOD,OOP的东西稍后再找。1.OOAOOA的主要工作是软件的需求,对要解决的问题进行分原创 2015-11-17 11:53:40 · 3996 阅读 · 1 评论 -
Java 线程池的使用好处
使用线程池的好处: 1.减少在创建和销毁线程上所花的时间以及系统资源的开销 2.如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存 以下是Java自带的几种线程池: 1、newFixedThreadPool 创建一个指定工作线程数量的线程池。每当提交一个任务就创建一个工作线程,如果工作线程数量达到线程池初始的最大数,则将提交的任务存入到池队列中。 2、newCachedThread原创 2015-10-10 22:40:11 · 10126 阅读 · 0 评论 -
Structs2 ModelDriven使用方法介绍
例子都为struts2中的文档例子JSP提交数据: <s:form action="modelDrivenResult" method="POST" namespace="/modelDriven"> <s:textfield label="Gangster Name" name="name" />原创 2014-12-08 09:31:07 · 1776 阅读 · 0 评论 -
Structs2 <s:date> <s:debug> <s:property>说明
标签显示日期一、这里主要以标签为例子。例如: 这里格式含义:yyyy-MM-dd年月日 HH:mm:ss.SSS时分秒毫秒但要注意几个细微的地方:1、"yyyy-MM-dd”中的“MM”一定要大写,不然会不起作用或者时间显示不正常。因为在java中,大M表示“月(Month)",而小m表示"分"(minute)2、后面的"HH"表示24小时制,而如果是"hh",则显示时为12小原创 2014-12-08 10:51:51 · 1209 阅读 · 0 评论 -
HashMap和HashTable的区别
1 HashMap不是线程安全的 hastmap是一个接口 是map接口的子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable不允许。2 HashTable是线程安全的一个Collection。HashMap是Hasht转载 2014-10-25 08:11:59 · 797 阅读 · 0 评论 -
Android开源界面库--ResideMenu用法
网上关于ResideMenu用法的教程很多,但基本上全是从Github上copy下来的,Gitbub上给出的了对应的demo,但是由于我的IDE原因吧,demo一直导入不成功。为此自己又捣鼓了一翻,终于运行成功ResideMenu的真容。 说转载 2014-09-30 11:25:29 · 1380 阅读 · 0 评论 -
Java排序算法以及实现
排序一直以来都是让我很头疼的事,以前上《数据结构》打酱油去了,整个学期下来才勉强能写出个冒泡排序。由于下半年要准备工作了,也知道排序算法的重要性(据说是面试必问的知识点),所以又花了点时间重新研究了一下。 排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。 内排序有可以转载 2014-10-25 08:38:19 · 887 阅读 · 0 评论 -
pull解析和sax解析的区别
如果在一个XML文档中我们只需要前面一部分数据,但是使用SAX方式或DOM方式会对整个文档进行解析,尽管XML文档中后面的大部分数据我们其实都不需要解析,因此这样实际上就浪费了处理资源。使用PULL方式正合适。 Pull解析器和SAX解析器虽有区别但也有相似性。他们的区别为:SAX解析器的工作方式是自动将事件推入注册的事件处理器进行处理,因此你不能控制事件的处理主动结束;而Pull解原创 2014-10-25 08:19:36 · 2469 阅读 · 0 评论 -
android rawquery和query的比较
Cursor cursor = db.rawQuery("select name from *** where id=?", new String[]{"1"});Cursor cursor = db.query("***", new String[]{"name"}, "id=?", new String[]{"1"}, null, null, null);上面是两个分别是query原创 2014-10-26 17:32:17 · 7603 阅读 · 1 评论 -
Android获取网络连接状态(3G/Wifi)及调用网络配置界面
获取网络连接状态随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能。Android平台提供了ConnectivityManager 类,用于网络连接状态的检测。Android开发文档这样描述ConnectivityManager 的作用: Class that answers que原创 2014-10-07 10:16:05 · 964 阅读 · 0 评论 -
Java JSONObject
最近在做一个基于Anroid应用客户端的开发工作。其中,在接口的访问和数据的传输方面使用的比较多的是使用JSON对象来操作格式化数据:在服务器端采用JSON字符串来传递数据并在WEB前端或者Android客户端使用JSON来解析接收到的数据。首先,在JAVA中使用JSON需要引入 org.json 包(点击 这里 可以下载相应的JAR包!), 并在程序中引入相应的JSON类原创 2014-07-30 10:10:35 · 1495 阅读 · 0 评论 -
Java开发八荣八耻
Java开发八荣八耻以动手实践为荣,以只看不练为耻。 以打印日志为荣,以出错不报为耻。 以局部变量为荣,以全局变量为耻。 以单元测试为荣,以手工测试为耻。 以代码重用为荣,以复制粘贴为耻。 以多态应用为荣,以分支判断为耻。 以定义常量为荣,以魔法数字为耻。 以总结思考为荣,以不求甚解为耻。原创 2014-07-18 15:28:55 · 1304 阅读 · 0 评论 -
Java SoftReference
Java中的SoftReference即对象的软引用。如果一个对象具有软引用,内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存。使用软引用能防止内存泄露,增强程序的健壮性。 SoftReference的特点是它的一个实例保存对一个Java对象的软引用,该软引用的存在不原创 2014-05-25 14:00:02 · 1030 阅读 · 0 评论 -
HTML 中文乱码
在网页中,中文乱码的问题时常出现。以前我遇到乱码问题时,就是不停的尝试不同的编码方式,直到成功。昨天项目又遇到了这个问题,我于是做了简单的测试。 html文件是有编码方式的,比如"UTF-8"、"GBK"等等。这些在记事本中或许看不出来,但是在eclipse中,可以设置html文件的编码方式,以下的图片中会有说明。 测试一: 以"UTF-8"方式保存htm转载 2014-06-27 10:45:33 · 2913 阅读 · 0 评论 -
dom解析和sax解析
解析xml有四种方法:DOM,SAX,DOM4j,JDOM. 我们主要学了两种:DOM和SAX. DOM适于解析比较简单的XML而SAX则适于解析较复杂的XML文件。各有各的好。 DOM和SAX的不同: 1. DOM是基于内存的,不管文件有多大,都会将所有的内容预先装载到内存中。从而消耗很大的内存空间。而SAX是基于事件的。当某个事件被触发时,才原创 2014-10-25 08:22:45 · 1971 阅读 · 0 评论 -
Structs2 中文乱码解决方案
总结一下,中文乱码,首先要区分是页面乱码、action乱码,还是数据库乱码。大致的原理是java使用unicode编码-->window使用gbk(gb2312的扩展集)--mysql默认使用utf-8(unicode的一种编码方法),这样转来转去就乱码了^_^。解决方法如下: 1. 在struts2里面,最好将所有字符都设成utf-8。 1原创 2014-12-08 10:01:55 · 1856 阅读 · 0 评论 -
Java indexOf()的两个用法
int indexOf(int ch,int fromIndex)函数:就是字符ch在字串fromindex位后出现的第一个位置.没有找到返加-1eg:String str="a2dfcfar1bzvb";System.out.println(str.indexOf(97,2));看这个例子,输出:6a的ASCII为97,就从d开始找a找到了输出a所在字符串的确切位原创 2015-01-29 16:45:13 · 7279 阅读 · 1 评论