11 2018 档案

容器的基础 XmlBeanFactory(上篇)
摘要:容器的基本用法 bean是Spring中最核心的东西,因为Spring就像是个大水桶,而bean就像是容器中的水,水桶脱离了水便也没什么用处了,那么我们先来看看bean的定义。 很普通,bean没有任何特别之处,的确,Spring的目的就是让我们的bean能成为一个纯粹的POJO(Plain Ord 阅读全文

posted @ 2018-11-30 15:59 AoTuDeMan 阅读(225) 评论(0) 推荐(0)

Spring核心类
摘要:前言 作为Java程序员都知道,阅读源码是一个非常好的学习方式,在我们日常工作中或多或少都会接触一些开源代码,比如说最常用的Spring,Hibernate等,这些源码的普及与应用程度远远超过我们的想象,正因为很多人用,也在推动着源码的不断完善。这些优秀的源码中有着多年积淀下来的精华,这些精华是非常 阅读全文

posted @ 2018-11-29 20:53 AoTuDeMan 阅读(583) 评论(0) 推荐(1)

锁优化
摘要:前言 高效并发是从JDK1.5到JDK1.6的一个重要改进,HotSpot虚拟机开发团队在这个版本上花费了大量的精力去实现各种锁优化技术,如适应性自旋、锁消除、锁粗化、轻量级锁和偏向锁等,这些技术都是为了在线程之间高效的共享数据,以及解决竞争问题,从而提高程序的执行效率。 自旋锁与自适应自旋 如果物 阅读全文

posted @ 2018-11-28 16:55 AoTuDeMan 阅读(121) 评论(0) 推荐(0)

Java线程安全
摘要:前言 在软件行业发展的初期,程序编写是以算法为核心的,程序员会把数据和过程分别作为独立的部分来考虑,数据代表问题空间中的客体,程序代码则用于处理这些数据,这种思维的方式直接站在计算机的角度去抽象问题和解决问题,称为面向过程的编程思想。于此相对的是,面向对象的编程思想是站在现实世界的角度去抽象和解决问 阅读全文

posted @ 2018-11-28 11:16 AoTuDeMan 阅读(299) 评论(0) 推荐(0)

Java线程
摘要:前言 并发不一定要依赖多线程(如PHP中很常见的多进程并发),但是在Java里面谈论并发,大多数都与线程脱不开关系。本篇文章讲述的是Java线程在虚拟机中的实现。 线程的实现 线程是比进程更轻量级的调度执行单位,线程的引入,可以把一个进程的资源分配和执行调度分开,各个线程既可以共享进程资源(内存地址 阅读全文

posted @ 2018-11-27 21:23 AoTuDeMan 阅读(164) 评论(0) 推荐(0)

Java内存模型
摘要:前言 多任务处理在现代计算机操作系统中几乎已是一项必备的功能了。在许多的情况下,让计算机同时去做几件事情,不仅是因为计算机的运算能力强大了,还有一个重要的原因是计算机的运算速度与它的存储和通信子系统速度的差距太大,大量的时间都花费在磁盘I/O、网络通信或者数据库访问上。 除了充分利用计算机处理器的能 阅读全文

posted @ 2018-11-27 16:55 AoTuDeMan 阅读(183) 评论(0) 推荐(0)

Oracle分区实战
摘要:前言 由于近期做的一个项目每个月需要插入大约一百万条数据,这样的话,一年的数据就是一千万以上的数据,而且项目的业务要求的查询条件都是模糊查询,所以索引不起作用,最后决定对表进行分表分区,由于分表需要分析项目的业务作出最适合的分表方式,分表只要选定了以什么来分,就不难了。这篇文章讲述的是对表的分区,由 阅读全文

posted @ 2018-11-26 15:47 AoTuDeMan 阅读(3286) 评论(0) 推荐(0)

运行期优化
摘要:前言 在部分的商用虚拟机中,Java程序最初是通过解释器进行解释执行的,当虚拟机发现某个方法或代码块运行特别频繁的时候,就会把这些代码认定为“热点代码”。为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化,完成这个任务的编译器称为即时编译器( 阅读全文

posted @ 2018-11-23 21:37 AoTuDeMan 阅读(259) 评论(0) 推荐(0)

切勿用普通的for循环遍历LinkedList
摘要:前言 对于大多数的程序员来说,平时使用和见到的最多的List应该是ArrayList,对于LinkedList使用和看见的地方不多,本篇文章不阐述和说明这两个List的区别或特点,只说说对他们的循环遍历。 ArrayList和LinkedList的普通for循环遍历 直接上代码: 不断的增大上述代码 阅读全文

posted @ 2018-11-23 16:54 AoTuDeMan 阅读(916) 评论(0) 推荐(1)

NIO网络编程
摘要:前言 前面的文章讲解了I/O 模型、缓冲区(Buffer)、通道(Channel)、选择器(Selector),这些都是关于NIO的特点,偏于理论一些,这篇文章LZ将通过利用这些知识点来实现NIO的服务器和客户端,当然了,只是一个简单的demo,但是对于NIO的学习来说,足够了,麻雀虽小但五脏俱全。 阅读全文

posted @ 2018-11-21 10:51 AoTuDeMan 阅读(174) 评论(0) 推荐(0)

虚拟机字节码执行引擎
摘要:前言 代码编译的结果从本地机器转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。 概述 执行引擎是Java虚拟机最核心的组成部分之一。虚拟机是一个相对于物理机的概念,这两种机器都有代码执行的能力,其区别是物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上的,而虚拟机的执行 阅读全文

posted @ 2018-11-20 21:30 AoTuDeMan 阅读(207) 评论(0) 推荐(0)

AIO(异步IO)
摘要:前言 AIO是异步IO的缩写,即Asynchronized IO。虽然NIO在网络操作中,提供了非阻塞的方法,但是NIO的IO行为还是同步的,对于NIO来说,我们的业务线程是在IO操作准备好时,得到通知,接着就由这个线程自行进行IO操作,IO操作本身还是同步的。 但是对于AIO来说,则更加的进了一步 阅读全文

posted @ 2018-11-20 16:16 AoTuDeMan 阅读(1630) 评论(0) 推荐(0)

选择器(Selector)
摘要:概述 Selector一般称为选择器,也可以翻译为多路复用器,是Java NIO核心组件之一,主要功能是用于检查一个或者多个NIO Channel(通道)的状态是否处于可读、可写。如此可以实现单线程管理多个Channel(通道),当然也可以管理多个网络连接。 使用Selector的好处在于,可以使用 阅读全文

posted @ 2018-11-19 10:52 AoTuDeMan 阅读(1268) 评论(0) 推荐(0)

通道(Channel)
摘要:层次结构图 从上图可以看出,Channel是所有类的父类,它定义了通道的基本操作。从Channel引申出的其他接口都是面向字节的子接口,这也意味着通道只能在字节缓冲区(ByteBuffer)上操作。 Channel和Buffer Channel和Buffer之间的关系,如下图所示: Channel中 阅读全文

posted @ 2018-11-15 15:48 AoTuDeMan 阅读(1638) 评论(0) 推荐(0)

类加载器
摘要:前言 类加载器实现的动作是:通过一个类的全限定名来获取描述此类的二进制字节流。 类加载器可以说是Java语言的一项创新,也是Java语言流行的重要原因之一,它最初是为了满足Java Applet的需求开发出来的。虽然目前Java Applet技术基本上已经不怎么使用(仅仅指浏览器上的Java App 阅读全文

posted @ 2018-11-14 21:38 AoTuDeMan 阅读(158) 评论(0) 推荐(0)

Java类加载机制
摘要:前言 我们知道Java的Class文件编译后生成了.class文件,.calss文件中包含的各种信息,最终都需要加载到虚拟机中之后才能运行和使用。而虚拟机是如何加载这些Class文件的呢?Class文件中从信息进入到虚拟机后会发生什么?这些都是本文要讲解的内容,将会讲解类加载的每个阶段Java虚拟机 阅读全文

posted @ 2018-11-13 21:08 AoTuDeMan 阅读(166) 评论(0) 推荐(0)

内存分配
摘要:前言 Java技术体系中所提倡的自动内存管理最终可以归结为自动化解决了两个问题:给对象分配内存以及回收分配给对象的内存。 对象的内存分配,往大方向讲,就是在堆上分配(但也可能经过JIT编译后被拆散为标量类型并间接的在栈上分配),对象主要分配在新生代的Eden区上,如果启用了本地线程缓冲,将按线程优先 阅读全文

posted @ 2018-11-08 20:28 AoTuDeMan 阅读(164) 评论(0) 推荐(0)

HotSpot的算法实现
摘要:上一篇文章垃圾回收机制(GC)从理论上介绍了对象存活判定算法和垃圾收集算法,而在HotSpot虚拟机上实现这些算法时,必须对算法的执行效率有严格的考量,才能保证虚拟机高效运行。 枚举根节点 以可达性分析中从GC Roots 节点找引用链这个操作为例,可作为GC Roots 的节点主要在全局性的引用( 阅读全文

posted @ 2018-11-07 21:04 AoTuDeMan 阅读(682) 评论(0) 推荐(1)

垃圾回收机制(GC)
摘要:前言 上一篇文章Java内存区域及对象讲述了Java内存运行时的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程生而生,随线程灭而灭,在这几个区域是不需要过多的考虑回收的问题的,因为方法结束或者线程结束时,内存自然就跟随着回收了;而Java堆和方法区则不一样,一个接口中的多个实现类需要的 阅读全文

posted @ 2018-11-06 21:45 AoTuDeMan 阅读(387) 评论(0) 推荐(0)

Java注意点...
摘要:写这篇文章的目的,只是提醒自己一些在开发中的注意点,只是浅尝辄止,不深究。仅仅给自己提醒用。这篇文章会持续更新的...... 慎用重载 重载(overload) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。在Java1.5之前,基本类型都根本不同于所有的引用类型,但是当自动 阅读全文

posted @ 2018-11-01 16:46 AoTuDeMan 阅读(153) 评论(0) 推荐(0)

导航