java/基础
文章平均质量分 81
gaojava
这个作者很懒,什么都没留下…
展开
-
扩展点记录
/*** 扩展点处理器接口,各种扩展点的初始处理由实现该接口的特定处理器实现。* 在处理扩展点使用配置信息时,提供灵活的应对机制,IProcessSource代表* 处理源,对于处理源的处理分为两种情况:*/public interface IExtensionProcessor {/*** 实行扩展点解析处理处理,该方法将会在Workbench启动时,插件解析、部署后被调用。*原创 2013-11-27 22:29:03 · 755 阅读 · 0 评论 -
DelayQueue 用法
我们谈一下实际的场景吧。我们在开发中,有如下场景a) 关闭空闲连接。服务器中,有很多客户端的连接,空闲一段时间之后需要关闭之。b) 缓存。缓存中的对象,超过了空闲时间,需要从缓存中移出。c) 任务超时处理。在网络协议滑动窗口请求应答式交互时,处理超时未响应的请求。一种笨笨的办法就是,使用一个后台线程,遍历所有对象,挨个检查。这种笨笨的办法简单好用,但是对象数量过多时,可能存转载 2013-04-23 10:33:52 · 1072 阅读 · 0 评论 -
并发容器代码摘要
队列类型的BlockingQueue和 ConcurrentLinkedQueue(生产者-消费者模型),Map类型的ConcurrentMap,Set类型的ConcurrentSkipListSet和 CopyOnWriteArraySet,List类型的CopyOnWriteArrayList.并发环境性能优于Vector、Hashtable1. java.util.c转载 2013-04-22 17:28:13 · 792 阅读 · 0 评论 -
上下文类加载器
Bootstrap ClassLoader/启动类加载器主要负责jdk_home/lib目录下的核心 api 或 -Xbootclasspath 选项指定的jar包装入工作。Extension ClassLoader/扩展类加载器 主要负责jdk_home/lib/ext目录下的jar包或 -Djava.ext.dirs 指定目录下的jar包装入工作。 System ClassLoader/系转载 2013-04-11 10:48:46 · 812 阅读 · 0 评论 -
类装载记录和application,plugin摘要
String Apath = "D:/work/ModelA/bin/"; 一定加“/” String Bpath = "D:/work/ModelB/bin/"; URL aurl = new URL("file", "", -1, Apath); URL burl = new URL("file", "", -1, Bpath);转载 2013-02-19 14:58:50 · 1024 阅读 · 0 评论 -
java 安全访问策略
策略 Java安全体系结构的真正好处在于,它可以对代码授予不同层次的信任度来部分地访问系统。 Microsoft提供了ActiveX控件认证技术,它和Java的认证技术相类似,但是ActiveX控件并不在沙箱中运行。这样,使用了ActiveX,一系列移动代码要么是被完全信任的,要么是完全不被信任的。 版本1.2的安全体系结构的主要目标之一就是使建立(以签名代码为基础的转载 2013-04-07 10:27:33 · 5460 阅读 · 0 评论 -
java加密
1.单点登录 1.1.概述 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。1.2.技术实现机制 当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份效验,如果通过效验,转载 2013-04-07 11:05:59 · 2366 阅读 · 0 评论 -
调度封装
public class SchedulerService extends Service { private static final int DEFAULT_POOL_SIZE = 2 * Runtime.getRuntime().availableProcessors(); private int poolSize; private ScheduledExecutorService原创 2013-02-25 10:17:18 · 881 阅读 · 0 评论 -
加载自定义插件
/** * 插件定义信息接口,包括以下信息: * 插件名称 * 插件路径 * 插件类型 * 插件提供商 * 插件激活器 * 插件依赖的父插件定义集 * 插件所有属性信息 */public interface IPluginDefinition extends Serializable{ /** * 获取插件的唯一名称 * @return 插件的唯一转载 2012-11-29 19:19:14 · 729 阅读 · 1 评论 -
Comparator与Comparable的区别
当需要排序的集合或数组不是单纯的数字类型的时候,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。Comparator和Comparable的区别如下:Comparable用在对象本身,说明这个对象是可以被比较的,也就是说可以被排序的。(String和Integer之所以可以比较大小,是因为它们都实现了Comparable接口,并实现转载 2013-04-17 11:12:23 · 463 阅读 · 0 评论 -
编程技巧整理
1 数据库层或者逻辑层执行查询集合,如果null可以返回 Collections.empty_list,这样调用者就不必判断是不是为null2 对某种操作查询加入延时动作 protected static class JMXConnectorCatcher implements Callable{ private final IJMXProtocolProvider p原创 2012-12-27 09:21:31 · 477 阅读 · 0 评论 -
W3CDomUtil
import java.io.BufferedInputStream;import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;imp原创 2013-11-27 22:22:57 · 1130 阅读 · 0 评论 -
javasript学习笔记
if(typeof(temp2)=='undefined'){ alert("aaa"); } if(""+temp2=='undefined') { alert("fff"); }静态函数只能取到静态值 var t = 11; function para(){ this.b=1; } para.prototype.c=2;原创 2013-09-21 17:55:38 · 1261 阅读 · 0 评论 -
JVM Management API
JVM本身提供了一组管理的API,通过该API,我们可以获取得到JVM内部主要运行信息,包括内存各代的数据、JVM当前所有线程及其栈相关信息等等。各种JDK自带的剖析工具,包括jps、jstack、jinfo、jstat、jmap、jconsole等,都是基于此API开发的。本篇对这部分内容进行一个详细的说明。 参考:http://java.sun.com/javase/6/doc转载 2013-04-07 14:46:46 · 8269 阅读 · 1 评论 -
Priority Queue 源码分析
Priority Queue 目的:通过对JDK源码的分析,进一步了解堆和优先队列,体会JDK源码的优美之处。目录: 1:概念 2:源码结构 3:方法分析概念:概念1:堆堆,n个关键字序列K1,K2,…,Kn,当且仅当该序列满足如下性质称为堆ki≤K2i且ki≤K2i+1(最小堆) 或 (2)Ki≥K2i且ki≥转载 2013-05-13 15:54:12 · 776 阅读 · 0 评论 -
Java在并发情况下使用HashMap造成死循环
本文转载自酷壳网(作者陈皓),本中作者介绍了Java在并发情况下使用HashMap造成死循环的一些预防处理办法,原文内容如下: 在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历过,本来觉得没什么好写的,因为Java转载 2013-05-13 14:09:48 · 848 阅读 · 0 评论 -
java并发编程摘要和整理(转载和整理)
java线程的sleep(),wait(),notify(),yield();1.sleep()使线程休眠一段时间,一段时间结束后,线程进入可执行状态,但并不是立即执行,只是在被排程器调用的时候才执行。在休眠期间,并不释放所持有的“锁”;2.wait()使线程休眠一段时间,若设置参数,时间到时,线程就自动进入可执行状态。若没有,则需要notify()方法去调原创 2013-02-25 15:35:53 · 1121 阅读 · 0 评论 -
异步调用命令
public interface IThreadPoolExcutor { void execute(Runnable task); Future submit(Runnable task); Future submit(Callable task);}public class ThreadPoolExcetor extends Service implements ITh原创 2013-04-16 13:29:45 · 1004 阅读 · 0 评论 -
易错问题
1 遍历一个ArrayList去查找某项是否存在,如果存在的话就从列表中删除,方法如下:for(Person p : persons){ if(p.getName().equals(name)) persons.remove(p); } for(Person p : persons){ if(p.getName原创 2013-04-17 13:23:41 · 494 阅读 · 0 评论 -
转载类的初始化
类的初始化:在类的生命周期执行完加载和连接之后就开始了类的初始化。在类的初始化阶段,java虚拟机执行类的初始化语句,为类的静态变量赋值,在程序中,类的初始化有两种途径:(1)在变量的声明处赋值。(2)在静态代码块处赋值,比如下面的代码,a就是第一种初始化,b就是第二种初始化[html] view plaincopyprint?public转载 2013-02-18 10:51:06 · 493 阅读 · 0 评论 -
服务器集群负载均衡区别
服务器集群负载均衡(F5,LVS,DNS,CDN)区别以及选型下面是“黑夜路人”的《大型网站架构优化(PHP)与相关开源软件使用建议》=======================================F5全称: F5-BIG-IP-GTM 全球流量管理器.是一家叫F5 Networks的公司开发的四~七层交换机,软硬件捆绑.据说最初用BS转载 2013-02-17 15:01:27 · 4756 阅读 · 0 评论 -
一种系统异常设计思路
http://northconcepts.com/blog/2013/01/18/6-tips-to-improve-your-exception-handling/1 系统只有一个异常基类继承RuntimeEcption,如果仅仅依靠异常子类的种类来区分,很容易造成类爆炸。2 设置错误code,用枚举来保存,这样来区分异常类别,而且非常方便进行处理和国际化。3 增加异常时参数设转载 2013-02-07 15:15:36 · 1315 阅读 · 0 评论 -
转载设计模式摘要
转载 http://blog.csdn.net/zhangerqing/article/details/824394217、责任链模式(Chain of Responsibility)接下来我们将要谈谈责任链模式,有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一对象决定处理该请求。但是发出者并不清楚到底最终那个对象会处理该请求,所以,责任链模式可转载 2012-12-04 10:34:17 · 422 阅读 · 0 评论 -
分页bean
public class Pager {private long totalRows; // 总行数private int pageSize = 15; // 每页显示的行数private long currentPage; // 当前页号private long totalPages; // 总页数private long startRow; // 当前页在数据库中的起始行转载 2012-11-20 09:24:02 · 299 阅读 · 0 评论 -
<<、>>的意思
java移位运算符不外乎就这三种:>(带符号右移)和>>>(无符号右移)。 1 左移左移的规则只记住一点:丢弃最高位,0补最低位 。如果移动的位数超过了该类型的最大位数,那么编译器会对移动的位数取模。如对int型移动33位,实际上只移动了332=1位例如:对于unsigned int x=015,xunsigned int x=015,转载 2012-11-29 13:55:01 · 2209 阅读 · 0 评论 -
wsdl 分析
<br /><?xml version="1.0" encoding="UTF-8"?><br /><wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"<br /> xmlns:tns="http://www.test.com/OrgSrv/"<br /> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"<br /> xmlns:xsd="http://www.w3.org/2001原创 2011-03-09 15:17:00 · 525 阅读 · 0 评论 -
OSGI 获取引用service
<br /><br />public class ServiceUtil {<br /> <br /> <br /> public static <T> T getService(String className) {<br /> ServiceReference serviceRef = AppUtil.BUNDLECONTEXT<br /> .getServiceReference(className);<br /> Object serviceObject = AppUtil.BUNDLEC原创 2010-10-27 16:36:00 · 1296 阅读 · 0 评论 -
hibernate 一个实体对应两个表
<br /><?xml version="1.0" encoding="utf-8"?><br /><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"<br />"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><br /><hibernate-mapping><br /> <class name="com.data.ent原创 2010-12-17 10:16:00 · 3429 阅读 · 2 评论 -
接口不同实例
<br />public class test {<br /> /**<br /> * @param args<br /> * @throws ParseException <br /> */<br /> public static void main(String[] args) throws ParseException {<br /> <br /> TicketService a =new OneImple();<br /> System.out.println(a.getClass()原创 2010-10-27 16:38:00 · 480 阅读 · 0 评论 -
url链接DOM4J分析
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.io.StringReader;import java.io.Writer;import java.net.HttpURLConnection;import java.原创 2010-09-07 17:15:00 · 1141 阅读 · 0 评论 -
查看端口被占用
开发过程中经常会遇到端口号被占用情况,如果想找出被占用端口号的进程,有两种方法一、通过任务管理器查看到该端口被哪个进程(对应PID)占用;然后可以打开任务管理器;查看某一PID对应的进程名;如果PID没有显示,菜单》查看》选择列》选中PID即可;得知进程后,我们可以将进程杀掉;修改其使用的端口;二、通过命令形式如下netstat -ano假如我们需要确定谁占用了转载 2012-11-22 16:08:28 · 451 阅读 · 0 评论 -
自定义Annotation概念篇
自定义Annotation概念篇来看一个最简单的annotationpackage com.cts.elt.annotation;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retentio转载 2012-11-22 17:07:54 · 339 阅读 · 0 评论 -
java nio在多线程环境需注意的问题
java nio在多线程环境需注意的问题原帖:http://www.blogjava.net/adapterofcoms/archive/2010/03/02/314242.html有人说java nio在多线程环境下编程简直就是个恶梦,其实你如果能把握住java nio API的要领,你就可以将之驾驭. 0. 一个 channal 对应一个SelectionKey in转载 2013-02-04 12:06:47 · 899 阅读 · 0 评论 -
转NIO解析
JDK1.4 的 NIO 有效解决了原有流式 IO 存在的线程开销的问题,在 NIO 中使用多线程,主要目的已不是为了应对每个客户端请求而分配独立的服务线程,而是通过多线程充分使用用多个 CPU 的处理能力和处理中的等待时间,达到提高服务能力的目的。 多线程的引入,容易为本来就略显复杂的 NIO 代码进一步降低可读性和可维护性。引入良好的设计模型,将不仅带来高性能、高可靠的代码,也将带来一转载 2013-02-01 14:37:14 · 388 阅读 · 0 评论 -
java文件加锁
package com.io;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.nio.channels.FileChannel;import java.nio.channels.FileLock;import java.nio.cha原创 2013-01-24 14:22:02 · 457 阅读 · 0 评论 -
缓存算法理论
英文原文:jtraining,译文:Lixiang引言我们都听过 cache,当你问他们是什么是缓存的时候,他们会给你一个完美的答案,可是他们不知道缓存是怎么构建的,或者没有告诉你应该采用什么标准去选择缓存框架。在这边文章,我们会去讨论缓存,缓存算法,缓存框架以及哪个缓存框架会更好。面试“缓存就是存贮数据(使用频繁的数据)的临时地方,因为取原转载 2013-01-06 10:41:48 · 617 阅读 · 0 评论 -
取Jmx连接
public class JMXMPProtocolrovider implements IJMXProtocolProvider {public JMXConnector getJMXConnector(Attribute attibute) throws Exception {String userName = attibute.getUserName();String userPw转载 2012-12-26 13:30:46 · 1072 阅读 · 0 评论 -
Java 线程基本知识
JAVA只识别两种类型的锁:对象锁和类锁。对象锁与同步块或者实例同步方法相关系,但如果线程进入静态同步方法,就必须获得类锁。用锁只能达到这样的目的:使得一个任务不会干涉另一个任务的资源,保证在任何时刻都只有一个任务可以访问某个资源。但两个任务要协同作战,互相通信,要一起工作去解决某个问题,必须使他们友好握手、共商国事。这种机制靠Object的方法wait()和notify()来安全地实现。在Thr转载 2012-12-25 16:21:29 · 378 阅读 · 0 评论 -
spring 事务介绍
Spring 事务属性分析事务管理对于企业应用而言至关重要。它保证了用户的每一次操作都是可靠的,即便出现了异常的访问情况,也不至于破坏后台数据的完整性。就像银行的自助取款机,通常都能正常为客户服务,但是也难免遇到操作过程中机器突然出故障的情况,此时,事务就必须确保出故障前对账户的操作不生效,就像用户刚才完全没有使用过取款机一样,以保证用户和银行的利益都不受损失。在 Spring 中转载 2012-12-06 18:31:16 · 468 阅读 · 0 评论 -
URL读取
import java.io.IOException;import java.io.InputStream;import java.io.PrintWriter;import java.io.StringReader;import java.io.Writer;import java.net.HttpURLConnection;import java.net.URL;import org.dom4j.Document;import org.dom4j.Element;im原创 2010-09-03 17:55:00 · 560 阅读 · 0 评论