- 博客(9)
- 资源 (56)
- 问答 (3)
- 收藏
- 关注
原创 深入理解statement
Statement 是 Java 执行数据库操作的一个重要接口,用于在已经建立数据库连接的基础上,向数据库发送要执行的SQL语句。
2017-11-29 22:47:21 858
原创 mybatis源码分析之Mapper代理实现分析
使用过mybatis框架的人都知道,我们只是写了一个个mapper接口但是没有写它的实现类,但是我们可以直接使用它调用其对应的接口执行相应的sql语句。其实很容易想到它是使用代理来实现的,那么究竟是怎么实现的呢?本文主要来揭开这一神秘面纱。
2017-11-21 23:39:04 615
原创 合理的设置线程池队列长度
在实际工作中,经常会用到线程池,那么如何设置线程池队列长度,如果长度设置的不合理就无法发挥出多线程的威力。那么队列长度究竟应该设置多大呢?其实要取决于使用场景?比如你是全程异步的系统你的队列设置为0,coreSize设置cpu核数。本文主要通过研究tomcat、Dubbo等业界成熟的产品是如何设置线程队列的。
2017-11-18 13:04:49 38076 3
原创 JDK线程池源码分析
线程池,从字面的含义来看,是指管理一组工作线程(Worker Thread)的资源池。线程池是与工作队列(Work Queue)密切相关的,其中在工作队列中保存了需要执行的任务。工作线程的任务很简单:从任务队列中取出一个任务,执行任务,然后返回线程池并等待下一个任务。
2017-11-16 22:10:32 1255
原创 深入理解java闭锁实现
闭锁是一种同步工具类,可以延迟线程的进度直到其到达终止状态。闭锁可以用来确保某些活动直到其他活动都完成后才继续执行。CountDownLatch是一种灵活的闭锁实现,它可以使一个或者多个线程等待一组事件发生。闭锁状态包括一个计数器,该计数器初始化一个正数,表示需要等待的数量。countDown方法递减计数器,表示一个事件已经发生了,而await方法等待计算器达到零,即所有的事件已经完成。
2017-11-12 20:50:38 1323 2
原创 jstack命令应用
jstack 命令用于生成虚拟机当前时刻线程快照(一般称为threaddump 或者javacore 文件)。线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈集合,生成线程快照的目的主要用于定位如线程间的死锁、死循环、请求外部服务时间过长等导致机器load、cpu等过高。本文主要结合top、jstack命令来实际分析cpu过高线程。
2017-11-08 23:20:49 945
原创 jvm中的垃圾收集器简介
现代JVM的类型繁多,最主流的四个垃圾收集器Serial收集器、 Parallel / Throughput收集器、Concurrent收集器(CMS)和G1收集器。这四种垃圾收集器各有各的特点,需要我们根据自己的实际应用场景选择合适的垃圾收集器。虽然存在差异但是它们也有很多共性:1)所有的垃圾收集器都将堆划分为老年代和新生代(分代收集)2)所有的垃圾收集器在清理新生代对象时候,都使用了(stop-the-world
2017-11-04 10:57:32 356
Robocup机器人足球仿真比赛系统的研究
2012-04-23
SQL+Server+2005+Visual+C#+2005专业开发精解+源代码
2012-04-09
com.mysql.jdbc.Driver 问题
2017-06-02
go语言实现并行的快速排序算法?
2015-10-24
Azure新建网站后,怎么通过FTP软件发布网站?
2015-01-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人