J2SE
文章平均质量分 82
PengzhileNeo
喜欢就关注一下我!!!
展开
-
java反射机制初探
反射,reflection,听其名就像照镜子一样,可以看见自己也可以看见别人的每一部分。在java语言中这是一个很重要的特性。下面是来自sun公司官网关于反射的介绍: Reflection is a feature in the Java programming language. It allows an executing Java program to examine原创 2016-05-14 22:55:08 · 6856 阅读 · 0 评论 -
JAVA枚举使用详解
在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。在java中如何更好的使用这些“数据集”呢?因此枚举便派上了用场,以下代码详细介绍了枚举的用法。package com.map.enums;import java.util原创 2016-05-17 20:43:09 · 5122 阅读 · 0 评论 -
Java集合框架List,Map,Set等
Java Collections Framework是Java提供的对集合进行定义,操作,和管理的包含一组接口,类的体系结构。 Java集合框架的基本接口/类层次结构:java.util.Collection [I]+--java.util.List [I] +--java.util.ArrayList [C] +--java.util.LinkedL原创 2016-05-17 21:04:43 · 5059 阅读 · 0 评论 -
Java中的递归原理分析
什么叫做递归 程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限原创 2016-05-17 21:15:29 · 5349 阅读 · 0 评论 -
JVM虚拟机和类加载器
类加载器深入剖析Java虚拟机与程序的生命周期1) 执行了System.exit()方法2) 程序正常执行结束3) 程序在执行过程中遇到了异常或错误而异常终止4) 由于操作系统出现错误而导致java虚拟机进程终止类的加载、连接与初始化加载:查找并加载类的二进制数据连接 1) 验证:确保被加载的类的正确性原创 2016-05-17 21:23:35 · 4854 阅读 · 0 评论 -
XML解析的两种方式DOM和SAX
DOM和SAXW3C制定了一套书写XML分析器的标准接口规范--DOM。除此之外,XML_DEV邮件列表中的成员根据应用的需求也自发地定义了一套对XML文档进行操作的接口规范--SAX。这两种接口规范各有侧重,互有长短,应用都比较广泛。 下面,我们给出DOM和SAX在应用程序开发过程中所处地位的示意图。从图中可以看出,应用程序不是直接对XML文档进行操作的,而是首先原创 2016-05-17 21:31:53 · 5933 阅读 · 0 评论 -
Vector和ArrayList的区别
Vector和ArrayList区别 在使用上非常相似,都可用来表示一组数量可变的对象应用的集合,并且可以随机地访问其中的元素。 Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。 当Vector或ArrayLis原创 2016-05-17 21:37:28 · 4852 阅读 · 0 评论 -
Apache POI 操作Excel
认识POIApache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。结构:HSSF - 提供读写Microsoft Excel格式档案的功能。XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。HWPF - 提供读写Micro原创 2016-05-17 21:43:18 · 5384 阅读 · 0 评论 -
Java基础 - 强引用、弱引用、软引用、虚引用
1、强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下:[java] view plaincopyprint?Object o = new Object(); // 强引用 当内存空间不足,Java虚拟机宁愿抛出Ou原创 2016-05-17 22:10:05 · 4834 阅读 · 0 评论 -
利用 pinyin4j 把汉字转化为拼音
1. 简单介绍有时候,需要将汉字编程对应的拼音,以方便数据的处理。比如在Android手机应用的开发上,要查询联系人的姓名,通常都是用拼音进行查询的。比如要查询“曹孟德”,就可以输入“cmd”,即“曹孟德”三个汉字的拼音“caomengde”各字的首字母。但是怎样才能将“曹孟德”翻译成“caomengde”呢?很简单的办法就是建立一个大的对照表(比如用关联容器Map),比如,,…但原创 2016-05-17 21:57:48 · 5894 阅读 · 0 评论 -
JAVA遍历二叉树
二叉树的概念 二叉树(Binary Tree)是个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个结点。现在我们给出一组二叉树二叉树遍历又分为先序遍历(根节点-左子树 -右子树 )、中序遍历(左子树 -根节点-原创 2016-05-17 20:38:34 · 5142 阅读 · 0 评论 -
Java中会存在内存泄漏吗
一般来说内存泄漏有两种情况。一种情况如在C/C++ 语言中的,在堆中的分配的内存,在没有将其释放掉的时候,就将所有能访问这块内存的方式都删掉(如指针重新赋值);另一种情况则是在内存对象已经不需要的时候,还仍然保留着这块内存和它的访问方式(引用)。Java内存管理机制在C++ 语言中,如果需要动态分配一块内存,程序员需要负责这块内存的整个生命周期。从申请分配、原创 2016-05-15 20:19:00 · 6981 阅读 · 0 评论 -
JAVA中重写equals()方法为什么要重写hashcode()方法?
object对象中的 public boolean equals(Object obj),对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true;注意:当此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。如下:当obj1.equals(obj2)为true原创 2016-05-14 22:57:26 · 7377 阅读 · 0 评论 -
XML解析的两种方式DOM和SAX
DOM和SAXW3C制定了一套书写XML分析器的标准接口规范--DOM。除此之外,XML_DEV邮件列表中的成员根据应用的需求也自发地定义了一套对XML文档进行操作的接口规范--SAX。这两种接口规范各有侧重,互有长短,应用都比较广泛。 下面,我们给出DOM和SAX在应用程序开发过程中所处地位的示意图。从图中可以看出,应用程序不是直接对XML文档进行操作的,而是首先原创 2016-05-14 22:58:59 · 7002 阅读 · 0 评论 -
JVM虚拟机和类加载器
类加载器深入剖析Java虚拟机与程序的生命周期1) 执行了System.exit()方法2) 程序正常执行结束3) 程序在执行过程中遇到了异常或错误而异常终止4) 由于操作系统出现错误而导致java虚拟机进程终止类的加载、连接与初始化加载:查找并加载类的二进制数据连接 1) 验证:确保被加载的类的正确性原创 2016-05-14 23:04:36 · 6952 阅读 · 0 评论 -
Java中抽象类和接口的区别
抽象类:含有abstract修饰符的class 即为抽象类,abstract类不能创建实例对象,含有abstract的方法的类必须定义为abstract class ,abstract class 里的方法不必是抽象的,抽象来中定义抽象方法必须放在具体子类中实现,所以,不能有抽象的构造方法或抽象的静态方法,如果子类没有实现抽象父类中的所有方法,那么,子类也必原创 2016-05-14 23:06:22 · 6557 阅读 · 0 评论 -
反射入门(一)
什么叫JAVA反射(Reflection)?谈到反射,我们首先了解下动态语言。“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。尽管在这样的定义与分类下Java不是动态语言,它却有着一个非常突出的动态相关机制:Reflection。这原创 2016-05-14 23:08:01 · 6950 阅读 · 0 评论 -
反射应用(二)
在上一篇中就对java反射机制做了一个详尽的介绍,相信你对反射也应该有一些了解,这时候你可能会问,那反射究竟在我们日常开发中都会用在什么地方呢,特别是一些初级人员更不禁要问,怎么我们平常好像不用反射也能够开发。在这里要纠正一点,其实只要你在用框架做开发,那么你时时刻刻都在反射打交道,如果没有反射,根本就不会有所谓的框架,至于具体细节,我们这里埋一个伏笔,后面将会做些介绍。原创 2016-05-14 23:09:18 · 6669 阅读 · 0 评论 -
程序员必须知道的10大基础实用算法及其讲解
算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(nlogn)算法更快,因为它的内部循环(innerloop)可以在大部分的架构上很有效率地被实现出来。 快速排序使用分治法(Divideandconquer)策略来把一个串原创 2016-05-14 23:12:54 · 6916 阅读 · 0 评论 -
JAVA实现冒泡排序和二分查找
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 冒泡排序算法的运作如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作原创 2016-05-14 23:14:47 · 6957 阅读 · 0 评论 -
Java线程(一):线程安全与不安全
当我们查看JDK API的时候,总会发现一些类说明写着,线程安全或者线程不安全,比如说StringBuilder中,有这么一句,“将StringBuilder 的实例用于多个线程是不安全的。如果需要这样的同步,则建议使用StringBuffer。 ”,那么下面手动创建一个线程不安全的类,然后在多线程中使用这个类,看看有什么效果。 Count.java:原创 2016-05-14 23:21:08 · 6606 阅读 · 0 评论 -
SSO单点登录
SSO体系结构 1)认证中心 2)用户与账号系统、用户数据获取接口 3)客户端模块 4)令牌(token) SSO认证流程 SSO相关核心技术 1、HTTP、cookie与原创 2016-05-23 21:15:05 · 2802 阅读 · 0 评论