自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

为你封疆的博客

自己选择的路。

  • 博客(57)
  • 收藏
  • 关注

原创 Circular view path

最近学习一下springboot的相关知识,跟着视频构建第一个demo,但是运行起来,访问某个请求时,一直报异常: 大概的意思就是这个请求会被视图解析器解析到login页面。 pom.xml如下,springboot基础配置:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.or...

2018-07-19 23:39:47 4446

原创 eclipse整合maven

废话不多说,直接进入主题。 首先打开eclipse,然后找到window选项,然后选择preferences。然后再搜索框搜索maven,出来几个选项,选择user Settings,点击browse,选择maven安装目录下,conf目录下的settings.xml文件。如下图。接下来选择installations这个,点击add,然后选择maven的安装目录。finish之后,不要忘...

2018-06-16 17:46:46 3651

原创 搭建maven本地仓库

最近学习springboot的一些东西,需要eclipse环境和maven。以前的项目都是直接pom.xml引入,没有搭建过本地的maven仓库,正好趁着这次机会试着搭建一下。安装maven之前,首先应该确保装好了jdk。maven3对应jdk1.7以上的版本。我自己的jdk是1.8的,登陆maven的官网,选择版本下载,我这里下载的是最新的3.5.3。下载之后解压到目录,然后同级目录...

2018-06-16 00:25:54 44073 4

原创 Failed to load the JNI shared library

最近好久没有用eclipse了,最近因为工作的原因又需要使用。启动自己电脑上的eclipse的时候,报错了,如下图。 上网搜了一下具体原因,猜测是eclipse版本和jdk版本不能兼容,于是去eclipse解压目录readme目录,readme_eclipse.html这个文件打开看了一下,eclipse是3.7的版本,而jdk呢是1.8的版本,修改环境变量,指定为jdk1.6,eclips...

2018-06-14 23:29:19 263

原创 postgresql重命名索引

索引重命名:alter index if exists old_name rename to new_index_name;约束重命名:alter table name rename constraint constraint_name to new_constraint_name;

2018-06-06 23:30:25 5047 2

原创 redis主从复制

redis配置主从关系有两种方式,一个是用slaveof命令,另一个是在redis.conf中配置主节点的ip和端口信息。 主从复制可以是一主一从,也可以是一主多从。一个redis实例可以是另一个的slave,也可以是相对的master(a的slave是b,b的slave是c)。 主从复制,一般主都是写入数据,而从都是读取数据。Redis 使用异步复制,slave 和 master 之间异步地...

2018-05-20 18:31:07 217

原创 redis持久化

redis大部分情况下都是用作缓存,减少对数据库的访问,但是如果你需要存储redis的数据到硬盘,那么就需要用到redis持久化方案,redis提供两种持久化方案,一种是RDB,一种是AOP。RDB是在指定的时间内对redis进行快照存储。AOF则是存储redis服务器每一次的写命令,不断追加到文件的末尾。可以同时开启RDB和AOF,但是重启服务器的时候会首先加载AOF,因为AOF的数...

2018-05-18 00:49:27 123

原创 redis事务

redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行redis事务命令 multi:标志事务的开始。 exec:执行事务命令,命令的回复是一个数组, 数组中的每个元素都是执行事务中的命令所产生的回复。 discard:清空事务队列,退出...

2018-05-10 00:06:52 145

原创 ACID+CAP+BASE

关系型数据库满足以下四个条件: A:原子性。一个事务里面的操作要么全部执行,要么全部不执行。 C:一致性。事务前后,数据库的状态应该是一致的。 I:隔离性。事务只知道自己的内部情况。 D:持久性。事务执行之后,不能撤回,造成的影响是永久的。对于nosql而言,主要就是cap+base。 对于cap,任何分布式系统只能满足其中两个条件,无法三者兼顾。 C:强一致性。数据一致更新,所有...

2018-05-03 23:09:56 180

原创 Hbase javaAPI编程

这里主要是针对Hbase的java Api编程做一个记录。以便以后复习回顾。import java.io.IOException;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import org.apache.commons....

2018-03-10 01:15:40 297

原创 Hbase学习与详解

