java
文章平均质量分 73
Coder_Hunter
三人行必有我师,好文,读后有益,习之,用之,收藏之
展开
-
java web.xml 配置session listener
session listener转载 2015-11-27 11:19:40 · 1352 阅读 · 0 评论 -
Java的事件处理机制
1.前言应用观察者模式,事件源是被观察者,有若干观察者对象(监听者)在其体内(委托关系);事件源内通过addxxListner()方法和removexxListner()方法添加监听者,而监听者则通过实现监听接口的函数,来做出具体响应,具体响应方法的调用时由被观察者调用。2.Java的事件处理机制概览根据事件处理机制的总体情况,Java从总体上采用了四个对象(类)来完成对事件的转载 2015-04-07 15:25:56 · 1564 阅读 · 0 评论 -
Java HasSet 不保证数据放入后再取出时顺序是一致的
好久没有复习过这样的问题了,过一阵子不看就会忘记,在网上找了一下,看到一个比较有意思的问答,说实话,答题者命中了要害~一起来看看下面这个是问题,出自thinking in java的一个例子。这哥们做了一个实验,发现输出是有序的,而教材上说HasSet不保证有序,这是什么情况呢?public class SetOfInteger { public stati原创 2015-03-12 15:30:41 · 1266 阅读 · 1 评论 -
JAVA SOCKET IO VS NIO
When studying both the Java NIO and IO API's, a question quickly pops into mind:When should I use IO and when should I use NIO?In this text I will try to shed some light on the differences between翻译 2013-08-05 21:28:09 · 747 阅读 · 0 评论 -
JAVA SOCKET编程 阻塞式IO 与 非阻塞式IO
通常的,对一个文件描述符指定的文件或设备, 有两种工作方式: 阻塞 与非阻塞 。所谓阻塞方式的意思是指, 当试图对该文件描述符进行读写时, 如果当时没有东西可读,或者暂时不可写, 程序就进入等待 状态, 直到有东西可读或者可写为止。而对于非阻塞状态, 如果没有东西可读, 或者不可写, 读写函数马上返回, 而不会等待 。原创 2013-08-05 19:12:46 · 1166 阅读 · 0 评论 -
Java Socket实战 使用NIO包实现Socket通信
Java Socket实战 使用NIO包实现Socket通信前面几篇文章介绍了使用java.io和java.net类库实现的Socket通信,下面介绍一下使用java.nio类库实现的Socket。java.nio包是Java在1.4之后增加的,用来提高I/O操作的效率。在nio包中主要包括以下几个类或接口:* Buffer:缓冲区,用来临时存放输入或输出数据。* Char转载 2013-08-05 21:16:11 · 688 阅读 · 0 评论 -
web工程中读取properties配置文件方法
在实际开发中,经常需要保存一些全局的配置,提供给整个程序随时读取,从而判断当前环境的某些情况。此时,一种方法就是设置一个properties配置文件。服务器启动时,监听类中读取该配置文件的内容,并将其保存在一个类的静态变量所指向的内存区域。好了,直接上代码:InputStream fis = CertainClassName.class.getResourceAsStream("/resour原创 2015-03-02 14:46:33 · 1498 阅读 · 0 评论 -
JAVA MAIL 实现参考
第一个类:MailSenderInfo.javaJava代码 package com.util.mail; /** * 发送邮件需要使用的基本信息 */ import java.util.Properties; public class MailSenderInfo { // 发转载 2015-01-26 14:08:25 · 452 阅读 · 0 评论 -
HashMap&HashSet Code Analyse
通过 HashMap、HashSet 的源代码分析其 Hash 存储机制集合和引用就像引用类型的数组一样,当我们把 Java 对象放入数组之时,并不是真正的把 Java 对象放入数组中,只是把对象的引用放入数组中,每个数组元素都是一个引用变量。实际上,HashSet 和 HashMap 之间有很多相似之处,对于 HashSet 而言,系统采用 Hash 算法决定集合转载 2015-01-24 14:47:51 · 413 阅读 · 0 评论 -
JVM结构图(JVM几个区整体上描述)
一:Java技术体系模块图二:JVM内存区域模型1.方法区也称"永久代” 、“非堆”, 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize 和 -XX:MaxPermSize 参数限制方法区的大小。转载 2015-01-26 14:35:01 · 4008 阅读 · 0 评论 -
线程安全(2)
什么是线程安全的(thread-safe)? 在java中,线程安全的指的是代码可以在并发的或者多线程的环境下安全的使用或者共享,并且它们都将按照期望的方式运行。任何代码,类或者对象,如果它们在并发的环境中运行表现出的行为与在非并发环境下表现出的行为不一致,那么它们就不能被称为线程安全的。本片文章不会非常仔细的介绍线程安全或者Java中的异步处理,我们将通过几个例子来帮助你理解什么是线转载 2015-01-26 13:43:16 · 435 阅读 · 0 评论 -
JAVA实现AES加密
1. 因子 上次介绍了《JAVA实现AES加密》,中间提到近些年DES使用越来越少,原因就在于其使用56位密钥,比较容易被破解,近些年来逐渐被AES替代,AES已经变成目前对称加密中最流行算法之一;AES可以使用128、192、和256位密钥,并且用128位分组加密和解密数据。本文就简单介绍如何通过JAVA实现AES加密。2. JAVA实现闲话少许,掠过AES加密原理及算法转载 2015-01-26 11:34:58 · 483 阅读 · 0 评论 -
java 解析.properties或.cfg文件的方法
CFG文件格式: 大多数情况下,很多程序都要保存用户的设置,办法有很多:注册表,日志文件...... 而很多程序都使用了一个专用的文件。为了方便起见,常常命名为xxx.cfg,有时甚至直接命名为Config.cfg。 这只是一个为开发及使用方便而"发明"的一个后缀名。所以,这种文件没有固定的格式,其实也并不能算作是一种文件类型。用途也仅仅是保存用户的设置,平常没有必要打开。 可以使原创 2015-01-21 13:25:13 · 5357 阅读 · 0 评论 -
Java中的ReentrantLock和synchronized两种锁定机制的对比
原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造转载 2015-02-06 17:04:22 · 389 阅读 · 0 评论 -
你要了解的Heap 中的shallow size 和 retain size
Shallow size就是对象本身占用内存的大小,不包含其引用的对象。常规对象(非数组)的Shallow size有其成员变量的数量和类型决定。数组的shallow size有数组元素的类型(对象类型、基本类型)和数组长度决定。Shallow size of a set of objects represents the sum of shallow sizes of all objects转载 2015-01-19 09:45:35 · 2839 阅读 · 0 评论 -
JAVA类的加载、连接、初始化
类从加载到虚拟机到卸载,它的整个生命周期包括:加载(Loading),验证(Validation),准备(Preparation),解析(Resolution),初始化(Initialization),使用(Using)和卸载(Unloading)。其中,验证、准备和解析部分被称为连接(Linking)。加载: 在加载阶段,虚拟机主要完成三件事:原创 2013-10-14 19:47:47 · 567 阅读 · 0 评论 -
Java transient 的用途
Java transient 的用途http://my.oschina.net/coolbash/blog/83310当我们对序列化进行控制时,可能某个特定子对象不想让java的序列化机制自动保存与恢复。如果子对象表示的信息是private属性,一经序列化处理,人们就可以通过读取文件或者拦截网络传输的方式来访问到它。如果我们正在操作的是一个Serializable对原创 2015-02-03 10:31:42 · 610 阅读 · 0 评论 -
折腾 slf4j+log4j 日志
xxxxxx原创 2015-05-26 11:47:56 · 599 阅读 · 0 评论 -
Java 异常处理的误区和经验总结(精)
Java 异常处理的误区和经验总结本文着重介绍了 Java 异常选择和使用中的一些误区,希望各位读者能够熟练掌握异常处理的一些注意点和原则,注意总结和归纳。只有处理好了异常,才能提升开发人员的基本素养,提高系统的健壮性,提升用户体验,提高产品的价值。误区一、异常的选择图 1. 异常分类图 1 描述了异常的结构,其实我们都知道异常分检测异常和非检测异常,但是在转载 2015-06-18 10:36:49 · 484 阅读 · 0 评论 -
ant ----net/sf/antcontrib/antlib.xml
转载,亲测,可行~在eclipse中使用Ant打war包,报了如下错:[taskdef] Could not load definitions from resource net/sf/antcontrib/antlib.xml. It could not be found. 经过研究发现是,在Eclipse中自带的Ant环境下缺少一个jar包,该jar转载 2015-11-03 15:02:07 · 4659 阅读 · 0 评论 -
java cloassLoader大仙儿
java classLoader转载 2015-11-19 14:22:17 · 671 阅读 · 0 评论 -
java 读文件的几种方式
文件操作原创 2015-11-12 11:09:56 · 449 阅读 · 0 评论 -
Java,spring程序中实时获取.properties属性key的value
spring properties原创 2015-08-14 16:05:21 · 17873 阅读 · 0 评论 -
MAVEN POM.xml
maven pom转载 2015-09-28 16:59:07 · 330 阅读 · 0 评论 -
java hash map深度分析(equal,hashcode,hash)
一、java对象的比较等号(==):对比对象实例的内存地址(也即对象实例的ID),来判断是否是同一对象实例;又可以说是判断对象实例是否物理相等; equals():对比两个对象实例是否相等。当对象所属的类没有重写根类Object的equals()方法时,equals()判断的是对象实例的ID(内存地址),是否是同一对象实例;该方法就是使用的等号(==转载 2015-09-02 14:58:13 · 1555 阅读 · 0 评论 -
LinkedList 跑出的ConcurrentModificationException异常
LinkedList后台抛出了ConcurrentModificationException异常原创 2015-08-31 11:23:44 · 3256 阅读 · 3 评论 -
jdk8 Lambda
Java8初体验(一)lambda表达式语法感谢同事【天锦】的投稿。投稿请联系 tengfei@ifeve.com本文主要记录自己学习Java8的历程,方便大家一起探讨和自己的备忘。因为本人也是刚刚开始学习Java8,所以文中肯定有错误和理解偏差的地方,希望大家帮忙指出,我会持续修改和优化。本文是该系列的第一篇,主要介绍Java8对屌丝码农最有吸引力的一个特性—lambda表达转载 2015-07-27 15:07:04 · 608 阅读 · 1 评论 -
jdk8 Stream
1. Stream初体验我们先来看看Java里面是怎么定义Stream的:A sequence of elements supporting sequential and parallel aggregate operations.我们来解读一下上面的那句话:Stream是元素的集合,这点让Stream看起来用些类似Iterator;可以支持顺序和并行的对原转载 2015-07-27 15:07:29 · 804 阅读 · 0 评论 -
slf4j配置实例
1、 简介SLF4J不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。实际上,SLF4J所提供的核心API是一些接口以及一个LoggerFactory的工厂类。从某种程度上,SLF4J有点类似JDBC,不过比JDBC更简单,在JDBC中,你需要指定驱动程序,而在使转载 2015-05-26 11:42:55 · 464 阅读 · 0 评论 -
java.lang.annotation-jdk的注解原理与使用
java用 @interface Annotation{ } 定义一个注解 @Annotation,一个注解是一个类。@Override,@Deprecated,@SuppressWarnings为常见的3个注解。注解相当于一种标记,在程序中加上了注解就等于为程序加上了某种标记,以后,JAVAC编译器,开发工具和其他程序可以用反射来了解你的类以及各种元素上有无任何标记,看你有什么标记转载 2015-06-29 15:09:20 · 1075 阅读 · 0 评论 -
shell脚本启动,停止java应用程序
资料参考来源自兔大侠,并略作修改:http://www.tudaxia.com/archives/10,在此鸣谢!!#!/bin/sh#-------------------------------------------------------------------------------------------------------------#实际使用中,需注意以下两点#1转载 2015-06-05 11:16:47 · 1005 阅读 · 0 评论 -
Daemon线程的意义--监控、回收等后台服务,优先级比较低,无用户线程时,守护线程自尽,JVM exist
java中线程分为两种类型:用户线程和守护线程。通过Thread.setDaemon(false)设置为用户线程;通过Thread.setDaemon(true)设置为守护线程。如果不设置次属性,默认为用户线程。用户线程和守护线程的区别:1. 主线程结束后用户线程还会继续运行,JVM存活;主线程结束后守护线程和JVM的状态又下面第2条确定。2.如果没有用户线程,转载 2015-05-18 16:59:14 · 629 阅读 · 0 评论 -
LinkedHashMap和HashMap的比较使用
LinkedHashMap和HashMap的比较使用由于现在项目中用到了LinkedHashMap,并不是太熟悉就到网上搜了一下。import java.util.HashMap;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Ma转载 2015-05-18 10:00:16 · 373 阅读 · 0 评论 -
深入理解hashMap类中一些核心设计
前言Map 是非常常用的一种数据接口。在 Java 中,提供了成熟的 Map 实现。图 1最主要的实现类有 Hashtable、HashMap、LinkedHashMap和 TreeMap。在 HashTable 的子类中,还有 Properties的实现。Properties 是专门读取配置文件的类,我们会在稍后介绍。这里首先值得关注的是 HashMap 和 Ha转载 2015-05-18 09:59:41 · 669 阅读 · 0 评论 -
LinkedHashMap源代码分析(备用)
1. LinkedHashMap概述:LinkedHashMap是HashMap的一个子类,它保留插入的顺序,如果需要输出的顺序和输入时的相同,那么就选用LinkedHashMap。 LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不转载 2015-05-18 09:57:30 · 347 阅读 · 0 评论 -
java 解析XML的几种方式
第一种:DOMDOM的全称是Document Object Model,也即文档对象模型。在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称DOM树),应用程序正是通过对这个对象模型的操作,来实现对XML文档数据的操作。通过DOM接口,应用程序可以在任何时候访问XML文档中的任何一部分数据,因此,这种利用DOM接口的机制也被称作随机访问机制。DO转载 2015-02-02 16:25:35 · 436 阅读 · 0 评论 -
Spring Stateful & Stateless bean
Spring Stateful & Stateless beanSpring bean 的范围,到底是用singleton 还是prototype呢?Spring官方文档,给出的答案,大体意思就是:Use prototype scope for for all statefull beans while singleton for stateless beans.原创 2015-02-02 14:36:21 · 1250 阅读 · 0 评论 -
java null 和 “”的区别
自己发懒,查了下,发现这个总结的还不错,故转载之简单点说null表示还没new出对象,就是还没开辟空间 “”表示new除了对象,但是这个对象装的是空字符串。比如声明一个 String str ;如果说str是null,那么内存根本没创建字符串对像,[color=darkblue][/color]并由str引用。如果说str是空串,那么确实存在一个由str引用的字符串对像,只不过这转载 2014-05-06 13:37:12 · 472 阅读 · 0 评论 -
单例模式-总结的挺好
Java 单例模式详解概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。 单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算转载 2014-03-14 15:19:34 · 426 阅读 · 0 评论 -
静态方法引用非静态方法的小手段
public class StaticMethod_invoke_nonstaticMethod {private String name;public StaticMethod_invoke_nonstaticMethod(String name) { this.name = name;} public static void test(StaticMetho原创 2014-03-13 16:37:37 · 464 阅读 · 0 评论