自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (5)
  • 收藏
  • 关注

原创 IO总结 - 同步 异步 阻塞 非阻塞

IO总结 - 同步 异步 阻塞 非阻塞开发过程中总避免不了IO,但是IO有那么多种,同步、异步、阻塞、非阻塞等等,到底区别在哪呢?本篇讨论的IO特指Linux系统中的Network IO。常见IO模型:blocking IOnon-blocking IOIO multiplexingAsynchronous I/O一个Network IO(以read操作为例)操作,涉...

2018-04-10 15:45:37 362

原创 Elasticsearch 6.2.3 head插件和elasticsearch-sql插件安装

Elasticsearch 6.2.3 head插件和elasticsearch-sql插件安装目录Elasticsearch 6.2.3 head插件和elasticsearch-sql插件安装1.安装Elasticsearch 6.2.32.安装head插件安装elasticsearch-sql插件1.安装Elasticsearch 6.2.3首先需要安装J...

2018-04-03 10:21:49 5011

原创 Java 导出MySQL数据库

Java 导出MySQL数据库核心命令mysqldump -uusername -ppassword -hhost -Pport exportDatabaseName > exportPathJava 执行ShellRuntime.getRuntime().exec(commands);直接执行上述命令, 无法解析重定向符号 >,所以使用以下方式St...

2018-03-01 16:09:07 607

原创 发布本地Docker镜像到阿里云的Docker Hub

发布本地Docker镜像到阿里云的Docker Hub在使用Docker时,有时需要制作自己的Docker镜像,这些镜像可以保存到不同的Docker Hub中,包括Docker官方的和国内的一些Hub,比如阿里云。同时,也可以使用阿里云的Docker Hub来加速镜像的拉取速度。安装Docker参考官方文档:https://docs.docker.com/配置镜像加速器

2018-01-06 12:55:19 14809

原创 CentOS EPEL yum源

CentO EPEL yum源用yum安装软件时,经常发现我们的yum源里面没有该软件,比如htop。网上查到的一个方案是需要自己去wget源码,然后configure,make,make install,总体比较麻烦。其实,CentOS还有一个源叫做 EPEL (Extra Packages for Enterprise Linux),为“红帽系”的操作系统提供额外的软件包,适用于RHE

2018-01-06 11:26:09 21116 2

原创 SSH 反向隧道 内网穿透,AutoSSH自动重连

SSH 反向隧道 内网穿透,AutoSSH自动重连1. SSH反向隧道通常家用的宽带没有公网IP,运营商现在都分配的是内网IP。这样,公网上的机器就无法直接访问到内网的机器。SSH具有建立反向隧道的能力,进行内网穿透,前提是我们有一台有公网IP的机器,假设机器情况如下: 机器 网络 IP 端口 A 公网 114.114.114.114 80 B 内网 192

2017-11-25 10:31:11 17174 2

原创 IDEA can not download source问题

IDEA can not download source问题有时候用IDEA无法下载源码,可以在命令行项目根目录下,执行如下命令下载:mvn dependency:resolve -Dclassifier=sources

2017-11-24 13:35:54 23365 5

原创 springboot整合mybatis

springboot整合mybatisspringboot推荐无xml配置,之前使用mybatis时会使用很多xml的mapping配置,此次结合springboot研究了一下无xml的方式,使用MyBatis Generator生成model,dao。1. 配置MBG插件<!-- 自动生成代码 插件 begin --><plugin> <groupId>org.mybatis.gener

2017-11-23 00:54:42 245

原创 搭建基于https和Parse的后端服务

搭建基于https和Parse的后端服务1. 概述本例搭建基于https和Parse的后端服务,可以提供给客户端APP,微信小程序等使用。Parse是一个开源的BaaS(Backend as a Service)组件,它提供了包括存储在内的各种后端能力,可以快速的搭建一个比较通用的后端服务,使单纯的前端开发者也能独立的完成一个应用的开发。本例所使用的软硬件包含如下: 1. 阿里云ECS云服务器

2017-11-05 00:53:05 2143

原创 nodejs forever服务器管理模块

