- 浏览: 36512 次
- 性别:
- 来自: 深圳
最新评论
-
zh_harry:
ThreadLocal独家解秘 附JDK源码http://li ...
JDK的ThreadLocal理解(一)使用和测试 -
shenzhang722:
关于二叉排序树你可以看下jdk里的PriorityQueue类 ...
java实现二叉排序树 -
aty:
好的,谢谢,以后注意。第一次发博客,不熟悉呵呵
java实现二叉排序树 -
bitray:
代码要是放在code标签之中,我看这个文章的格式会更好一些
java实现二叉排序树
文章列表
如果A对象持有B的引用,B对象持有A的引用,这样就形成了循环引用,如果直接使用json-lib转换,会报错:
net.sf.json.JSONException: There is a cycle in the hierarchy!
import java.util.HashSet;
import java.util.Set;
public class Aclass
{
private String name;
private int age;
private Set<Bclass> policyGoals = new Hash ...
在java对象和json之间做转换的时候,json-lib组件,使用的是对象的getter/setter方法,即调用这些方法,不管这些getter/setter方法有没有对应的属性。因此,在做java对象与json之间的转换时候,除了属性的getter/setter方法,其他方法最好 ...
ActiveMQ支持两种消息传送模式:PERSISTENT (持久消息)和 NON_PERSISTENT(非持久消息)
1、PERSISTENT 持久消息
是activemq默认的传送方式,此方式下的消息在配合activemq.xml中配置的消息存储方式,会被存储在特定的地方,直到有消费者将消息消费或者消息过期进入DLQ队列,消息生命周期才会结束。此模式下可以保证消息只会被成功传送一次和成功使用一次,消息具有可靠性。在消息传递到目标消费者,在消费者没有成功应答前,消息不会丢失。
2、NON_PERSISTENT 非持久消息
非持久的消息适用于不重要的,可以接受消息丢失的哪一类 ...
使用客户端确认模式,必须要创建无事务session
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
CLIENT_ACKNOWLEDGE:客户端确认模式。会话对象依赖于应用程序对被接收的消息调用一个acknowledge()方法。一旦这个方法被调用,会话会确认该消息的接收,ActiveMQ服务器会认为消息成功接收。
以下是客户端的测试代码,每次执行一次,都会收到一个消息。因为没有调用消息的确认方法,ActiveMQ会认为消息没有成功接收。
...
使用自动确认模式,必须要创建无事务session
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
AUTO_ACKNOWLEDGE:自动确认模式,一旦接收方应用程序的消息处理回调函数返回,会话对象就会确认消息的接收。 一般接收方的做法是调用consumer.setMessageListener()注册消息处理函数。如果该函数返回,代表着一条消息被接受放成功接收, ActiveMQ服务器会认为消息接收成功。函数的返回可以是正常的返回,也可以是因为抛出异常而结束。
接收 ...
Session session = conn.createQueueSession(true, Session.AUTO_ACKNOWLEDGE); 第一个参数代表该session是否支持事务,true 表示这个会话是事务性的,需要显式的commit 或者rollback (). 如果没有显示的提交session.commit(),接收端是不能够收到发送方的消息的。
public static void main(String[] args)
throws Exception
{
// 设置用户名和密码,这个用户名和 ...
最近做1个OJ题目,其中有一步这样的操作:给定一个排序好的数组,随意给定一个数据,寻找数组中第一个大于或等于该值的数据在数组中的索引。如{1,4,5,10}, 给定4,应该返回的索引是1;给定6应该返回的索引是3
刚开始我用的是直接从前到后扫描一遍这种最原始的方法,跑junit用例的时候,发现此处存在性能瓶颈。最后使用了jdk中自带的二分搜索,满足了性能要求。呵呵,二分查找确实很快。下面附上Arrays.binarySearch()的JDk源代码
/**
*
* @param a 已经排好序的数组
* @param fro ...
最近终于静下心来,自己实现了个二叉排序树,还是很有成就感的。
package tree;
public class TreeNode<T> {
//结点存放的数据
public T data;
//当前结点的父结点
public TreeNode<T> parent;
//当前结点的左孩子
public TreeNode<T> leftChild;
//当前结点的右孩子
public TreeNode<T> rightChild;
public TreeNode(T data,Tr ...