
java
苍南孤雪
这个作者很懒,什么都没留下…
展开
-
JAVA虚拟机内存回收算法与调优参数
一、相关概念基本回收算法引用计数(Reference Counting)比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。标记-清除(Mark-Sweep)此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记的对象清转载 2015-12-16 14:13:02 · 356 阅读 · 0 评论 -
手把手带你阅读dubbo源码(二) 服务发现
4.消费者是如何调用的我们先看下消费者的配置然后我们回到最开始xml解析的过程看到消费者的reference标签对应的是ReferenceBean,我们打开ReferenceBeanReferenceBean跟serviceBean是差不多的,只不过只实现了ApplicationContextAware,InitializingBean两个接口,setApplicationContext方法很简单...原创 2018-06-20 10:49:08 · 4735 阅读 · 2 评论 -
手把手带你阅读dubbo源码(一) 服务暴露
本篇文章主要是阅读了dubbo官方文档:http://dubbo.apache.org/zh-cn/docs/user/quick-start.html关于服务的暴露和引用,感觉很多细节还不是十分清楚,所以决定从自己手上的项目看起,然后一步步探究其中的实现,顺便记录下这个过程中学到的其他知识,由于dubbo是一个很成熟的框架了,用到的技术也很多,里面定义了很多类和接口十分复杂,所以我一步步去分析篇...原创 2018-06-19 17:41:51 · 44539 阅读 · 10 评论 -
mybatis和hibernate的区别?
优点:(1)mybatis不需要维护数据库映射文件,而且直接写sql文件,相对来说更易上手,开发效率也更高(2)mybatis基于原生的jdbc,而hibernate对jdbc进行了一个封装,运行速度上更有优势(3)在关联查询的时候,hibernate会将整个数据字段加载进来,影响了效率缺点:(1)Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL....原创 2018-03-08 10:45:28 · 341 阅读 · 0 评论 -
spring-core报错java.lang.IllegalArgumentException: null
用自己的电脑导入了公司的项目,启动的时候发现不能运行,报错信息如下:java.lang.IllegalArgumentException: nullat org.springframework.asm.ClassReader.(Unknown Source) ~[spring-core-3.2.1.RELEASE.jar:3.2.1.RELEASE]at org.springfra原创 2015-12-22 14:15:02 · 5438 阅读 · 0 评论 -
Java垃圾回收机制
以前没有写博客的习惯,学过的东西又不能一直都记着,所以用到“方现查”,每次都要看很多东西,才能把某一方面的东西看全。对于Java垃圾回收机制,这个很久前就学过,并且理解过了,好长时间不用,就丢到回爪洼岛了,这里还是记下,方便以后再次查看,不用浪费太多时间。了解Java垃圾回收机制,就要知道Java各个版本的区别,尤其是随着JDK版本的提升,都比较以前版本有哪些改进。最近,尤其是JDK1.7转载 2015-12-17 22:23:00 · 448 阅读 · 0 评论 -
Java并发编程之ConcurrentHashMap
ConcurrentHashMapConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和HashTable功能相同但是线程安全的方法。ConcurrentHashMap可以做到读取数据不加锁,并且其内部的结构可以让其在进行写操作的时候能够将锁的粒度保持地尽量地小,不用对整个ConcurrentHashMap加锁。ConcurrentHas转载 2015-12-16 10:30:20 · 317 阅读 · 0 评论 -
java的锁机制
一段synchronized的代码被一个线程执行之前,他要先拿到执行这段代码的权限,在java里边就是拿到某个同步对象的锁(一个对象只有一把锁); 如果这个时候同步对象的锁被其他线程拿走了,他(这个线程)就只能等了(线程阻塞在锁池等待队列中)。 取到锁后,他就开始执行同步代码(被synchronized修饰的代码);线程执行完同步代码后马上就把锁还给同步对象,其他在锁池中等待的某个线程就可以拿到锁转载 2015-12-16 10:28:32 · 428 阅读 · 0 评论 -
关于分库分表中分组,排序,分页实现
分库分表的原理估计就不说了,一般是会有一个种子字段作为分库分表路由字段,比如如果是对书籍表进行分表,可以用bookId作为种子字段,然后如果要分128张表,用bookId%128 作为分表路由规则。比如如果bookId为1的数据分在book_1表,bookId为2的分到book_2,bookId为129的分到book_1表。 然后分组,排序,分页的实现,如果加了where bookId...原创 2018-10-16 00:10:47 · 4858 阅读 · 0 评论