![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
成长类
xieyu_zy
互联网攻城狮,DB方面的Java开发工作,多面手,做过传统行业开发,做过DBA,开发,技术管理,项目管理,产品管理,经过几年磨练,自认为算是高级泥水匠。技术上个人自认为擅长java相关核心技术,如JVM,JUC,JDBC,连接池,Java ByteCode,Java OOD设计,代码调优。擅长数据库应用技术Oracle及MySQL,擅长分布式存储架构分布式计算,善于常见问题诊断和系统调优。
展开
-
系统架构-性能篇章2(系统拆分2-问题)
在文章《系统架构-性能篇章2(系统拆分1)》有提及到过关于系统在什么情况下会拆分,拆分的目之类的问题,本文会阐述一些关于拆分过程中遇到的各种各样的常见问题进行分析,和上一个文章中提及到的一样,讲解的目录如下:1、负载均衡设备的问题。2、不同系统之间的通信问题。3、数据写入和查找的问题。4、跨数据库事务问题。5、跨数据库序列问题。6、不同应用的本地缓存问题。7、系统之间的原创 2011-11-15 22:59:00 · 4203 阅读 · 0 评论 -
关于Java特种兵下册
《Java特种兵 下册》这本书一直没出,至上册出版近1年以来,每周会有很多小伙伴发私信或邮件问起我下册出版的事情,纵使目前有很多无奈,小胖还是初步决定准备写下册。下册内容(下册的内容小胖):下册内容在其它博客里面有所标注,但由于事隔一年多,所以小胖有很多知识的认知也有所变化,所以内容上也会有做一些调整。1、设计方面内容依然会写,小胖依然用自己的方式告诉大家怎么样去设计,当然小胖会改很多内容,设计也...原创 2015-08-20 11:01:15 · 21218 阅读 · 36 评论 -
Java线程池架构2-多线程调度器(ScheduledThreadPoolExecutor)
在前面介绍了java的多线程的基本原理信息:《Java线程池架构原理和源码解析(ThreadPoolExecutor)》,本文对这个java本身的线程池的调度器做一个简单扩展,如果还没读过上一篇文章,建议读一下,因为这是调度器的核心组件部分。 我们如果要用java默认的线程池来做调度器,一种选择就是Timer和TimerTask的结合,在以前的文章:《Timer与TimerTask的真正原理&使用原创 2013-04-29 03:58:44 · 11878 阅读 · 4 评论 -
java之JUC系列-外部Tools-Executors|Semaphor|Exchanger|CyclicBarrier|CountDownLatch
前面写了两篇JDBC源码的文章,自己都觉得有点枯燥,先插一段JUC系列的文章来换换胃口,前面有文章大概介绍过J U C包含的东西,JUC体系包含的内容也是非常的多,不是一两句可以说清楚的,我这首先列出将会列举的JUC相关的内容,然后介绍本文的版本:Tools部分J.U.C体系的主要大板块包含内容,如下图所示:注意这个里面每个部分都包含很多的类和处理器,而且是相互包含,相互引原创 2013-02-05 19:38:12 · 17725 阅读 · 6 评论 -
java之annotation与框架的那些秘密
在大家使用spring MVC或Hibernate 3.0以上的版本时,可能会注意到annotation带来的方便性,不过这往往让人觉得annotation真的很强大,而这算是一种接近错误的理解吧,annotation其实本身是属于一种文档注解的方式,帮助我们在编译时、运行时、文档生成时使用,部分annotation其实基本和注释差不多,这里其实是要说下annotation的原理,以及各种功能在它原创 2012-09-20 23:39:33 · 7563 阅读 · 0 评论 -
系统架构-性能篇章1(应用系统性能2-OOM&参数配置)
对于JVM的内存写过的文章已经有点多了,而且有点烂了,不过说那么多大多数在解决OOM的情况,于此,本文就只阐述这个内容,携带一些分析和理解和部分扩展内容,也就是JVM宕机中的一些问题,OK,下面说下OOM的常见情况(本文基于jdk 1.6系列版本来编写,其余的版本未必完全适用): 第一类内存溢出,也是大家认为最多,第一反应认为是的内存溢出,就是堆栈溢出:那什么样的情况就是堆栈溢出呢?当原创 2011-09-14 21:35:22 · 8168 阅读 · 0 评论 -
如何精确地测量java对象的大小-底层instrument API
关于java对象的大小测量,网上有很多例子,大多数是申请一个对象后开始做GC,后对比前后的大小,不过这样,虽然说这样测量对象的大小是可行的,不过未必是完全准确的,因为过程中包含对象本身的开销,也许你运气好,正好能碰上,差不多,不过这种测试往往显得十分的笨重,因为要写一堆代码才能测试一点点东西,而且只能在本地测试玩玩,要真正测试实际的系统的对象大小这样可就不行了,本文说说java一些比较偏底层的知识原创 2011-12-13 22:18:49 · 10821 阅读 · 19 评论 -
Java对象排序、中文排序、SortedSet排序使用和源码讲解
在C、C++中有很多排序算法,但是通常排序算法不得不让程序员在写代码的过程中陷入对底层很多指针和位置的理解,java不希望这样,所以排序大多可以由java帮你做掉,例如,你要对一个数组排序,就通过:Collections.sort(list)那么这个list就被排序了,排序最终调用的是Arrays.sort方法来完成的,所以数组自然是用Arrays.sort了,而SortedSet里面内部也有排序原创 2013-02-25 20:53:21 · 13072 阅读 · 9 评论 -
我从学习计算机到现在(2013年初补充版)
毕业快4年了,这个文章该改改了,我从学习计算机开始(2004)到现在应该还不到8年时间,也许对于很多人来说这个时间较短的了,但是这几年以来对于我来说算是对于人生的改变,从一个地方的小农村没见过电脑考入一个“很戳”的师范大学内部新办的一个软件学院,但是对于当时的我来说只要有大学读就不错了,我也没考虑太多,就决定去念了,当时对于电脑的概念是盲目的,没有任何概念,几乎可以说是一无所知,我还记得和同学一起原创 2010-04-02 10:13:00 · 7026 阅读 · 104 评论 -
jdbc实现篇-源码(Oracle、MySQL)之Connection创建过程
前一篇文章说了一些基本的注册:http://blog.csdn.net/xieyuooo/article/details/8502585,本文注重讲究一些核心类的一些方法,后面有时间再写一个jdbc级别错误的问题,注意事项:本文介绍Connection的一些创建,篇幅所限,不能一一将所有代码贴出,可以跟着这种思路去阅读更为细节的源码为好;上一篇文章,说到了Driver注册的过程原创 2013-01-27 20:11:16 · 8057 阅读 · 5 评论 -
java之httpclient的一些破事
本文偏重使用,简单讲述httpclient,其实在网络编程中,基于java的实现几乎都是包装了socket的通信,然后来模拟各种各样的协议;httpclient其实就是模拟浏览器发起想服务器端的请求,而这种更加类似于JS的请求或页面的POST、GET,不过这种数据的返回一般需要得到有意义的数据,才方便做其他的交互,否则得到一个页面结果,全是标签了,毕竟不是浏览器,所以我们用httpclient更多原创 2012-01-06 21:29:23 · 25629 阅读 · 16 评论 -
jdbc实现篇-源码(Oracle、MySQL)-第一部分-Dirver注册和获取及Connection获取原理
简单说下,本文是说源码的,但是不会一篇文章就说得很深入,本文是【jdbc源码入口篇】,分别会说明一些源码和使用细节,所提及的源码可能相对于jdbc的源码还是初级看源码,看个大概,细节上还有很多东西,后续有时间会跟进;文章会以oracle、mysql jdbc的实现的源码作为说明的依据来参考;首先,我们要创建一个链接(连接池是在内部做的),会操作:Class.forName("x原创 2013-01-14 23:10:14 · 12776 阅读 · 23 评论 -
自我思辨的力量-追求完美的内心驱动
这些年很多朋友通过邮件等方式与我交流,希望了解到一些学习和成长的方法。我认为对于每一个人在不同的阶段成长方法是不同的,而成长这种事情与每个人阅历和性格有很大的关系,不太好一概而论,我抛一个在我认知范围的共性:“自我思辨”,对工作中的一些影响(虽然这不是个人成长的唯一因素,但它一定是个人成长的重要因素之一),这种能力应该说每个人都天生具备的,可能由于工作环境或自身因素阅历等因素,导致我们...原创 2019-07-24 20:15:17 · 2467 阅读 · 7 评论