自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(174)
  • 资源 (1)
  • 收藏
  • 关注

转载 如何调优JVM

堆设置-Xmx3550m:设置JVM最大堆内存 为3550M。 -Xms3550m:设置JVM初始堆内存 为3550M。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -Xss128k:设置每个线程的栈 大小。JDK5.0以后每个线程栈大小为1M,之前每个线程栈大小为256K。应当根据应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。 -Xmn2g:设置堆内存年轻

2010-10-20 20:45:00 594

原创 Java JDK 版本的区别

jdk6和jdk5相比的新特性有: 1、instrumentation 在 Java SE 6 里面,instrumentation 包被赋予了更强大的功能:启动后的 instrument、本地代码 instrument,以及动态改变 classpath 等等。 2、Http有所增强 3、 Java 管理扩展(JMX) 架构及其框架,以及在 Java SE 5 中新引

2010-05-11 11:36:00 2987

原创 Java两种异常模式

Java里有个很重要的特色是Exception ,也就是说允许程序产生例外状况。而在学Java 的时候,我们也只知道Exception 的写法,却未必真能了解不同种类的Exception 的区别。 首先,您应该知道的是Java 提供了两种Exception 的模式,一种是执行的时候所产生的Exception (Runtime Exception),另外一种则是受控制的Exception (C

2010-05-11 10:56:00 936

原创 后缀数组2

我在前面一篇文章中已经概要地讲了后缀数组的基本理论依据,下面结合一个 ACM/ICPC 竞赛题目来说说后缀数组的简单应用。我们先来实现后缀数组 O(nlogn) 的构造算法。我曾经在老的博客上写过一个比较丑陋的后缀数组构造算法,我在产生写这两篇文章的想法时,有去网上搜了一下,看了别人的一些实现和一些以前留下的论文,现对之前的算法进行优化,使其变得比较美观一些 :-) 我的构造算法用了O(4n)

2010-05-03 16:03:00 493

原创 后缀数组1

这一篇和下一篇博文我准备写一下我在参加ACM/ICPC期间曾经研究过的后缀数组。关于后缀数组,网上有很多英文资料,但是很多现在的研究结果都是受1991年Udi Manber & Gene Myers的《Suffix arrays: a new method for on-line string searches》中所提的方法的启发,采用倍增的思想。当然,现在有国外学者提到的三分+分治的线性构造方法

2010-05-03 15:58:00 701

原创 Trie树简介

Trie,又称字典树、单词查找树,是一种树形结构,用于保存大量的字符串。它的优点是:利用字符串的公共前缀来节约存储空间。 相对来说,Trie树是一种比较简单的数据结构.理解起来比较简单,正所谓简单的东西也得付出代价.故Trie树也有它的缺点,Trie树的内存消耗非常大.当然,或许用左儿子右兄弟的方法建树的话,可能会好点. 其基本性质可以归纳为: 1. 根节点不包含字符,除根节点外每一个节

2010-05-02 11:07:00 569

原创 路由器和交换机的区别

首先告诉大家的是网络工作的OSI七层模型从低到高依次是:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层;交换机有二层交换机,指我们平时说的交换机,也就是传统交换机也有三层交换机包括路由功能的交换机,当然也有多层交换机,像五层交换机,六层交换机,七层交换机,这些只听说过,没接触过也没见过。路由器是工作在三层的,IP地址是三层的。MAC地址是二层的。 首先说HUB,也就是集线器。它的作用

2010-04-22 15:34:00 663 2

原创 windwos的消息机制和回调函数

7. Windows程序的入口是哪里?写出Windows消息机制的流程 Windows程序的入口是WinMain()函数。 Windows应用程序消息处理机制: A. 操作系统接收应用程序的窗口消息,将消息投递到该应用程序的消息队列中 B. 应用程序在消息循环中调用GetMessage函数从消息队列中取出一条一条的消息,取出消息后,应用程序可以对消息进行一些预处理。 C. 应用程序调

2010-04-21 16:35:00 1873 1

