上一页 1 ··· 4 5 6 7 8 9 下一页
摘要: 主要以结果为导向解释Spring 事务原理,连接池的消耗,以及事务内开启事务线程要注意的问题. Spring 事务原理这里不多说,网上一搜一大堆,也就是基于AOP配合ThreadLocal实现. 这里强调一下Spring Aop 以及Spring 注解式注入在非Spring容器管理的类中是无效的. 阅读全文
posted @ 2017-03-20 21:26 181282945 阅读(19378) 评论(0) 推荐(0) 编辑
摘要: 虽然使用AOP可以获取方法签名,但是如果要获取方法中计算得出的数据,那么就得使用ThreadLocal,如果还涉及父线程,那么可以选择InheritableThreadLocal. 注意:理解一些原理能够减少很多不可控问题,最简单的使用方式就是不要交给线程池处理.为了提高一点性能,而导致数据错误得不 阅读全文
posted @ 2017-03-18 19:22 181282945 阅读(13796) 评论(1) 推荐(0) 编辑
摘要: 保证线程可见性最简单的方法是使用volatile修饰变量,对象(不保证被修饰对象的内部对象的可见性),或者CAS自旋,synchronized来完成 CAS自旋参考java.util.concurrent.atomic下的 AtomicBoolean 等实现compareAndSwap,但是是个硬件 阅读全文
posted @ 2017-03-17 10:52 181282945 阅读(1558) 评论(0) 推荐(0) 编辑
摘要: 一直很想知道WeakHashMap的使用场景,想来想去只能用在高速缓存中,而且缓存的数据还不是特别重要,因为key(key不存在被引用的时候)随时会被回收 所以研究了一下WeakHashMap的回收时机 呵呵,现在可以重视 String str = "abc" 跟 String Str = new 阅读全文
posted @ 2017-03-16 14:20 181282945 阅读(1507) 评论(0) 推荐(0) 编辑
摘要: 自己想了一下怎么实现,就写了,没有深究是否合理.更多处理没有写下去,例如收件人不在线,应该保存在数据库,等下一次连接的时候刷新map,再把数据发送过去,图片发送也没有做,也没有用json格式 socket很奇怪,我用客户端连接上了服务器,没有发送消息的情况下,断开电脑网络,是不会出现问题,然后在把电 阅读全文
posted @ 2017-03-07 22:29 181282945 阅读(5070) 评论(0) 推荐(0) 编辑
摘要: 关于socket.getOutputStream() 的一些问题, OutputStream的flush是一个空方法,所以需要另一个实现了Flush的流来包装一下 这里为什么使用PrintWriter,而不使用BufferedWriter 原因是在接收方使用BufferedReader 的readL 阅读全文
posted @ 2017-02-28 10:09 181282945 阅读(8040) 评论(1) 推荐(0) 编辑
摘要: //服务端@RunWith(JUnit4.class) public class ServerSocketTest { @Test public void testServer() throws IOException{ ServerSocket serverSocket = new ServerSocket(8000); while(true){... 阅读全文
posted @ 2017-02-26 13:42 181282945 阅读(2252) 评论(0) 推荐(0) 编辑
摘要: 首先要记一下根据 DBREF 的ObjectId 以及根据 ref 集合为条件查询问题. 在不同的可视化客户端里面显示的问题. 换了一个客户端 以下两个shell均可查询 以下是我的测试代码,使用morphia 阅读全文
posted @ 2017-02-23 16:45 181282945 阅读(11580) 评论(0) 推荐(0) 编辑
摘要: db.main.findOne( { "orderNo":db.sub.aggregate( { $group:{_id:"$orderNo",num:{$first:"$orderNo"},count:{$sum:1}} }, { $sort:{count:-1}},{$limit:1 } )._ 阅读全文
posted @ 2017-02-22 22:15 181282945 阅读(8134) 评论(0) 推荐(0) 编辑
摘要: 使用聚合,db.集合名.aggregate… 而不是find 管道在Unix和Linux中一般用于将当前命令的输出结果作为下一个命令的参数。MongoDB的聚合管道将MongoDB文档在一个管道处理完毕后将结果传递给下一个管道处理。管道操作是可以重复的。 每一个操作符(集合)都会接受一连串的文档,对 阅读全文
posted @ 2017-02-22 18:18 181282945 阅读(18250) 评论(0) 推荐(1) 编辑
上一页 1 ··· 4 5 6 7 8 9 下一页