自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 问答 (1)
  • 收藏
  • 关注

原创 分布式基础

1.大型网站的特点:高访问量(tps,qps)、高存储量。2.分布式发展(后期没有先后,需根据具体情况扩展) 1)单体,应用和数据库部署在一台服务器 2)应用服务器和数据库服务器分离 3)应用服务器做集群(session跨域共享和存储:db或redis) 4)数据库读写分离(数据库路由mycat) 5)搜索较多加入搜索引擎集群 6)访问量持续增加,加入缓存机制(缓存,限流,降级) 7)数据库水分、垂直拆分 8)应用拆分成服务...

2021-02-22 22:21:16 137

原创 Oracle表空间已满解决方案

1.使用数据库客户端查询,或登录服务器使用超级管理员通过cmd窗口查询表空间使用情况。服务器cmd使用超级管理员登录方法:win+R,输入cmd,回车,打开cmd窗口; 以操作系统权限认证的oracle sys管理员登录:sqlplus “/as sysdba”(或正常登录方式:sqlplus,回车,用户名sys,回车,密码123 as sysdba,回车)查询表空间物理文件使用情况: SELECT T.TABLESPACE_NAME as 表空间名称,D.FILE_NAM..

2020-12-11 14:02:33 6896

原创 普通maven项目将依赖包打包方法

pom添加:<!-- maven打包插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>1.2.1</version&gt

2020-10-26 15:28:55 460 1

原创 认识Tomcat及优化

1.Tomcat目录结构 1)conf:catalina.policy:Tomcat安全策略文件,控制JVM相关权限,具体可以参考java.security.Permissioncatalina.properties:Tomcat Catalina行为控制配置文件,比如Common ClassLoaderlogging.properties:Tomcat日志配置文件,JDK Loggingserver.xml:Tomcat Server 配置文件GlobalNamingReso..

2020-10-24 22:48:50 151

原创 认识JVM及优化

1.JVM运行时数据区2.内存模型JMM (1)Meta Sapce:规避永久代溢出问题,可动态扩容 (2)新生代:eden,s0,s1 8:1:1 复制回收算法 (3)对象的生命周期不一样---分代 (4)98%对象在minor gc的时候会被回收掉,否则分配担保,新生代没有空间,放入老年代 (5)空间大小设置建议:新生代:老年代=1:2 定义大小:根据gc日志老年代活跃数据量300M,堆总设置300*4=1200M,新生代1.5倍=450...

2020-09-19 15:29:06 94

原创 了解性能优化

1.性能优化:发挥机器本来的性能。2.遇到新能问题分析 到底是不是问题? 是问题,如何证明是问题? 梳理思路3.机器性能维度 CPU Memory IO Network 分析:(1)看CPU:命令vmstathttps://www.man7.org/linux/man-pages/man8/vmstat.8.html 命令top:https:/...

2020-09-19 10:05:32 153

原创 tomcat注册windows服务,启动拒绝访问

注意:tomcat必须选择windows版,需要用到service.bat1.在startup.bat,shutdown.bat,service.bat设置jdk,jre路径,放置在首行: set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0_13 set JRE_HOME=C:\Program Files (x86)\Java\jdk1.7.0_13\jre2.进入tomcat/bin目录,Shift+右键,...

2020-08-28 11:52:01 2380 1

原创 git关联github,拉取,修改,提交,上传

1.安装git客户端;注册github账号 安装git客户端,一直next就可以了。 注册github账号后,创建仓库(步骤比较简单)2.后续步骤git客户端执行:git config --global user.name "name":github登录名git config --global user.email "[email protected]":github注册邮箱ssh-keygen -t rsa -C "[email protected]":生成公钥需要填写什么,可以一...

2020-08-28 11:34:50 252

原创 了解git

1.git图谱2.svn和git原理区别3.git常用命令 1)初始化一个git项目 git init:初始化一个空git项目 git clone [url]:基于远程分支初始化一个git项目 2)添加文件至暂存区 git add [file1][file2]...:添加指定文件至暂存区 git add <dir>:添加目录及子目录当中所有文件 git rm -cache [file1][file2]......

2020-08-22 15:39:25 114

原创 Maven私服配置简单版