最近终于完成了项目组内部的分享,本来该去年12月份就完成的,由于两个项目组的时间不匹配,一直拖到了今年三月份。接触hbase也已经有三四个月了,总体感觉是hbase的整个的理解不难,但是真正运用时很考验人,我自己用的不多,只是了解了一些原理。自己本地搭了一个伪分布式Hbase,没有线上的经验。今天写下来,以备以后的回顾。 首先什么是Hbase? Hbase是一个构建在HDFS上的、分布式的、面...

2018-03-09 23:28:54 2149

原创 java泛型

网上找了两篇介绍泛型很不错的博客,看这两篇应该就可以对泛型有比较深刻的了解。在这里记录一下。 1、http://www.importnew.com/26387.html 2、http://blog.csdn.net/s10461/article/details/53941091...

2018-02-25 00:49:36 151

转载 Java中的自动装箱与拆箱

自动装箱和拆箱从Java 1.5开始引入,目的是将原始类型值自动地转换成对应的对象。自动装箱与拆箱的机制可以让我们在Java的变量赋值或者是方法调用等情况下使用原始类型或者对象类型更加简单直接。如果你在Java1.5下进行过编程的话,你一定不会陌生这一点,你不能直接地向集合(Collections)中放入原始类型值,因为集合只接收对象。通常这种情况下你的做法是,将这些原始类型的值转换成对象,然...

2018-02-24 23:51:46 162

原创 责任链模式

将能够处理同一类请求的对象连成一条链,所提交的请求沿着链传递,链上的对象逐个判断是否有能力处理该请求,如果能则处理,不能则传递给链上的下一个对象。常见应用场景:异常机制,try,catch。第一个catch不匹配,则跳到下一个catch执行。 现在有一个场景是:员工请假,当请假天数小于三天的时候,主任审批就可以了,大于等于三天,小于十天的时候,总经理审批,大于等于十天,小于三十天的时候,需要CE

2018-02-06 00:29:18 134

原创 桥接模式

