
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
由于最近工作原因,很久没有在CSDN上留下些啥,今天在这些篇文章,是关于java多线程的。对于JAVA多线程的应用非常广泛,现在的系统没有多线程几乎什么也做不了,很多时候我们在何种场合如何应用多线程成为一种首先需要选择的问题,另外关于java多线程的知识也是非常的多,本文中先介绍和说明一些常用的,在后续文章中如果有必要再说明更加复杂的吧,本文主要说明多线程的一下几个内容:1、在应用开发中什么时候选
J.U.C是java系列一块看似简单,水很深的区域,但是不论是深入java还是分布式的一些东西,这都算是基础,虽然以前乱七八糟写过一些多线程的文章,不过都比较乱了一点,最近有打算逐步深入来写多篇文章来说说我对这些东西的小理解。1、首先线程分为内核线程、用户线程;在Linux下java的线程其实是在java私有栈上有一个用户线程,和OS级别有一个轻量级的进程来实现。2、在操作java
在前面介绍JUC的文章中,提到了关于线程池Execotors的创建介绍,在文章:《java之JUC系列-外部Tools》中第一部分有详细的说明,请参阅;文章中其实说明了外部的使用方式,但是没有说内部是如何实现的,为了加深对实现的理解,在使用中可以放心,我们这里将做源码解析以及反馈到原理上,Executors工具可以创建普通的线程池以及schedule调度任务的调度池,其实两者实现上还是有一些区别,
在前面介绍了java的多线程的基本原理信息:《Java线程池架构原理和源码解析(ThreadPoolExecutor)》,本文对这个java本身的线程池的调度器做一个简单扩展,如果还没读过上一篇文章,建议读一下,因为这是调度器的核心组件部分。 我们如果要用java默认的线程池来做调度器,一种选择就是Timer和TimerTask的结合,在以前的文章:《Timer与TimerTask的真正原理&使用
在文章《系统架构-性能篇章2(系统拆分1)》有提及到过关于系统在什么情况下会拆分,拆分的目之类的问题,本文会阐述一些关于拆分过程中遇到的各种各样的常见问题进行分析,和上一个文章中提及到的一样,讲解的目录如下:1、负载均衡设备的问题。2、不同系统之间的通信问题。3、数据写入和查找的问题。4、跨数据库事务问题。5、跨数据库序列问题。6、不同应用的本地缓存问题。7、系统之间的
本文为2010年编写,所以有很多看法不是很准确,有一定的参考价值,如需要更加深入细节,请参看,2012年编写的关于JVM的文章:认识JVM--第一篇-对象生成&回收算法认识JVM--第二篇-java对象内存模型JVM第三篇(简单demo)系统架构-性能篇章1(应用系统性能2-OOM&参数配置)相继的还会有更多的java深入的知识和机制。对于J
在前面的文章中,说了很多JVM和数据库方面的东西,我所描述的内容大多偏重于技术本身,和实际的业务系统结合的比较少,本文开始进入实际的系统设计中应当注意的方方面面(文章偏重于访问量高,但是每次访问量并不是很大的系统),而偏重点在于性能和效率本身,由于这个知识涉及的基础和面很广,所以
对于JVM的内存写过的文章已经有点多了,而且有点烂了,不过说那么多大多数在解决OOM的情况,于此,本文就只阐述这个内容,携带一些分析和理解和部分扩展内容,也就是JVM宕机中的一些问题,OK,下面说下OOM的常见情况(本文基于jdk 1.6系列版本来编写,其余的版本未必完全适用): 第一类内存溢出,也是大家认为最多,第一反应认为是的内存溢出,就是堆栈溢出:那什么样的情况就是堆栈溢出呢?当
遇到一个MySQL JDBC的queryTimeout的坑,比较恶心,算是它的BUG,也可以不算,^_^,为啥这么说?看一下下面的解释:现象:用同一个Connection执行大批量SQL的时候,导致了OOM现象。细节现象描述:1、SQL是从某个存储设备上拿到的,不会直接占用大量的内存,每次只会取最多1千条数据过去,也会判定容量不超过多少M。2、每一批SQL执行会单独创建Statement对象,执行
简单说下,本文是说源码的,但是不会一篇文章就说得很深入,本文是【jdbc源码入口篇】,分别会说明一些源码和使用细节,所提及的源码可能相对于jdbc的源码还是初级看源码,看个大概,细节上还有很多东西,后续有时间会跟进;文章会以oracle、mysql jdbc的实现的源码作为说明的依据来参考;首先,我们要创建一个链接(连接池是在内部做的),会操作:Class.forName("x