nodejs forever服务器管理模块1. forever介绍forever是一个简单的命令式nodejs的守护进程,能够启动,停止,重启App应用。forever完全基于命令行操作,在forever进程之下,创建node的子进程,通过monitor监控node子进程的运行情况,一旦文件更新,或者进程挂掉,forever会自动重启node服务器,确保应用正常运行。2. forever安装全局安装

2017-11-01 14:24:58 1283

原创 lsof 查看端口占用

lsof 查看端口占用在Mac OS系统中,无法使用netstat来查看端口占用情况,可以使用lsof来代替,这种方式在Linux下也适用。sudo lsof -nP -iTCP:端口号 -sTCP:LISTEN-n 表示不显示主机名-P 表示不显示端口俗称不加 sudo 只能查看以当前用户运行的程序查看指定端口以及对应的Command和PID:lsof -nP -iTCP:8080 -sT

2017-11-01 13:56:08 9746

原创 Git多SSH账号管理

1. 生成本地密钥生成github公私钥:ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/id_rsa_github生成公司gitlab公私钥:ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/id_rsa_gitlab如果提示ssh-keygen找不到:ssh-keygen: command no

2017-10-24 10:50:29 2419

原创 Java国际化

1. 基本概念“国际化”也称为“本地化”,一般需要两个条件来确定,它们分别是“语言类型”和“国家/地区的类型”。如中文本地化既有中国大陆地区的中文,又有中国台湾、中国香港地区的中文,还有新加坡地区的中文。Java通过 java.util.Locale 类表示一个本地化对象,它允许通过 语言参数 和 国家/地区参数 创建一个确定的本地化对象。语言参数使用ISO标准语言代码表示,这些代码是由ISO-63

2017-10-23 21:42:29 533

原创 Git命令总结

拉取远程分支并创建本地分支git checkout -b 本地分支名b origin/远程分支名b使用该方式会在本地新建分支b,并自动切换到该本地分支b,采用此种方法建立的本地分支会和远程分支建立映射关系

2017-10-12 13:14:15 1053

原创 Maven引入本地Jar包并打包进War包中

Maven引入本地Jar包并打包进War包中1.概述在平时的开发中,有一些Jar包因为种种原因,在Maven的中央仓库中没有收录,所以就要使用本地引入的方式加入进来。2. 拷贝至项目根目录项目根目录即pom.xml文件所在的同级目录,可以在项目根目录下创建文件夹lib,如下图所示: 这4个Jar包是识别网页编码所需的包。3. 配置pom.xml,依赖本地Jar配置Jar的dependency,包括

2017-04-10 14:51:28 15575 6

原创 Cpdetector识别网页编码 解决Java爬虫乱码问题

Cpdetector识别网页编码 解决Java爬虫乱码问题概述在使用Java的第三方类库HttpClient或者OkHttp爬取网页文件时,由于网页编码的不同,导致有的页面中文存在乱码问题。为了能够正确解析网页内容,必须对网页的编码进行识别,Cpdetector就是一款很好用的编码识别的工具。在 http://sourceforge.net/projects/cpdetector/ 这个地址可以下载

2017-04-10 14:21:23 3051 1

原创 Hadoop2.7.3和Spark2.1.0集群详细搭建教程

1.本文介绍本文包括如下内容Ubuntu虚拟机安装过程Ubuntu配置静态IP配置SSH免密登录Ubuntu国内APT软件源的配置JDK,Scala,MySQL软件安装Hadoop集群安装Spark集群安装Anaconda安装使用到的软件的版本及下载地址VMware Workstation 12.5.2ubuntu-14.04.1-server-amd64 XShell 5

2017-03-12 18:18:57 4918 2

原创 Spring Quartz 定时器任务

Spring Quartz 定时器任务本文介绍了Spring Quartz使用定时器任务的2种方式基于XML文件的方式基于注解的方式Spring Quartz部分有如下一些核心概念:Scheduler是一个计划调度器容器,容器里面可以很多的JobDetail和Trigger,当容器启动后,里面的每个JobDetail都会根据Trigger按部就班自动去执行。容器中有一个线程池,用来并行调度执

2017-02-27 20:29:33 5186

