自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 【参考】JVM的工作模式

目前的Java虚拟机支持Client和Server两种运行模式。使用参数-client可以指定使用Client模式,使用参数-server可以指定使用Server模式。默认情况下,虚拟机会根据当前计算机系统环境自动选择运行模式。使用-version参数可以查看当前的模式,如下所示:./java-version javaversion"1.7.0_40" Jav...

2017-01-18 19:43:12 259

转载 JVM堆溢出处理

在Java程序的运行过程中,如果堆空间不足,则有可能抛出内存溢出错误(Out Of Memory),简称为OOM。如下文字显示了典型的堆内存溢出:Exceptioninthread“main”java.lang.OutOfMemoryError:Javaheapspace atgeym.zbase.ch3.heap.DumpOOM.main(DumpOOM.java:20...

2017-01-18 19:42:39 276

原创 【Idea】启动maven项目问题

idea中部署maven项目,但是启动的时候,也不报错,但是就是慢,very 慢定位问题,log中没有任何错误信息重新编译,重启Idea,草,涛声依旧定位线程问题,用各种分析工具搞了一番,屁都没发现  注:在ubuntu下调用jvm可视化工具命令jvisualvm最后,放大招,重启电脑。TMD,还不行。。。。。。时间就这样过了大半天。。。。。。最后用mvn 在命令行...

2017-01-18 19:33:28 2352

转载 MySQL 查询时强制区分大小写

平时很少会考虑数据存储需要明确字符串类型字段的大小写,MySQL默认的查询也不区分大小写。但作为用户信息,一旦用户名重复,又会浪费很多资源。再者,李逵、李鬼的多起来,侦辨起来很困难。要做到这一点,要么在建表时,明确大小写敏感(字段明确大小写敏感)。如果通盘数据库所有字段都需要大小写敏感,不如在字符集设置时做好调整。不过,通常不建议这么做。 如果跟我一样,数据库已经在线上跑了,一个表

2017-01-12 10:22:31 970 1

转载 MySQL 终止高负载SQL

数据库表体积大了,负载高了,难免一个sql出去耗时延长。半个月前,一个凌晨定时任务跑了8小时,突然手足无措。最后找DBA协助,直接干掉了这个sql进程。其实,这并不复杂。首先,找出占用CPU时间过长的SQLSql代码showprocesslist;假定最后一条sql处于Query状态,且Time时间过长,就锁定它的ID,直接干掉即可。然后,杀死进程:...

2017-01-12 10:22:10 812

转载 MySQL 语句级避免重复插入—— Insert Select Not Exist

想要插入一条数据,要避免重复插入,又不想折腾两回数据库连接操作,可以参考如下办法。 Sql代码  INSERT INTO table(column1,column2,column3 ...columnN)  SELECT value1,value2,value3 ...valueN  FROM dual  WHERE NOT EXISTS(       

2017-01-12 10:21:21 6543

转载 MySQL 字符集设置

通常在安装完MySQL后,我们需要对MySQL字符集进行相关设置。 我们以Linux(Ubuntu)环境描述具体操作,Unux与其基本一致,Windows路径配置上少有不同。 我们将讨论以下几个问题: 字符集问题表征修正配置,设置默认字符集编码在使用过程中强制设置字符集编码1.字符集问题表征 MySQL默认latin1(其实就是ISO-8859-1)字符集。

2017-01-12 10:20:42 279

转载 MySQL 数据导入导出

1.导出整个数据库 mysqldump -u -p > 导出文件 Shell代码  mysqldump -u zlex -p snowolf_db > snowolf.sql  2.导出表 mysqldump -u 用户名 -p 数据库名.表名> 导出文件 Shell代码  mysqldump -u zl

2017-01-12 10:20:06 320

原创 MySQL 设置远程访问

MySQL远程访问,也就是通过ip访问MySQL服务,MySQL对于安全的要求是非常严格的,需要授权。 1.本地访问 Sql代码  GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY 'admin' WITH GRANT OPTION;    FLUSH PRIVILEGES;  上述命令的意思是为admin用户授权...

2017-01-12 10:19:39 260

转载 Java压缩技术(七) TAR——Commons实现

在linux下,tar是一个归档命令。当然,如果配合gzip、bzip2就可以达到归档+压缩的效果! 我们通过tar获得归档压缩文件其实恰恰包含了归档和压缩两个操作,并且其操作次序也是先做归档操作,再做压缩操作! 通常我们忽略了归档的概念,将归档压缩文件简称为压缩文件!~ 顺便复习一遍linux命令: tar cf <file.tar> <file>将由文件<fi...

2017-01-12 10:15:36 7869

转载 Java压缩技术(六) BZIP2——Commons实现

想要把一整套算法都整理出来,的确是件非常老心费力的事情! 但是如果一件事情不能有始有终,难免会有遗憾! 索性,继续整理! BZip2与GZip有什么渊源,我这里不深究。我要说的只是,这两种算法,你在linux下都可以找到相应的操作命令。GZip 压缩 gzip <file> 将得到压缩文件<file>.gz,同时删除文件<file> 解压缩 gzip -d...

2017-01-12 10:14:52 1838

转载 Java压缩技术(五) GZIP相关——浏览器解析

昨天一篇GZIP相关实现引起大家的广泛关注,为一位朋友验证一下浏览器对gzip的支持情况,才有此文! GZIP本身就是一种网络流压缩算法,而且应用相当广泛。如果网络访问过程中,其数据流较大,势必降低网络访问效率,此时就需要考虑使用压缩!当然,在浏览器与服务器的交互中,要考虑浏览器是否支持这些算法,以及服务器运行压缩所带来的负载。如果你关注浏览器上传的“Accept-Encoding”属性,你就能...

2017-01-12 10:14:23 523

转载 Java压缩技术(四) GZIP——Java原生实现

趁着头脑清楚,抓紧时间继续整理! 熟悉linux的朋友可能都用过文件压缩命令,譬如最为简单的gzip命令。 GZIP常常用在linxu环境下,是一种非常简单的压缩算法。在Java实现API中,它仅仅包含两个实现类:GZIPInputStream和GZIPOutputStream。 GZIPOutputStream类用于压缩 GZIPInputStream类用于解压缩 先说压缩实现,GZI...

2017-01-10 13:14:39 733

转载 Java压缩技术(三) ZIP解压缩——Java原生实现

JavaEye的朋友跟我说:“你一口气把ZIP压缩和解压缩都写到一个帖子里,我看起来很累,不如分开好阅读”。ok,面向读者需求,我做调整,这里单说ZIP解压缩! 解压缩与压缩运作方式相反,原理大抵相同,由ZipInputStream通过read方法对数据解压,同时需要通过CheckedInputStream设置冗余校验码,如:  Java代码  CheckedInputStream ...

2017-01-10 13:13:53 964

转载 Java压缩技术(二) ZIP压缩——Java原生实现

去年整理了一篇ZLib算法Java实现(Java压缩技术(一) ZLib),一直惦记却没时间补充。今天得空,整理一下ZIP的java原生实现。 看了几篇zip压缩算法的帖子,讲的算是比较细致了,但就是没有对应的解压缩实现,太惜败了! 我就喜欢没事做总结,稍作整理,将其收纳! 查过相关资料后才知道,ZIP应该算作归档类的压缩算法,每一门学科都可深可浅! 闲言少叙,先说ZIP压缩。 zip压缩...

2017-01-10 13:12:47 3185

转载 Java压缩技术(一) ZLib

有关ZLib可参见官方主页 http://www.zlib.net/ ZLib可以简单的理解为压缩/解压缩算法,它与ZIP、RAR等归档算法有所不同,与bzip2比较接近。 压缩工具代码如下:  Java代码  /**   * 2009-9-9   */   package org.zlex.commons.io;      import java.io.ByteArra...

2017-01-10 13:12:21 542

转载 Java加密技术(十一)——双向认证

对于双向认证,做一个简单的描述。 服务器端下发证书,客户端接受证书。证书带有公钥信息,用于验证服务器端、对数据加密/解密,起到OSI五类服务的认证(鉴别)服务和保密性服务。 这只是单向认证,为什么?因为客户端可以验证服务器端,但服务器端不能验证客户端! 如果客户端也有这样一个证书,服务器端也就能够验证客户端,这就是双向认证了! 换言之,当你用银行的“U盾”之类的U盘与银行账

2017-01-10 11:42:26 44065

转载 Java加密技术(十二)——*.PFX(*.p12)&个人信息交换文件

今天来点实际工作中的硬通货! 与计费系统打交道,少不了用到加密/解密实现。为了安全起见,通过非对称加密交换对称加密密钥更是不可或缺。那么需要通过什么载体传递非对称算法公钥/私钥信息?数字证书是公钥的载体,而密钥库可以包含公钥、私钥信息。 JKS和PKCS#12都是比较常用的两种密钥库格式/标准。对于前者,搞Java开发,尤其是接触过HTTPS平台的朋友,并不陌生。JKS文件(通常为*.jk

2017-01-10 11:41:50 316

转载 Java加密技术(十)——单向认证

在Java 加密技术(九)中,我们使用自签名证书完成了认证。接下来,我们使用第三方CA签名机构完成证书签名。     这里我们使用thawte提供的测试用21天免费ca证书。     1.要在该网站上注明你的域名,这里使用www.zlex.org作为测试用域名(请勿使用该域名作为你的域名地址,该域名受法律保护!请使用其他非注册域名!)。     2.如果域名有效,你会收到邮件要求你

2017-01-10 11:38:29 290

转载 Java加密技术(九)——初探SSL

在Java加密技术(八)中,我们模拟了一个基于RSA非对称加密网络的安全通信。现在我们深度了解一下现有的安全网络通信——SSL。     我们需要构建一个由CA机构签发的有效证书,这里我们使用上文中生成的自签名证书zlex.cer     这里,我们将证书导入到我们的密钥库。 Shell代码  keytool -import -alias www.zlex.

2017-01-10 11:38:06 279

转载 Java加密技术(八)——数字证书

本篇的主要内容为Java证书体系的实现。 请大家在阅读本篇内容时先阅读 Java加密技术(四),预先了解RSA加密算法。 在构建Java代码实现前,我们需要完成证书的制作。 1.生成keyStroe文件 在命令行下执行以下命令: Shell代码  keytool -genkey -validity 36000 -alias www.zlex.or

2017-01-10 11:37:35 354

转载 Java加密技术(七)——非对称加密算法最高级ECC

ECC ECC-Elliptic Curves Cryptography,椭圆曲线密码编码学,是目前已知的公钥体制中,对每比特所提供加密强度最高的一种体制。在软件注册保护方面起到很大的作用,一般的序列号通常由该算法产生。     当我开始整理《Java加密技术(二)》的时候,我就已经在开始研究ECC了,但是关于Java实现ECC算法的资料实在是太少了,无论是国内还是国外的资料,无论是官方还

2017-01-10 11:37:02 351

转载 Java加密技术(六)——数字签名算法DSA

接下来我们介绍DSA数字签名,非对称加密的另一种实现。 DSA DSA-Digital Signature Algorithm 是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSS(DigitalSignature Standard)。简单的说,这是一种更高级的验证方式,用作数字签名。不单单只有公钥、私钥,还有数字签名。私钥加密生成数字签名,公钥验证数据及签名。如果数据

2017-01-10 11:36:04 369

转载 Java加密技术(五)——非对称加密算法的由来DH

接下来我们分析DH加密算法,一种适基于密钥一致协议的加密算法。 DH Diffie-Hellman算法(D-H算法),密钥一致协议。是由公开密钥密码体制的奠基人Diffie和Hellman所提出的一种思想。简单的说就是允许两名用户在公开媒体上交换信息以生成"一致"的、可以共享的密钥。换句话说,就是由甲方产出一对密钥(公钥、私钥),乙方依照甲方公钥产生乙方密钥对(公钥、私钥)。以此为基线,作

2017-01-10 11:33:08 428

转载 Java加密技术(四)——非对称加密算法RSA

接下来我们介绍典型的非对称加密算法——RSA RSA     这种算法1978年就出现了,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。     这种加密算法的特点主要是密钥的变化,上文我们看到DES只有一个密钥。相当于只有一把钥匙,如果这把钥

2017-01-10 11:30:50 405

转载 Java加密技术(三)——PBE算法

除了DES,我们还知道有DESede(TripleDES,就是3DES)、AES、Blowfish、RC2、RC4(ARCFOUR)等多种对称加密方式,其实现方式大同小异,这里介绍对称加密的另一个算法——PBE PBE     PBE——Password-based encryption(基于密码加密)。其特点在于口令由用户自己掌管,不借助任何物理媒体;采用随机数(这里我们叫做盐)杂凑

2017-01-10 11:28:44 231

转载 Java加密技术(二)——对称加密算法DES&AES

接下来我们介绍对称加密算法,最常用的莫过于DES数据加密算法。 DES DES-Data Encryption Standard,即数据加密算法。是IBM公司于1975年研究成功并公开发表的。DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:

2017-01-10 11:28:10 336

转载 Java加密技术(一)——BASE64与单向加密算法MD5&SHA&HMAC

加密解密,曾经是我一个毕业设计的重要组件。在工作了多年以后回想当时那个加密、解密算法,实在是太单纯了。     言归正传,这里我们主要描述Java已经实现的一些加密解密算法,最后介绍数字证书。     如基本的单向加密算法: BASE64 严格地说,属于编码格式,而非加密算法MD5(Message Digest algorithm 5,信息摘要算法)SHA(Secure Hash

2017-01-10 11:23:59 730

转载 【参考】JVM基于栈的解释器执行过程

本文根据《深入理解java虚拟机》第8章部分内容整理根据一个代码实例来介绍虚拟机中解释器的执行过程,代码如下所示:Java代码publicintcalculate(){ inta=100; intb=200; intc=300; return(a+b)*c; }由上面的代...

2017-01-05 13:59:44 2006

转载 JVM类加载器以及双亲委派模型介绍

从虚拟机的角度来说,只存在两种不同的类加载器:一种是启动类加载器(Bootstrap ClassLoader),该类加载器使用C++语言实现,属于虚拟机自身的一部分。另外一种就是所有其它的类加载器,这些类加载器是由Java语言实现,独立于JVM外部,并且全部继承自抽象类java.lang.ClassLoader。 从Java开发人员的角度来看,大部分Java程序一...

2017-01-05 13:58:41 312

转载 【参考】JVM类加载的过程

本文根据《深入理解java虚拟机》第7章部分内容整理 在我的上一篇文章《JVM学习笔记(六):类加载的时机》中提到了java类从加载到卸载过程包括了加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(using)、和卸载(Unloading)七个阶段。下面我们来详...

2017-01-05 13:58:19 385

转载 【参考】JVM类加载的时机

Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的加载机制。 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括了:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initial...

2017-01-05 13:57:55 302

转载 【参考】JVM根据字节码指令介绍方法执行流程

在上一篇博客中介绍了《Class文件结构》,其中就提到了一个例子,下面我们依然根据该例子的字节码来对方法的执行流程进行讲解。 publicclassTestClass{privateintnum; publicintinc(){ for(inti=0;i<10;i++){ ...

2017-01-05 13:57:07 378

转载 【参考】JVM中Class文件结构

一、Java的语言无关性 实现语言无关性的基础仍然是虚拟机和字节码存储格式,使用Java编译器可以把Java代码编译为存储字节码的Class文件,使用JRuby等其它语言的编译器一样可以把程序编译成Class文件,虚拟机不需要关心Class来源于什么语言,只要它符合Class文件应用的结构就可以在Java虚拟机中运行。【Java虚拟机提供的语言无关性】如下图所示:二、Cl...

2017-01-05 13:53:04 298

转载 JVM的垃圾回收

一.如何判断对象是否需要回收? 堆中几乎放着Java世界中的所有的对象实例,垃圾收集器在对堆进行回收前,第一件事就是要确定这些对象哪些还“存活”着,哪些已经“死去”(即不可能再被任何途径使用的对象)。而如何判断对象是否应该回收,存在两个算法:引用计数算法(Reference Counting)和根搜索算法(GC Roots Tracing)。但是Java语言中没有选用引用计数算...

2017-01-05 13:52:11 244

转载 JVM运行时数据区

运行时数据区PC寄存器也叫程序计数器(Program Counter Register)是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的信号指示器。1、每一条JVM线程都有自己的PC寄存器。2、在任意时刻,一条JVM线程只会执行一个方法的代码。该方法称为该线程的当前方法(Current Method)。3、如果该方法是java方法,那PC寄存器保存JVM正在执行...

2017-01-05 13:50:56 249

转载 分布式爬虫

这个分布式爬虫是以前自己和同学一起合作的,后来在这个基础上改进了一些特性,同样的只是提供一个大概的思路,欢迎大家提出建议功能简介:这个爬虫是一个可拓展的分布式爬虫,采用主从的通信模式,在主机端维护url队列,当从机与主机打招呼后,主机会分发url给从机,从机得到url后进行解析,再返回解析结果给主机持久化,然后主机再分配一个url给从机循环该过程,整个过程就是这样。    

2017-01-03 20:52:33 1210

转载 半自动化之单机爬虫

这篇博文将介绍一下我的这个单机爬虫作品,主要是给大家一个思路,如何做出一个比较有趣的单机爬虫,当然这个作品肯定会有很多改进的地方,欢迎大家提出建议一起改进     爬虫简介:在部门做爬虫需求的时候,每次来一个需求就需要写一个爬虫程序然后打包部署到服务器,制定脚本定时运行,所以有了这个爬虫,目的是为了尽可能简化现有的流程,之前从网页源码获取,到网页解析,到持久化都需要重新在程序里面重新写

2017-01-03 20:50:52 1257

转载 PostgreSql 数据库导入导出

pgsql是5432 导入整个数据库 psql -U postgres(用户名)  数据库名(缺省时同用户名) &lt; /data/dum.sql 导出整个数据库 pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名)   &gt;/data/dum.sql 导出某个表 pg_dump -h local...

2017-01-03 20:45:14 1412

转载 【Eclipse】下的安装和配置Spket(图文教程)

一、安装Spket第一种方法:网上更新方式1.插件首页:http://www.spket.com2.插件名称:Spket IDE3.更新连接(Update Site):http://www.spket.com/update/ 更新安装方法:1.[Help]-[Software Updates]-[Find and Install...]2.[Search for new fe...

2017-01-03 14:30:57 3512 1

各种实用开发工具

包含window,linux,mac下各种版本各种前后端,数据库等工具包,非常实用。

2018-08-26

spring框架2016

最新spring框架2016视频教程,包含源码和笔记。小白入手实用教程。

2018-08-26

hibernate框架2016

最新hibernate框架2016视频教程,包含源码和笔记。小白入手实用教程。

2018-08-26

java反编译工具

java中class文件的反编译工具,java中class文件的反编译工具,java中class文件的反编译工具,java中class文件的反编译工具。

2018-08-26

Des前后台加解密

2016-03-20

空空如也

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

TA关注的人

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