- 博客(14)
- 资源 (8)
- 收藏
- 关注
原创 设计模式七 代理模式
代理有很多种。静态代理、动态代理(JDK通过接口动态代理、CGLIB通过子类动态代理)代理模式是给莫个对象提供一个代理来控制该对象的访问,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介;优点:1:客户端和代理对象之间增加了中间起到目标对象的作用2:代理对象可以对目标对象进行扩展3:代理模式将使用者和调用者分开,降低了耦合度缺点:1:在客...
2020-04-29 16:07:15 108
原创 设计模式六 模板模式
模板模式的特点:1:父类抽象类:类中含有具体不变的方法和可变的抽象方法2:钩子方法:钩子方法在父类中,有父类声明的子类实例化对象可以通过钩子方法访问子类实现的抽象方法3:子类:继承父类、实现抽象方法优点:1:子类实现父类的方法,增加了程序的可扩展性2:父类封装了公用代码,实现代码的重复利用3:部分代码由子类扩展,符合开闭原则缺点:1:每一个实现都要有一个具体类,...
2020-04-28 17:06:00 107
原创 Visual studio code安装vue
首先现在Visual studio code一路next就行然后在终端输入命令安装插件:npm install安装需要的插件启动项目:npm run dev即可启动项目如果启动的时候报如下错误首先安装python地址:https://www.python.org/downloads/release/python-2712/则在终端输入命令:MSBUILD : error...
2020-04-27 09:52:26 1046
原创 window10如何进入administrator账户
先使用cmd到这个界面选择以管理员身份运行输入命令:net user administrator /active:yes关闭管理员账户:net user administrator /active:no这样就可以了
2020-04-24 23:17:39 1677 1
原创 设计模式五 桥接模式
为什么要使用桥接模式?桥接模式即是将抽象部分与它的实现(功能)部分分离,使它们都可以独立地变化,抽象与实现分离,所以扩展能力强;但是缺点是由于聚合关系建立在抽象层,要求开发者针对抽象化进行设计与编程,这增加了系统的理解与设计难度;桥接(Bridge)模式包含以下主要角色。抽象化(Abstraction)角色:定义抽象类,并包含一个对实现化对象的引用。扩展抽象化(Refi...
2020-04-23 18:16:41 144
原创 设计模式四 外观模式
为什么要使用外观模式?外观模式是将一系列复杂的需要调用很多服务的业务封装成一个接口,供外部程序使用,外部程序不用关心具体的细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性和可读性;外观模式的缺点:当新增外部程序就需要对外观类源码进行修改的时候,这样违反了开闭原则外观模式类图鉴于这种模式太简单,不写代码了...
2020-04-23 14:34:28 102
原创 设计模式三 观察者模式
为什么使用观察者模式:观察者模式和MQ消息订阅机制很相似,都是当任务来到,然后所有的观察者收到消息开始执行,当然有时候没必要使用MQ的时候可以使用观察者模式:优点:降低了目标与观察者之间的耦合关系,两者之间是抽象耦合关系。目标与观察者之间建立了一套触发机制。缺点:观察者多的时候无法削峰填谷,突然很消耗资源,开始上代码:创建主题接口public interface...
2020-04-22 16:39:09 226
原创 设计模式二 单例模式
为什么使用单例模式:在开发中如果频繁的实例化对象会很占用内存,会导致内存溢出,所以最好根据需求尽量少实例化对象,使用单例模式可以确保只有一个实例会被创建。单例模式也给了我们一个全局的访问点,和全局变量一样方便,又没有全局变量的缺点经典的单例模式懒汉子模式:懒汉子模式线程安全但是当进行垃圾回收被回收掉的时候就会出空指针异常public class SingletonTest { ...
2020-04-21 17:04:11 160
原创 设计模式一 工厂模式
为什么使用工厂模式: 工厂模式是将获取对象的实例交给工厂,由工厂根据提供的类型返回给你想要的类型,便于对对象的扩展和维护;常用发送验证码例子我们常用验证码来验证用户的注册,可以使用手机验证码或者邮箱验证码、其它验证码首先创建一个接口声明发送验证码接口public interface SendCodeService { /** * 设置tag ...
2020-04-21 14:23:30 147
原创 jvm 常用设置参数
JVM常用参数设置首先先明白参数的类型:1:标准参数(-) 所有的JVM实现都必须实现这些参数的功能2:非标准参数(-X) 默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容3:非Stable参数(-XX) 此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用参数名称 含义 默...
2020-04-02 16:26:34 525
原创 centos 修改host
1:修改hostnamevi /etc/hostname修改成你想要的名字即可2:修改hosts [root@ycloud2-test-s3 ~]# vi /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost ...
2020-04-02 10:59:47 2388
原创 visualvm连接服务器
1:下载visualvm并解压:服务器上找到jdk的安装位置[root@ycloud2-test-s3 /usr/local/jdk]# cd /usr/local/jdk转到jdk的bin下创建文件[root@ycloud2-test-s3 /usr/local/jdk]# vim jstatd.all.policy添加:(注意:/usr/local/jdk/lib...
2020-04-01 17:43:38 269
原创 公司项目java内存分析
公司项目内存占用忽然飙升到90%开始查询内存占用情况1:进入服务器使用top查询那个内存占用比较大的进程(Shift + M按内存大小排序 Shift + P 按CPU使用情况排序)我们发现PID=22977的这个进程占用10.5%的内存,RES(常驻内存)占用1.4G;但是这个程序启动命令是java -Xmx1024m -Xms1024m -jar test-0.1.0-SNAPS...
2020-04-01 15:58:11 403
原创 windows Error: JAVA_HOME is incorrectly set. Please update F:\hadoop\conf\hadoop-env.cmd
最近在搞大数据在本机安装Hadoop的时候出现如下错误如果的jdk已经安装好并且使用java -version没有问题,则可以使用如下方案1:将jdk的环境变量中的JAVA_HOME中的C:\Program Files\Java\jdk1.8.0_131 改为C:\PROGRA~1\Java\jdk1.8.0_131PROGRA~1 =====C:\Program ...
2020-04-01 13:19:40 372
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人