自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码上追梦

普通人也有大大的梦想!!!

  • 博客(36)
  • 资源 (14)
  • 收藏
  • 关注

原创 Git配置多个ssh key

简介Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。Git使用的是ssh协议基于密钥的安全验证,即需要使用ssh-keygen生成一对密钥(公钥和私钥),将公钥添加到gitlab中或者github中即可。平时不注意都是工作和学习的密钥共用,这样不太好,于是便学习了如何配置多个ssh key,使用这篇文章记录一下。准备...

2018-09-30 10:04:41 1108

原创 Linux命令:alias

简介alias命令用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化。使用alias时,用户必须使用单引号’'将原来的命令引起来,防止特殊字符导致错误。在开发中时常要进入centos服务器某些比较深的目录,每次cd比较烦,后来在网上发现了alias命令,可以设置别名,这样就可以使用一个命令进入想要进的目录了。常用参数显示当前设置的别名# 两个都可以aliasalias...

2018-09-27 21:40:17 1043

原创 详解Java中的CLASSPATH

背景某天做项目,是最普通的maven项目,但是打包的时候需要将资源文件打包到jar外,这样修改配置的时候就不用每次都要重新编译打包了,但是项目运行时就出现了问题了,怎么读取资源文件呢,或许你会说使用绝对路径,那么如果不知道项目部署在哪呢,需要保持项目和资源文件的相对路径不变呢?网上查了一番,需要将CLASSPATH中加上资源文件的路径,那么问题又来了,什么是CLASSPATH呢?过两天,又在写...

2018-09-14 18:19:45 2016

转载 OSI七层参考模型知识图谱

图片来源:网络

2018-09-13 19:17:57 498

转载 网络协议知识图谱

转自极客学院

2018-09-13 19:12:04 1030

原创 Nginx配置(4) 负载均衡配置

简介终于到了负载均衡这一步了,这是Nginx反向代理功能中非常重要的一部分。那么什么是负载均衡呢?维基百科中的解释,负载平衡(Load balancing)是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁碟驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。 使用带有负载平衡的多个伺服器组件,取代单一的组件,可以通过冗余提高...

2018-08-25 15:30:07 1026 2

原创 Nginx配置(3) Proxy Buffer配置

简介什么是Proxy Buffer呢,我理解为缓存区,因为Nginx是作为客户端和服务端通信的桥梁,那么被代理服务器必然会将响应返回给Nginx,那么Nginx是同步的将接受到的响应发送给客户端,还是等接受到被代理服务器的响应到一定程度,一下返回给客户端呢,那么这就需要 Proxy Buffer的配置了,另外提一下,Proxy Buffer的配置不是全局的,而是每个请求都会按照这些指令的配置来...

2018-08-23 21:23:34 4663

原创 Nginx配置(2) 代理配置

