自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gokos的专栏

看别人要看到优点,看自己要看到缺点。学彼所长补己所短

  • 博客(49)
  • 资源 (4)
  • 收藏
  • 关注

转载 java内存调优之jmap,jstack,mat

查看整个JVM内存状态 jmap -heap [pid]要注意的是在使用CMS GC 情况下,jmap -heap的执行有可能会导致JAVA 进程挂起查看JVM堆中对象详细占用情况jmap -histo [pid]可以通过jmap -histo [pid] | head -20查看top20的实例个数以及内存占用情况导出整个JVM 中内存信息,可以通过eclip

2016-05-24 10:32:56 2177

转载 ByteBuffer常用方法详解

缓冲区(Buffer)就是在内存中预留指定大小的存储空间用来对输入/输出(I/O)的数据作临时存储,这部分预留的内存空间就叫做缓冲区:使用缓冲区有这么两个好处:1、减少实际的物理读写次数2、缓冲区在创建时就被分配内存,这块内存区域一直被重用,可以减少动态分配和回收内存的次数举个简单的例子,比如A地有1w块砖要搬到B地由于没有工具(缓冲区),我们一次只能搬一本,那么就要搬1w次(

2014-12-08 14:02:24 1331

转载 Kryo为什么比Hessian快

Kryo 是一个快速高效的Java对象图形序列化框架,它原生支持java,且在java的序列化上甚至优于google著名的序列化框架protobuf。由于protobuf需要编写Schema文件(.proto),且需静态编译。故选择与Kryo类似的序列化框架Hessian作为比较来了解一下Kryo为什么这么快。序列化的过程中主要有3个指标:1、对象序列化后的大小一个对象会被序列化工具序

2014-12-01 22:49:50 1154

转载 java线程面试题--精华

不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。在典型的Java面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程, 如何创建线程,用什么

2014-12-01 22:30:17 1256

转载 route add命令详解

route add命令的主要作用是添加静态路由,通常的格式是:route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2参数含义:^destination ^mask ^gateway metric^ ^interfacedestination【网段地址】mask【子网掩码】gateway【网关地址】metr

2014-11-21 09:57:04 117427 4

转载 dbo sysadmin和db_owner的区别

dbo 是具有在数据库中执行所有活动的暗示性权限的用户。将固定服务器角色 sysadmin 的任何成员都映射到每个数据库内称为 dbo 的一个特殊用户上。另外,由固定服务器角色 sysadmin 的任何成员创建的任何对象都自动属于 dbo。只有由 sysadmin 固定服务器角色成员(或 dbo 用户)创建的对象才属于 dbo。由任何其他也不是 syadmin 固定服务器角色成员的用户(包括

2014-11-19 10:24:06 2461

转载 GIT操作基本详解(2)

前面第一部分写了Git的一些概念,接下来这一篇准备从最基础的git操作入手,看看在实际工作中如何使用git来管理我们的项目。 1、Git基本设置  先看看Git的一些相关设置:  (1) 用户名与Email:由于GIt是分布式版本控制系统,在本地上有一个版本库,我们可以设置自己的用户名与联系方式:代码ken@Linux:~/project$ git

2014-11-17 20:52:27 697

转载 GIT操作基本详解(1)

前面第一部分写了Git的一些概念,接下来这一篇准备从最基础的git操作入手,看看在实际工作中如何使用git来管理我们的项目。 1、Git基本设置  先看看Git的一些相关设置:  (1) 用户名与Email:由于GIt是分布式版本控制系统,在本地上有一个版本库,我们可以设置自己的用户名与联系方式:代码ken@Linux:~/project$ git

2014-11-17 20:50:46 767

转载 java.net.SocketException: Too many open files解决方法查看javaIO数量

java.net.SocketException: Too many openfiles错误,一直很头疼,困扰了我很久,今天google了一下,看到了很多种解释,后来才知道linux对进程的打开文件数是有限制的。 lsof -p 12349 查看链接数,12349是tomcat的进程  lsof -P 12349|wc -l ulimit -u 查看open

2014-10-20 14:22:11 1850

转载 java file.io的各种使用

File类  File可以表示一个文件的名字也可以表示某个目录下一堆文件的名字,如果是表示多个文件,那么可以使用list方法来获取他们的set集合,返回的是一系列的字符串。下面我们就来看下如何使用这个类以及相关的FilenameFilter接口。如果想要获取某个目录下的所有文件列表那么直接使用默认的list方法,如果需要筛选特定的文件,那么就可以使用文件过滤器,如下://: io/Di

2014-10-20 11:42:18 2884

转载 linux shell各种字符串截取方法

假设有变量 var=http://www.google.com/test.htm一 # 号截取,删除左边字符,保留右边字符。echo ${var#*//}其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.google.com/test.htm二 ## 号截取,删除左边字符,保留右边字符。

2014-10-17 14:44:53 808 1

转载 高效程序员的7个共同特征

要想成为高效的程序员,你需要具备一定的综合素质才能够让你用你所掌握的技能、经验和知识编写出有效的代码。有一些开发人员在技术方面具备一定的技巧,但他们永远无法成为高效的程序员,就是因为他们缺乏所需的其它几项特质。本文将给出成为一个伟大的程序员所必须具备的7项特质。1、主动学习新的技术和非技术两方面的知识不好的程序员只有在实在不行的时候才开始进行知识学习。良好的程序员会主动学习新的技术

2014-10-14 10:00:07 645

转载 zlib,gzip,zip,7z压缩的区别

zlib是一种数据压缩程序库,它的设计目标是处理单纯的数据(而不管数据的来源是什么)。gzip是一种文件压缩工具(或该压缩工具产生的压缩文件格式),它的设计目标是处理单个的文件。gzip在压缩文件中的数据时使用的就是zlib。为了保存与文件属性有关的信息,gzip需要在压缩文件(*.gz)中保存更多的头信息内容,而zlib不用考虑这一点。但gzip只适用于单个文件,所以我们在UNIX/Linu

2014-10-14 09:20:48 22840

原创 mongo内部培训

Linux是如何管理内存的 shell> top -p $(pidof mongod)Mem: 32872124k total, 30065320k used, 2806804k free,   245020k buffersSwap: 2097144k total,      100kused,  2097044k free, 26482048k cached  VI

2014-10-10 14:39:00 970

转载 sftp服务器配置-vsftpd

环境:CentOS 5.0 操作系统一.安装:1.安装Vsftpd服务相关部件:[root@KcentOS5 ~]# yum install vsftpd*Dependencies Resolved=============================================================================Package       

2014-10-09 16:21:14 5968 2

转载 线程状态控制 CountDownLatch和CyclicBarrier的区别

在网上看到很多人对于CountDownLatch和CyclicBarrier的区别简单理解为CountDownLatch是一次性的,而CyclicBarrier在调用reset之后还可以继续使用。那如果只是这么简单的话,我觉得CyclicBarrier简单命名为ResetableCountDownLatch好了,显然不是的。我的理解是,要从他们的设计目的去看这两个类。javadoc里面的描述是

2014-09-28 12:44:31 582

原创 VisualVM远程连接

-Djava.rmi.server.hostname=192.168.1.160 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9008 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.

2014-09-10 11:33:14 666

转载 java序列化特点,如何java序列化,序列化与继承

Java 串行化技术可以使你将一个对象的状态写入一个Byte流里,并且可以从其它地方把该Byte 流里的数据读出来,重新构造一个相同的对象。这种机制允许你将对象通过网络进行传播,并可以随时把对象持久化到数据库、文件等系统里。Java的串行化机制是RMI、EJB等技术的技术基础。用途:利用对象的串行化实现保存应用程序的当前工作状态,下次再启动的时候将自动地恢复到上次执行的状态。序列化就是一种

2014-08-22 09:48:21 1493

转载 转载一篇比较好的工作总结

2014年7月4日,我从百度离职了。  这是第一次,我不是因为和老板闹翻而离职;  这是第一次,我带着晋升的喜悦而离职;  这是第一次,我带着满满的收获而离职。  我曾经认为,我永远不会成为一个好员工,因为我太独、太挑剔、不喜欢听话的好孩子、而且讨厌一切想要改变我的人。但是三年过去,我改变了不少,我必须承认,所谓“进步”的过程,就是被认可的过程,也是被“驯化”的过程

2014-07-22 15:30:40 945 2

转载 js自定义对象

一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类、Hashtable类等等。目前在Javascript中,已经存在一些标准的类,例如Date、Array、RegExp、String、Math、Number等等,这为我们编程提供了许多方便。但对于复杂的客户端程序而言,这些还远远不够。

2014-07-18 15:57:04 545

转载 linux内存管理机制

在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是Linux内存管理的一个优秀特性,在这方面,区别于Windows的内存管理。主要特点是,无论物理内存有多大,Linux 都将其充份利用,将一些程序调用过的硬盘数据读入内存,利用内存读写的高速特性来提高Linux系统的数据访问性能。而Windows是只在需要内存时,才为应用程序分配内存,并不能充分

2014-07-17 10:38:20 688

转载 linux top详解

TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.top - 12:38:33 up 50

2014-07-17 10:01:50 531

转载 Digester解析xml详解

刚刚学了一下Digester如何解析xml文件,所以记录下来,方便以后查看。     一般用来读取xml文件的工具包有DOM、SAX和JDOM等,但用过的人都知道,它们属于比较底层的API,写起来代码量很大,而且如果修改了xml文件的格式,代码也要做大幅度的改动。而使用Apache Jakarta的Digester,解析XML文件非常方便且不需要过多的关心底层的具体解析过程。Digeste

2014-07-10 15:02:57 1053

转载 SSL证书SOCKET登陆JAVA

有关SSL的原理和介绍在网上已经有不少,对于Java下使用keytool生成证书,配置SSL通信的教程也非常多。但如果我们不能够亲自动手做一个SSL Sever和SSL Client,可能就永远也不能深入地理解Java环境下,SSL的通信是如何实现的。对SSL中的各种概念的认识也可能会仅限于可以使用的程度。本文通过构造一个简单的SSL Server和SSL Client来讲解Java环境下SSL的

2014-07-01 17:17:13 1721

转载 java map遍历效率

1. 阐述  对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次value,从而降低了总体效率。那么实际情况如何呢?  为了解遍历性能的真实差距,包括在遍历key+value、遍历key、遍历v

2014-06-30 11:57:51 676

原创 javah -jni 出现异常的情况,以及解决办法

用javah生成一个jni的头文件,文件包路径:com.colasoft.datapool.util.Converter但是老是报如下错误:D:\workspace\sps_4.2\bin\com\colasoft\datapool\util>javah -jni Converter错误:无法访问 Converter错误的类文件: .\Converter.class类文件包

2014-03-03 15:13:31 1429

转载 AES补位填充PaddingMode.Zeros模式

源地址:http://blog.sina.com.cn/s/blog_60cf051301015orf.html其实AES就是对16byte(128bit)数据进行加密的过程。说白了就是把128位通过一系列的变化变成另一个128数据。这里主要用到2个关键的东西。密钥(key)这个是绝对不能省的。key要先扩张,然后进行10次的行列变化,与数据进行抑或操作。最终才能得到加密后的数

2014-01-16 16:29:19 12422 1

转载 AES加密算法原理

文章源:http://hi.baidu.com/mallor/item/89dad214d1f1fe0dd1d66d33AES加密算法原理 随着对称密码的发展,DES数据加密标准算法由于密钥长度较小(56位),已经不适应当今分布式开放网络对数据加密安全性的要求,因此1997年NIST公开征集新的数据加密标准,即AES[1]。经过三轮的筛选,比利时Joan Daeman和Vincen

2014-01-16 16:24:55 1521

转载 java内存优化性能优化

局部决定整体。一个应用的整体性能取决于每个组件的性能。下面是一些帮助你提高应用性能的Java编程技巧:编程技巧原因及策略避免重复创建对象为什么:更少的对象会需要更少的垃圾回收使用的空间越少,应用的性能越好怎么做:重复利用一个对象,而不是在每次需要的时候都去创建一个功能一样的对象(这样做)String s = “No longer

2013-12-06 15:10:09 776

转载 eclipse各种快捷键的使用方法

Eclipse 常用快捷键Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。  1. 【ALT+/】  此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。  2. 【Ctrl+O】  显示类中方法和属性

2013-11-29 15:09:46 831

原创 switch case 变量必须是final类型

public class Du { public static void main(String[] args) { int TYPE = 5; int sw = 3; switch(sw){ case TYPE: System.out.println("it's 5"); break; case 4: System.out.println("It's

2013-11-22 12:42:54 3929

原创 java.lang.NoSuchMethodError: org.slf4j.helpers.MessageFormatter.arrayFormat

关于Logback的一个异常java.lang.NoSuchMethodError: org.slf4j.helpers.MessageFormatter.arrayFormat(Ljava/lang/String;[Ljava/lang/Object;)Lorg/slf4j/helpers/FormattingTuple;原因可能有两个:1、jar包冲突,build path下可能加

2013-11-21 09:54:15 3402

原创 DatabaseMetaData获取数据库信息和表信息(表的列名,类型,主键等)SQL java

import java.sql.*;public class GetDBInfo{ public GetDBInfo() { } public static voidmain(String[] args) { try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstanc

2013-11-07 11:09:02 3264

转载 log4j配置详解

log4j配置祥解第一步:加入log4j-1.2.8.jar到lib下。第二步:在CLASSPATH下建立log4j.properties。内容如下:1 log4j.rootCategory=INFO, stdout , R23 log4j.appender.stdout=org.apache.log4j.ConsoleAppender4 log4j

2013-08-20 14:02:06 627

转载 java中的Serializable接口的作用

Object serialization的定义:Object serialization 允许你将实现了Serializable接口的对象转换为字节序列,这些字节序列可以被完全存储以备以后重新生成原来的对象。 serialization不但可以在本机做,而且可以经由网络操作(RMI)。这个好处是很大的----因为它自动屏蔽了操作系统的差异,字节顺序(用Unix下的c开发过网络编程的人应

2013-04-27 15:08:56 573

转载 Spring事务trancaction

Spring声明式事务让我们从复杂的事务处理中得到解脱。使得我们再也无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。再也无需要我们在与事务相关的方法中处理大量的try…catch…finally代码。我们在使用Spring声明式事务时,有一个非常重要的概念就是事务属性。事务属性通常由事务的传播行为,事务的隔离级别,事务的超时值和事务只读标志组成。我们在进行事务划分时,需要进行事务定义

2013-04-23 17:30:55 911

转载 java程序员应该了解的10个面向对象设计原则

面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的设计模式,而不重视面向对象的分析和设计。甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程

2013-03-18 17:49:38 698

转载 Servlet 和 CGI 区别

Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完

2013-02-19 12:06:04 577

转载 js技巧代码大全(1)

1.文本框焦点问题onBlur:当失去输入焦点后产生该事件onFocus:当输入获得焦点后,产生该文件Onchange:当文字值改变时,产生该事件Onselect:当文字加亮后,产生该文件<input type="text" value="mm" onfocus="if(value=='mm) {value=''}" onblur="if(value=='') {val

2013-01-30 14:28:14 481

转载 设计模式的原则

综述为什么要提倡"Design Pattern"呢?根本原因是为了代码复用,增加可维护性。那么怎么才能实现代码复用呢?面向对象有几个原则:开闭原则(Open Closed Principal,OCP)、里氏代换原则(Liskov Substitution Principle,LSP)、依赖倒转原则(Dependency Inversion Principle,DIP)、接口隔离原则(Int

2013-01-28 17:53:39 704

Nosql精髓_中文版(nosql分布式)

本书为考虑是否可以使用和如何使用NoSQL数据库的企业提供了可靠的决策依据。它由世界级软件开发大师和软件开发“教父”MartinFowler与Jolt生产效率大奖图书作者Pramod J.Sadalage共同撰写。书中全方位比较了关系型数据库与NoSQL数据库的异同;分别以Riak、MongoDB、Cassandra和Neo4J为代表,详细讲解了键值数据库、文档数据库、列族数据库和图数据库这4大类NoSQL数据库的优劣势、用法和适用场合;深入探讨了实现NoSQL数据库系统的各种细节,以及与关系型数据库的混用。   全书分为两部分,共15章:第一部分(第1~7章)主要讲述NoSQL的核心概念。其中第1章解释了NoSQL发展迅速的原因;第2章描述了在NoSQL领域的三种主要的数据模型中如何体现“聚合”这一概念;第3章介绍了聚合的缺点;第4章描述了数据库如何在集群中分布数据;第5章论及了更新与读取操作对一致性的影响;第6章讨论了版本戳;第7章描述了适合用在NoSQL系统中的“映射-化简”操作。第二部分(第8~15章)讲述了如何实现NoSQL数据库系统。其中第8章~第11章每章各以一种NoSQL数据库为例,演示了如何实现第一部分介绍的概念;第12章解释了数据如何在强模式系统与无模式系统之间迁移;第13章着眼于混合持久化领域的趋势;第14章探讨了在混合持久化领域中会考虑到的其他一些技术;第15章提供了选择数据库时可以参考的一些建议。

2014-10-14

java 8简明教程

java 8简明教程与核心指南

2014-09-28

JadClipse java反编译工具

java反编译工具 包含:jad.exe net.sf.jadclipse_3.3.0.jar两个文件

2014-08-21

黑客防线2012.pdf

书中内容全部取自《黑客防线》,精中选优,经过编辑部再次整理,将全书分为五部分:基础篇;工具篇;提高篇;高级篇和破解篇。做到由浅入深,层层深入,即使你以前对网络安全一无所知,通过本书也可以快速上手,了解一些规范常识,一步步的深入到这个领域内,提高自身技术,真正让朋友们感觉到网络安全并不神秘,“黑客”并不可怕。

2012-03-10

空空如也

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

TA关注的人

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