原创 Java内存可见性-synchronized和volatile

Java内存可见性-共享变量可见性实现的原理1. 基本概念可见性:一个线程对共享变量值的修改,能够及时的被其它线程看到。共享变量:如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量。在Java内存模型(Java Memory Model)中描述了Java程序中各种变量(线程共享变量)的访问规则,以及在JVM中将变量存储到内存和从内存中读取出变量这样的底层细节。所有的

2017-02-17 19:23:22 538

原创 SecureRandom生成随机数超慢 导致tomcat启动时间过长的解决办法

使用腾讯云的CentOS 7.2 CVM 服务器跑Tomcat时发现,Tomcat启动的特别慢,通过查看日志,发现时间主要花在实例化SecureRandom对象上了。由该日志可以看出,实例化该对象使用了460秒,导致整个应用启动了480秒之久。根本原因是SecureRandom 这个jre的工具类的问题. 具体内容:JDK-6521844 : SecureRandom hangs on Linux

2017-02-07 10:57:32 14167 3

原创 Ubuntu 14.04 安装Nginx

Ubuntu 14.04 安装Nginx1.先检查升级sudo apt-get updatesudo apt-get upgrade2.安装nginx需要的依赖包sudo apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev3.下载nginxcd /homewget http://nginx.org/dow

2017-01-12 10:44:34 2094

原创 Ubuntu添加开机启动执行脚本

Ubuntu添加开机启动执行脚本方法一:编辑rc.loacl脚本Ubuntu开机之后会执行/etc/rc.local文件中的脚本, 所以我们可以直接在/etc/rc.local中添加启动脚本。 当然要添加到语句:exit 0 前面才行。 如:sudo vi /etc/rc.local然后在 exit 0 前面添加好脚本代码。方法二:添加一个Ubuntu的开机启动服务先将脚本复制或者软连接到/

2016-12-26 11:35:34 27638 4

翻译 ElasticSearch:Transport Client 对比 Node Client

Transport Client 对比 Node Client如果使用Java,您可能想知道何时使用Transport Client与Node Client。如本书开头所讨论的,Transport Client充当集群和应用程序之间的通信层。它知道API,并可以自动在节点之间循环,为您侦听群集等等。但它是集群外部的,类似于REST客户端。另一方面,Node Client实际上是集群中的一个节点(但不

2016-12-23 17:06:12 5217

原创 IDEA JUnit Test报错:3 字节的 UTF-8 序列的字节 2 无效

IDEA JUnit Test报错:3 字节的 UTF-8 序列的字节 2 无效在JUnit类上加了如下注解启动测试类@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = {"classpath:spring.xml", "classpath:spring-mybatis.xml"})报错:Caused b

2016-12-16 10:36:41 3633 1

原创 Windows下安装Scrapy

Windows下安装Scrapy 如果直接通过命令pip install scrapy会报错,因为依赖于windows的一些库文件1. 先要安装VCForPython27.msi2. 再安装离线安装lxml3. 执行命令pip install scrapy即可

2016-12-07 11:34:31 670

原创 Java并发编程(二): Java并发机制的底层实现原理

Java并发编程(二): Java并发机制的底层实现原理本文主要内容出自《Java并发编程的艺术》一书,是对该书内容的归纳和理解,有兴趣的朋友请购买正版阅读全部内容。Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM的实现和CPU的指令。本章我们将深入底层一起探索下Java并发机制的

2016-12-06 20:10:32 1289

原创 Java并发编程(一):并发编程的挑战

Java并发编程(一): 并发编程的挑战本文主要内容出自《Java并发编程的艺术》一书,是对该书内容的归纳和理解,有兴趣的朋友请购买正版阅读全部内容。并发编程的目的是为了让程序运行的更快,但是并不是启动更多的线程,就能让程序最大限度的并发执行。在进行并发编程时,如果希望通过多线程执行任务让程序运行的更快,会面临非常多的挑战,比如上下文切换的问题,死锁的问题,以及受限于硬件和软件的资源限制问题,本章会介绍几种并发编

2016-12-05 21:50:35 6485 1