处理多层继承结构,处理多维度变化的场景,将各个维度设计成独立的继承结构,使各个维度可以独立的扩展在抽象层建立关联。常见使用场景:JDBC驱动程序。现在有一个场景:需要实现销售各种类型,品牌的电脑,我们如果按照如下的代码来写,还只是写了联想的,还有更多其他品牌的没写出来。这样的话非常繁琐。于是我们可以采用桥接模式。public interface Computer1 { void s

2018-02-05 01:47:35 122

原创 装饰模式

动态地为一个对象增加新的功能。无需通过继承增加子类就能扩展对象的新功能,使用对象的关联代替继承。常用场景:IO中输入流和输出流的设计。 主要包含以下角色: Component抽象构件角色 ConcreteComponent具体构建角色 Decorator装饰角色 ConcreteDecorator具体装饰角色 下面有一个场景:抽象构件就是一个汽车接口,具体构建就是一个陆地上跑的普通车,

2018-02-05 00:52:49 120

原创 代理模式

代理模式就是多一个代理类出来,替原对象进行一些操作。控制对对象的访问,详细控制某个对象的方法,调用这个方法前做前置处理和后置处理。AOP的核心实现机制。 下面有一个场景:一个唱歌的明星,对应的经纪人就相当于代理类,只有唱歌的时候才是明星去唱,其余的比如收钱,会面等事情就是经纪人去做,但是需要注意一点,明星自己也可以收钱,会面的,不过,正如现实一样,明星不是所有人都能见到的,所有,请明星唱歌不可能

2018-02-04 18:00:28 133

原创 适配器模式

适配器模式将某个类的接口转换成客户端期望的另一个接口表示。核心是有一个Source类,拥有一个方法待适配,目标接口是 Targetable ,通过 Adapter 类,将Source 的功能扩展到 Targetable 里。主要包括三类:类适配器,对象适配器,接口适配器。常见的应用场景:java.io.InputstreamReader(InputStream)public class Sou

2018-02-04 17:09:52 122

原创 原型模式

通过new一个对象需要繁琐的数据准备和访问权限,可以使用原型模式。常见应用场景:cloneable接口和clone方法。 下面有一个场景:public class Person implements Cloneable,Serializable { private String name; private Integer age; private Man man;

2018-02-04 14:44:55 142

原创 建造者模式

适用于某个对象构造过程复杂的情况,实现了构建和装配的解耦。主要包含builder和Director。常见应用场景:StringBuilder中append方法,sql中preparedStatement。下面看一个具体的场景:比如我要构造一个台灯,需要以下几部分组成:灯泡、支架、底座。台灯类:public class DeskLamp { private Bulb bulb;

2018-02-03 23:31:15 157

原创 工厂模式

实现了创建者和调用者的分离。实例化对象,用工厂方法代替new操作。 主要分为三类: 简单工厂模式:不符合开闭原则,但是实际应用最多。 工厂方法模式:不修改已有类的前提下,增加新的工厂类进行扩展。 抽象工厂模式:不可以增加产品,可以增加产品族。 应用场景:spring中ioc创建管理bean对象。简单工厂: 下面一个简单的场景,生产车,有CarA和CarB两种车。public

2018-02-03 16:43:04 130

原创 备忘录模式

备忘录模式就是保存某个对象内部状态的拷贝,这样就可以将对象回复到原先的状态。常见应用场景:数据库事务的回滚操作。备忘类public class Emp { private String name; private int age; private double salary; //进行备忘操作,返回备忘对象 public ConcreteEmp

2018-01-28 01:04:33 109

原创 观察者模式

当一个对象的状态改变时,它需要通知一系列对象(观察者),令它们做出响应。这就是观察者模式。常用场景:网络游戏,服务器将客户端的状态进行分发。观察者接口,包含一个update方法。public interface Observer { void update(Subject subject);}目标对象类public class Subject { //存储所有观察

2018-01-27 23:52:18 94

原创 状态模式

用于解决系统中复杂对象的状态转换,以及不同状态下行为的封装问题。主要包含context环境类,state抽象状态类,concreteState具体状态类。具体应用场景:线程对象不同状态的切换。现在有一个场景是酒店系统,房间状态:已预定,已入住,空闲。这三个状态之间相互切换。状态接口public interface State { void handle();}房间空闲状

2018-01-27 13:39:37 117

原创 模板方法模式

模板方法模式定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现。新的子类在不改变一个算法结构的前提下重新定义该算法的某些特定步骤。常用场景:servlet中doGet和doPost方法调用。现在有一个场景是去银行办理业务,常见的步骤是先排队取号,然后等待,办理业务,最后对服务进行评价。这样的一个过程可以说是银行的一个模板方法。采用抽象类public abstract class B

2018-01-27 00:30:26 120

原创 策略模式

策略模式对应于解决某一个问题的算法族,允许用户从该算法族任选一个算法解决某一问题,同时可以方便地更换算法和增加新的算法。并且由客户端决定调用哪个算法。常用场景,Spring框架Resource接口,资源访问策略。 现在有一个应用场景,一个服装厂的老板对他的客户根据情况进行不同的折扣,采用策略模式。首先是策略接口public interface Strategy { double

2018-01-26 02:13:18 103

原创 解释器、访问者模式

解释器模式是一种不常用的设计模式。我们需要开发一种新的语言的时候可以考虑解释器模式,不推荐使用,后期维护起来会很麻烦。 开发中常用的场景: EL表达式处理 正则表达式解释器 SQL语法的解释器访问者模式 对于存储在一个集合中的对象,它们可能具有不同的类型,对于该集合的对象,可以接受一类称为访问者的对象来访问,不同的访问者其访问方式也有不同。常用场景 XML文档解析器设计 编译

2018-01-26 01:29:39 188

原创 命令模式

将一个请求封装为一个对象,从而可以使我们可以用不同的请求对客户进行参数化,对请求排队或者记录请求日志,以及支持可撤销的操作。事务的底层实现也是命令模式。 命令模式主要分为几种角色:命令、命令的执行者、命令的发起者命令的执行者public class Receiver { public void action(){ System.out.println("Rece

2018-01-26 00:25:58 121

原创 中介者模式

如果一个系统中对象之间的联系呈现为网状结构,对象之间存在大量的多对多的关系,将导致关系非常复杂。这个时候我们可以引入一个中介者对象,所有的对象都和中介者对象打交道。简化了对象之间的关系。常用的场景是mvc模式,其中c是中介者,m和v通过c打交道。 下面模拟一个情况。公司内有三个部门:开发部、市场部和财务部。如果任由三个部门分别打交道,比如另外两个部门找财务部要钱。这个是比较复杂的。这个时候总经理

2018-01-24 00:54:42 140

原创 迭代器模式

迭代器模式提供一种可以遍历聚合对象的方式。java集合遍历运用的就是迭代器模式。下面自己写一个简单的迭代器。首先是一个迭代器接口。分别有获取第一个元素,指向下一个元素,等等方法。public interface MyIterator { void first(); void next(); boolean hasNext(); boolean isFirs

2018-01-24 00:02:33 107

原创 单例模式

单例模式应该算是我们经常遇到的一种模式,比如说线程池就是应用了单例,Spring bean也是运用了单例,单例模式节省了整个系统内存的开销。下面代码基于线程安全的前提下。 1、饿汉式。类加载时就生成了相应的对象。public class Singleton1 { private static Singleton1 instance = new Singleton1();

2018-01-22 00:18:03 130

原创 java LinkedList

LinkedList继承AbstractSequentialList,实现了List,Deque。底层由链表实现。每一个节点如下结构,包含值,指向后一个节点的引用,前一个节点的引用。private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E>

2017-12-28 23:36:39 130

原创 java ArrayList

ArrayList继承AbstractList,实现了List。初始容量为10,最大容量为Integer.MAX_VALUE - 8(其实为Integer.MAX_VALUE)。底层基于数组进行实现。主要函数包括:size(),isEmpty(),contains(),get(),add(),remove()。里面调用最多的方法System.arraycopy(),Arrays.copyOf()。p

2017-12-26 00:26:25 131

原创 HashMap和HashTable的区别

1、从时间上来说,HashMap比HashTable出现得晚一些,HashMap出现于jdk1.2,而HashTable出现于jdk1.1。 2、两个类都实现了Map、Cloneable、Serializable三个接口,但是HashMap继承的是AbstractMap类,而HashTable继承Dictionary类。 3、HashMap支持null key和null value,而HashT

2017-12-14 22:55:45 169

原创 运算符

算数运算符:+ - * / % ++ – 赋值运算符:= 关系运算符:== != > >= < <= instance of 逻辑运算符:&& || ! ^ & | 位运算符:&(按位与) | ~(取反) ^(按位异或) >> << >>> 条件运算符:?: 赋值扩展运算符:+= -+ *= /+条件运算符例子: int a = 2; in

2017-12-12 05:27:42 113

原创 java基本数据类型

java一共八大数据类型: 1、byte:占据1个字节。-128-127 2、short:占据2个字节。-32768-32767 3、int:占据4个字节。-2147483648-2147483647 4、long:占据8个字节。-2(63次方) - 2(63次方)-1 5、float:占用4个字节。-3.403e38-3.403e38 e表示10 6、double:占用8个字节。-

2017-12-10 22:48:29 153

原创 标识符

java的标识符以字母、下划线、$开头。其余部分可以是字母、下划线、$、数字。(其余的特殊字符不行)标识符大小写敏感。标识符不能是关键字。合法: int i = 1; int _dfd = 1; int $_df = 2;不合法: int #dfd = 1; int idf# = 1; int 123 = 1;字符集: ISO8859-1:西欧字符集,占一个字节。 GB2312:大陆

2017-12-10 02:14:45 176

原创 Hbase shell命令

shell命令操作进入hadoop目录,启动hdfs:sbin/start-dfs.sh,然后启动yarn:sbin/start-yarn.sh然后进入hbase目录,启动zookeeper:bin/start-daemon.sh start zookeeper,然后启动Hmaster:bin/start-daemon.sh start master,然后启动 regionserver: bin/s

2017-11-20 22:15:30 263

原创 Hbase伪分布式环境搭建

这几天在看hbase的东西,学习新的技术之前,首先应该搭建起一个该技术可以运用的环境。 Hbase的环境一共分为三种: 1、单机环境 2、伪分布式环境 3、分布式环境 这里由于条件限制,我搭建的是伪分布式的环境。搭建之前需要准备的软件如下: 1、VMware-workstation-full-12.5.7-5813279.exe 2、CentOS-7-x86_64-DVD-1708.i

2017-10-30 22:53:10 5392

原创 spring注解问题

今天写一个前端ajax请求后台接口,但是一直报错,一直把请求当作映射的一个WEBINF下的一个静态页面。后面分析了一下,因为原来的controller中都是用@RestController进行注解,现在却为了映射到WEBINF下,使用的是@Controller注解。那么这两个有什么区别呢?@RestController就等于@Controller+@ResponseBody,所以现在想返回json数

2017-10-30 22:38:56 199

空空如也

空空如也

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

TA关注的人

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