自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计原则——SOLID

设计原则SOLID

2022-12-03 13:14:52 4980

原创 3种工厂模式

简单工厂讲的是,通过构建一个生成指定类实例的工厂,来获取该类的实例。工厂方法模式构建一个生成实例的工厂,父类工厂决定实例的生成方式,但不决定所要生成的具体的类,具体的处理全部交给子类工厂。目的是将生成实例的框架(framework)和实际负责生成实例的类解耦。简单工厂是工厂方法在生成的类只有一个时的特例。抽象工厂模式中,不仅有“抽象工厂”,还有“抽象零件”和“抽象产品”,或者可以理解为“抽象产品”和“抽象产品族”。简单工厂通过一个具体的工厂获取一个具体的实例,目的是让获取实例的附属操作与实例的调用解耦;..

2022-08-01 01:48:45 277

原创 设计模式3-工厂方法 Factory Method

在“如何生成实例”这一方面,FactoryMethod模式提供了生成实例的“框架”和“具体加工”,用工厂去生产产品。如果想用相同的框架得到其他的产品和工厂,那么只需要添加“具体加工”,而无需对“框架”做任何改动,从而降低了代码耦合。httpshttpshttpshttpshttpshttpshttps。...

2022-07-18 00:43:42 277

原创 设计模式2-策略模式 Design Paterns 2 - Strategy

Strategy的意思是“策略”,在编程中,可以理解为“算法"。策略模式的目的是能够整体地替换算法,从而能让我们轻松地用不同算法解决同一类问题的不同场景。单纯用算法实现排序,只能对数字排序,只能从小到大排。 如果现在要对猫排序,那只能把sort()改成针对猫的算法。能不能只写一个sort(),同时支持对多个类排序?现在规定,任何类都可以通过sort()进行排序,前提是必须实现一个Comparable接口,并实现compareTo()方法。不管什么类,只要实现了Comparable接口,都能用这个sort()

2022-07-12 23:53:08 141

原创 设计模式1-单例模式 Design Paterns 1 - Singleton

单例模式的4种实现方式

2022-07-02 21:57:29 166

原创 msbSpringMVC-2

返回json给前端 导包: controller方法直接返回对象或对象列表,要加@ResponseBody,表示以响应体的形式发送: controller获取请求体数据 在参数前标识@RequestBody,表示把请求体以字符串的形式封装到参数中: post类型的表单: 运行结果: 注意:如果表单中有上传文件,那么文件名也会包含在这个字符串中;如果前端在请求体发送了json,controller方法参数用@RequestBody User user也可以吧json直接封

2021-08-13 14:58:32 138

原创 msbSpringMVC-1

SpringMVC介绍 原始mvc处理过程 Model指和数据和行为,包括dao层和service层。 View是页面。Controller是控制器负责与前端交互,controller层。 最经典的mvc就是javabean+jsp+servlet,这种模式是tomcat容器里有许多个servlet,还有一个wen.xml,当前端有请求过来,就会根据web.xml中的映射,找到请求路径对应的servlet,servlet执行完自己的逻辑把结果响应给前端。 SpringMVC处理过程 spri

2021-08-11 16:36:36 186

原创 Cookie、Session、JSP

会话技术 一次会话包括多次请求响应,就像一通电话包括多次交流。 Cookie Cookie有一个name,一个value,还有一些可选的属性。Cookie是一个Java类。 Cookie的添加和获取: Cookie使用: Cookie注意事项: 访问路径限制: /aaa/Servlet01设置了Cookie,/aaa/Servlet02可以获取到,/aaa/bbb/Servlet03可以获取到,而/bbb/Servlet04获取不到。 Session ..

2021-07-13 13:24:00 177

原创 Spring整合MyBatis、全注解开发

小插曲: 连接数据库报错Can’t connect to local MySQL server through socket /tmp/mysql.sock,看了很多解决方法都跟自身情况不符,结果点了一下 系统偏好设置——下面MySQL服务——Initialize DataBase——Use Legacy Password——设置新密码——OK,就好了。。 准备 项目目录: dao层接口4个抽象方法: service层接口抽象方法同dao层。 service层实现类,声明dao对象,定义

2021-07-10 11:52:30 1172 1

原创 Spring

框架 作用: 效率,重用性,规范,可维护性,解藕底层 Spring 分层:可以使用spring全部功能也可以使用一部分功能; full-stack:一站式解决方案,用spring全部功能的话会让开发效率更高; 轻量级:内存消耗低,线程级非进程级; 开源。 架构体系: 底层是核心容器,在核心容器上面提供了AOP等中间层技术,再往上就可以集成别人的一些技术,如dao层集成jdbc、mybatis等。 Spring由工厂模式衍化而来 耦合是不同模块之间掺和在一起,内聚就是一个模块中的