原创 堆与栈的区别

  A. 申请方式不同 Stack由系统自动分配,而heap需要程序员自己申请,并指明大小。 B. 申请后系统的响应不同 Stack:只要栈的剩余空间大于申请空间,系统就为程序提供内存,否则将抛出栈溢出异常 Heap:当系统收到程序申请时,先遍历操作系统中记录空闲内存地址的链表,寻找第一个大于所申请空间的堆结点,然后将该结点从空间结点链表中删除,并将该结点的空间分配给程序。另外,大多数系

2010-04-21 16:33:00 346

原创 java volatile 关键字

volatile关键字有什么用? 恐怕比较一下volatile和synchronized的不同是最容易解释清楚的。volatile是变量修饰符,而synchronized则作用于一段代码或方法;看如下三句get代码: int i1;                          int geti1() {return i1;} volatile int i2;        

2010-04-21 11:37:00 261

原创 extern extern “C”

extern是C/C++语言中表明函数和全局变量作用范围(可见性). 它告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。 1。对于extern变量来说,仅仅是一个变量的声明,其并不是在定义分配内存空间。如果该变量定义多次,会有连接错误 2。通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。也就是说c文件里面定义,如果该函数或者变

2010-04-20 14:26:00 273

原创 #ifndef,#define,#endif的含义和用法(转)

  头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。 还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。一般格式是这样的: #ifndef #define ......

2010-04-20 11:13:00 629

原创 KMP算法详解

