命令模式在开源代码中的应用

命令模式的作用:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。案例JDK 中的线程 java.lang.Thread,使用了命令模式。Thread 类的构造方法可以接收实现 Runnable 接口的对象,Runnable 的 run 方法可以理解为抽象命令,具体命令给程序员去实现。任务的接收与执行者是计算机的 CPU,任务的发起者是程序员。public class Thread implements Runnable { private Runnable targ
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

《设计模式》- GoF

为什么看这本书?设计模式的开山之作,很有必要探索一下。书的整体情况书不厚,200 多页,最近工作比较忙,都是晚上零零散散看一会,花了差不多有七八个小时。书提到了这些知识模块:什么是设计模式?怎么描述设计模式?怎么选择设计模式?怎么使用设计模式? 通过设计一个文档编辑器的案例,介绍了设计问题与设计模式的使用 5 个创建型设计模式 7 个结构型设计模式 11 个行为型设计模式 设计模式的将来、Alexander 在建筑界的设计模式理论对软件方面的启发适合阅读人群有一些代.
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

职责链模式在开源代码中的应用

职责链模式的作用:把请求从链中的一个对象传到下一个对象,直到请求被响应为止。通过这种方式去除对象之间的耦合。案例一servlet 2.3 版新增了 Filter 和 FilterChain,其中 FilterChain 就是用了职责链模式。Filter 用于在 Servlet 响应前,进行预处理、信息校验等,Filter 没有调用 doFilter 方法参数中 chain 的 doFilter 方法,调用链即停止public interface Filter { ...
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

观察者模式在开源代码中的应用

观察者模式的作用:多个对象间存在一对多关系,当一个对象发生改变时,把这种改变通知给其他多个对象,从而影响其他对象的行为。案例JDK 中对观察者模式的实现观察者接口,实现该接口用于被通知发生变化,进行更新public interface Observer { void update(Observable o, Object arg);}Observable 相当于主题角色,可以注册、删除、通知观察者public class Observable { p..
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

中介者模式的实际应用

中介者模式的作用:定义一个中介对象来简化原有对象之间的交互关系,降低系统中对象间的耦合度,使原有对象之间不必相互了解。案例Java web 开发中 MVC 模式(Model-View-Controller)就用到了中介者模式,Controller 就是 Model 和 View 的中介。比如使用 Spring MVC 框架,定义一个用户信息的 Controller,可以获取用户登录信息的数据模型,返回到对应的 jsp view 进行渲染显示@Controllerpublic ..
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

一览 JDK 并发包(J.U.C)

JDK 并发包的知识不像设计模式,设计模式的知识点是易懂难精,而 JDK 并发包尤其是从源码角度去看,刚开始比较难理解,但理解之后就可以拿去使用也不易忘记。通过这次整理并发包的结构,越发觉得从学习到掌握知识需要有个过程。两三年前看到并发包里的类(接口)名大多不知道它们是干嘛的,而现在基本能明白包中 80% 的类(接口)是用来解决什么问题的。这里顺带分享一个经验,就是很多学习编程的同学,喜欢一上来就看源码。当初我也是这样,并发包里的源码我看过两遍,第一遍硬着头皮基本啥也没看懂。看不懂源码最..
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

FastDFS 分布式存储安装部署

# 部署说明1. [安装gcc](#安装gcc(C++编译工具))2. [安装yasm](#安装yasm(汇编编译工具))3. [安装ffmpeg](#安装ffmpeg(编码/解码器))3. [安装fastdfs](#安装fastdfs(分布式文件管理系统))3. [安装fastdfs-nginx-module](#安装fastdfs-nginx-module(nginx插件,实现同组同步等功能))一、安装gcc(C++编译工具) ```sh yum inst...
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

Windows 环境下用vagrant+virtualbox 搭建虚拟机

Linux版本:Linux version 3.10.0-1127.8.2.el7.x86_64 vagrant:2.2.6VirtualBox :6.0.121.按照官网步骤安装 vagrant 和 vartualbox2.提前下载好virtualbox.box 虚拟机文件3.添加virtualbox.box 到vagrant, vagrant box add centos/7(虚拟机名称) /***/**/virtualbox.box(box 路径)4.启动虚拟机...
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

Linux 数据库 MySql 安装

Linux内核版本:Linux version 3.10.0-1062.18.1.el7.x86_64数据库版本:mysql-5.7.20-1.el7.x86_64.rpm-bundle一、 数据库安装 1. 将“mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar”拷到 CentOs 中,并解压...
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

Tomcat 调优探索

电脑环境:window10 i5-7200U 4核Tomcat版本:apache-tomcat-8.5.57压测工具:jemeter 并发数为4000左右,该并发数为多次测试的结果,受电脑性能,数据包的大小等因素影响部署一个Springboot 应用,创建一个rest接口用来测试,下面是响应数据(不连接数据库):{1:张三1,2:张三1,3:张三1,4:张三1,5:张三1,6:张三1,7:张三1,8:张三1,9:张...
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

Pandas也能修改样式?快速给你的数据换个Style!

前言在之前的很多文章中我们都说过,Pandas与openpyxl有一个很大的区别就是openpyxl可以进行丰富的样式调整,但其实在Pandas中每一个DataFrame都有一个Style属性,我们可以通过修改该属性来给数据添加一些基本的样式。使用说明我们可以编写样式函数,并使用CSS来控制不同的样式效果,通过修改Styler对象的属性,将样式传递给DataFrame,主要有两种传递方式Styler.applymap:逐元素Styler.apply:列/行/表方式Styler.applyma
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

二十行Python代码给你的桌面文件分分类

大家好,又到了Python办公自动化专题本文跟大家分享一个文件整理脚本的实现过程。具体的功能很简单,给定一个打算整理的文件夹目录,这个脚本可以将该目录下的所有文件都揪出来,并且根据后缀名归类到不同的文件夹里,就像下图一样,简直是整理爱好者的福音通过本例还可以学到:os、glob、shutil三个标准库的综合运用,现在让我们一起来捋一捋实现的逻辑。首先是导入需要的库import osimport shutilimport glob# 设置建立分类总文件夹的路径,这里按自己.
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

Python办公自动化|批量提取Excel数据

大家好,又到了Python办公自动化系列。今天我们来讲解一个比较简单的案例,使用openpyxl从Excel中提取指定的数据并生成新的文件,之后进一步批量自动化实现这个功能,通过本例可以学到的知识点: openpyxl模块的运用 glob模块建立批处理 数据源:阿里云天池的电商婴儿数据(可自行搜索并下载,如果要完成进阶难度可直接将该数据Excel拷贝999次即可,当然这个拷贝可以交给代码来实现)需求说明初级难度:提取电商婴儿数据.xlsx中购买数buy_mo...
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

只需6行代码,Python将PPT转为Word!

大家好,又到了Python办公自动化系列。本文将讲解如何将文字从PPT中提取出来并写入Word,主要将涉及如何使用python-pptx和python-docx交互操作word和ppt文件!本文依旧来源于真实的办公自动化需求!一、需求说明img有一份如图所示的ppt,包含了Python的介绍。现在需要将PPT中的文字都提取出来并写入Word中,如下图img二、涉及知识代码实际上非常简单,基于python-pptx和python-docx两个模块即可,核心代码只有6行。但需
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

Python+Excel+Word一秒制作百份合同

前言大家好,又到了Python办公自动化系列。今天我们继续分享一个真实的办公自动化需求:如何使Python+Excel+Word批量生成指定格式内容的合同。主要涉及的知识点有:openpyxl模块的综合运用与Word文档的两种遍历逻辑。需求描述你是乙方建筑公司,手上有一份空白合同模板的Word文件,如下图:另外还有一份Excel合同信息表,其中是所有甲方(发包人)在合同中需要填写的内容可见一行为一个公司的全部信息,现在需要把Excel中每一个公司的信息填入空白Word合同模板中,生成各公
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

java基础知识的面试点

java基础面试点java基础面向对象和面向过程区别java语言的特点JVM,JRE,JDKOracle JDK 和 Open JDK区别Java和C++的区别java程序的主类和java小程序主类差别字符和字符串的差别各个数据类型的内存大小(1字节=8bit)构造器是否可以被Override(重写)?重载和重写的区别:java面向对象三大特性(封装,多态,继承)String,StringBuilder,StringBuffer自动装箱和拆箱为什么静态方法里不可以调用非静态变量不带参数的构造器的作用和必要性
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

Java集合的面试点

Java集合List,Set和Map差别ArrayList和LinkedList区别注:题目抄的,理解和代码测试是自己写的List,Set和Map差别List的存储对象不唯一,可以有多个相同的对象存储进去Set的存储对象唯一,不能存储已经有的一样的对象Map有key(键)和value(值),键会映射到值上面。key是不能重复的,但是value可以重复。一个键只能映射一个值。但是一个值可以有多个映射。ArrayList和LinkedList区别ArrayList线程安全方面:都是不同步的
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

java的JVM面试点

java内存区域(运行时数据区)jdk1.8以后我们将线程公共的变为堆,线程私有的变成了虚拟机栈,本地方法栈和程序计数器了。而另外一部分就是直接内存和元空间(就是之前的公共的方法区);程序计数器理解成自己码执行的行数指示器。字节码解释器通过改变程序计数器来选取下一条字节码。另外,线程的就绪,等待和切换的操作也要程序计数器来保存执行到的位置。java虚拟机栈其实就是一个栈帧,生命周期和线程一样,每次调用的数据都是通过栈传递的。随着线程的创建而创建,死亡而死亡。 虚拟机栈的两种异常StackOv
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

java计算机网络面试点

计算机网络OSI,TCP/IP等层次结构图个层次以及其协议TCP的三次握手和四次握手(重点)三次握手**四次握手:TCP和UDP协议区别(重要)OSI,TCP/IP等层次结构图个层次以及其协议应用层通过进程间的交互来完成特点的网络应用。含有的协议:DNS域名系统HTTP协议SMTP协议传输层给两台主机之间进程提供通用的数据传输服务。重要的两种协议:TCP协议:面向连接的可靠传输协议UDP协议 :提供无连接的数据传输服务。数据不可靠网络层选择合适的网件路由和交换节点。确
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

单队列和循环队列和java队列的使用

数据结构
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0