2021-07-08 08:36:00 242

原创 Maven

maven的作用 管理jar包

2021-07-06 11:33:51 154

原创 JavaEE、Servlet

JavaEE介绍 web概述 资源分类 系统结构 CS结构:Client-Server,客户端-服务端,需要用户安装客户端,资源、网络占用小,但是维护成本大。 BS结构:Browser-Server,浏览器-服务端,不需要安装客户端,只需要浏览器,维护成本小。 JavaWeb服务器介绍 重量级服务器:实现了全部的JavaEE规范;轻量级服务器:实现了一部分JavaEE规范,安装使用比较简单。 Tomcat基本使用 ...

2021-07-05 07:49:08 261

原创 请求响应

Request对象获取各种路径 getQueryString()获取的是url位于?后面的全部内容。 uri是url中位于端口号后面的一串。 Request对象获取请求头数据 Request获取请求参数 请求参数封装对象——手动封装 请求参数封装对象——反射封装 IO流获取请求参数(必须post) 因为这两个流对象不是自己new的,是从Request对象获取的,因此不需要手动释放。 中文乱码问题 请求转发 请求域 请求转发 一

2021-05-31 15:24:36 93

原创 算法四:链表问题

链表题方法论: 笔试:一般不会要求空间复杂度,因为输入输出本身就很占空间,一切以时间复杂度为主, 面试:因为要以解题思路吸引面试官,所以要顾及到空间复杂度。 解题技巧: 笔试:使用容器(哈希表、数组等), 面试:使用快慢指针(省空间)。 链表找中点问题: 面试: 四个问题思路都是快慢指针,但是题目要求不同,导致快慢指针初始值不同,但是接下来的循环遍历是相同的: while(fast.next != null && fast.next.next != null){ .

2021-05-12 17:13:33 297

原创 算法三:前缀树、桶排序、排序算法比较、稳定性、常见的坑

前缀树: 设计一个容器,可以往里添加一个一个字符串,可以从里面删除字符串,可以查询一个字符串出现过多少次,可以查询一个字符串是多少个字符串的前缀: 一个节点上有三个属性,pass表示有多少个字符串经过它,end表示有多少个字符串以他结尾,nexts[26]表示下一个路径, 节点初始pass=0,end=0, 添加abc时,指针指向根节点,pass++,看根节点有没有a方向的路,没有就在a方向增加一个节点,指针跳到新节点,pass++;有就直接跳到a方向下一个节点,pass++, 再看有没有b方

2021-05-11 22:42:17 358

原创 算法二:归并排序、快排、堆、堆排序、堆应用

归并排序: 想要这个数组有序,只需要令左半边有序,右半边也有序,再把两部分合并。 归并排序递归实现: 递归方法:f(arr,left, right), 递归出口:如果left == right,即当前部分只有一个元素,直接返回, 递归调用:中点mid = left +(right-left)>> 1,左边排序f(arr,left,mid),右边排序f(arr,mid+1,right),合并merge(arr,left,mid,right), 其中merge不涉及递归,只是一个普.

2021-05-10 23:56:13 189

原创 MyBatis

框架 ORM对象关系映射 原始JDBC的缺陷: MyBatis介绍: 小结:MyBatis封装了JDBC,是Java用来操作数据库的框架,只需要关注SQL语句本身,且能自动实现Java类和数据库的映射。 ...

2021-04-15 13:44:51 169

原创 JDBC

Java官方给出的JDBC规范只是些接口,具体的实现类由不同的数据库厂商实现。

2021-04-13 00:22:52 157

原创 Java多线程

Java多线程的3种实现方式 1.继承Thread类 2.实现Runnable接口,创建Thread对象 3.实现Callable接口,创建FutureTask对象,创建Thread对象 Callable的call()和run()一样被JVM调用,且call()有返回值,返回值是什么类型,Callable泛型就是什么类型。 ...

2021-04-11 15:43:59 202

原创 Java开发遇到的问题

Scanner报错NoSuchElementException main方法里一开始new了一个Scanner,最后退出的时候close(),而main方法中调用了其他方法,其他方法里也new了一个Scanner,方法结束的时候close(),这样该方法再main里被调用时,该方法内的close()会把main方法中的Scanner给close掉导致main中的Scanner不存在。 PreparedStatement使用模糊查询 LIKE '% %'; String sql = "SELEC..

2021-04-11 10:37:17 127

原创 Java类加载器、反射机制

类加载的过程 .java文件编译后产生.class字节码文件,放在磁盘。 加载 根据包名+类名在磁盘种找到这个字节码文件; 创建输入流; 把字节码文件读取到内存; 读到内存后不能随便放,在内存中创建一个java.lang.Class对象保存该类的信息。 假设类中有String型成员,这时候不知道String类加载了没、如果加载了放在哪,因此这里的String用符号代替 验证 检查文件信息是否符合当前虚拟机规范、会不会危害虚拟机自身安全; 准备 为静态变量分配内存,并初始化一...

2021-04-07 20:07:05 150

原创 Java IO流

目录和文件都可以抽象成File类。 获取File信息: 创建目录: 删除目录: 获取目录中的所有子目录和文件: 获取父级目录: 序列化:将一个类的实例转成流的过程; 反序列化:将一个流转成类的实例的过程。 序列化ID:在序列化和反序列化的过程中作为Key来使用。可以默认指定,也可以根据代码自动计算生成,建议默认指定,因为代码改变后生成的ID也会改变。 transient修饰符修饰的属性,不能被序列化。 File 构造方法: 目录/文件路径名;...

2021-04-06 20:05:50 89 1

原创 MySQL

Linux下配置MySQL: SQL 库名,表名,字段名在Win下不区分大小写,在Linux下区分大小写。 设置在Win下也区分大小写: SQLyog Ctrl S保存为.sql文件,Ctrl O打开.sql文件,选中一条语句,点击“执行查询”,左边面板按F5刷新数据库状态。 ...

2021-04-03 18:53:49 421 1

原创 Java StringBuilder、集合

StringBuilder: 长度可变的字符串,可以方便地进行字符串拼接、反转。 调用方法后返回对象本身:链式编程 StringBuilder和String互相转换: 集合 泛型只能是引用数据类型。 返回被替代的元素。 ...

2021-03-27 23:45:02 448

原创 Java基础、字符串、instanceof

一般情况下final和static结合使用,二者不分先后顺序 类型提升:byte,short型变量在运算过程中会自动提升为int型。 byte b1 = 15; short s1 = 20; b1+s1的返回值的类型是int 因为大的数据类型有大的内存空间,小的数据类型有小的内存空间,把大类型赋值给小类型可能会造成数据丢失。 从字符串中删除字母: 转成char[ ],判断每一个char,如果不是数组就拼接到新字符串 ...

2021-03-27 22:14:41 254

原创 SSM框架

SSM框架:SpringMVC,Spring,Mybatis Spring IOC,DI框架:IOC控制反转,DI依赖注入。 Spring容器: 1、生成Bean的实例(默认情况是单例)。 2、完成依赖注入 面向切片编程:面向对象是静态抽象,面向切面是动态抽象。把方法运行中相同的部分抽出来。 SpringMVC MVC框架,完成前后台的交互。 MyBatis orm框架,不是纯粹的ORM框架,纯粹的是Hibernate,但是H运行效率有一点差。 对象关系映射,以面向对象的方式完成对数据

2021-03-27 22:14:18 159

原创 Java常用API

面试题: 都是false。 第一个,虽然String的equals比较的是字符串的内容,但是会先判断参数是不是String对象,不是的话直接返回false。 第二个,StringBuilder没有重写equals方法,用的还是Object的,比较的是地址值。 Objects常用方法: 返回对象的toString(),如果对象为null,返回第二个参数。 ...

2021-03-27 22:13:21 96

原创 Java异常

异常处理方式——throw: throw异常对象,把异常抛给调用者处理。 调用者方法名( ) throws 异常类名 { 方法体 },声明异常,表示方法体内部可能会有人抛出异常。 Exception编译时异常,RunTimeException运行时异常 为什么要抛异常,而不用if 判断错误后在控制台输出: 调用者调用一个方法,方法执行过程中出现错误,就打印在控制台,这样调用者完全不知道发生了什么事,调用者不知道出现了错误。 而抛出异常的话调用者就知道该方法运行出现错误。 处理...

2021-03-27 14:41:17 106

原创 Java数组、方法重载、进制、强转损失精度、自动类型提升

数组的两种定义方式: int[ ] arr = new int[10]; //定义了一个int型数组,叫arr int arr[ ] = new int[10]; //定义了一个int型变量,叫arr,是一个数组 数组的动态初始化: int[ ] arr = new int[10]; arr[0] = 1; 数组的静态初始化: int[ ] arr = {1,2,3}; 打印数组变量: @:分隔符 [:当前空间是一个数组类型 I:当前数组存储的数据类型int ...

2021-03-26 22:20:01 194 1

原创 Java面向对象、抽象类、接口、多态、匿名内部类、Lambda表达式

类: 类是对现实生活中一类具有共同属性和行为的事物的抽象。 类是对象的数据类型。 属性:对象有什么特征 方法:对象能干什么 垃圾回收: 在堆内存中的对象或数组,其地址通过任何方式都不能被找到,就会被判定为内存中的垃圾。 Java的垃圾回收器在空闲的时候会自动清理内存中的垃圾。 成员变量: 类中的位置:类中方法外 内存中的位置:堆内存(对象在堆中) 生命周期:随着对象的产生而产生,随着对象的消失而消失 初始值:有默认初始值 局部变量: 类中的位置:方法内, 内存中的位..

2021-03-25 23:58:03 239

原创 Git

一串字符是版本的的唯一标识符,HEAD指针指向master reflog能查看所有分支的简要日志,log只能查看当前分支的日志。 ...

2021-03-19 14:23:24 381

原创 Java next()、nextInt()和nextLine()的问题

nextLine()错过一次输入: nextInt():从缓冲区取第一个数字,不读空格、制表符、回车换行,回车换行会使方法返回。 next():从缓冲区读第一个字符串,不读空格、制表符、回车换行,回车换行会使方法返回。 前面两个都会把空格、制表符、回车换行留在缓冲区内,如果接下来有nextLine()就会被nextLine()读走。 nextLine():从缓冲区读取一个字符串,空格、制表符、回车换行都会读走,读到回车换行时方法返回。 把其中一个nextLine()换成next()..

2021-03-18 13:25:05 387

原创 天天生鲜Django项目(六)

45、详情页商品数量前端 <!-- templates/detail.html 底部代码块 --> {% block bottomfiles %} <script type="text/javascript" src="{% static 'js/jquery-1.12.4.min.js'%}"></script> <script type="text/javascript"> update_goods_amount()

2020-06-27 21:35:28 265

原创 天天生鲜Django项目(五)

42、列表页

2020-06-26 21:03:32 267

原创 天天生鲜Django项目(四)

37、详情页 在后台添加数据 为了显示方便,为每一个模型类添加__str__方法,否则后台只显示XXX_Object(n)不好看: # goods/models.py from django.db import models from db.base_model import BaseModel from tinymce.models import HTMLField class GoodsType(BaseModel): '''商品类型模型类''' name = m..

2020-06-24 21:41:35 182

原创 启动服务

Django运行runserver; python manage.py runserver 开启redis服务(缓存、session、购物车): sudo redis-server /etc/redis/redis.conf 开启fdfs_trackerd、fdfs_storaged服务(分布式文件存储系统,存图片); sudo fdfs_trackerd /etc/fdfs/tracker.conf sudo fdfs_storaged /etc/fdfs/storage.conf 开启

2020-06-23 22:46:05 209

原创 天天生鲜Django项目(三)

32、项目中上传和使用图片 Django默认在admin页面上传文件后,保存到MEDIA_ROOT指定的目录下,由FileSystemStorage类的save()方法实现; 我们要让文件保存在FastDFS,不需要改他源代码,Django已经准备好了扩展的方式:自定义一个文件存储类,继承Storage类(FileSystomStorage的父类),重写相应的方法; utils目录下新建fdfs目录: client.conf和配置FastDFS时用的客户端配置文件一样,python里创建Fa

2020-06-14 11:14:58 318

原创 天天生鲜Django项目(二)

21、父模板抽象 怎样制作父模板:找一个典型的html(如主页index.html),把每个页面都一样的部分抽离出来(留下);把每个页面都有但不一样的部分预留出块;有的有有的无的部分放在块里;只有一个页面有的也就是特例的删掉; ...

2020-06-12 16:12:55 258

原创 天天生鲜Django项目(一)

1、电上模式 1、如果项目绑定的mysql在另一台电脑,那么该mysql不能绑定127.0.0.1,要ifconfig查看以太网inet,绑定具体的ip地址; 但是mysql默认绑定127.0.0.1,修改: sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf(Ubuntu) sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf(UOS) bind-address = 10.194.45.47 sudo service m..

2020-06-12 11:12:37 347

原创 解决UOS个人版QQ、TIM、微信太卡,卡到没法登录

在应用商店看到的: 经测试,真的不卡了,我现在风扇都不响了! sudo apt purge -y deepin-defender

2020-06-08 08:47:46 6385

deepin_wechat2.6.8.65.zip

UOS应用商店里下载的微信打不开了,卸载重装也打不开,用这个安装就没问题。

2020-06-08

tcl8.6.10-src.tar.gz

tcl8.6.10,安装redis要求tcl8.5版本或以上,官网下载慢得很,下载下来分享之。

2020-05-24

npp.7.9.4.Installer.x64.exe

官网太慢

2021-03-19

Git-2.31.0-64-bit-win10.zip

官网太慢

2021-03-19

空空如也

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

TA关注的人

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