百度文章一搜一大堆,这里就不详细说了,点一下吧,windows安装可以参考https://www.cnblogs.com/huangheng01/p/10304947.html 1)下载地址:https://www.sonatype.com/download-oss-sonatype 2)进入bin目录,安装nexus服务(管理员cmd窗口): nexus /install Nexus3 3)启动服务,等一会,访问http://localhost:8081...

2020-08-14 21:12:57 213

原创 了解Maven:Maven插件使用,Archetype制作及自定义插件

一、插件使用(举“栗子”)插件地址:https://maven.apache.org/plugins/仓库地址1:https://mvnrepository.com/artifact/org.codehaus.mojo/versions-maven-plugin/2.6仓库地址2:https://maven.aliyun.com/mvn/search1.tomcat插件使用 点开插件地址,找到tomcat(可以Ctrl+F搜索一下),如图: 点开Apached Tom...

2020-08-08 10:50:44 428

原创 了解Maven:理论(总)

1.介绍Maven中文是专家的意思。百度是这样介绍的:Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。2.优势 1)Convention over configuration(约定优于配置) 2)简单 3)测试支持 4)构建...

2020-06-13 10:06:08 234

原创 了解Maven:创建Maven项目

1.创建单个java项目2.分模块创建 选中父类项目---右键---Maven---new Maven Module project,选中Create a simple project,填写模块名,Packaging选择jar,还是war就看需求了(jar是简单java项目,war是web项目,打包后类型也不同)...

2020-06-04 21:06:38 178

原创 了解Maven:Maven下载安装配置

1.介绍Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目(摘自百度)。2.下载 网址:http://maven.apache.org/download.cgi3.配置 (1)基础:下载后解压即可,配置环境变量 (2)ec...

2020-05-31 10:39:19 206

原创 数据库常用小操作sql

一、Oracle1.判断decode:decode(字段名,1,1,2,2,3),例:decode(name,'小明','1','小红',2,3)二、sqlserver1.修改字段类型:alter table 表名 alter column 字段名 type not null待续.........

2020-04-23 18:10:00 139

原创 了解学习正则

1.简介 为什么需要正则表达式? -文本的复杂处理 正则表达式的优势和用途? -一种强大而灵活的文本处理工具 -大部分编程语言、数据库、文本编辑器、开发环境都支持正则表达式 正则表达式定义: -描述一个规则,通过规则匹配一类字符串 -学习正则表达式等于学习正则表达式的语法规则...

2020-04-04 09:51:10 206 1

原创 了解设计模式:23备忘录模式

