- 博客(114)
- 收藏
- 关注
原创 5-Spring整合Mybatis
概述将Model层管理在工厂中,势必要将Service和DAO的对象纳入工厂,而Service和DAO中还依赖这Mybatis的相关封装功能,所以,只有将Mybatis的相关功能组件也纳入工厂,才可以让Service和DAO照常运作。需要纳入工厂的Mybatis的相关功能组件有:DataSource 负责管理数据库连接SqlSessionFacotry Mybatis使用的核心组件...
2022-02-12 14:43:11
496
原创 代理模式
静态代理目标类:UserServiceImpl ,即:被代理的类public class UserServiceImpl implements UserService{ //private UserDAO ud; @Override public void updateUser(User user){ System.out.println("update核心功能"); //核心功能 //System.out.println(...
2022-02-09 21:43:28
292
原创 工厂设计模式
/** 工厂设计模式:* 主要的作用就是提供一个统一创建对象的方式,外部不需要通过new的形式来创建对象,* 对对象统一管理,所有的对象都是通过工厂来完成创建的*/class FactoryDesign { private FactoryDesign() {}; //提供一个方法这个方法可以获取对应对象 public static Person createPerson(String gender) { switch (gender...
2022-02-09 21:00:32
217
原创 单例由浅入深
/** 单例设计模式:解决一个类在内存中只存在一个对象的问题** 1.私有化构造函数* 先禁止其他程序建立该类对象* 2.在类中创建一个本类对象* 在本类中自定义一个对象供其他程序访问* 3.提供一个方法可以获取到该对象* 对外提供访问方式,方便其他程序对自定义对象的访问*//* * 饿汉式: * 开发一般用饿汉式,简单安全 * 类一进内存,就创建了对象 */class Single{ priva...
2022-02-09 20:58:16
92
原创 模板设计模式
/* * 定义好一个模板,通用逻辑进行实现, 核心的逻辑空出,谁使用谁添加 * * 时间测试 --> 一段代码的执行时间 * 需要设计一个模板,写好计算时间, 测试代码的位置空余 */public class Test { public static void main(String[] args) { /** * 模板: * 在父类中定义一个方法,方法是一些总体(骨架),而将某一些实际操作延迟到子类中实现 * ps: (通用) * 提供模板方法的类 --.
2022-02-09 20:54:32
301
原创 4-Spring-AOP
Spring-AOP:AOP + Aspects;AOP框架之一,其他比如还有AspectJAspect-Oriented-Programming(面向切面编程),一种编程思想。切面:Aspect,由切入点和额外功能组成。作用:提供了新的编程角度,不再只是考虑类、对象,而可以考虑切面。切面和目标形成代理,解决项目业务中额外功能冗余的问题。
2022-02-09 16:08:54
117
原创 3-Spring-IOC
IOC:beans + core支持;践行工厂模式,打造一个工厂,通过工厂完成对项目的管理案例导入依赖:<!-- 使用context-support传递依赖引入核心容器jar:beans、context、context-support、core、expression --><dependency> <groupId>org.springframework</groupId> <artifactId>...
2022-02-09 00:41:29
105
原创 2-MyBatis进阶
MyBatis介绍:轻量级的,持久层框架,负责完成java和数据库的通信。MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于J...
2022-01-05 20:55:05
162
原创 Maven基础
Maven项目中jar包资源越来越多,jar包的管理越来越繁琐。1、要为每个项目导入所需的jar,需要自己搜集全部jar -- > 繁琐2、项目中的jar如果需要版本升级,就需要再重新搜集jar --> 复杂3、相同的jar在不同的项目中保存了多份 --> 存储冗余,散乱java项目需要一个统一的便捷的管理方案。Maven是一个基于项目对象模型(POM)的概念...
2021-12-28 20:09:10
293
原创 Maven进阶
release and snapshotMaven中建立的依赖管理方式基本已成为Java语言依赖管理的事实标准,Maven的替代者Gradle也基本沿用了Maven的依赖管理机制。在Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个属性构成的,分别是groupId、artifactId以及version。这三个属性可以唯一确定一个组件(Jar包或者War包)。其实在Nexus仓库中...
2021-12-28 20:02:36
406
原创 Maven-私服
私服私服是架设在局域网的一种特殊的远程仓库。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。私服可以解决在企业做开发时每次需要的jar包都要在中心仓库下载,且每次下载完只能被自己使用,不能被其他开发人员使用的弱点。私服就是一个服务器,不是本地层面的,是公司(局域网/内网)层面的...
2021-12-28 19:56:55
311
原创 16-JSON&Ajax
JSONJSON(JavaScriptObject Notation, JS 对象表示) 是一种轻量级的数据交换格式。它基于ECMAScript(w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于机器解析和生成,并有效地提升网络传输效率。JSON语法:[] 表示数组{} 表示对象"" 表示是属性名或字符串类型的值,也可以使用': 表示属性和值之间的分隔符, 表示多个属性...
2021-12-22 18:40:54
96
原创 15-web之过滤器和监听器
FilterFilter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。Servlet API中提供了一个Filter接口,开发we...
2021-12-22 12:47:18
393
原创 11-request和response
页面跳转作为后台开发人员,我们大多时候都在接收处理用户请求,给予用户响应,为了方便操作,服务器软件将请求和响应封装成了request和response。Java Web服务端控制页面跳转主要有两种:重定向和转发重定向:重定向就是通过各种方法将网络请求重新定个方向转到其它位置原理:客户浏览器发送http请求----》web服务器接受后发送302状态码响应及对应新的location给客户浏览器--》客户浏览器发现是302响应,则自动再发送...
2021-12-16 13:01:37
1718
原创 2-MySQL完整性与多表查询
数据完整性作用:保证用户输入的数据保存到数据库中是正确的。确保数据的完整性 = 在创建表时给表中添加约束完整性的分类:实体完整性;域完整性;引用完整性【学生表(学号 ,姓名) 成绩表( 学号,科目,成绩)】实体完整性:实体:即表中的一行(一条记录)代表一个实体(entity)实体完整性的作用:标识每一行数据不重复。约束类型:主键约束(primary key);唯一约束(unique);自...
2021-12-13 14:11:00
676
原创 1-MySQL基础
先修数据库(DataBase,DB)指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。简单理解数据的仓库。数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。数据库是通过数据库管理系统创建和操作的。常见的数据库管...
2021-12-12 15:53:09
711
1
原创 4-JavaScript_DOM+BOM
DOM通过 HTML DOM,使用 JavaScript 访问 HTML 文档的所有元素当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)HTML DOM模型被构造为对象的树:通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML。JavaScript 能够改变页面中的所有 HTML 元素。JavaScript 能够改变页面中的所有 HTML 属性...
2021-12-10 17:10:43
128
原创 CountDownLatch实现线程池任务分段执行
测试类:package practice.thread;import java.util.List;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ThreadPoolExecutor;import java.util.concurrent.TimeUnit;public class TestThrea
2021-12-07 14:49:46
445
原创 装饰者模式
要实现装饰者模式,注意以下几点内容:a.装饰者类要实现真实类同样的接口b.装饰者类内有一个真实对象的引用(可以通过装饰者类的构造器传入)c.装饰类对象在主类中接受请求,将请求发送给真实的对象(相当于已经将引用传递到了装饰类的真实对象)d.装饰者可以在传入真实对象后,增加一些附加功能(因为装饰对象和真实对象都有同样的方法,装饰对象可以添加一定操作在调用真实对象的方法,或者先调用真实对象的方法,再添加自己的方法)...
2021-12-06 13:35:18
109
原创 -bash-4.2 问题解决
问题:weblogic用户登录时:test用户登录时:可看出 weblogic 用户登录时显示状态与 test 不同,test 用户登录的显示状态可用但是操作不便此时想使 test 用户登录时的显示状态与 weblogic 用户相同原因:首先查看/etc/passwd 文件:cat /etc/passwd在该文件中,每一行用户记录的各个数据段用“:”分隔,分别定义了用户的各方面属性。各个字段的顺序和含义如下: 注册名:口令:用户标识号:组标识号:用户名:用..
2020-07-16 16:36:56
267
原创 Random伪随机数问题
详细信息:修复建议:Random public Random() { this(seedUniquifier() ^ System.nanoTime()); } public static native long nanoTime(); private static long seedUniquifier() { // L'Ecuyer, "Tables of Linear Congruential Generato
2020-07-09 14:51:01
449
转载 Mac 破解软件提示损坏无法安装 解决
解决方法:打开终端执行:sudo xattr -r -d com.apple.quarantine /Applications/StarUML.app原因:苹果系统有一个GateKeeper保护机制(自 OSX 10.5 加入)。从互联网上下载来的文件,会被自动打上com.apple.quarantine标志,翻译过来就是免疫隔离,系统根据这个附加属性对这个文件作出限制。直接查看文件的附加属性$ xattr+文件名对于一个打上附加属性的文件,文件的权限位会多出...
2020-06-23 22:53:44
1837
转载 内部类实现双向链表---JAVA
原文链接:双向链表的实现package com.scc.demo;public class MyLinkedList { private Node first;// 链表中第一个节点 private Node last;// 链表中最后一个节点 private int size;// 节点的数量 // 创链表中的每一个节点 class Node { Node prev;// 上一个节点对象 Node next;// 下一个节点对象 Object ele;// 当前节点 元素
2020-06-01 00:15:02
122
原创 13-反射+注解
反射:为什么使用反射:需求:我公司定义了一组接口,然后第三方公司按照我公司的接口实现了一套功能并交给了我们,但是我们公司的项目已经结束,如何实现动态加载第三方公司提供的功能。什么是反射:反射就把Java类中的各种成分映射成一个个的java对象。例如:一个类有成员变量、方法、构造方法、包等等信息,利用反射技术可以对一个类进行解剖,把各个组成部分映射成一个个对象。反射常用类:Class类:可获取类和类的成员信息Field类:可访问类的属性Method类:可调用了类的方法Cons
2020-05-24 20:25:09
220
原创 12-网络编程
先修:计算机网络:所谓计算机网络,就是把分布在不同区域的计算机与专门的外部设备用通信线路相互连接成一个规模大,而且功能强的网络系统,从而使得计算机之间可以相互传递信息,共享数据,软件等资源。网络编程:所谓网络编程,指的就是在同一个网络中不同机器之间的通信。计算机之间通信的条件:IP地址:IP地址指的是互联网地址(Internet Protocol Address),是互联网设备与互联网之间的唯一标识,在同一个网段中,IP地址是唯一的。IP地址是数字型的,是一个32位的整数,通.
2020-05-23 19:07:23
193
原创 11-多线程
简介:进程:windows操作系统支持多进程多任务。1 正在运行的程序,是一个程序的运行状态和资源占用(内存,CPU)的描述,通过进程ID区分。2 进程是程序的一个动态过程,它指的是从代码加载到执行完毕的一个完成过程单个CPU在任何时间点上,只能运行一个进程,宏观并行,微观串行进程的特点:a.独立性:不同的进程之间是独立的,相互之间资源不共享(举例:两个正在上课的教室有各...
2020-05-13 11:30:07
389
1
原创 10-IO流
File文件类:一个操作文件的类(Java提供的)(创建,删除,重命名,判断文件权限,是否存在等)文件分割符号:Linux操作系统,文件分隔符号是"/" windows操作系统,文件分隔符号是" \ "使用windows系统,路径分隔符在代码中的体现必须是 "\\" windows还支持 "...
2020-05-09 14:36:44
280
原创 RabbitMQ
简介:MQ全称为Message Queue,消息队列(MQ)是⼀种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。其...
2019-07-15 08:46:39
161
原创 服务发现 与 Eureka
服务发现:在微服务架构中,服务发现(Service Discovery)是关键原则之⼀。⼿动配置每个客户端或某种形式的约定是很难做的,并且很脆弱。Spring Cloud提供了多种服务发现的实现⽅式,例如:Eureka、 Consul、Zookeeper。 Spring Cloud⽀持得最好的是Eureka,其次是Consul,最次是Zookeeper。客户端服务发现模式:使用客户端服务...
2019-07-12 20:37:47
194
原创 SpringCloud基础
架构的演进及解决方案:根据上一篇文章我们主要了解了 架构的演进 以及对应的 解决方案与技术:https://blog.csdn.net/qq_37834488/article/details/93461669本篇我们对这些技术进行主要介绍介绍前先来看一下我们架构演进过程中的需求:服务器方面:用户增多,请求增多 --> 加服务器 --> 分配请求 --> 负载...
2019-07-12 08:33:19
322
原创 初始化方法 <client>()
上代码:public class TestDemo { public static int[] statiArray; public int[] array = {0,1,2,3}; public int int8 = 4;// public static int staticInt;//0 public static int staticInt = ...
2019-07-07 23:40:23
1418
原创 观察者模式&事件监听
举个栗子:public class Japan { public void toukui(String message){ System.out.println("Japan偷窥到JSP"+message); }}public class Korea { public void jianting(String message){ ...
2019-07-05 18:42:55
616
原创 1-MyBatis基础
概述轻量级的,持久层框架,负责完成java和数据库的通信。MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架...
2019-07-05 00:33:54
293
原创 数据库事务
数据库事务事务概述:一组要么同时执行成功,要么同时失败的SQL语句。是数据库操作的一个不能分割执行单元。数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以...
2019-07-03 17:39:25
229
原创 Redis
介绍:基于内存存储的,NoSql数据库 ( 非关系型数据库 ),存储结构 : key-value数据量多,数据交互效率要求高的场景,可以考虑使用 Redis。基本指令:keys * 查看所有keyttl key 查看剩余存活时间del key 删除keyselect 5 切换到第6个库flushDB 删除当前库的r所有数据数据类型:String:指令...
2019-07-02 17:27:04
157
原创 数据卷、YAML、Dockerfile 与 Docker-Compose
基础命令:启动 docker 服务:[root@localhost ~]# systemctl start docker && systemctl enable docker下载镜像:[root@localhost ~]# docker pull 10.9.10.232:5000/redis:5.0.4查看本地的镜像:[root@localhost ~]# do...
2019-06-27 17:45:33
1210
原创 Docker安装及下载镜像
注意:运行 docker 的 Linux 内核版本需要在 3.8 以上,可以选择 centOS_7,7内核版本 3.10 以上。但是 centOS_6.5 内核为 2.6,如果要使用的话需要先升级内核。我这里直接用的 centOS_7,升级内核的方法不做介绍。centOS_7安装:首先在 VMware 的操作环境下安装 centOS_7,典型 --> 稍后安装 -->...
2019-06-26 19:57:02
2161
原创 架构的演进(缓存穿透/穿刺/雪崩/倾斜)
先修概念:高可用:系统保持正常运行时间的百分比。即系统中部分节点失效时,其他节点能够接替它继续提供服务,则可认为系统具有高可用性。计算机系统的可用性用 “平均无故障时间”(MTTF)来度量,即计算机系统平均能够正常运行多长时间,才发生一次故障。系统的可用性越高,“平均无故障时间” 越长。可维护性用 “平均维修时间”(MTTR)来度量,即系统发生故障后维修和重新恢复正常运行平均花费的时间。...
2019-06-24 23:13:34
1235
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人