自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 问答 (1)
  • 收藏
  • 关注

原创 从放弃迅雷和IDM到自己开发下载工具

前言在这个网络带宽飞速增长的年代,下载文件要充分利用好网速就得用到下载工具,比如迅雷、IDM。然而贫穷限制了下载速度,这两个下载软件不花钱毫无体验可言。本人两年迅雷年费会员在离线下载越来越形如虚设的情况下,选择投入了IDM的怀抱,然而IDM丑陋的界面和破解版的无限弹框让我产生了开发一款属于自己下载器的想法。成果没图说个xx,下图是在20M带宽的情况下载网盘文件的过程,可以看到网速基本跑满。下载试用,

2017-12-08 16:54:52 5847

原创 JAVA写HTTP代理服务器(三)-https明文捕获

很久没更新了,其实https明文拦截已经实现很久了只是没发博客(毕竟我太懒),步入正题吧,上一篇用netty实现的http代理服务器还无法对https报文进行解密,原因也说了,就是服务器的私钥不在我们这,根据RSA公钥加密私钥解密的特性,如果我们没有私钥的话是不可能获取到https的真实内容的,那有没有什么办法解密https的报文呢,当然有通过代理服务器伪造ssl证书就可以达到目的,那么具体是什么原

2017-10-31 17:50:22 3541 3

原创 从JVM中dump出动态代理生成的class

由于动态代理生成的class是直接以二进制的方式加载进内存中的,并没有对应的.class文件生成,所以如果想通过反编译工具查看动态代理生成的代码需要通过特殊的手段来处理。方案一设置运行环境变量,运行后会把class文件生成在classpath目录下//动态代理时生成class文件System.getProperties().put("sun.misc.ProxyGenerator.saveGene

2017-10-18 14:30:29 1912

原创 OpenSSL创建带SAN扩展的证书并进行CA自签

什么是 SANSAN(Subject Alternative Name) 是 SSL 标准 x509 中定义的一个扩展。使用了 SAN 字段的 SSL 证书,可以扩展此证书支持的域名,使得一个证书可以支持多个不同域名的解析。来看看百度的证书,百度证书的扩展域名有这么多,其中还有了*.hao123.com,那我们再看看www.hao123.com的证书 发现的确是用的前面的百度证书 所以SAN带来

2017-09-20 15:42:49 13329

原创 JAVA写HTTP代理服务器(二)-netty实现

接上一篇,因为是用BIO的一个连接一个线程去处理,对于HTTP这种短连接协议来说CPU开销是非常大的,就算加入了线程池也不能完美解决BIO的缺陷,所以可以用NIO进行服务器的优化,NIO基于IO多路复用以实现单线程处理大量连接,但是编写起来比较复杂,所以就选择了netty,这里就不在多叙netty是什么了。思路netty有内置的http编解码器,那就可以轻易做到不只是转发原始数据,而是可以修改响应

2017-09-04 16:13:49 13658 7

原创 JAVA写HTTP代理服务器(一)-socket实现

