自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (4)
  • 收藏
  • 关注

原创 【设计模式:十五】模板方法模式

1 背景模版方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模版方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法模式属于行为型设计模式,在java中,一般通过继承的方法来实现。2 模拟场景假如现在需要开发出一个简单的登录功能,但是要实现不同的登陆方式,如用户名密码登录,手机号登陆,邮箱登录等。无论采用何种登陆方式,最后都对应唯一的用户。这些登陆方式大体上的逻辑是一样的,都需要参数校验,获取登陆后的信息并展示出来。当然这个场景非常简单,在实际开发

2021-04-11 15:57:47 20

原创 【设计模式:十】代理模式

1 背景​ 代理模式属于结构型模式。通过创建一个代理对象,来代替真实对象,接受外部调用。对客户端来说,就像是得到了一个真实对象来使用。实际上是客户端调用代理对象,代理对象去调用真实对象。2 静态代理​ 在java中,静态代理是代理类和真实对象实现相同接口,在代理类内部维护一个真实对象来实现的。​ 假设现在有一个接口Service,TrueObject实现了该接口。public interface Service { void hello();}public class TrueObj

2021-03-08 23:44:32 46 1

原创 【设计模式:一】简单工厂

【设计模式】简单工厂1 背景设计模式中应该遵循的原则:五大原则:单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因。即一个类中应该只有一类逻辑。开放-封闭原则(OCP):软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。即开放扩展,封闭修改。依赖倒转原则(DIP):高层模块不应该依赖底层模块。两个都应该依赖抽象;抽象不应该依赖细节。细节应该依赖抽象。即面向接口编程,而不是面向实现编程。里氏代换原则(LSP):子类型必须能够替换掉他们的父类型。合成/聚合复用原则(CA

2021-03-07 22:53:13 71 2

原创 阿里Cloud toolkit+git+maven实现java项目自动化部署

阿里cloud toolkit+git+maven实现java项目自动化部署1 背景Alibaba Cloud Toolkit(Eclipse插件,后文简称Cloud Toolkit)是阿里云针对IDE平台为开发者提供的一款插件,用于帮助开发者高效开发并部署适合在云端运行的应用。您在本地完成应用程序的开发、调试和测试后,可以使用在IDE(如Eclipse或IntelliJ)中安装的Cloud Toolkit插件,通过图形配置的方式连接到云端部署环境并将应用程序快速部署到云端。官网文档的两张图可以说

2020-12-27 15:24:29 72

原创 Yapi在Linux上的部署流程

Yapi安装Yapi:旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API1 安装环境环境要求:nodejs(7.6+)mongodb(2.6+)1.1 MongoDB安装下载地址:MongoDb# 下载wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.4/x86_64/RPMS/mongodb-org-mongos-4.4.2-1.el7.x86_64.rpm# 解压

2020-12-26 18:18:01 669 1

原创 一个简单的审批流程系统设计

一个简单的审批系统设计1 背景​ 最近在做一个企业管理系统的外包,该管理系统主要分为两个端,管理端(web端)和生产端(移动端)。管理端的功能有人员管理、项目管理、工作量管理、审批流程管理等,生产端就是给员工用的,功能有上报工作量,请假,调岗,打卡等。生产端的一个特色就是有一个审批的功能,员工提交的各个模块的申请都要走审批流程,审批流程通过后,该申请才算生效。2 审批功能设计2.1 数据库设计2.1.1 用例分析​ 一个完整的审批过程需要这几类角色:申请人、申请详情、审批流程、审批规则。

2020-12-02 18:32:24 4985 5

原创 Shiro整合SpringBoot-前后端分离项目

1 什么是shiro?​ 《官方解释》:“Apache Shiro™ is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management. With Shiro’s easy-to-understand API, you can quickly and easily secure any applica

2020-11-28 16:18:57 191

原创 【JVM:三】垃圾收集器

垃圾收集器1 Serial新生代收集器。特点: 单线程。优点:没有多线程交互的开销。额外内存消耗低。缺点:单线程效率低。收集时暂停用户线程,STW(停止用户线程,执行GC)时间长。适用场景:新生代内存空间小(几十兆到一两百兆),桌面程序。2 ParNew新生代收集器。特点: 多线程,配合CMS收集器。优点:多线程效率高(在多核心处理器环境下)缺点:由于存在线程交互的开销,单核处理器下效果不如Serial。3 Parallel Scavenge新生代收集器。特

2020-09-05 23:01:12 39

原创 【JVM:二】垃圾收集算法

垃圾收集算法1 对象是否可以回收?对于不可能再被任何途径使用的对象,认为它应该被回收。通过分析对象引用,有两种判断对象是否可以回收的算法。引用计数算法(Reference Counting)在对象中添加一个引用计数器,当计数器为零代表可回收,当计数器+1代表有一个地方引用了它。优点: 原理简单,判定效率高。缺点: 如果存在两个对象互相循环引用,除此之外再无其他途径访问这两个对象。那么应该都被回收的这两个对象却永远都不会被回收。可达性分析算法(Reachability Analysis)通过

2020-09-02 23:35:07 56

原创 【JVM:一】Java运行时数据区域

Java运行时数据区域1 程序计数器(Program Counter Register)线程私有。程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在多线程环境下,每条线程都需要一个独立的程序计数器,各个线程之间计数器互不影响,独立存储,所以将其设计为线程私有。程序计数器不会发生OutOfMemeryError的错误情况。因为程序计算器所维护的就是下一条待执行的命令的地址,所以不存在OOM。2 Java虚拟机栈(Java Virtual Machine Stac

2020-09-02 22:36:43 33

原创 排序算法

排序算法冒泡排序实现逻辑:相邻两个元素两两相比较,按照排序规则(升序大的数放后面,降序小的数放后面)进行排序时间复杂度O(n2)空间复杂度O(1)稳定排序优化思路:通过加入布尔变量,判断内层循环是否发生交换来优化冒泡排序,最好情况为数组有序,复杂度降低为O(n),最坏情况为完全倒序,复杂度为O(n2)。public static void sort(int[] arr) { boolean change = false; int temp; for (int i =

2020-07-28 14:06:40 39

原创 记录网站访问量

1、在数据库中创建表,存放点击量2、创建监听器(MyWebListener)实现ServletContextListener接口,当项目启动时通过dao层(ContextMapper)获取点击量,存入ServletContext中。3、访问主页时增加访问量4、前端获取点击量或在项目关闭前,将点击量存入数据库(ContextController)数据库create table context( click_num int)dao层接口public interface ContextM.

2020-06-30 11:43:46 4058

原创 adb的基本命令

【入门】adb的基本命令1.1 什么是adbADB(Android Debug Bridge)是Android SDK中的一个工具, 使用ADB可以直接操作管理Android模拟器或者真实的Andriod设备。使用adb shell就可以通过写自动化脚本,来操作模拟器或者android设备1.2 adb shell的使用场景比如批量搜索,添加微信好友等1.3 adb 常用命令1.3.1 查看设备列表#通过该命令可以查询到所有设备列表#device 状态:这个状态表示的是真机或者模拟

2020-05-17 19:58:16 717

原创 poi的基本使用

【入门】poi的基本使用1 什么是poi?POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。2 如何使用poi制Excel表?使用org.apache.poi.xssf包下工具, XSSF提供读写Microsoft Excel OOXML XLSX格式档案的功能。2.1 导入依赖<depende...

2020-04-01 13:43:20 157

原创 正则表达式

正则表达式1 什么是正则表达式正则表达式(regular expression)描述了一种字符串匹配的模式, 可以用来匹配符合预置规则的文本.2 为什么使用正则表达式普通的字符串匹配需要事先预定好要匹配的文本, 在面对复杂的匹配任务时没有正则表达式那样简洁与灵活.正确合理地使用正则表达式可以减少代码量, 提高开发效率.3 如何使用正则表达式3.1 元字符字符描述...

2020-03-22 22:38:46 97

原创 IDEA插件汇总

IDEA插件汇总就像给游戏打mod一样, IEDA也有着一个强大的插件库, 点击标题即可跳转下载1 TranslationPlugin-翻译插件对于游走在四级边缘的我来说,不用切换浏览器翻译源码太酸爽了2 Alibaba Java Coding GuidelinesAlibaba阿里的编码规约检测器, 让你的代码更加符合阿里规范3 Lombok 简化JavaBean编写...

2020-03-05 18:37:38 246

原创 【设计模式】单例模式

单例模式优点1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例。2、避免对资源的多重占用(比如写文件操作)。缺点没有接口,不能继承,与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心外面怎么样来实例化。使用场景1、要求生产唯一序列号。2、WEB 中的计数器,不用每次刷新都在数据库里加一次,用单例先缓存起来。3、创建的一个对象需要消耗的资源过多,比如 I/O...

2020-03-01 14:26:34 134

原创 【进阶】QQ聊天机器人--群聊机器人篇

【进阶】QQ聊天机器人–群聊机器人篇看完本篇博客,能将能做到为你的QQ群定制一个人工智障!使用一位大佬的框架PICQ实现更多强大的功能!欢迎加入我的java技术交流群,点击加入,一起学习和成长代码已经上传到了github,可以看到更多细节(远程部署,连接数据库)什么是PICQ?picq:一个基于 酷Q HTTP 插件 的 Java QQ 机器人类库基于这个框架,能够很容易的实现...

2020-01-14 20:37:38 3692 2

原创 【入门】QQ聊天机器人--HelloWorld篇

看完本篇博客,你将能做到qq消息秒速99+搭建云环境(或者虚拟机),部署qq机器人使用springboot为你的人工智障写一个简单的hello world灵感来源伟哥的博客基于酷Q的一个插件coolq-http-api本地部署步骤一:下载酷Q和插件coolq-http-api酷Qcoolq-http-api步骤二:解压酷Q添加coolq-http-api解压...

2020-01-11 20:21:35 1977 2

原创 【分布式入门】Dubbo和Zookeeper的基本使用

Dubbo+Zookeeper+Spring+SpringMVC一 相关概念1.Dubbo框架图2.节点角色说明NodeRole SpecProvider提供程序所公开的远程服务Consumer使用者调用远程服务Registry注册中心负责服务发现和配置Monitor监视器计算服务调用的次数和时间Container容器管理服务的生存期...

2020-01-09 20:08:54 180

原创 使用git命令clone指定分支

获取码云上对应的仓库,网速快的话github也行以2.5.x分支为例 -b 是下载分支指令git clone -b 2.5.x https://gitee.com/wydhcws/dubbo.git成功

2020-01-09 10:29:39 489

原创 idea报错Cannot resolve plugin org.apache.maven.plugins&解决idea创建Maven时Plugins有红线的问题

1 问题截图2 分析原因出现该问题的原因是:初始化项目时因为网络,或者中央仓库的原因未能够成功下载,本地文件夹中缺少jar包3 解决方法多配置几个源,下面是我的settings.xml配置文件内容 <mirror> <id>aliyun-public</id> <mirrorOf>*</mirrorOf&gt...

2019-12-21 00:28:31 3966 1

原创 【应用篇】MyBatis学习笔记

MyBatis学习笔记一 环境配置1 什么是MyBatis?​ MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)...

2019-12-14 20:52:12 328

原创 【JavaWeb】一个简单的商城项目(基于SSM)

GitHub地址项目地址Java交流群

2019-12-14 14:31:44 2788 4

原创 JavaWeb中的IO流路径问题

问题:最近在学习如何给网站添加点击量和同时在线人数.在不利用数据库存储点击量的前提下,长期保存一个数据(包括服务器关闭时)使用原生的IO流是很简便的.想法很简单,在实现IO流的iListener类同路径下创建一个txt文本来保存点击量.所以当时代的代码就这么写了.String s = "";BufferedReader br = null; try {//读取主页的...

2019-11-15 17:23:56 273

原创 自定义鼠标右击菜单

点击这里

2019-11-12 18:48:21 87

原创 免费认证Intellij全家桶

利用学生身份免费认证Jet Brains全家桶1 进入认证页面https://www.jetbrains.com/student/2 填写信息3 本校邮件系统mail.XXXX.edu.cn4 收到邮件后(几分钟)5 然后注册一个Jet Brains账号就行了...

2019-11-06 21:42:44 731

原创 【JavaWeb】如何搭建个人网站?

从零搭建JavaWeb个人网站/***Author:the Tian*QQ:942546014*CSDN:https://me.csdn.net/weixin_43544077**/上传到csdn有些地方可能不全,在pdf中可以看到1.服务器:从阿里或者腾讯的云服务器上购置服务器(下面的是阿里云ECS服务器),购买完后创建一个实例(系统选CentOS)。2.JavaWeb:...

2019-10-24 19:34:33 2427

原创 Java使用TCP实现聊天室系统

目标功能:1.群聊2.退出3.私聊4.查询其他在线玩家5.管理员登陆6.踢人7.禁言8.实现JDBC9.实现界面化:注册,登录,聊天框10.连接公网目前实现了两个功能服务器import java.io.*;import java.net.ServerSocket;import java.net.Socket;import java.util.concurrent...

2019-10-17 11:17:38 525

原创 使用Java实现UDP一对一聊天

发送者进程import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetSocketAddress;p...

2019-10-14 19:34:20 371

原创 如何使用Java实现复制文件夹的操作

如何使用Java实现复制文件夹的操作复制文件夹的操作需要对IO中的字节流有一定的掌握,并且能清晰地使用递归来便利文件夹。import java.io.InputStream;import java.io.FileInputStream;import java.io.OutputStream;import java.io.FileOutputStream;import java.io.I...

2019-10-06 20:15:36 247

原创 如何使用java模拟实现OS中的先到先服务(FCFS)和短则优先(SJF/SPF)算法?

OS实验一

2019-04-25 13:04:12 614

xmshop.sql

小米商城数据库文件,source运行数据库文件加载数据库。 小米商城数据库文件,source运行数据库文件加载数据库。 小米商城数据库文件,source运行数据库文件加载数据库。

2020-09-02

IDEA2019.2-plugins.zip

如果你的idea无法联网下载插件,那么可以通过idea本地安装插件.我将博文中提到的插件都汇总进了这个压缩包里,方便大家下载.

2020-03-05

FullWeChat.7z

一个简单的全屏阅读插件

2020-08-19

从零搭建JavaWeb个人网站.pdf

搭建Javaweb个人网站:从阿里或者腾讯的云服务器上购置服务器(下面的是阿里云ECS服务器),购买完后创建一个实例(系 统选CentOS)。 有的rpm包是在红帽子下编译的,有的是在其他平台下编译的,含有noarch的包说明,你可以在任何平 台上安装这个软件包,就是说它并不依赖于哪个特定的linux发布版。 下载的时候尽量不要下载最新的,因为镜像服务器可能没有。。。如果在虚拟机中安装CentOS,一般他的yum源指向一个国外的镜像文件服务器需要改变yum的 源

2019-10-24

空空如也

空空如也

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

TA关注的人 TA的粉丝

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