自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

有梦想的咸鱼的博客

纵然是咸鱼,也要有梦想!

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

原创 定时任务crontab

命令格式 crontab [-u user] [ -e | -l | -r ] -u 一般是root用户指定,表示为某个用户设定任务,不指定就是操作当前用户 -e 编辑当前用户的crontab文件 -l 显示当前用户的crontab文件内容 -r 从/var/spool/cron目录中删除用户的crontab文件 -i 提示实战命令...

2018-08-28 21:14:05 321

原创 shell创建文件

创建文件夹shell脚本#!/bin/bashdir="/root/test_dir"if [ ! -d "$dir" ];thenmkdir $direcho "创建文件夹成功"elseecho "文件夹已经存在"fi添加可执行权chmod +x test_file.sh创建文件shell脚本#!/bin/bashfileP...

2018-08-28 21:13:19 43771 1

原创 设计模式之装饰者模式

1、角色Component: 抽象构件ConcreteComponent: 具体构件Decorator: 抽象装饰类ConcreteDecorator: 具体装饰类2、UML类图3、源码public class DecoratorPatterns { public static void main(String[] args) { ProgramMonkey progra...

2018-05-27 10:11:34 258

原创 设计模式之适配器模式

1、角色划分Target:目标抽象类Adapter:适配器类Adaptee:适配者类Client:客户类2、UML类图3、源码public class AdaptorPattern { public static void main(String[] args) { AudioPlayer audioPlayer = new AudioPlayer(); ...

2018-05-26 22:26:15 206

原创 设计模式之简单工厂模式

1、模式结构,特点:简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。Factory:工厂角色工厂角色负责实现创建所有实例的内部逻辑Product:抽象产品角色抽象产品角色是所创建的所有对象的父类,负责描述所有实例所共有的公共接口ConcreteProduct:具体产品角色具体产品角色是创建目标,所有创建的对象都...

2018-05-26 21:37:00 166

原创 设计模式汇总

创建型设计模式单例模式

2018-05-26 21:21:36 135

原创 设计模式之单例模式

1、饿汉式单例> - 是否 Lazy 初始化:是> - 是否多线程安全:是> - 实现难度:易> - 描述:这种方式具备很好的 lazy loading,能够在多线程中很好的工作,但是,效率很低,99% 情况下不需要同步。 优点:第一次调用才初始化,避免内存浪费。 缺点:必须加锁 synchronized 才能保证单例,但加锁会影响效率。 ge...

2018-05-26 20:49:17 157

原创 centos7安装mysql

1、下载安装源,通过rpm-Uvh安装wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpmyum repolist all | grep mysql2、下载最新版本可以直接执行命令,...

2018-05-26 18:50:07 229

原创 centos7安装jdk

1、安装jdk,到oracle官网 jdk下载位置2、把下载好的jdk通过sftp上传到linux服务器上,并解压使用tar命令 参数为-zxvf3、把解压好的文件放到/usr/local 目录下mv jdk1.8.0_172/ /usr/local/ 4、修改环境变量vim /etc/profile 5、添加java的环境变量JAVA_HOME=/usr/local/jdk1.8.0_172...

2018-05-26 11:30:57 183

原创 centos7防火墙firewall相关命令

1、查看linux内核版本,这里只针对centos7版本[root@iZwz9axdluwy9ju9u1tpfqZ local]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 2、防火墙firewall 启动相关yum install firewalld # 安装firewalld 防火墙...

2018-05-26 11:18:27 265

原创 springcloud之config组件在本地配置中心的使用

1、配置中心service-config的pom核心依赖                <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </de...

2018-05-25 11:25:33 20539 3

原创 springcloud 之zuul整合swagger

1、项目的工程文件2、eureka-server的配置 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.6.RELEASE&lt...

2018-05-24 21:59:33 6838 1

原创 springcloud之ribbon自定义负载均衡规则

1、在springcloud中,使用的是ribbon来解决负载均很的问题,而常见的负载均衡策略包括有    1)轮询    2)随机    3)一致性哈希    4)哈希    5)加权2、在ribbon中提供了ILoadBalance接口用来代表负责均衡的操作,它提供了增加服务器,选择服务器,标记服务器状态为down,获得可用服务器以及获得所有服务器的操作public interface ILo...

2018-05-16 19:02:43 14697

原创 Springcloud之eureka与zookeeper作为服务注册中心的区别

http://dockone.io/article/78

2018-05-16 16:30:06 3797

原创 redis持久化之RDB和AOF

