自定义博客皮肤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)
  • 资源 (1)
  • 收藏
  • 关注

转载 Canal监听binlog

MySQL binlogMySQL主从复制mysql服务端修改配置并重启 123456789101112 $ vi /etc/my.cnf[mysqld]log-bin=mysql-binbinlog-format=ROWserver_id=1$ mysql -urootCREATE USER canal IDENT...

2018-10-29 15:49:58 4127

转载 Centos7中systemctl命令详解

LinuxSystemctl是一个系统管理守护进程、工具和库的集合,用于取代System V、service和chkconfig命令,初始进程主要负责控制systemd系统和服务管理器。通过Systemctl –help可以看到该命令主要分为:查询或发送控制命令给systemd服务,管理单元服务的命令,服务文件的相关命令,任务、环境、快照相关命令,systemd服务的配置重载,系统开机关机相关的命...

2018-09-28 14:23:14 303

原创 非root用户安装python第三方模块

非root在使用easy_install package_name的时候,将会报“Permission denied”的错误,这是因为python模块默认的安装路径是/usr/local/lib/python2.7/dist-packages/,这是系统路径,需要root权限。但是,用户可以设置自己的site-packages目录,该路径是~/.local/lib/python2.7/site...

2018-07-26 20:56:55 1806

转载 Servlet工作原理解析之启动

目录  ---写在前面---Servlet的使用与侧重点---Servlet的工作原理a---Servlet容器怎样工作(以Tomcat为例)b---Web应用在servlet容器中如何启动c---Servlet容器怎样解析web.xml中定义的servletd---Servlet容器怎样管理servlet生命周期e---用户的请求是

2018-03-09 17:17:46 2193

原创 Mysql命令

cmd进入mysql安装包bin目录或者直接在cmd命令下(前提是环境变量中配有mysql配置,安装mysql时时默认会直接配置到环境变量中)运行:mysqldump -uroot -proot vsmp>d:vsmp.sql回车即可,后面不要加分号,此时导出的为数据库中所有的数据。 c:mysqldump -d -uroot -proot vsmp>d:vsmp.sql 导出的为数据...

2018-02-26 16:15:28 181

转载 在 CentOS7 上安装 MySQL5.7

1 通过 SecureCRT 连接到阿里云 CentOS7 服务器;2 进入到目录 /usr/local/ 中:cd /usr/local/3 创建目录 /usr/local/tools,如果有则忽略: mkdir -p tools4 创建 /usr/local/mysql 目录,如果已存在则忽略:mkdir -p mysql5 进入到目录 /usr/l

2018-02-11 22:47:32 161

转载 CentOS7下搭建java开发环境(JDK+Tomcat+MySQL)

安装JDK选择合适的tar.gz压缩包JDK下载,意思就是搞清楚是下32位还是64位的,可以看这个cd /usr 在usr文件下下新建java文件夹,将下载好的JDK压缩包放在/usr/java路径下cd /usr/java解压 tar -zxvf jdk-8u151-linux-x64.tar.gz删除压缩包 rm -rf jdk-8u151-linux-x64.tar.gz配置环境变量 vi ...

2018-02-11 21:01:00 250

转载 Redis主从复制

概述一般来说,要将Redis运用于工程项目中,只使用一台Redis是万万不能的,原因如下:从结构上,单个Redis服务器会发生单点故障,并且一台服务器需要处理所有的请求负载,压力较大;从容量上,单个Redis服务器内存容量有限,就算一台Redis服务器内容容量为256G,也不能将所有内容用作Redis存储内存,一般来说,单台Redis最大使用内存不应该超过20G。本文先讨论第一点的解决方案:Red...

2018-02-11 11:15:08 198

转载 JVM 类加载机制

如下图所示,JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。加载加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个Class文件获取,这里既可以从ZIP包中读取(比如从jar包和war包中读取),也可以在运行时计算

2018-01-31 09:08:30 151

转载 深入理解 Java 垃圾回收机制

一:垃圾回收机制的意义java  语言中一个显著的特点就是引入了java回收机制,是c++程序员最头疼的内存管理的问题迎刃而解,它使得java程序员在编写程序的时候不在考虑内存管理。由于有个垃圾回收机制,java中的额对象不在有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存; 内存泄露:指该内存空间使用完毕后未回收,在不涉及复杂数据结构