1.核心:保存某个对象内部状态的拷贝,以后可以将该对象恢复到原先的状态。 结构:源发器类,备忘录类,负责人类2.代码实现/** * 源发器类 * @author Administrator * */public class Emp { private String ename; private int age; private double salary; ...

2020-04-03 20:48:53 113

原创 了解设计模式:22观察者模式

1.核心:观察者模式主要用于1:N的通知。当一个对象(目标对象Subject或Objservable)的状态变化时,需要及时告知一系列对象(观察者对象Observer),令他们做出响应。通知观察者的方式:推,拉2.代码实现//观察者public interface Observer { void update(Subject subject);}public class Obs...

2020-04-02 21:24:17 87

原创 了解设计模式:21状态模式

1.场景 -电梯的运行:维修,正常,自动关门,自动开门,向上运行,向下运行,消防状态 -红绿灯:红灯,黄灯,绿灯 -网上购物,订单状态:下单,已付款,已发货,送货中,已收货2.核心及结构 -核心:用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题 -结构:Context环境类(维护State),State抽象环境类,ConcreteS...

2020-04-02 21:11:02 117

原创 了解设计模式:20模板方法模式

1.介绍:经常用到。定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现。新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤。2.核心:处理某个流程的代码已经具备,但是其中某个节点的代码暂时不能确定。因此,采用工厂方法模式,将这个节点的代码实现转移给子类完成。即:处理步骤父类中定义好,具体实现延迟到子类中定义。3.代码实现public abstract class...

2020-04-01 20:58:03 104

原创 了解设计模式:19策略模式

1.介绍:策略模式对应于解决某一个问题的一个算法族,允许用户从该算法族中任选一个算法解决某一问题,同时可以方便的更换算法或者增加新的算法,并且由客户端决定调用哪个算法。本质:分离算法2.代码实现//报价接口public interface Strategy { public double getPrice(double standardPrice);}//新客户少量批发pub...

2020-04-01 20:41:13 182

原创 了解设计模式:1718解释器和访问者模式

1.解释器模式介绍:是一种不常用的设计模式。用于描述如何构成一个简单的语言解释器,主要用于使用面向对象语言开发的解释器和解释器设计。当需要开发一种新的语言时,可以考虑使用解释器模式。尽量不要使用解释器模式,后期维护会有很大麻烦。在项目中可以使用Jruby,Groovy,java的js引擎来替代解释器的作用,弥补java语言的不足。2.应用场景 -EL表达式的处理 -正则表达...

2020-03-31 20:54:15 125

原创 了解设计模式:16命令模式

1.介绍:命令模式将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作,也称为:动作Action模式、事务transaction模式。2.结构 -Command抽象命令类 -ConcreteCommand具体命令类 -Invoker调用者/请求者 -Receiver接收者 3.代码实...

2020-03-31 20:36:02 104

原创 了解设计模式:15中介者模式

1.核心: -系统中对象之间的联系呈现为网状结构,对象之间存在大量的多对多关系,将导致关系及其复杂,这些对象称为“同事对象” -可引入一个中介者对象,使各个同事对象只跟中介者对象打交道,将复杂的网络结构化解为星形结构。2.代码实现//中介者接口public interface Mediator { void register(String dname,Depa...

2020-03-28 20:25:56 96

原创 了解设计模式:14迭代器模式

1.场景 -提供一种可以遍历聚合对象的方式。又称为游标cursor模式 -聚合对象:存储数据 -迭代器:遍历数据2.代码实现/** * 自定义的迭代器接口 * @author Administrator * */public interface MyIterator { void first(); //将游标指向第一个元素 void next...

2020-03-28 19:55:14 87

原创 了解设计模式:13责任链模式

1.定义:能够处理同一类请求的对象连成一条链,所提交的请求沿着链传递,链上的对象逐个判断是否有能力处理该请求,如果能则处理,不能则传递给链上的下一个对象。2.场景 -打牌时,轮流出牌 -接力赛跑 -奖学金审批3.代码实现//模拟请假审批流程//请假对象public class LeaveRequest { private String empNam...

2020-03-27 21:01:37 126

原创 了解设计模式:12享元模式

1.场景:有多个完全相同或相似的对象,可通过享元模式,节省内存。2.核心:以共享的方式高效的支持大量细粒度对象的重用。享元对象能做到共享的关键是区分了内部状态和外部状态。 -内部状态:可以共享,不会随环境变化而改变。 -外部状态:不可以共享,会随环境变化而改变。3.享元模式实现: -FlyweightFactory享元工厂类(创建并管理享元对象,享元池一般设计...

2020-03-27 20:24:11 107

原创 了解设计模式:11外观模式

1.迪米特法则(最少知识原则) -一个软件实体应当尽可能少的与其他实体发生相互作用。2.外观模式核心 -为子系统提供统一的入口。封装子系统的复杂性,便于客户端调用。3.类图4.应用场景 频率很高。有外观模式的使用,如:JDBC封装后,commons提供的DBUtils类,Hibernate提供的工具类、Spring JDBC工具类等...

2020-03-26 21:39:33 62

原创 了解设计模式:10装饰模式

1.职责 1)动态的为一个对象增加新的功能。 2)装饰模式是一种用于代替继承的技术,无需通过继承增加子类就能扩展对象的新功能。使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀。2.实现细节 1)Component抽象构件角色:真实对象和装饰对象有相同的接口。这样,客户端对象就能够以与真实对象相同的方式同装饰对象交互。 2)Concre...

2020-03-26 21:19:59 73

原创 了解设计模式:9组合模式

1.场景 把部分和整体的关系用树形结构来表示,从而使客户端可以使用统一的方式处理部分对象和整体对象。2.组合模式核心 1)抽象构件(Component)角色:定义了叶子和容器构件的共同点 2)叶子(Leaf)构件角色:无子节点 3)容器(Composite)构件角色:有容器特征,可以包含子节点3.代码实现//简单展示/** * 抽象...

2020-03-25 21:44:41 190

原创 了解设计模式:8桥接模式

1.场景:当产品有复杂的信息时,如图,实现这样的关系,可以使用多层继承关系,但扩展会造成类个数膨胀,并且违反单一职责原则。 我们可以将产品划分为两个维度,两个维度分别创建类,再搭设桥梁将两个类联系,构成产品,易于扩展,保证单一职责。...

