观察者模式 发表于 2017-11-03 | 分类于 设计模式 观察者模式定义:描述了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动做出相应的反应。 阅读全文 »
关于二分查找法 发表于 2017-10-25 | 分类于 算法 概述二分查找法是一种很常用的查找算法,利用二分查找法可以在有序数组中以对数级别的复杂度下完成查找。关于二分查找法,有很多变种,其中的区别很微妙。最重要的是,无论有多少种变种的二分查找,能写对一种就行。 阅读全文 »
JSP学习笔记 发表于 2017-10-25 | 分类于 JavaWeb JSP概述JSP是构建在Java Web应用程序上的第二种技术,是Servlet技术的补充,JSP页面本质上是一个Servlet。 阅读全文 »
Servlet学习笔记 发表于 2017-10-19 | 分类于 JavaWeb Servlet API概述Servlet技术的核心是Servlet,它是所有Servlet类必须直接或间接实现的一个接口。Servlet接口定义了Servlet与Servlet容器之间的契约,归结起来就是,Servlet容器将Servlet类载入内存,并在Servlet实例上调用具体的方法。在一个应用程序中,每种Servlet类型只有一个实例。 阅读全文 »
MySQL学习笔记(2)-锁 发表于 2017-10-13 | 分类于 数据库 概述MySQL的锁机制最显著的特点就是不同的存储引擎支持不同的锁机制。比如,MyISAM存储引擎采用的是表级锁;InnoDB存储引擎既支持行级锁,也支持表级锁,但默认情况下采用行级锁。 阅读全文 »
MySQL学习笔记(1)-索引 发表于 2017-10-01 | 分类于 数据库 Mysql索引的数据结构查询功能是数据库最为常用的功能之一,为了提高查询的效率,我们学习了很多查询算法。最基本的查询算法是顺序查找,这种复杂度为O(n)的算法在数据量很大时显然是不合适的。除了顺序查找我们还了解其他查询算法,例如二分查找、二叉树查找等。但是每种查找算法都只能应用于特定的数据结构之上,例如二分查找要求被检索数据有序,而二叉树查找只能应用于二叉查找树上,数据本身的组织结构不可能完全满足各种数据结构。 阅读全文 »
Java多线程学习笔记(五) 发表于 2017-09-16 | 分类于 JavaSE Java内存模型基础在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。Java的并发采用的就是共享内存模型,线程之间共享程序的公共状态,通过写-读内存中的公共状态进行隐式通信。 阅读全文 »
Java多线程学习笔记(四) 发表于 2017-08-22 | 分类于 JavaSE Lock的使用使用ReentrantLock类在Java多线程中,可以使用synchronized关键字来实现线程之间同步互斥,但在JDK1.5中新增了ReentrantLock类也能达到同样的效果,并且在扩展功能上也更加强大,比如嗅探锁定,多路分支通知等功能,而且在使用上也比synchronized更加的灵活。 阅读全文 »
Java多线程学习笔记(三) 发表于 2017-07-30 | 分类于 JavaSE 线程间通信线程是操作系统中独立的个体,但这些个体如果不经过特殊处理就不能成为一个整体。在线程间进行通信后,系统之间的交互性会更加强大,在大大提高CPU利用率的同时还会使程序员对各线程任务在处理的过程中进行有效的把控与监督。 阅读全文 »
内部类学习笔记 发表于 2017-07-29 | 分类于 JavaSE 内部类讲解内部类有两种情况: 在类中定义一个类(私有内部类,静态内部类) 在方法中定义一个类(局部内部类,匿名内部类) 阅读全文 »