2018-01-31 08:46:41 205

转载 mysql数据库原理分析

一提到关系型数据库,我禁不住想:有些东西被忽视了。关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradata 。但很少有文章讲解数据库是如何工作的。你可以自己谷歌/百度一下『关系型数据库原理』,看看结果多么的稀少【译者注:百度为您找到相关结果约1,850,000个…】 ,而且找到的那些文章都很短。现在如果你查找最近时髦的技术(大数据、NoSQL或JavaScript

2018-01-30 12:08:01 7191

转载 Mysql原理知识全解

一提到关系型数据库,我禁不住想:有些东西被忽视了。关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradata 。但很少有文章讲解数据库是如何工作的。你可以自己谷歌/百度一下『关系型数据库原理』,看看结果多么的稀少【译者注:百度为您找到相关结果约1,850,000个…】 ,而且找到的那些文章都很短。现在如果你查找最近时髦的技术(大数据、NoSQL或JavaScript

2018-01-29 22:57:29 406

转载 JVM 之内存结构

前言我一直尝试着用不一样的文字来写博客!原因很简单,你讲的知识书上都有,那么每个人为什么不选择看书而选择看你的博文来学习呢?因为书上的内容都是大片大片描述性的文字,对于jvm这块的知识,又是异常枯燥,但又不能不学习的硬骨头!这恰好也就能说明Head First系列的书籍为什么比较火的原因,每个人接收图形知识的速度往往比文字性的东西要快很多。今后我也会尝试用自己的特色来写博客,尽量能引起读者

2018-01-28 21:34:51 394

转载 Java中如何中断线程?

终止线程的三种方法: 1. 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。  2. 使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend、resume一样,也可能发生不可预料的结果)。 3. 使用interrupt方法中断线程。使用退出标志终止线程监视某些条件,结束线程的不间断运行。当run方法执行完后,线程就会退出。但有时r

2018-01-28 19:55:00 329

原创 Thumbnailator使用介绍

Thumbnailator是一个用来生成图像缩略图的 Java类库,通过很简单的代码即可生成图片缩略图,也可直接对一整个目录的图片生成缩略图。而不需要费劲儿用java image来做了。

2017-02-13 11:49:02 562

转载 app与后台的token、sessionId、RSA加密登录认证与安全解决方案

一、登录机制粗略地分析, 登录机制主要分为登录验证、登录保持、登出三个部分。登录验证是指客户端提供用户名和密码,向服务器提出登录请求,服务器判断客户端是否可以登录并向客户端确认。 登录认保持是指客户端登录后, 服务器能够分辨出已登录的客户端,并为其持续提供登录权限的服务器。登出是指客户端主动退出登录状态。容易想到的方案是,客户端登录成功后, 服务器为其分配sessionId, 客户端随后每

2016-12-23 17:26:30 764

原创 Base64编码原理

遇到的问题:将昵称设置为表情符入库时出错,原因:数据库编码格式为utf-8.解决方案:1、将数据库编码格式改为utf8mb4;(该方法不太好,需要修改数据库编码格式)2、将昵称编码后再入库; 通过Base64编码后的长度会增加1/4,(编码对象为字节数组)。所以对于昵称,如果限制长度为16,因为字母、数字占1个字节,汉字占3个字符,表情占4个字符,所以编码后的长度需要限定为:16*

2016-12-02 11:08:22 418

转载 maven之插件仓库

和依赖构件一样,插件构件同样可以基于坐标存储在maven仓库中,机制也和依赖构件差不多:现在本地仓库中寻找插件,如果不存在,则从远程仓库查找,找到之后再下载到本地仓库供以后使用。插件仓库的配置是根据pluginRepositories和pluginRepository元素进行配置,而依赖构件的配置是根据repositories和repository元素进行配置(都是在pom文件中)。

2016-12-01 16:20:40 3850

转载 在Maven中,仓库就是存放依赖和插件的地方

在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库。(仓库就是存放依赖和插件的地方)任何的构件都有唯一的坐标,Maven根据这个坐标定义了构件在仓库中的唯一存储路径,解读Maven在仓库中的存储路径:1.基于groupId准备路径,将句点分隔符转成路径分隔符,就

2016-12-01 16:12:29 3994

转载 Maven详解之聚合与继承

说到聚合与继承我们都很熟悉,maven同样也具备这样的设计原则,下面我们来看一下Maven的pom如何进行聚合与继承的配置实现。一、为什么要聚合?随着技术的飞速发展和各类用户对软件的要求越来越高,软件本身也变得越来越复杂,然后软件设计人员开始采用各种方式进行开发,于是就有了我们的分层架构、分模块开发,来提高代码的清晰和重用。针对于这一特性,maven也给予了相应的配置。

2016-12-01 15:06:00 370 1

转载 maven详解之坐标与依赖

看着简单而又复杂的pom.xml文件,看似熟悉,当自己编写的时候觉得简单,但是看人家项目的时候又觉得复杂的很,现在我们一起来分析这个pom文件。Maven的坐标为各种构件引入了秩序,任何一个构件都必须明确的定义自己的坐标,maven的坐标包括如下的元素:groupId: 定义当前Maven项目隶属的实际项目artifactId: 该元素定义实际项目中的一个Mav

2016-12-01 11:03:36 290

转载 maven详解之生命周期与插件(二)

插件配置定义解释:插件目标当我们了解了maven插件之后,我们发现如果为每一个功能编写一个独立的插件显然是不可取的,因为这些任务背后有很多可以复用的代码,因此,把这些功能聚集在一个插件里,每一个功能我们就称之为一个插件目标。举个例子:maven-dependency-plugin有十多个目标,每个目标对应了一个功能分析项目依赖:dependenc

2016-11-29 19:35:24 285

转载 maven详解之生命周期与插件(一)

Maven是一个优秀的项目管理工具,它能够帮你管理编译、报告、文档等。Maven的生命周期:maven的生命周期是抽象的,它本身并不做任何的工作。实际的工作都交由"插件"来完成。maven的每个构建步骤都可以绑定一个或多个插件行为,而且maven为大多数的构建步骤编写并绑定了默认插件。三套生命周期:clean、default、site

2016-11-29 16:23:24 277

转载 Java开发中的23种设计模式总结

一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式

2016-10-07 21:02:38 567

转载 [高并发Java 四] 无锁

摘要本系列基于炼数成金课程,为了更好的学习,做了系列的记录。 本文主要介绍: 1.无锁类的原理详解 2.无锁类的使用在[高并发Java 一] 前言中已经提到了无锁的概念,由于在jdk源码中有大量的无锁应用,所以在这里介绍下无锁。1 无锁类的原理详解1.1 CASCAS算法的过程是这样:它包含3个参数CAS(V,E,N)。V表示要更新的变量,E表示预期值,N表

2016-09-08 11:15:49 541

转载 [高并发Java 三] Java内存模型和线程安全

网上很多资料在描述Java内存模型的时候,都会介绍有一个主存,然后每个工作线程有自己的工作内存。数据在主存中会有一份,在工作内存中也有一份。工作内存和主存之间会有各种原子操作去进行同步。下图来源于这篇Blog但是由于Java版本的不断演变,内存模型也进行了改变。本文只讲述Java内存模型的一些特性,无论是新的内存模型还是旧的内存模型,在明白了这些特性以后,看起来也会更加清晰。1

2016-09-08 09:34:58 468

转载 [高并发Java 二] 多线程基础

1. 什么是线程线程是进程内的执行单元某个进程当中都有若干个线程。线程是进程内的执行单元。使用线程的原因是,进程的切换是非常重量级的操作,非常消耗资源。如果使用多进程,那么并发数相对来说不会很高。而线程是更细小的调度单元,更加轻量级,所以线程会较为广泛的用于并发设计。在Java当中线程的概念和操作系统级别线程的概念是类似的。事实上,Jvm将会把Java中的线程映射到操作系统

2016-09-07 17:42:16 445

转载 [高并发Java 一] 前言

摘要本系列基于炼数成金课程,为了更好的学习,做了系列的记录。 本文主要介绍 1.高并发的概念,为以后系列知识做铺垫。 2.两个重要的定理1、关于高并发的几个重要概念1.1 同步和异步首先这里说的同步和异步是指函数/方法调用方面。很明显,同步调用会等待方法的返回,异步调用会瞬间返回,但是异步调用瞬间返回并不代表你的任务就完成了,他会在后台起个线程继续进行任务。

2016-09-07 16:06:39 315

转载 大型网站架构技能图谱(Java版)

2016-09-07 14:40:41 318

转载 Kafka之入门

一、入门1.    简介Kafka is a distributed, partitioned, replicated commit log service。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实

2016-09-01 14:27:35 354

转载 Kafka安装配置(集群模式)

kafka下载:https://www.apache.org/dyn/closer.cgi?path=/kafka/0.8.1/kafka_2.10-0.8.1.tgz分别在三台服务器上安装kafka:tar zxvf kafka_2.10-0.8.1.tgz修改每台服务器的config/server.properties broker.id:  唯一,

2016-08-30 11:04:15 622

转载 分布式消息系统Kafka初步

Kafka集群配置比较简单,为了更好的让大家理解,在这里要分别介绍下面三种配置单节点:一个broker的集群单节点:多个broker的集群多节点:多broker集群一、单节点单broker实例的配置1.首先启动zookeeper服务Kafka本身提供了启动zookeeper的脚本(在kafka/bin/目录下)和zookeeper配置文件(在kafk

2016-08-30 10:57:21 385

转载 Arrays.asList引起的惨案

最近代码中需要对两个数组求交,想当然便用到了List中的retainAll函数,但要将将数组转换成list。代码如下:String[] abc = new String[] { "abc", "acd", "add" };String[] abd = new String[] {"acd", "cd", "de"};List abcList = Arrays.asList(ab

2016-07-14 16:15:08 242

转载 Java追加文件内容的三种方法

import java.io.BufferedWriter;  import java.io.File;  import java.io.FileOutputStream;  import java.io.FileWriter;  import java.io.IOException;  import java.io.OutputStreamWriter;  import 

2016-07-09 14:54:26 528

转载 读取Java文件到byte数组的三种方式

package zs;    import java.io.BufferedInputStream;  import java.io.ByteArrayOutputStream;  import java.io.File;  import java.io.FileInputStream;  import java.io.FileNotFoundException;  i

2016-07-09 14:47:34 1621

转载 InputStreamReader和OutputStreamWriter的用法

首先说明下字节流和字符流:FileReader,FileWriter 是读字符的,1个字符是2个字节,16位OutputStream ,InputStream是读字节的,1个字节是8位如果要读汉字,一个汉字是2个字节,用InputStream读就把汉字折成两半,不太适合吧。字符流主要读文本效率比较高。字节流主要读二进制文件,图片 ,音频,视频等,就是为了防止出现读取

2016-07-09 13:57:13 331

转载 Java 中InputStream与Reader的区别

java.io下面有两个抽象类:InputStream和ReaderInputStream是表示字节输入流的所有类的超类Reader是用于读取字符流的抽象类InputStream提供的是字节流的读取,而非文本读取,这是和Reader类的根本区别。即用Reader读取出来的是char数组或者String ,使用InputStream读取出来的是byte数组。弄清了两个超类的根本区

2016-07-09 11:04:44 216

转载 [Java]读取文件方法大全

1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容 public class ReadFromFile {    /**     * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。     */    public static void readFileByBytes(String fileN

2016-07-09 10:21:37 264

转载 Java中的IO流知识总结(转)

总结一:Java IO的一般使用原则:一、按数据来源(去向)分类:1、是文件: FileInputStream, FileOutputStream, FileReader, FileWriter2、是byte[]:ByteArrayInputStream, ByteArrayOutputStream3、是Char[]: CharArrayReader

2016-07-08 14:59:02 718

转载 Java读文件写文件操作

这里,Java的读文件和写文件都是基于字符流的,主要用到下面的几个类:1、FileReader----读取字符流2、FileWriter----写入字符流3、BufferedReader----缓冲指定文件的输入该类的方法有:void close()         关闭该流。  void mark(int readAheadLimit)         标记流中的

2016-07-08 10:53:49 285

url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介

解决url传递中文乱码问题,解决后台接收到的汉字是乱码的

2016-03-03

空空如也

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

TA关注的人

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