2020-03-25 21:03:34 110

原创 了解设计模式:7代理模式

1.代理模式核心作用:通过代理,控制对对象的访问!可以详细控制访问某个对象的方法,在调用这个方法前做前置处理,调用这个方法后做后置处理(即AOP的微观实现)。AOP(Aspect Oriented Programming面向切面编程)的核心实现机制!2.核心角色 抽象角色:定义代理角色和真实角色的公共对外方法 真实角色:实现抽象角色,定义真是角色所要实现的业务逻辑,供代理角...

2020-03-21 21:49:43 191

原创 了解设计模式:6适配器模式

1.结构型模式核心作用:从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题。 分类:适配器模式,代理模式,桥接模式、装饰模式、组合模式、外观模式、享元模式2.适配器模式介绍:将一个类的接口转换成客户希望的另外一个接口。使原本由于接口不兼容而不能一起工作的类可以一起工作。 角色:目标接口(target)(客户期待的接口),需要适配的类(Adaptee),适...

2020-03-21 21:12:09 83

原创 了解设计模式:5原型模式

1.介绍 通过new产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式。是java中的克隆技术,以某个对象为原型,复制出新的对象。优势:效率高(直接克隆,避免了重新执行构造过程步骤)。new创建新的对象属性采用的是默认值,克隆出的对象的属性值完全和原型对象相同,并且不会影响原型对象。2.原型模式实现 Cloneable接口和clone方法(clone属...

2020-03-21 16:27:31 84

原创 了解设计模式:4建造者模式

1.介绍 1)场景:建造一个复杂的产品。 2)本质:分离了对象子组件的单独构造(Builder)和装配(Director),从而可以构造出复杂的对象。适用于某个对象的构建过程复杂;实现了构造和装配的解耦,不同的构造器,相同的装配,可以做出不同的对象,相同额构造器,不同的装配也可以做出不同的对象。也就思想了构造算法和装配算法的解耦,实现了更好的复用。2.实现代...

2020-03-21 11:38:17 66

原创 了解设计模式:23工厂模式和抽象工厂模式

1.工厂模式实现了创建这和调用者的分离。 详细分类:简单工厂模式(静态工厂模式),工厂方法模式,抽象工厂模式2.简单工厂实现public interface Car { void run();}public class Audi implements Car { @Override public void run() { System.out.println...

2020-03-19 21:18:31 101

原创 了解设计模式:1单例模式

1.核心作用:保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。2.常见应用场景: 1)Windows的Task Manager(任务管理器) 2)Windows的Recycle Bin(回收站) 3)项目中读取配置文件的类(没有必要每次使用配置文件数据,每次new一个对象去读取) 4)网站的计数器(否则难以同步) 5)应用程序的日志...

2020-03-18 22:28:28 116

原创 oracle创建序列

create sequence SEQ_QC_FACI_SRC_RECORDminvalue 1 --最小值nomaxvalue --不设置最大值(由机器决定),或 根据表字段的值范围设置 maxvalue--maxvalue 999 -- 最大值start with 1 --从1开始计数,数值可变increment by 1 --每次加1,数值可变nocycle --一...

2020-01-13 17:34:40 260

转载 oracle重新设置序列的初始值

select SEQ_NAME.NEXTVAL from dual;--查询当前表序列号下一个值 (SEQ_NAME 修改为你自己的名称)alter sequence SEQ_NAME increment BY 400; --修改下一个值,400为在原基础增加400commit;select SEQ_NAME.NEXTVAL from dual;--查看是否修改成功...

2019-12-20 15:05:41 2109

原创 冒烟测试理解

1.通过查找文档博客等,浅层理解冒烟测试,冒烟测试分为两部分:整体测试:对项目系统整体重点功能点的流程测试,通过冒烟测试,系统能够跑通(正常运行),不考虑一些细枝末节的功能点。修改测试:测试人员发现Bug及时反馈给开发人员,开发人员及时修复,更新系统代码,冒烟测试重点放到更新的这一部分,需要验证该部分功能是否融入到整个系统中,并且不影响系统的其他业务。参考文档:https://blog...

2019-12-13 10:55:17 471

空空如也

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

TA关注的人

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