摘要: Java注解 又称Java标注,是Java语言5.0版本开始支持加入源代码的特殊语法元数据。 Java语言中的类、方法、变量、参数和包等都可以被标注。Java标注和Javadoc不同,标注有自反性。在编译器生成类文件时,标注可以被嵌入到字节码中,由Java虚拟机执行时获取到标注[。 我们在平常编写代 阅读全文
posted @ 2019-07-31 21:27 qxwang 阅读(47) 评论(0) 推荐(0)
摘要: 1. 单一职责原则(SRP) 定义:就一个类而言,应该仅有一个引起它变化的原因。 从这句定义我们很难理解它的含义,通俗讲就是我们不要让一个类承担过多的职责。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化 阅读全文
posted @ 2019-07-31 21:27 qxwang 阅读(24) 评论(0) 推荐(0)
摘要: 基本IO操作代码 阅读全文
posted @ 2019-07-31 21:26 qxwang 阅读(51) 评论(0) 推荐(0)
摘要: 前言 在看《大话设计模式》中,经常会看到各种各样的UML类图的出现,用来描述设计模式中类与类,类与接口之间的关联关系。可能刚开始看到一些简单的UML图还能读得懂,越往后越觉得阅读UML类图的能力必不可少,所以针对UML类图做一次总结。 1、UML类图图示示例 2、类 类图分三层,第一层显示类的名称, 阅读全文
posted @ 2019-07-31 21:26 qxwang 阅读(73) 评论(0) 推荐(0)
摘要: 使用注解需要做的配置 用注解来向Spring容器注册Bean。需要在applicationContext.xml中注册<context:component-scan base-package=”pagkage1[,pagkage2,…,pagkageN]”/>。如:在base-package指明一个 阅读全文
posted @ 2019-07-31 21:25 qxwang 阅读(27) 评论(0) 推荐(0)
摘要: Java集合框架总体结构图 Collection 接口 定义集合基本方法 123456789101112131415 int size();boolean isEmpty();boolean contains(Object o);Iterator<E> iterator();Object[] toA 阅读全文
posted @ 2019-07-31 21:24 qxwang 阅读(45) 评论(0) 推荐(0)
摘要: HashMap的数据结构 要知道hashmap是什么,首先要搞清楚它的数据结构,在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个数组和链表的结合体(在数据结构中,一般称 阅读全文
posted @ 2019-07-31 21:23 qxwang 阅读(142) 评论(0) 推荐(0)
摘要: 红黑树特性 性质 1:每个节点要么是红色,要么是黑色。 性质 2:根节点永远是黑色的。 性质 3:所有的叶节点都是空节点(即 null),并且是黑色的。 性质 4:每个红色节点的两个子节点都是黑色。(从每个叶子到根的路径上不会有两个连续的红色节点) 性质 5:从任一节点到其子树中每个叶子节点的路径都 阅读全文
posted @ 2019-07-31 21:22 qxwang 阅读(180) 评论(0) 推荐(0)
摘要: 红黑树(Red-black tree)的基本知识 一.定义 红黑树是一种自平衡二叉查找树,高效的O(log n)时间内做查找,插入和删除。 NIL节点表示数据的结束,画图时应该也体现出来。 二.特点 任意节点的左子树不空,则左子树上所有节点的值均小于它的根结点的值; 任意节点的右子树不空,则右子树上 阅读全文
posted @ 2019-07-31 21:22 qxwang 阅读(88) 评论(0) 推荐(0)
摘要: 前言 统计记录下Spring相关Bean的类,以做记忆 Spring Bean解析与注册 BeanFactoryDefaultListableBeanFactoryXmlBeanFactoryXmlBeanDefinitionReaderBeanDefinitionHolderBeanDefinit 阅读全文
posted @ 2019-07-31 16:20 qxwang 阅读(22) 评论(0) 推荐(0)
摘要: ControllerAdvice作用 使用@ControllerAdvice能够在不侵入业务逻辑的情况下,进行业务异常的处理,尤其是针对于业务处理时,需要用异常的方式向前台传输异常编码的情况下,用@ControllerAdvice能够非常完美的实现异常的处理。 ControllerAdvice代码实 阅读全文
posted @ 2019-07-31 16:20 qxwang 阅读(50) 评论(0) 推荐(0)
摘要: 11 MyBatis一级缓存实现 每当我们使用MyBatis开启一次和数据库的会话,MyBatis会创建出一个SqlSession对象表示一次数据库会话。 在对数据库的一次会话中,我们有可能会反复地执行完全相同的查询语句,如果不采取一些措施的话,每一次查询都会查询一次数据库,而我们在极短的时间内做了 阅读全文
posted @ 2019-07-31 16:19 qxwang 阅读(52) 评论(0) 推荐(0)
摘要: 1 引言 本文主要讲解JDBC怎么演变到Mybatis的渐变过程,重点讲解了为什么要将JDBC封装成Mybaits这样一个持久层框架。再而论述Mybatis作为一个数据持久层框架本身有待改进之处。 2 JDBC实现查询分析 我们先看看我们最熟悉也是最基础的通过JDBC查询数据库数据,一般需要以下七个 阅读全文
posted @ 2019-07-31 16:19 qxwang 阅读(37) 评论(0) 推荐(0)
摘要: 8 MyBatis数据源与连接池 MyBatis数据源实现是在以下四个包中: MyBatis把数据源DataSource分为三种: UNPOOLED 不使用连接池的数据源 POOLED 使用连接池的数据源 JNDI 使用JNDI实现的数据源 即: 相应地,MyBatis内部分别定义了实现了java. 阅读全文
posted @ 2019-07-31 16:18 qxwang 阅读(24) 评论(0) 推荐(0)
摘要: jvm 总体梳理 jvm体系总体分四大块: 类的加载机制 jvm内存结构 GC算法 垃圾回收 GC分析 命令调优 当然这些知识点在之前的文章中都有详细的介绍,这里只做主干的梳理 这里画了一个思维导图,将所有的知识点进行了陈列,因为图比较大可以点击右键下载了放大查看。 线程安全本质 线程安全本质是由于 阅读全文
posted @ 2019-07-31 16:18 qxwang 阅读(27) 评论(0) 推荐(0)
摘要: 前言 总结一下IO的相关,代码中都有相关注释 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 阅读全文
posted @ 2019-07-31 16:17 qxwang 阅读(49) 评论(0) 推荐(0)
摘要: 线程中断 thread的方法,线程中断涉及到三个方法,如下: void interrupt(): 中断线程 static boolean interrupted(): 测试当前线程是否已经中断 boolean isInterrupted(): 测试线程是否已经中断 1. interrupt()方法用 阅读全文
posted @ 2019-07-31 16:17 qxwang 阅读(120) 评论(0) 推荐(0)
摘要: 前言 从图中可以看出JAVA中的CAS操作都是通过sun包下Unsafe类实现,而Unsafe类中的方法都是native方法,由JVM本地实现,笔者为了弄清楚真正的实现原理,查看了openJDK7的源码,下面就稍作分析: Unsafe中对CAS的实现是C++写的,从上图可以看出最后调用的是Atomi 阅读全文
posted @ 2019-07-31 16:16 qxwang 阅读(57) 评论(0) 推荐(0)
摘要: 并行计算在处处都有大数据的今天已经不是一个新鲜的词汇了,现在已经有单机多核甚至多机集群并行计算,注意,这里说的是并行,而不是并发。严格的将,并行是指系统内有多个任务同时执行,而并发是指系统内有多个任务同时存在,不同的任务按时间分片的方式切换执行,由于切换的时间很短,给人的感觉好像是在同时执行。Jav 阅读全文
posted @ 2019-07-31 16:16 qxwang 阅读(65) 评论(0) 推荐(0)
摘要: JAVA并发涵盖一下知识块: 基础知识、并发理论(JMM)、并发关键字、Lock体系、并发容器、线程池(Executor体系)、原子操作类、并发工具、并发实践。如下图所示 基础知识: 包含并发编程的优缺点、线程的状态和一些基本操作 并发理论(JMM): 包含JMM内存模型、重排序、happens-b 阅读全文
posted @ 2019-07-31 16:15 qxwang 阅读(30) 评论(0) 推荐(0)