原创 Octotree浏览器插件-树形展示Github源代码

Octotree浏览器插件-树形展示Github源代码使用效果当我们在查看Github上的源代码时,要一层一层的点开每个目录,非常不方便,Octotree是一款浏览器插件,可以以树形的方式方便的查看Github上的源代码,效果如下。

2016-12-03 22:24:01 3087

原创 IntelliJ IDEA快捷键

IntelliJ IDEA快捷键

2016-11-30 22:31:23 536

原创 Intellij IDEA Maven:Generating Project in Batch mode 卡住问题

Intellij IDEA Maven:Generating Project in Batch mode 卡住问题这个问题是由于archetype-catalog.xml文件下载失败导致的,可以手动下载该文件放到本地仓库中,然后在IDEA中配置使用本地该文件即可。

2016-11-30 22:19:45 1659 1

原创 Intellij IDEA使用 JRebel 搭配 maven-jetty-plugin插件实现热部署

Intellij IDEA使用 JRebel 搭配 maven-jetty-plugin插件实现热部署

2016-11-30 22:08:46 4033

原创 CentOS 7最小化安装配置

CentOS7最小化安装配置1. 静态网络配置查看网络状态,因为ifconfig没有安装,所以使用如下命令ip addr进入目录cd /etc/sysconfig/network-scripts编辑网卡文件vi ifcfg-eno16777736修改或增加如下内容BOOTPROTO=static #dhcp改为static(修改)ONBOOT=yes #开机启用本配置,一般在最后一行(修改)IP

2016-11-29 22:48:36 852

原创 CentOS 7 MySQL数据库安装

CentOS 7 MySQL数据库安装CentOS 7 版本将MySQL数据库软件从默认的程序列表中移除,用mariadb代替了卸载 mariadbrpm -qa | grep mariadbrpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64安装MySQLwget http://dev.mysql.com/get/mysql-community-r

2016-11-29 22:34:11 407

原创 CentOS 7 安装nginx

CentOS7安装Nginx一、安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel二、安装 PCREPCRE 作用是让 Ngnix 支持 Rewrite 功能 1、下载 PCRE 安装包 [root@localhost ~]# cd /usr/local/src

2016-11-29 22:26:12 406

原创 Hierarchical Clustering 层次聚类

层次聚类(Hierarchical Clustering)是聚类算法的一种,通过计算不同类别数据点间的相似度来创建一棵有层次的嵌套聚类树。在聚类树中,不同类别的原始数据点是树的最低层,树的顶层是一个聚类的根节点。创建聚类树有自下而上合并和自上而下分裂两种方法。

2016-11-25 12:35:49 3399

原创 Flume1.7.0+Elasticsearch1.7.5+Kibana4.11日志收集分析系统环境搭建

Flume1.7.0+Elasticsearch1.7.5+Kibana4.11日志收集分析系统环境搭建我的环境是三台Ubuntu14.04 LTS Server版虚拟机 - Ubuntu1 : 192.168.10.1 - Ubuntu2 : 192.168.10.2 - Ubuntu3 : 192.168.10.31.安装Elasticsearch1.7.5下载e

2016-10-19 20:47:21 812

原创 Flume 1.7.0 新特性 - Taildir Source

Flume 1.7.0 新特性 - Taildir Source今天打开Flume官网,突然发现更新到了新版本1.7.0。 有如下主要新特性:Taildir sourceKafka integration improvements (eg. security)

2016-10-19 10:59:14 1405

cpdetector_1.0.10自动识别网页文件编码

cpdetector自动识别网页文件编码

2017-04-10

Elasticsearch Head插件

Elasticsearch 可视化 Head插件,解压至Elasticsearch根目录即可

2017-01-17

JRebel 破解文件

Intellij IDEA的JRebel插件的破解文件,可以实现web项目的热部署

2016-11-30

SpringRMI小例子

SpringRMI小例子代码,仅供参考。SpringRMI小例子代码,仅供参考。

2015-12-13

struts2文件上传下载示例

基于struts2实现了单一文件上传,多文件上传和文件下载的功能.

2015-12-07

空空如也

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

TA关注的人

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