1、redis默认配置文件为redis.conf,持久化方式有两种,分别为RDB模式和AOF模式2、RDB:RDB是Redis默认的持久化方式。按照一定的时间周期策略把内存的数据以快照的形式保存到硬盘的二进制文件。即Snapshot快照存储,对应产生的数据文件为dump.rdb,通过配置文件中的save参数来定义快照的周期。# 快照的文件名dbfilename dump.rdb# 存放快照的目...

2018-05-15 18:08:57 274

原创 shiro整合springboot前后端分离

1、shiro配置package com.hisi.config;import java.util.LinkedHashMap;import java.util.Map;import javax.servlet.Filter;import org.apache.shiro.session.mgt.eis.MemorySessionDAO;import org.apache.shir...

2018-05-10 15:12:42 9934 3

原创 springboot项目后台部署运行

1、先把项目打成jar包,可以运行maven插件打包,maven install或者maven package打成一个jar2、生在的jar包会在项目的target目录下面,把它拷贝出来上传到linux服务器上,可以通过ftp工具,这里我使用的是sftp直接上传的3、在linux上直接运行jar包,就可以访问了,输入命令 java -jar complaint.jar 注意:这里直接执行的话,控制...

2018-04-27 12:49:05 28234 1

原创 Git分支管理

1、查看当前仓库的分支 *代表当前所在的分支$ git branch* master2、创建新分支并切换到新分支$ git checkout -b devSwitched to a new branch 'dev'      相当于$ git branch dev$ git checkout devSwitched to branch 'dev'3、修改dev分支的内容,记住要commit...

2018-04-11 21:19:58 117

原创 git远程仓库

1、创建公钥,先查看目录下有没有.ssh目录,没有则执行以下命令,找到id_rsa.pub 文件,在github上创建ssh公钥$ ssh-keygen -t rsa -C "[email protected]"有了ssh公钥我们才可以进行本地仓库和远程仓库的传输2、在github上创建一个repository2、关联本地仓库 这里使用的是刚才在github上创建的远程仓库,查看本地关联的...

2018-04-11 20:34:09 119

原创 git的基本使用

1、windows安装 下载地址,安装完成即可2、基本配置全局的(修改下本机的用户名和email)$ git config --global user.name "Your Name" $ git config --global user.email "[email protected]"3、创建版本库$ mkdir learngit$ cd learngit$ pwd/Users/mi...

2018-04-11 18:59:33 171

原创 springboot整合jpa的使用

1、在pom.xml中需要添加jpa的依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId></dependency>2、application.ym...

2018-03-31 19:53:43 4822

原创 java类加载的类加载器

1、系统提供的类加载器有三种1)启动类加载器(Bootstrap ClassLoader)在我们使用的hotspot版本java虚拟机中使用c++实现,无法被java程序员直接使用2)扩展类加载器(Extention ClassLoader)放在<JAVA_HOME>\lib\ext目录下,用来加载扩展的类3)应用程序类加载器(Application ClassLoader)负责加载用...

2018-03-25 19:53:06 216

原创 java类加载机制

1、Java的类加载需要经过7个过程,包括 加载、验证、准备、解析、初始化、使用、卸载。图例如下:2、加载:java虚拟机加载类的二进制字节流,然后在内存中生成一个java.lang.Class对象,作为方法区中访问该类各种元数据的入口3、验证:java虚拟机会验证字节码文件,确保Class文件的二进制字节流符合当前虚拟机的要求,不会危害到虚拟机的安全,主要包括字节码验证,元数据验证,文件格式验证...

2018-03-25 19:17:56 126

原创 java中io以及nio的基本案例

1、java中io和nio的区别个人理解,主要在于io是面向流,而nio是面向缓冲区的,io(bio)同步阻塞式的输入输出,而nio是同步非阻塞式的输出输出。2、io复制文件代码import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.Inp...

2018-03-23 18:43:42 681 1

原创 SpringAop中的jdk动态代理技术和cglib动态代理技术

1、Spring Aop中使用到了动态代理技术,对于jdk动态代理,要求必须代理接口,底层是java的反射机制,对于类,使用cglib字节码增强来动态代理2、设计模式中简单的代理模式实现3、jdk动态代理的实现方法import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang...

2018-03-23 18:24:27 284

原创 使用blockingqueue实现的简单生产者消费者模型