前言Nginx的基本配置讲完了,那么感觉平时用的都没讲到啊,代理,负载均衡,缓存,重定向以及常见的https配置,接下来我们就来看一看代理部分代理配置正向代理和反向代理的区别:正向代理隐藏真实客户端,反向代理隐藏真实服务端,上张网上的图,生动形象 正向代理正向代理一般用的不多server{ resovler 8.8.8.8 vaild=30s; ...

2018-08-22 19:19:47 1055

原创 Nginx配置(1) 基本配置

简介Nginx是一个Web服务器,同时也能够用作反向代理,负载均衡器,HTTP缓存,邮件服务器等特点(1) Nginx使用异步事件驱动的方法来处理请求。Nginx的模块化事件驱动架构可以在高负载下提供更可预测的性能 (2) Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。与旧版本(<=2.2)的Apache不同,...

2018-08-22 16:42:15 447

原创 排序算法:选择排序之直接选择排序

介绍1.直接选择排序的思路是: 每一趟从待排序的的元素中取出最大或者最小的元素,排在已经排好序的子表的最后,直到所有元素都排好序。 2.直接选择排序适合从大量元素中选择一部分排序元素,如从100个元素取出前10排好序的元素分析下面我以简单的[1, 4, 2, 8, 5, 3]为例,画图解释一下 代码public static void selectSort(int[...

2018-07-29 17:59:59 515

原创 排序算法:交换排序之冒泡排序

介绍1.冒泡排序同样属于交换排序 2.冒泡排序的基本思路为: 比较相邻元素的大小,如果元素大于(小于也行,看你要从大到小,还是从paixun小到大)下一个元素,则交换,然后比较下一个元素和下下一个元素,这样一次的冒泡排序就会使一个最大值(最小值)排在顶端,如果总共有n个元素,那么只需n-1次(这个可以优化,待会会讲)这样的冒泡排序就可以将所有元素排序分析下面我以简单的[1, 4...

2018-07-29 13:49:33 212

原创 JDK源码学习(三) LinkedList

注意:基于JDK1.8位置 java.util.LinkedList介绍public class LinkedList<E> extends AbstractSequentialList<E> implements

2018-07-21 01:49:15 298

原创 二分搜索算法

背景公司里每次面试必然有二分查找,平常想想,觉得挺简单也就没动手写,今天想起来决定写篇博客加强记忆。(纸上得来终觉浅,绝知此事要躬行)介绍二分搜索算法,也称折半搜索,是在一个有序数组中搜索某一特定值的搜索算法。大致过程为:从数组中间开始搜索,如果数组中间元素正好等于该特定值,则搜索结束;如果该特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元...

2018-07-18 23:42:13 826

原创 iptables配置

简介iptables其实不是真正意义上的软件防火墙,它是一个客户端代理,将用户设定的安全规则给真正的防火墙netfilter,让其执行。netfilter是Linux操作系统的一个数据包处理模块,有以下几个功能: 1. NAT 2. 数据包内容修改 3. 数据包过滤iptables常见概念为了便于理解,将常用的概念列出来 1. 匹配(match):符合指定的条件,比如指定的 I...

2018-07-18 00:07:43 287

原创 JDK源码学习(二) ArrayList

位置java.util.ArrayList介绍public class ArrayList extends AbstractList< E > implements List, RandomAccess, Cloneable, java.io.Serializable说到Java的集合,估计大部分人第一个想到的就是ArrayList,从名字可以推测ArrayL

2018-07-09 10:05:52 254

原创 栈的应用:表达式求值

背景在写这篇博客之前让我想到了一年多以前去小米面试,就是这道面试题让我挂了,后来听同事说这不就是数据结构里的例题吗,后来一看还真是,不过书里不太完整,看了几篇博客,学习了下解决方法,但是写的还是不太完美,不知道读者你有没有更优雅的代码,废话不多说开始学习吧。介绍栈大家都知道,一种先进后出的数据结构,可以自己使用线性表实现(数组,链表)。这篇写的是栈的应用,一般有两个,一个是迷宫问题...

2018-07-03 23:45:13 2937

原创 排序算法:交换排序之快速排序

介绍1.快速排序属于交换排序(如果发现元素次序相反,则交换元素位置),而交换排序是属于内排序一种,内排序即所有数据都存在内存中,与外排序不一样,这个后续文章再说。 2.快速排序采用分而治之的思想,每次找到一个元素,将所有元素与之对比,将小于该元素的元素放在左边,大于则放在右边(方向可以不同,这里只是举个例子),这样再从左边的这堆元素中,按照刚刚同样的方法操作,右边也同样,就这样一直递归下去,...

2018-06-23 14:55:35 872

原创 LeetCode 只出现一次的数字

题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1] 输出: 1 示例 2:输入: [4,1,2,1,2] 输出: 4解答class Solution { public int singleNu...

2018-06-22 19:04:36 243

原创 LeetCode 存在重复

题目给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1] 输出: true 示例 2:输入: [1,2,3,4] 输出: false 示例 3:输入: [1,1,1,3,3,4,3,2,4,2] 输出: true解答class Sol...

2018-06-21 22:47:43 303

原创 LeetCode 旋转数组

题目给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步: [6,7,1,2,3,4,5] 向右旋转 3 步: [5,6,7,1,2,3,4] 示例 2:输入: [-1,-...

2018-06-21 18:19:33 333

原创 LeetCode 买卖股票的最佳时机 II

题目给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4] 输出: 7 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖...

2018-06-16 21:05:13 256

原创 LeetCode 删除排序数组中的重复项

题目给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。 示例...

2018-06-14 21:56:19 223

原创 JDK源码学习(一) Object

位置 java.lang.Object介绍public class Object Object为所有类的根类,所有的类都将Object类作为父类,每个对象(包括数组)都实现了Object类的方法方法摘要构造方法Object() 默认无显式构造方法普通方法private static native void registerNativ...

2018-06-13 22:07:50 295

原创 JDK源码学习

背景介绍 最近打算把未填的坑都填上,一直想着要学习JDK源码,看别人博客看了一点就半途而废,也一直想着自己写一些JDK源码的博客,但是始终都想着等把语言组织好才写,明日复明日,虽然还年轻,但是时间总是一眨眼就过去了。我不想再等待,从现在开始,开启我的JDK源码学习系列。版本选择 基于JDk 1.8涉及范围 学习范围涉及 1.java.util 2.j...

2018-06-13 16:02:39 1252

原创 supervisor使用方法

背景自己做个python小项目,发现公司都是使用supervisor管理项目的运行状态,因此学习一下介绍Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动、重启、关闭进程(不仅仅是 Python 进程)。除了对单个进程的控制,还可以同时启动、关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被...

2018-04-28 13:03:17 3192 1

原创 Git常用操作

本地项目关联远程仓库在GitHub上创建一个空项目进入本地项目的目录,初始化项目为Git项目git init将本地项目与远程仓库关联git remote add origin [email protected]:hongyangliao/test.gitorigin为远程仓库别名,[email protected]:hongyangliao/test.git为远程仓...

2018-04-03 23:37:45 118905

原创 使用jjwt实现jwt

背景介绍项目中使用了Spring Boot,由于是微服务架构,现在不想使用Session来存储用户登录状态 (session是基于cookie实现的)态,选择JWT来存储用户ID,作为身份认证的凭证.JWT介绍(Json Web Token)Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519).该token

2018-02-06 19:32:19 120637

原创 tomcat用户配置

进入Tomcat目录下conf/tomcat-users.xml1.Tomcat6配置管理员信息 在配置文件节点下添加 2.Tomcat7配置管理员信息 在配置文件节点下添加

2018-01-31 09:32:24 118752

原创 tomcat部署项目

第一种方式将项目打包成war,然后放入tomcat根目录/webapps下,启动tomcat,tomcat自动将war解压,然后删除war包,或者之间放入项目编译后的文件第二种方式项目放在任意目录,如/apps/hello-world 在tomcat根目录/conf中的server.xml的节点中加入 第三种方式(推荐)项目放在任意目录,如/ap

2018-01-31 09:32:01 118822

原创 SpringCloud 微服务 开发步骤

参考:http://blog.didispace.com/springcloud1/ 创建一个基础的Spring Boot工程,每个项目都需加上SpringCloud的依赖 使用的是Brixton版本parent> groupId>org.springframework.bootgroupId> artifactId>spring-boot-starter-parent

2018-01-30 10:48:37 122231

原创 SpringBoot整合Mybatis时使用Druid数据库连接池

在SpringBoot项目中,增加如下依赖 dependency> groupId>org.mybatis.spring.bootgroupId> artifactId>mybatis-spring-boot-starterartifactId> version>1.1.1version>

2018-01-30 10:47:30 123763 1

原创 mysql数据库设置utf-8编码

修改/etc/my.cnf或者/etc/mysql/my.cnf文件[client]default-character-set = utf8[mysqld]default-storage-engine = INNODBcharacter-set-server = utf8collation-server = utf8_general_ci重启mysql,使用mysql客户

2018-01-30 10:25:05 125958

原创 mysql导出、导入

mysql导出数据库、表1.导出数据和表结构# mysqldump -u用户名 -p密码 数据库名 > 文件名.sql2.导出单表数据核单表# mysqldump -u用户名 -p密码 数据库名 表名 > 文件名.sql3.只导出表结构mysqldump -u用户名 -p密码 -d 数据库名 > 文件名.sqlmysql导出sql文件1.首先创建数据

2018-01-30 10:24:10 118669

原创 slf4j+logback配置详解

近来在重构项目,原有项目日志部分使用SpringBoot的默认配置默认情况下,Spring Boot会用Logback来记录日志,如果依赖了spring-boot-starter或者spring-boot-starter-logging则使用在spring-boot-1...RELEASE.jar下org/springframework/boot/logging/logback中的base.x

2018-01-30 10:23:06 119558

原创 Linux常见操作

注意事项:基于centos6修改密码 passwdpasswd 作为普通用户和超级权限用户都可以运行,但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定;如果root用户运行passwd ,可以设置或修改任何用户的密码passwd 命令后面不接任何参数或用户名,则表示修改当前用户的密码修改主机名 hostname1.使用hostn

2018-01-30 10:21:37 118834

原创 Centos6.5服务器安装

关闭安全子系统sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/configsetenforce 0安装wgetyum -y install wget更改默认镜像为阿里镜像cd /etc/yum.repos.d && mv CentOS-Base.repo CentO

2018-01-30 10:18:52 119429

牛人整理传智播客JavaEE笔记

牛人整理传智播客JavaEE笔记,包括java中级部分,以及java高级部分

2016-12-23

Java很全的思维导图 图片

很全的java思维导图,有JavaSE,JavaWeb的,可以概括学过的知识,进行一场大脑风暴吧,图片版的,你值得拥有。

2016-12-15

JavaEE完全教程

javaEE入门教程,适用于初学者,主要介绍j2ee各个插件及层次,由浅入深通俗易懂

2016-11-26

w3cschool菜鸟教程离线文档

菜鸟教程的离线版,不用再联网看菜鸟教程了。

2016-11-26

Java解惑中文扫描版

该书特写了95个有关Java或其类库的陷阱和缺陷的谜题,其中大多数谜题都采用了短程序的方式,这些程序的行为与其看似的大相径庭。在每个谜题之后都给出了详细的解惑方案,这些解惑方案超越了对程序行为的简单解释,向读者展示了如何一劳永逸地避免底层的陷阱与缺陷。[

2016-10-22

Java虚拟机规范第七版 中文版

对于想了解 Java 虚拟机的程序员来说,《Java 虚拟机规范》是必须阅读的,对于想深入了解 Java 语言细节的程序员,阅读《Java 虚拟机规范》也有极大好处.

2016-10-22

Android移动应用开发从入门到精通

《Android移动应用开发从入门到精通》涵盖了Android开发从概念、技术到市场推广应用的全部话题,内容包括:Android概览、Android应用程序设计精髓、Android用户界面设计精髓、常用AndroidAPI、更多Android应用程序设计原则、对外发布你的Android应用程序和附录等7个部分。附录还包含了Android开发常用工具(如模拟器、DDMS、调试桥和SQLite等)的使用指南。 《Android移动应用开发从入门到精通》不仅适合Android应用程序开发人员阅读,还能为QA测试人员提供指导。另外《Android移动应用开发从入门到精通》还可以帮助项目经理更好地管理项目进程和项目团队,帮助市场推广人员更好地把握市场、创造令人瞩目的销售业绩。

2016-08-07

50道Java编程题

50道Java编程题

2016-08-02

张孝祥java就业面试宝典

张孝祥java就业面试宝典

2016-08-02

黑马Android面试题整理

黑马程序员内部整理的Android面试题。

2016-08-02

深入理解Java虚拟机

《深入理解Java虚拟机:JVM高级特性与最佳实践》编辑推荐:围绕内存管理、执行子系统、编程编译与优化、高效并发等核心内容对JVM进行全面而深入的分析,深刻揭示JVM的工作原理;注重实现,以解决实践中的疑难问题为首要目的,包含大量经典案例和最佳实践。

2016-07-23

空空如也

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

TA关注的人

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