自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张丰的博客

真实、永恒的快乐:工作、自我克制和爱

  • 博客(28)
  • 资源 (11)
  • 收藏
  • 关注

原创 Java内存模型

1.

2018-05-25 09:02:50 220 1

原创 策略模式

1.策略模式Strategy:属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。2.类图:3.代码:public class Context { //持有一个具体策略对象 private Strategy strategy; //传入一个具体的策略对象 public Cont...

2018-05-11 16:50:39 205

原创 建造者模式

1.建造者模式Builder:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。2.类图:3.代码:组装PC:   1.Diretor和Client需求沟通 ; 2.各个部件Builder   3.ConcreteBuilder去构建组件;  4.成品Productpublic abstract class Builder { //1.CPU public abstra...

2018-05-11 16:22:14 210

原创 装饰器模式

1.装饰器模式:Decorator Pattern,允许向一个现有的对象添加新的功能,同时又不改变其结构。装饰着可以在所委托被装饰者的行为之前或者之后加上自己的行为。2.类图:3.代码:public interface Drink { public float cost(); public String getDescription();}public class Coffee imple...

2018-05-10 16:10:27 163

原创 观察者模式

1.观察者模式:在对象之间定义了一对多的依赖,当一个对象改变状态,依赖它的对象会收到通知并自动更新。即发布订阅模式:发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。2.类图:3.代码:场景:有一个微信公众号服务,不定时发布一些消息,关注公众号就可以收到推送消息,取消关注就收不到推送消息。//被观察者接口//声明了添加、删除、通知观察者方法public interface...

2018-05-10 15:04:17 181

原创 模板方法

  1.模板方法:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。    模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤    处理某个流程的的代码已经具备,但是其中某个结点的代码暂时不能确定。    因此采用工厂方法模式,将这部分代码实现转移给子类完成,即处理步骤在父类中定义好,具体的实现延迟到子类中。  2.类图:  3.代码:  实例:购物---> 1.下单...

2018-05-10 11:05:21 208

原创 单例模式

1.单例模式确保某各类只有一个实例,必须自己创建自己的唯一实例。一般通过将构造方法声明为private避免类在外部被实例化,在同一虚拟机范围内,Singleton的唯一实例只能通过getInstance()访问。2.实现方式:方案一:懒汉式单例类,在第一次调用的时候实例化自己public class Singleton { private Singleton() {} private stat...

2018-05-10 10:19:14 106

原创 适配器设计模式

AdapterPattern:将一个类的接口转换成客户希望的另外一个接口;Adapter模式使得原本由于接口不兼容而不能一起工作的类可以一起工作。

2018-04-19 07:22:46 181

原创 算法导论-图算法Part3

一.分治策略1.理论介绍:2.基本步骤:  1分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题; 2解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题; 3合并:将各个子问题的解合并为原问题的解;3.算法应用:I. 最大子数组问题();II.归并排序()、快速排序(Partition每次都划分得很均匀情况下为);二.动态规划1.理论介绍:I.两个要素:最优子结

2018-01-19 01:44:16 283

原创 算法导论-图算法Part1

1. 图的表示:1. 邻接链表:稀疏图;2. 邻接矩阵:稠密图;2. 广度优先搜索(1) 算法思想:1. 初始化结点、队列;同时根结点入队;2. 出队操作,同时将所有该结点的未被访问到的相邻结点入队;3. 队列为空则算法结束。(2)伪代码:第一部分:初始化每个结点,队列;第二部分:while Q!=null    u=DeQueue(Q);    for  v in G.Adj[u]       

2018-01-19 01:43:30 266

原创 算法导论--图算法Part2

图算法

2018-01-19 01:42:56 488

原创 Comparable与Comparator分析

一.ComparableComparable可以认为是一个内比较器,实现了Comparable接口的类有一个特点,就是这些类是可以和自己比较的,至于具体和另一个实现了Comparable接口的类如何比较,则依赖compareTo方法的实现,compareTo方法也被称为自然比较方法。如果开发者add进入一个Collection的对象想要Collections的sort方法帮你自动进行排序的话,那么

2018-01-19 01:38:50 174

原创 EnumSet-Enumeration

EnumSetEnumSet 是一个专为枚举设计的集合类,EnumSet中的所有元素都必须是指定枚举类型的枚举值,该枚举类型在创建EnumSet时显式或隐式地指定。EnumSet的集合元素也是有序的,EnumSet以枚举值在Enum类内的定义顺序来决定集合元素的顺序。EnumSet在内部以位向量的形式存储,这种存储形式非常紧凑、高效,因此EnumSet对象占用内存很小,而且运行效率很好

2018-01-19 01:36:21 227

原创 Java集合源码剖析-工具类

Java 工具类

2018-01-19 01:17:03 305

原创 Java集合源码剖析-HashSet源码剖析

从上述HashSet源代码可以看出,它其实就是一个对HashMap的封装而已。所有放入HashSet中的集合元素实际上由HashMap的key来保存,而HashMap的value则存储了一个PRESENT,它是一个静态的Object对象。HashSet的绝大部分方法都是通过调用HashMap的方法来实现的,因此HashSet和HashMap两个集合在实现本质上是相同的。根据HashMap的一个特性: 将一个key-value对放入HashMap中时,首先根据key的hashCode()返回值决定该E

2018-01-19 01:04:49 218

原创 Java虚拟机-Java程序执行流程

程序执行流程我把它划分为以下几个步骤:编辑源码、编译生成class文件、(加载class文件、运行class字节码文件),其中后两个步骤都是在jvm虚拟机上执行的。

2018-01-13 00:51:04 7682

原创 Java集合源码剖析-LinkedHashmap源码剖析

先取得Entry,如果不为null,一样调用recordAccess方法,上面已经说得很清楚,这里不在多解释了。 7、最后说说LinkedHashMap是如何实现LRU的。首先,当accessOrder为true时,才会开启按访问顺序排序的模式,才能用来实现LRU算法。我们可以看到,无论是put方法还是get方法,都会导致目标Entry成为最近访问的Entry,因此便把该Entry加入到了双向链表的末尾(get方法通过调用recordAccess方法来实现,put方法在覆盖已有key的情况下,也是通

2018-01-13 00:12:14 182

原创 Java集合源码剖析-TreeMap源码剖析

TreeMap是基于红黑树实现的,这里只对红黑树做个简单的介绍,红黑树是一种特殊的二叉排序树,红黑树通过一些限制,使其不会出现二叉树排序树中极端的一边倒的情况,相对二叉排序树而言,这自然提高了查询的效率。

2018-01-12 23:53:40 195

原创 Java集合源码剖析-Hashtable源码剖析

Hashtable同样是基于哈希表实现的,同样每个元素是一个key-value对,其内部也是通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。 Hashtable也是JDK1.0引入的类,是线程安全的,能用于多线程环境中。 Hashtable同样实现了Serializable接口,它支持序列化,实现了Cloneable接口,能被克隆。

2018-01-12 22:52:50 235

原创 Java集合源码剖析-Vector源码剖析

Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。 Vector是JDK1.0引入了,它的很多实现方法都加入了同步语句,因此是线程安全的(其实也只是相对安全,有些时候还是要加入同步语句来保证线程的安全),可以用于多线程环境。 Vector没有实现Serializable接口,因此它不支持序列化,实现了Cloneable接口,能被克隆,实现了RandomAccess接口,支持快速随机访问。

2018-01-12 22:45:11 180

原创 Java集合源码剖析-HashMap源码剖析

一.概述     HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。 HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。 HashMap 实现了Serializable接口,因此它支持序列化,实现了Cloneable接...

2018-01-01 01:49:03 244

原创 Java集合源码剖析-LinkedList源码剖析

LinkedList是基于双向循环链表实现的,除了可以当做链表来操作外,它还可以当做栈、队列和双端队列来使用。 LinkedList同样是非线程安全的,只在单线程下适合使用。 LinkedList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了Cloneable接口,能被克隆。

2018-01-01 01:38:09 259 2

原创 Java集合源码剖析-ArrayList源码剖析

ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。 ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的CopyOnWriteArrayList类。 ArrayList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现

2018-01-01 01:08:03 448 1

原创 Java集合源码剖析-Java集合框架

Hi大家好,我是清和二七,今天我们来聊聊《Java集合源码剖析-Java集合框架》一.层次关系 Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合、哈希表等。学习Java集合框架下大致可以分为如下五个部分:List列表、Set集合、Map映射、迭代器(Iterator、Enumeration)、工具类(Arrays、Col...

2017-12-31 22:14:21 6111 4

原创 命令设计模式-设计模式

3

2017-11-02 00:24:11 158

原创 工厂方法模式-设计模式

工厂方法模式

2017-10-30 00:13:26 152

原创 迭代器模式

迭代器设计模式

2017-10-27 00:39:28 159

原创 泛型

Java泛型接口、类和方法

2017-10-22 22:19:06 354

code learn for druid db pool

code learn for druid db pool, just test for code,sda dsrw dasdada sdfrs adad a

2023-05-16

kafka kafka kafka kafka kafka

kafka kafka kafka kafka kafka

2022-12-18

分布式事务设计方案测试初稿

分布式事务设计方案

2022-10-26

seatesdjapdjapdadjpad

seatesdjapdjapdadjpad

2022-09-07

dasdafa古典风格打工的古典风格打工的

dasdafa古典风格打工的古典风格打工的

2022-07-29

CCCC微服务架构师设计

CCCC微服务架构师设计

2022-06-15

Java JVMJava JVMJava JVM

Java JVMJava JVMJava JVM

2022-05-30

Android手机文件管理APP

Android手机文件管理APP 1.包含源程序。 2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善。 开发环境: Android Studio 1.5 涉及技术点: 文件管理

2018-08-24

基于JSP的图书馆管理系统(MySQL版)

基于JSP的图书馆管理系统(MySQL版) 1.包含源程序,数据库脚本。代码和数据库脚本都有详细注释。 2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善。 开发环境: MyEclipse 8,MySQL5.0,JDK1.7,Tomcat 5.5 涉及技术点: MVC模式、JSP、JDBC、HTML、JavaScript、CSS、JQUERY等 程序功能: 管理员管理、用户管理(会员非会员)、图书信息管理、图书借阅管理、图书归还管理、图书归还提醒等。

2018-08-24

基于JSP的停车场管理系统(MySQL版)

基于JSP的停车场管理系统(MySQL版) 1.包含源程序,数据库脚本。代码和数据库脚本都有详细注释。 2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善。 开发环境: MyEclipse 8,MySQL5.0,JDK1.7,Tomcat 5.5 涉及技术点: MVC模式、JSP、Servlet、JDBC、HTML、JavaScript、CSS、JQUERY、Excel导出(POI)等。 程序功能: 1.用户:注册、个人信息管理、车辆信息维护、卡余额查看、收费标准查看、车位信息、 车辆停车、停车记录查看等。 2.管理员:管理员管理、用户管理、车位管理、收费设置、停车缴费、车位状态查看等。

2018-08-24

基于JSP的个人博客BLOG(SQLServer版)

基于JSP的个人博客BLOG(SQLServer版) 1.包含源程序,数据库脚本。代码和数据库脚本都有详细注释。 2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善。 开发环境: MyEclipse 8,SQLServer 2005,JDK1.7,Tomcat 5.5 涉及技术点: MVC模式、JavaWeb、JDBC、HTML、CSS、JQUERY、文件上传等 程序功能: 1.网站前台: 用户注册登录、博客浏览、我的博客、我的好友、留言、发布博文、添加好友、搜索博客、评论博客 2.后台管理: 系统参数、管理员维护、会员管理、博文管理、评论管理、留言管理

2018-08-24

基于SSH的记账管理系统(MySQL版)

基于SSH的记账管理系统(MySQL版) 1.包含源程序,数据库脚本。代码和数据库脚本都有详细注释。 2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善。 开发环境: MyEclipse 8,MySQL5.0,JDK1.7,Tomcat 5.5 涉及技术点: MVC模式、Struts、Hibernate、Spring、JDBC、HTML、JavaScript、CSS、JQUERY、验证码、FusionCharts等 程序功能: 1.用户功能:用户注册、财务管理、财务统计。 2.管理员功能:管理员管理、用户管理。

2018-08-24

基于ASP.NET的作业提交系统(SQLServer版)

开发环境: Visual Studio 2010,SQL Server 2008 涉及技术点: ASP.Net2.0、HTML、CSS、JavaScript、SQLServer等 程序功能: 班级管理、课程管理、学生管理、教师管理、系统管理、发布作业、管理教学信息、批阅作业、提交作业、查看成绩等。

2018-08-24

基于JSP的学生考勤管理系统(MySQL版)

基于JSP的学生考勤管理系统(MySQL版) 1.包含源程序,数据库脚本。代码和数据库脚本都有详细注释。 2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善。 开发环境: MyEclipse 8,MySLQ 5.0,JDK1.7,Tomcat 5.5 涉及技术点: MVC模式、JSP、JDBC、HTML、JavaScript、CSS、JQUERY、文件上传等 程序功能: 1.学生:请假申请、请假查看、考勤信息查看。 2.老师:请假审批、考勤管理、考勤统计查询。 2.管理员:请假管理、考勤管理、考勤统计查询、老师信息管理、学生信息管理、课程信息管理、系统设置。

2018-05-23

基于JSP的酒店预订系统(MySQL版)

基于JSP的酒店预订系统(MySQL版) 1.包含源程序,数据库脚本。代码和数据库脚本都有详细注释。 2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善。 开发环境: MyEclipse 8,MySQL 5.0,JDK1.7,Tomcat 5.5 涉及技术点: MVC模式、JavaWeb、JDBC、HTML、CSS、JQUERY等 程序功能: 1.网站前台: 用户注册登录、网站新闻、酒店查看、留言、酒店预订、我的订单、酒店退订等。 2.后台管理: 系统参数、用户维护、会员管理、酒店管理、新闻管理、留言管理等。

2018-05-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除