1、生产者消费者模型一般用于将复杂的业务逻辑异步化,多个线程来同时处理以提升系统的运行效率,典型的案例就是消息队列。2、这里我使用的是blockingqueue,java提供的一种阻塞队列的实现,用来简单的实现生产者消费者模型。3、生产者代码public class Producer implements Runnable { private BlockingQueue<String&g...

2018-03-23 14:10:50 1089

转载 Java 8的元空间

本文我们将会介绍JVM的一个更新,这就是持久代的移除。我们会介绍为什么需要移除持久代,以及它的替代者,元空间(metaspace)。这是上一篇文章内存管理之垃圾回收的续集。Java 6中的堆结构是这样的:持久代持久代中包含了虚拟机中所有可通过反射获取到的数据,比如Class和Method对象。不同的Java虚拟机之间可能会进行类共享,因此持久代又分为只读区和读写区。

2017-11-12 18:19:12 453

原创 java内存分区 jdk1.7之前

1、堆基本所有对象都在堆上被创建,而对象的声明在栈中,它存着堆上的引用。例如 Object object = new Object();object为对象的声明,存在虚拟机栈里面,新建的object对象存在于堆上面,包括类的成员变量。2、虚拟机栈虚拟机栈是线程私有的,不会出现线程安全问题,在sun公司提供的hotspot中和本地方法栈为一个栈,每次调用方法需要执行一个Frame(帧栈)的入栈到出栈...

2017-11-11 23:13:28 1048

原创 ConcurrentHashMap核心方法个人理解 jdk1.8

1、putVal() 底层:Node数组+链表+红黑树   发生hash冲突的时候,在该下标尾部添加新结点成为链表,链表的长度超过8则转换为红黑树1)判断key和value为null则抛出空指针异常2)通过二次hash计算出key对应的node节点数组下标3)如果数组未被初始化,调用初始化的函数4)如果对应下标的节点为null,表示该下标的没有节点,直接添加(这里使用了ca

2017-11-06 22:15:09 238

原创 volatile和ThreadLocal的理解

1、ThreadLocal是用于解决多线程共享类的成员变量,原理:在每个线程中都存有一个本地ThreadMap,相当于存了一个对象的副本,key为threadlocal对象本身,value为需要存储的对象值,这样各个线程之间对于某个成员变量都有自己的副本,不会冲突。例如:SimpleDateFormat不是线程安全的类,作为成员变量的时候会面临线程安全问题,这个时候我们需要为每一个线程本地保存一个...

2017-11-06 11:34:52 5979

原创 hashcode和equals

1、hashcode数据结构中的散列表,它的查询时间复杂度是O(1),在java中hashcode()方法是由Object类实现的本地方法,带有native关键字。public native int hashCode();2、hashcode一般在java中用于HashMap和HashSet(本质还是调用的hashMap的方法),为了快速的通过key查找到对应的value值。(可以去看ha

2017-11-03 11:45:50 165

原创 高并发下乐观锁的原理

1、首先有一张很简单的表(goods)id:主键用于用户通过id查询出商品title:商品的标题num:商品的数量version:该字段的作用下面再体现2、初始化一条数据insert into goods values(1,"手机",100,1);3、如果用户购买商品,高并发的情况下,可能会有很多用户读到的商品数量为1004、用户点击购买,商

2017-10-26 16:08:26 764

原创 tomcat配置热部署(maven插件配合热部署)

1、使用tomcat后台进行项目的热部署发布,访问http://ipaddr:80802、访问后台的时候我们需要进行登录验证,这里我们需要配置用户(如果访问了点击取消,会出现401未授权页面,上面有用户的相关配置)3、这里我们直接进行配置,步骤如下:1)找到这个文件 conf/tomcat-users.xml2)配置后台网页版用户的权限3)配置权限说明

2017-10-15 15:59:41 478 1

原创 maven配置tomcat插件

1、配置apache开源组织的tomcat插件 org.apache.tomcat.maven tomcat7-maven-plugin 2.2 / 8080 2、通过maven启动tomcatRun as -> maven build

2017-10-15 15:48:28 667

原创 maven配置资源拷贝

1、在执行maven编译的时候,如果我把mybatis的mapper.xml和java类文件放在一起,会导致xml文件不会被复制过去,可能就会报mybatis的unbind异常2、这个时候我们需要配置插件把配置文件都复制过去3、在maven中配置资源拷贝插件 org.apache.maven.plugins maven-resources-p

2017-10-15 15:20:37 4436

原创 maven配置jdk插件

1、maven配置jdk编译插件,修改项目中的pom.xml文件 org.apache.maven.plugins maven-compiler-plugin 3.2 1.8 1.8 UTF-8 2、

2017-10-15 15:09:49 1562

原创 购物车的实现思想

购物车的实现思路

2017-10-13 20:58:35 458

原创 jsonp的解决ajax跨域问题

jsonp的解决ajax跨域问题

2017-10-11 19:57:05 421

原创 sso单点登录

sso单点登录

2017-10-11 19:15:14 288

原创 nginx搭建反向代理和负载均衡

nginx搭建反向代理和负载均衡

2017-10-10 18:53:30 243

空空如也

空空如也

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

TA关注的人

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