HTTP代理服务器是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。一些网关、路由器等网络设备具备网络代理功能。一般认为代理服务有利于保障网络终端的隐私或安全,防止攻击。HTTP 代理有分两种:RFC 7230 - HTTP/1.1: Message Syntax and Routing(即修订后的 RFC 2616,HTTP/1

2017-09-04 16:12:40 34965 11

转载 linux查找日志技巧

先必须了解两个最基本的命令:tail  -n  10  test.log   查询日志尾部最后10行的日志;tail -n +10 test.log    查询10行之后的所有日志;head -n 10  test.log   查询日志文件中的头10行日志;head -n -10  test.log   查询日志文件除了最后10行的其他所有日志; 场

2017-07-06 10:24:51 283

原创 tomcat请求url中带有特殊符号{}|返回400的问题

根据rfc规范,url中不允许有 |,{,}等特殊字符,但在实际生产中还是有些url有可能携带有这些字符,特别是|还是较为常见的。在tomcat升级到7以后,对url字符的检查都变严格了,如果出现这类字符,tomcat将直接返回400状态码。解决方案:在tomcat目录/conf/catalina.properties下找到并修改tomcat.util.http.parser.

2017-06-27 14:09:48 5800

原创 mysqldump导出所有数据库+忽略特殊数据库

1.mysqldump导出所有库mysqldump -uroot -ppassword -A > mysql_dump.sql2.导出所有+忽略特殊库mysql -e "show databases;" -uroot -ppassword | grep -Ev "db1|db2|test" | xargs mysqldump -uroot -ppassword --databases

2017-06-16 10:37:06 9240

原创 实战mycat读写分离和分库分表(2)-本地mysql主从配置

接上一篇实战mycat读写分离和分库分表(1)-本地mysql多实例搭建上一篇已经跑起了4个mysql实例,本篇的目的是配置mysql一主多从同步,mysql-m1为主,mysql-s1、mysql-s2、mysql-s3为从。1.创建mysql-m1的slave用户 mysql -P3306 -uroot -p123456 GRANT REPLICATION SL

2017-05-21 23:18:29 1378

原创 实战mycat读写分离和分库分表(1)-本地mysql多实例搭建

前言由于公司业务不断扩大,数据量也在不断提高,现有的架构(单库mysql)在性能上已经不能满足日常查询需求,所以借这个周末在本地搭建了一套基于mycat的mysql集群环境的流程,可以做到多主-多从,

2017-05-21 22:30:25 1072 1

原创 mysql5.7 You must reset your password using ALTER USER statement before executing this statement.

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.参考自:https://dev.mysql.com/doc/refman/5.7/en/alter-user.html需要用ALTER USER重置一次密码才能执行sql语句,

2017-05-20 14:47:15 5234 1

原创 quartz里job不执行的解决方案

使用框架spring3+quartz1.8生产环境中碰到会有job一直不执行的情况,后来分析是因为quartz中线程总数太少,而项目中所有的job都是并发执行的就会导致当到达时间节点时如果线程已经用完,则JOB不会执行等到下次job执行时间节点,如果项目中存在很多job执行过程耗时比时间周期还长就会导致这种情况发生。解决办法1.更具实际情况动态调整quartz线程池大小这样就不

2017-04-27 11:38:47 24434 2

转载 全面了解Nginx到底能做什么

转自http://www.raye.wang/2017/02/24/quan-mian-liao-jie-nginxdao-di-neng-zuo-shi-yao/前言本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得。所以还请见谅,同时欢迎留言交流Nginx

2017-02-25 15:03:49 428

转载 推荐几款DevTools插件

转自:https://segmentfault.com/a/1190000000494090Web前端开发过程中必然会用到Chrome浏览器自带的开发者工具Chrome DevTools,使用它作为Web前端开发性能调试的必备工具。就连隔壁的产品小哥都知道打开F12改一下页面元素的标签代码就能看到页面效果,这年头谁不会用Chrome开发者工具呀。但是Chrome能做的远不止你平常用

2016-12-07 17:30:35 2817

转载 MySQL 加锁处理分析

转自:http://hedengcheng.com/?p=7711    背景    11.1    MVCC:Snapshot Read vs Current Read    21.2    Cluster Index:聚簇索引    31.3    2PL:Two-Phase Locking    31.4    

2016-10-28 10:20:01 105

原创 mysql 调用函数碰到Illegal mix of collations的解决办法

执行函数碰到下面图片的问题原因是函数中参数的字符集排序规则与函数里查询用到的表的不兼容,表中的是utf8_general_ci而函数默认的是mysql全局设置的utf8_unicode_ci,现在修改函数中参数的字符集和排序规则保持与表的一致。以上。解决问题

2016-09-29 10:27:37 2814

转载 Myeclipse tomcat部署项目至根路径INVALID的问题

情况如下图1、eclipse项目:在项目的.settings目录下,找到org.eclipse.wst.common.component文件:xml version="1.0" encoding="UTF-8"?> id="moduleCoreId" project-version="1.5.0"> deploy-name="twovs">

2016-07-07 19:35:44 2310

原创 MyEclipse调试maven第三方jar包源码

在项目中用mybatis的时候发现一个问题,然后maven加载了源码,但是调试的时候看不到源码。网上查了下是要设置tomcat里面source路径。默认是这样的:把Default项目删除添加自己的web项目进去保存后再调试,就可以跳进mybatis源码中了

2016-06-17 11:03:32 2016 1

原创 jQuery用contents方法取非DOM节点中的文本内容

现在有以下HTML代码,要取出DIV中非p标签的文本 aaaaa iiii bbbbb$("div").contents().each(function(){ if(this.nodeType==3){ console.log($(this).text()); }});输出结果如下,不会包含p标签中的文本内容aaaabbbb

2016-04-23 15:48:33 883

原创 MySQL分组排序查前N条数据

学生成绩表:score要查询出每个学生考的最好的三次记录SELECT a.*, b.rownum FROM score a LEFT JOIN ( SELECT id, CASE WHEN @mid = student THEN @ROW :=@ROW + 1 ELSE @ROW := 1 END rownum, @mid := student mid FROM ( SELECT

2015-12-09 20:47:50 2158

原创 JAVA用Socket模拟HTTP文件上传

根据RFC1867协议模拟HTTP文件上传try { String host = "127.0.0.1"; int port = 8080; Socket socket = new Socket(host,port); StringBuffer buffer = new StringBuffer();

2015-11-10 11:23:25 1122

原创 linux学习笔记(1)-Vim编辑器

CentOS下vim的学习笔记

2015-09-18 17:49:13 405

转载 初学linux ubuntu下搭建ftp

FTPUbuntu装vsftpd还是很简单,一句命令就行:sudo apt-get install vsftpd命令执行过程中,安装程序会给本地创建一个名为“ftp”的用户组,命令执行完之后会自动启动FTP服务。可以使用“netstat -tl”命令检查FTP端口有没有已经打开,或者直接在浏览器里输入“ftp://你的服务器IP”(新安装的vsftpd默认是可以匿名不需要密码直

2015-03-24 20:24:41 413

转载 Oracle 迭代查询 CONNECT BY PRIOR ……START WITH ……

connect by prior start with 经常会被用到一个表中存在递归关系的时候。比如我们经常会将一个比较复杂的目录树存储到一个表中。或者将一些部门存储到一个表中,而这些部门互相有隶属关系。这个时候你就会用到connect by prior start with。 表结构:create table TB_ORG(  ORGID            VARCH

2014-03-24 11:15:47 923

原创 ORACLE中的rank函数

Rank的基本语法为: RANK ( ) OVER ( [query_partition_clause] order_by_clause )用于分组排序学生成绩表score现在有以下字段和数据:name type score小黑 语文 80小黑 语文 77小黑 语文 90小黑 语文 78小黑 语文 69王二

2014-03-17 13:41:30 911

原创 关于表单action中的"/"

路径为:/*** 会提交至项目的根路径+***路径为:*** 提交至当前路径+***

2014-03-10 10:13:53 648

原创 基于Tesseract-OCR实现的JAVA WEB版OCR(图片转文字)

首先在Tesseract-OCR官网下载Tesseract-OCR 3.02,以及中文数据包chi_sim.traineddata(简体)接下来就是新建一个JAVA EE项目,把Tesseract-OCR放在项目WebRoot下。下面是主要代码:接受客户端上传过来的图片,使用Tesseract-OCR识别后返回至前台。package servlet;import java.io

2014-03-06 11:49:56 5522 2

原创 学习Swing做的打飞机小游戏

下面是代码package game;import java.awt.Color;import java.awt.Graphics;import java.awt.Image;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;i

2014-03-06 11:18:49 1431

空空如也

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

TA关注的人

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