
Java
文章平均质量分 53
expleeve
当我看到现在身边的人时,我在想,自己是不是该专注于某件事了
展开
-
Socket用法详解
本篇文章观点和例子来自 《Java网络编程精解》, 作者为孙卫琴, 出版社为电子工业出版社。 在客户/服务器通信模式中, 客户端需要主动创建与服务器连接的 Socket(套接字), 服务器端收到了客户端的连接请求, 也会创建与客户连接的 Socket. Socket可看做是通信连接两端的收发器, 服务器与客户端都通过 Socket 来收发数据. 这篇文章首先介绍Sock转载 2014-05-15 09:22:09 · 826 阅读 · 0 评论 -
MemoryMXBean和MemoryPoolMXBean--OutOfMemoryError Warning System
MemoryMXBean可以通过ManagementFactory.getMemoryMXBean()获取,也可以通过平台MBeanServer的ObjectName为java.lang:type=Memory获取MemoryPoolMXBean可以通过ManagementFactory.getMemoryPoolMXBean()获取,也可以通过平台MBeanServer的ObjectName翻译 2014-07-08 13:54:29 · 4031 阅读 · 0 评论 -
JMX
参考:http://docs.huihoo.com/java/jmx/jmx.html原创 2014-07-07 16:29:22 · 828 阅读 · 0 评论 -
POJO中使用ThreadLocal实现Java嵌套事务
大多嵌套事务都是通过EJB实现的,现在我们尝试实现对POJO的嵌套事务。这里我们使用了ThreadLocal的功能。理解嵌套事务事务是可以嵌套的。所以内层事务或外层事务可以在不影响其他事务的条件下进行回滚或提交。新建的事务嵌套在外层事务中。如果内层事务完成(不论是回滚或是提交),外层的事务就可以进行回滚或提交,这样的操作并不会影响内层事务。首先关闭最内层的事务,并逐步移动到外层事务。转载 2014-06-18 10:39:16 · 629 阅读 · 0 评论 -
Understanding Weak References
Some time ago I was interviewing candidates for a Senior Java Engineer position. Among the many questions I asked was "What can you tell me about weak references?" I wasn't expecting a detailed techni转载 2014-07-29 15:36:18 · 569 阅读 · 0 评论 -
给一个很长的字符串str 还有一个字符集比如{a,b,c} 找出str 里包含{a,b,c}的最短子串。要求O(n)
给一个很长的字符串str 还有一个字符集比如{a,b,c} 找出str 里包含{a,b,c}的最短子串。要求O(n).比如,字符集是a,b,c,字符串是abdcaabcx,则最短子串为abc。原创 2014-06-20 16:48:30 · 2748 阅读 · 0 评论 -
Java 伪共享(False Sharing)
在主存中缓存是以cache line为单元存储的。翻译 2014-09-18 14:47:05 · 3285 阅读 · 0 评论 -
Disruptor浅析
这里使用的是Disruptor3.3版本import com.lmax.disruptor.dsl.Disruptor;import com.lmax.disruptor.RingBuffer;import java.nio.ByteBuffer;import java.util.concurrent.Executor;import java.util.concurrent.Execu原创 2014-09-22 09:41:53 · 2925 阅读 · 0 评论 -
JAVA并发编程学习笔记之CLH队列锁
NUMA与SMPSMP(Symmetric Multi-Processor),即对称多处理器结构,指服务器中多个CPU对称工作,每个CPU访问内存地址所需时间相同。其主要特征是共享,包含对CPU,内存,I/O等进行共享。SMP的优点是能够保证内存一致性,缺点是这些共享的资源很可能成为性能瓶颈,随着CPU数量的增加,每个CPU都要访问相同的内存资源,可能导致内存访问冲突,可能会导致CPU资源的浪转载 2014-09-11 19:57:42 · 617 阅读 · 0 评论 -
JAVA并发编程学习笔记之Unsafe类
java不能直接访问操作系统底层,而是通过本地方法来访问。Unsafe类提供了硬件级别的原子操作,主要提供了以下功能:1、通过Unsafe类可以分配内存,可以释放内存;类中提供的3个本地方法allocateMemory、reallocateMemory、freeMemory分别用于分配内存,扩充内存和释放内存,与C语言中的3个方法对应。2、可以定位对象某字段的内存位置,也可以修改对象的转载 2014-09-11 20:18:13 · 845 阅读 · 0 评论 -
Tomcat多实例部署
[-]Tomcat多实例部署Weblogic多实例部署回顾Tomcat多实例实现结尾Tomcat多实例部署 前言一般我们使用tomcat时,如果是多实例的情况都会拷贝多个tomcat,但实际上tomcat还可以建立类似于weblogic的domain,以实现多实例部署。Weblogic多实例部署回顾讲tomcat多实例部署前我们先回顾一下weblogic的多转载 2014-06-17 16:44:52 · 784 阅读 · 0 评论 -
匿名内部类几个有意思的想法--Anonymous Inner Classes
Thread的普通青年实现翻译 2014-07-08 16:09:30 · 658 阅读 · 0 评论 -
InvocationHandler
import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class TestInvocationHandler { public static void main(String[] args) {原创 2014-07-07 10:28:27 · 923 阅读 · 0 评论 -
依赖注入
依赖注入:依赖的是接口,不依赖实现原创 2014-05-11 23:05:39 · 504 阅读 · 0 评论 -
适配器模式、装饰器模式、代理模式的区别
适配器 vs 代理模式原创 2014-05-11 23:35:51 · 4616 阅读 · 1 评论 -
PO/POJO/BO/DTO/VO的区别
PO:persistent object持久化对象PO中不应该包含任何对数据库的操作POJO:plain ordinary java object无规则简单java对象PO相对于POJO会增加一些用来管理数据库entity状态的属性和方法是一个中间对象,可以转化为PO DTO VOPOJO传输过程中--->DTOPOJO用作表示层--->VOBO:bus转载 2014-05-19 09:06:15 · 2067 阅读 · 0 评论 -
CopyUtil
import java.lang.reflect.Array;import java.lang.reflect.Method;import java.math.BigDecimal;import java.math.BigInteger;import java.util.Collection;import java.util.Iterator;import java.util.Map;原创 2014-05-19 12:23:16 · 638 阅读 · 0 评论 -
CLOSE_WAIT状态的生成原因[转]
CLOSE_WAIT状态的生成原因首先我们知道,如果我们的Client程序处于CLOSE_WAIT状态的话,说明套接字是被动关闭的!因为如果是Server端主动断掉当前连接的话,那么双方关闭这个TCP连接共需要四个packet: Server ---> FIN ---> Client Server 这时候Server端处于FIN_WAI转载 2014-05-21 13:48:19 · 627 阅读 · 0 评论 -
FTP模式简式:PORT/PASV/EPRT/EPSV
常见FTP有两种模式:PORT(主动模式)、PASV(被动模式)。PORT模式:1234 当FTP的Client以PORT模式连接FTP Server时,它动态的选择一个Port X(注意这个Port一定是1024以上的,因为1024以前的Port都已经预先被定义好,被一些典型的服务使用,当然有的还没使用,也是保留给以后会用转载 2014-05-21 15:01:07 · 10662 阅读 · 0 评论 -
The "Double-Checked Locking is Broken" Declaration
两种来源 http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html转载 2014-07-23 10:41:39 · 585 阅读 · 0 评论 -
Java类加载与对象调用
最近遇到一个问题:1. 我的类A2. ThreadB线程的类加载器ClassLoaderB没有加载权限3. 使用另一个线程ThreadA的类加载器ClassLoaderA加载类A,创建对象a4. 将a给线程ThreadB,然后调用其toString()方法5. 发现调用的是类A的toString(),而不是Object的toString()具体代码如下impor原创 2014-06-12 17:08:14 · 1698 阅读 · 0 评论 -
MBean与MXBean的区别
MBean其实也是JavaBean的一种,但是MBean往往代表的是JMX中的一种可以被管理的资源。MBean会通过接口定义,给出这些资源的一些特定操作:属性的读和写操作;可以被执行的操作;关于自己的描述信息;MBean可以看作是JavaBean的一种特殊形式,其定义是符合JavaBean的规范的。但是MBean在定义是,首先需要定义一个名字结尾为“MBean”的接口,例如:Hel转载 2014-07-07 11:05:44 · 7544 阅读 · 0 评论 -
JAVA并发编程学习笔记之CAS操作
CAS操作CAS是单词compare and set的缩写,意思是指在set之前先比较该值有没有变化,只有在没变的情况下才对其赋值。我们常常做这样的操作[java] view plaincopyprint?if(a==b) { a++; } 试想一下如果在做a++之前a的值被改变了怎么办?a++还转载 2014-09-11 20:37:10 · 642 阅读 · 0 评论 -
JAVA并发编程学习笔记之MCS队列锁
简介与CLH类似,MCS也是由QNode对象构成的链表,每个QNode表示一个锁持有者,表示一个线程要么已经获取锁,要么正在等待锁。它与CLH不同的是,队列是一个显示链表,是通过next指针串起来的。实现MCS队列锁的具体实现如下:1、如图(a)所示,队列初始化时没有结点,tail=null;2、如图(b)所示,线程A想要获取锁,于是将自转载 2014-09-11 20:41:31 · 640 阅读 · 0 评论 -
Action Event Listener
import java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util.Set;public class TestAction { /** * @param args */ public static void main(String[] args) { Ac原创 2014-01-15 10:02:03 · 1250 阅读 · 0 评论 -
Jcef应用浅析
CEF应用浅析一、CEF简介a) CEF是一款基于Chromium浏览器的嵌入式框架,提供了基本的浏览器功能。包括自定义插件、各种协议、Javascript对象访问和扩展。一些可选的功能包括,资源加载、导航、上下文目录、打印等;值得一提的是,它对HTML5的支持和性能与Google Chrome浏览器同样优秀。b) CEF包括CEF1、CEF2和CEF3三个大版本。其中,CEF1仅支持原创 2015-06-24 17:35:26 · 8221 阅读 · 1 评论 -
XA使用简例
package com.db;import java.sql.Connection;import java.sql.SQLException;import java.sql.Statement;import javax.annotation.PostConstruct;import javax.sql.XAConnection;import javax.transaction.xa原创 2015-12-21 16:30:56 · 1893 阅读 · 0 评论 -
使用Java编译Java源码
今天看到一个有意思的程序,以前没用过,孤陋寡闻了,代码如下,使用javac和java就可以直接运行import java.io.IOException;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.net.URI;import java.util.原创 2016-03-10 15:40:00 · 685 阅读 · 0 评论 -
实例浅析epoll的水平触发和边缘触发,以及边缘触发为什么要使用非阻塞IO
http://www.cnblogs.com/yuuyuu/p/5103744.html转载 2016-10-30 09:40:58 · 998 阅读 · 0 评论 -
获取不重复的随机数(抽签原理)
声明:以下方法基于小样本不放回抽样,每次抽取得到的概率相同,即依赖于之前的结果,如有错误则如下不成立。平时,我们获取不重复的随机数时,一般需要有个位图,或者集合记录,或者进行循环嵌套比较,保证没有重复的数字被选中出来,我今天使用抽样的时候也想了一下这个问题。做下记录,如下:1、我们希望从1~100这100个数中,随机抽取10个不重复的数2、这相当于找出一个由1和0表示的序列,序列长度为原创 2016-11-11 11:43:47 · 9042 阅读 · 0 评论 -
Java 安全模型介绍
作为一种诞生于互联网兴起时代的语言,Java 从一开始就带有安全上的考虑,如何保证通过互联网下载到本地的 Java 程序是安全的,如何对 Java 程序访问本地资源权限进行有限授权,这些安全角度的考虑一开始就影响到 Java 语言的设计与实现。可以说 Java 在这些方面的探索与经验,对后来的一些语言与产品都带来了积极影响。本篇文章中将介绍 Java 中安全模型,以及如何利用安全访问控制机转载 2016-12-21 16:33:24 · 558 阅读 · 0 评论 -
谈谈java中的WeakReference
Java语言中为对象的引用分为了四个级别,分别为 强引用 、软引用、弱引用、虚引用。本文只针对java中的弱引用进行一些分析,如有出入还请多指正。在分析弱引用之前,先阐述一个概念:什么是对象可到达和对象不可到达状态。其实很简单,我举个例子:现在有如下两个类class A class B,在JVM上生成他们两个类的实例分别为 instance a instance b有如下转载 2016-12-23 21:48:35 · 665 阅读 · 0 评论 -
Java 授权内幕
在信息安全性领域,授权是世界的的中心,因为它是控制个体(即人、进程和计算机)对系统资源的访问权限的过程。直到最近,在 Java 安全体系结构中相关的问题都是“这段运行中的代码的访问权限是什么?” 随着 Java 认证和授权服务(Java Authentication and Authorization Service,JAAS)的引入,这种情况改变了。JAAS 首先是作为 JDK 版本 1.3 的转载 2017-01-04 10:16:07 · 2415 阅读 · 0 评论 -
eclipse 3.x RCP代码使用e4
默认情况下,e4会查找workspace\.metadata\.plugins\org.eclipse.e4.workbench\workbench.xmi如果查找不到,加载org.eclipse.ui.workbench插件中的LegacyIDE.e4xmi文件如果我们需要为基于eclipse 3.x的代码提供兼容e4的功能,可以把LegacyIDE.e4xmi文件放入product所在原创 2015-03-13 15:02:22 · 2452 阅读 · 0 评论 -
20个非常有用的Java程序片段
下面是20个非常有用的Java程序片段,希望能对你有用。 1. 字符串有整型的相互转换12String a = String.valueOf(2); //integer to numeric string int i = Integer.parseInt(a); //numeric string to an int转载 2015-03-20 11:01:12 · 528 阅读 · 0 评论 -
JTA 深度历险 - 原理与实现
利用 JTA 处理事务什么是事务处理事务是计算机应用中不可或缺的组件模型,它保证了用户操作的原子性 ( Atomicity )、一致性 ( Consistency )、隔离性 ( Isolation ) 和持久性 ( Durabilily )。关于事务最经典的示例莫过于信用卡转账:将用户 A 账户中的 500 元人民币转移到用户 B 的账户中,其操作流程如下1. 将 A 账户中转载 2015-01-20 16:01:25 · 626 阅读 · 0 评论 -
SocketChannel的read值为0
在看ifeve上的SocketChannel教程时,写了一个原创 2014-09-26 11:20:55 · 3398 阅读 · 0 评论 -
ServerSocketChannel的read阻塞
查看ifeve的教程,写了一个测试用例原创 2014-09-26 22:28:27 · 3063 阅读 · 0 评论 -
旧文:Under the Hood of J2EE Clustering
http://www.theserverside.com/news/1364410/Under-the-Hood-of-J2EE-Clustering转载 2014-11-05 21:42:15 · 653 阅读 · 0 评论 -
IO-Blocking和Synchronous
http://blog.youkuaiyun.com/historyasamirror/article/details/5778378http://www.ibm.com/developerworks/cn/linux/l-async/着重can转载 2014-11-05 16:18:11 · 543 阅读 · 0 评论