模式匹配的KMP算法详解 这种由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现的改进的模式匹配算法简称为KMP算法。大概学过信息学的都知道,是个比较难理解的算法,今天特把它搞个彻彻底底明明白白。 注意到这是一个改进的算法,所以有必要把原来的模式匹配算法拿出来,其实理解的关键就在这里,一般的匹配算法: int Index(String S,String T,int pos

2010-04-17 15:15:00 284

原创 C++中联合体的应用

熟悉C的程序员都知道union(联合体)的用法,利用union可以用相同的存储空间存储不同型别的数据类型,从而节省内存空间。当访问其内成员时可用"."和"->"来直接访问。在C++出现后,它继承了union并保留了其在C中的特性。但是在C++中的union又有了新的扩展,这需要大家了解,要不然你会感到费解和迷惑。下面我讲两点。 一、在union中存储对象 在C中union中可以存储

2010-04-16 22:53:00 1197

原创 全双工 半双工 区别

英文写法是:Full-Duplex Transmissions 是指交换机在发送数据的同时也能够接收数据,两者同步进行,这好像我们平时打电话一样,说话的同时也能够听到对方的声音。目前的交换机都支持全双工。 全双工的好处在于迟延小,速度快。 与之对应的是【半双工】这个概念:就是指一个时间段内只有一个动作发生,举个简单例子,一天窄窄的马路,同时只能有一辆车通过,当目前有两量车对开,这种

2010-04-13 20:47:00 4099

原创 网络IP地址

国际规定:把所有的IP地址划分为 A,B,C,D,E。 A类地址:范围从0~127,0是保留的并且表示所有IP地址,而127也是保留的地址,并且是用于测试环回用的。因此,A类地址的范围其实是从1~126之间。如:10.0.0.1,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。转换为2进制来说,一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,

2010-04-12 22:12:00 568

原创 子网掩码

  子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。 目录[隐藏] IP地址的结构子网和子网掩码的作用 子网的作用 子网掩

2010-04-12 22:09:00 319

原创 ip地址,子网掩码,网关的关系

子网掩码是每个网管必须要掌握的基础知识,只有掌握它,才能够真正理解TCP/IP协议的设置。以下我们就来深入浅出地讲解什么是子网掩码。IP地址的结构:要想理解什么是子网掩码,就不能不了解IP地址的构成。互联网是由许多小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。IP地址在设计时就考虑到地址分配的层次特点,将每个IP地址都分割成网络号和主机号两部分,以便于IP地址的寻址操作。

2010-04-12 21:49:00 471

原创 eclipse打不开或者更新出错处理办法

有时候由于不小心更新一些插件会导致当前的eclipse无法使用,此时可以试着将更新的插件还原为原来的状态,同时将eclipse中的configuration文件夹中的内容只保留org.eclipse.core.runtime,org.eclipse.osgi,config.ini就可以了,其他的文件内容都删掉。或者将另一个eclipse文件夹中的configuration文件夹拷贝过来,覆盖当前的

2010-04-12 16:02:00 1607

原创 MySql优化方法二

数据库优化是一项很复杂的工作,因为这最终需要对系统优化的很好理解才行。尽管对系统或应用系统的了解不多的情况下优化效果还不错,但是如果想优化的效果更好,那么就需要对它了解更多才行。 1、优化概述 让系统运行得快得最重要因素是数据库基本的设计。并且还必须清楚您的系统要用来做什么,以及存在的瓶颈。 最常见的系统瓶颈有以下几种: 磁盘搜索。它慢慢地在磁盘中搜索数据块。

2010-04-06 22:13:00 651

原创 MySql优化方法一

在Apache, PHP, MySQL的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分。对于Discuz!论坛程序也是如此,MySQL的设置是否合理优化,直接影响到论坛的速度和承载量!同时,MySQL也是优化难度最大的一个部分,不但需要理解一些MySQL专业知识,同时还需要长时间的观察统计并且根据经验进行判断,然后设置合理的参数。 下面我们了解一下MySQL优化的一些基础,MyS

2010-04-06 22:10:00 2151

原创 java 对象初始化顺序

package initialTest;//public class InitialTest extends Personpublic class InitialTest{// public InitialTest(int age, String name, String kind) // {// super(age, name, kind);// } s

2010-04-01 10:50:00 378

原创 java main方法详见

在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是public static void 类型的,方法必须接收一个字符串数组的参数等等。 在看Java中的main()方法之前,先看一个最简单的Java应用程序HelloWorld,我将通过这个例子说明

2010-04-01 10:32:00 999

原创 java 抽象类语法总结

package abstractTest; public class Test {     public static void main(String[] args)//main方法必须为public,可以没有参数,但是没有参数,没办法run     {         Person.show();     } } abstract class Per

2010-04-01 09:38:00 851

原创 java 类修饰符

一个标准类可以有四种访问修饰符:public,final,abstract和package(就是什么也不写) ,内部类在此基础上还可以有private 和 protected (有的资料说只有private ,可我写了一个内部类,用protected修饰,没什么问题.)

2010-03-24 16:57:00 274

原创 java的线程同步机制synchronized关键字的理解

由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。 需要明确的几个问题:        1)synchronized关键字可以作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。如果再细的分类,synchronized可作用于instan

2010-03-24 15:48:00 277

转载 Java对象的大小

Java对象的大小    基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。    在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句:Object ob = new Object();    这样在程序中完成了一个Java对象的生命,但是它所占的空间为:4byte

2010-03-24 09:38:00 2409

原创 Java之异常处理

Java中可以使用throw和throws两个关键字实现异常的抛出,但是两者有着明显的不同,throw是用在方法体内的,是一个动作,抛出的是一个异常实例,而throws是用在方法体的声明的后面的,是一个名词,是用来说明抛出的异常的类型。Java的处理异常的机制中的try/catch/finally关键字的搭配为try/catch/finally,try/catch,try/finally三种形

2010-03-20 11:24:00 318

原创 java 方法static,final 关键字

对于Java的语言机制而言,当一个方法被声明为了static或者final类型的时候,该方法可以被拥有该方法的类的子类继承,但是不能被覆盖,这是因为当一个方法被声明为了上述两种类型的时候,在编译时刻该方法的调用着的类型已经被确定,是静态绑定,而不是动态绑定。同时在声明为static方法体里是不允许使用this和super关键字的,这是因为static方法只能访问静态变量,而this和super则都

2010-03-18 14:08:00 252

转载 windows socket I/O模型

本文简单介绍了当前Windows支持的各种Socket I/O模型,如果你发现其中存在什么错误请务必赐教。    一:select模型     二:WSAAsyncSelect模型     三:WSAEventSelect模型     四:Overlapped I/O 事件通知模型     五:Overlapped I/O 完成例程模型     六:IOCP模型    老陈有一个在外地工作

2010-03-16 20:09:00 412

转载 构造函数和析构函数能否声明为虚函数?

构造函数不能声明为虚函数,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。不建议在构造函数和析构函数里面调用虚函数。构造函数不能声明为虚函数的原因是: 解释一:所谓虚函数就是多态情况下只执行一个。而从继承的概念来讲,总是要先构造父类对象,然后才能是子类对象。如果构造函数设为虚函数,那么当你在构造父类的构造函数时就不得不显示的调用构造。还有一个原因就是为了防错,试想如果你在子类中一

2010-03-16 20:05:00 11124 3

原创 MySQL存储引擎

MySQL常用的存储引擎为MyISAM、InnoDB、MEMORY、MERGE,其中InnoDB提供事务安全表,其他存储引擎都是非事务安全表。 MyISAM是MySQL的默认存储引擎。MyISAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求。 InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是比起MyISAM存储引擎,InnoDB写的处理效率差一

2010-02-28 16:06:00 420

转载 数据类型--规则与变通

操纵于规矩之中,神明于规矩之外。——《俞震·古今医案按》关键词:数据类型;静态类型;动态类型;Duck类型;强类型;弱类型;类型安全摘 要:关于数据类型的讨论预览Duck类型的哲学是:名义不重要,重要的是能力。将一个会叫会游的家伙放进池塘看起来不算坏主意,但如果一艘轮船趁机也轰隆隆地开了进来,事情恐怕就不那么美妙了。静态类型检查类似“疑罪从有”的有罪推定制,动态类型检查

2010-02-03 11:25:00 442

转载 c,c++内存运行时深入研究

C/C++内存与运行时深入研究 [作者Jean.Love]  -----------------------------------------------------------------------------------(一)整数符号的陷阱  (二)浮点数的本质  (三)堆栈的内存管理结构  (四)符号解析  (五)对齐和总线错误  (六)函数指针  (七)

2010-02-03 10:54:00 553

原创 java对象的大小与引用类型

本文来自和你在一起的博客,原文标题:《JVM调优总结(二)-一些概念》。本文总结了JVM概念中的Java对象的大小,以及三种引用类型的定义与区分。 基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。 在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句: Object ob =

2010-01-30 14:19:00 328

原创 c++ 类的大小

先看这么个问题——已知: class CBase {     int  a;     char *p; }; 那么运行cout 这个应该很简单,两个成员变量所占的大小有嘛——8。可由时候人就是爱犯这个错误:这么简单的问题人家会问你?再想想……好像C++类里面有个什么函数指针,也应该占字节吧!?什么指针来着?忘了(还是水平低不扎实)!流汗中……算了姑且认为是构造函数

2010-01-30 14:12:00 234

转载 解析大端模式和小端模式

一、概念及详解在各种体系的计算机中通常采用的字节存储机制主要有两种: big-endian和little-endian,即大端模式和小端模式。先回顾两个关键词,MSB和LSB:MSB:Most Significant Bit ------- 最高有效位         LSB:Least Significant Bit ------- 最低有效位大端模式(big-edian)b

2010-01-14 16:36:00 305

转载 常见的内存错误及其对策

发生内存错误是件非常麻烦的事情。编译器不能自动发现这些错误,通常是在程序运行时才能捕捉到。而这些错误大多没有明显的症状,时隐时现,增加了改错的难度。有时用户怒气冲冲地把你找来,程序却没有发生任何问题,你一走,错误又发作了。常见的内存错误及其对策如下:        内存分配未成功,却使用了它。        编程新手常犯这种错误,因为他们没有意识到内存分配会不成功。常用解决办法是,在使用内存之

2010-01-13 22:10:00 240

原创 从jar中读取资源文件

  我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等)。在单独运行的时候这些简单的处理当然不会有问题。但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了。看看下面的代码: Java代码 //源代码1: package edu.hxraid;   import java.io.*;   public class Res

2009-12-30 15:02:00 712

转载 分支的影响

首先本文讲的是一个很浅显的道理,如果觉得简单不要拍我,之所以突然对分支预测感兴趣,是因为曾经看到有个商业的数据分析程序是这样写的: If (version==0x001) && (vendor=abc) && (xxxx) Do something Else if (version=0x002) && (….) Do something Else if……我曾经看过长达20多个if-else组

2009-12-29 21:14:00 347

空空如也

空空如也

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

TA关注的人

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