摘要虽然Java虚拟机(JVM)及其垃圾收集器(garbagecollector,GC)负责管理大多数的内存任务,Java软件程序中还是有可能出现内存泄漏。实际上,这在大型项目中是一个常见的问题。避免内存泄漏的第一步是要弄清楚它是如何发生的。本文介绍了编写Java代码的一些常见的内存泄漏陷阱,以及编写不泄漏代码的一些最佳实践。一旦发生了内存泄漏,要指出造成泄漏的代码是非常困难的。因此本文还介绍了一种新工具,用来诊断泄漏并指出根本原因。该工具的开销非常小,因
系统 2019-08-29 23:05:05 2440
在Google这个由10的100次方得名的站点中,各种评估网站的算法层出不穷,而PageRank即是其中之一。Google的PageRank根据网站的外部链接和内部链接的数量和质量俩衡量网站的价值。PageRank背后的概念是,每个到页面的链接都是对该页面的一次投票,被链接的越多,就意味着被其他网站投票越多。这个就是所谓的“链接流行度”——衡量多少人愿意将他们的网站和你的网站挂钩。PageRank这个概念引自学术中一篇论文的被引述的频度——即被别人引述的次
系统 2019-08-29 23:01:02 2440
c.适配器模式我的笔记本是港货,它的插头与我们常用的插座不一样,所有我出差的时候我必须带一个适配器,才能使用不同地方的插座。这是一个对适配器模式最经典的描述。当我们设计的系统要与其它系统交互,或者我们设计的模块要与其它模块交互时,这种交互可能是调用一个接口,或者交换一段数据,接受方常常因发送方对协议的变更而频繁变更。这种变更,可能是接受方来源的变更,比如原来是A系统,现在变成B系统了;也可能是接受方自身的代码变更,如原来的接口现在增加了一个参数。由于发送方
系统 2019-08-29 22:50:56 2440
二十三、请不要在新代码中使用原生态类型:先简单介绍一下泛型的概念和声明形式。声明中具有一个或者多个类型参数的类或者接口,就是泛型类或接口,如List,这其中E表示List集合中元素的类型。在Java中,相对于每个泛型类都有一个原生类与之对应,即不带任何实际类型参数的泛型名称,如List的原生类型List。他们之间最为明显的区别在于List包含的元素必须是E(泛型)类型,如List,那么他的元素一定是String,否则将产生
系统 2019-08-29 22:02:38 2440
图像渐变我们大体想一下思路无非是这样:将图像所有的像素点的RBG,每个点就减去相同的量,而且这个量是个渐变的量。是的,就是这样,我们的程序也是这个思路,不过就是没有单纯的“想”这么简单了。我这里只编写了纵向渐变,还没有写其他复杂的渐变,以后慢慢研究吧。先看效果:原始图片:图像变暗渐变:图像变暗渐变:图像变亮渐变:图像变亮渐变:我们以图像渐变暗举例,渐变亮同样的道理,无非是一个减,一个加。1.我们要先拿到图片,这个不赘述了,就是获得图像的BufferedIm
系统 2019-08-12 09:29:50 2440
在项目中,可能会遇到sybase移植到mysql的情况,因为sybase支持存储过程的可变参数,而mysql不能支持,所以,在调用mysql的时候,需要感知存储过程到底有几个参数,来合理的配置参数数量:如下是代码packagecom.xxx.util;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement
系统 2019-08-12 01:54:23 2440
couldnotfindthemainclass:c:/programfiles/java/jdk1.6.0_22估计是环境变量的问题。ireport启动的时候报的这个错误。如果红色的框框中含有一个叫做classpath的变量,果断删掉,就ok了。。不知道为什么。反正是ok了2013年5月8日15:45:32落雨【java】报错couldnotfindthemainclass,programwill
系统 2019-08-12 01:33:49 2440
例子:以下是2位序列(n=2)00011110以下是3位序列(n=3)000001011010110111101100以下是4位序列(n=4)0000000100110010011001110101010011001101111111101010101110011000可以使用以下步骤从(n-1)位格雷码列表生成n位格雷码。1令(n-1)位格雷码列表为L1。创建另一个与L1相反的列表L2。2通过在L1的所有代码中加上前缀“0”来修改列表L1。3通过在L2的
系统 2019-09-27 17:49:59 2439
作者|屠敏整理报告来源|JetBrains出品|CSDN(ID:CSDNnews)互联网的下半场,科技公司为面对更加严峻的竞争环境,越来越重视开源节流。而对于身处其中且撑起IT半边天的技术人,如今如何了?从技术角度来看,其又该作何改变顺应潮流?接下来,我们将从JetBrains最新发布的《2019开发人员生态系统现状》报告中一窥究竟。JetBrains通过调查全球7000名开发者,解析出开发者们在日常软件开发中最常使用的语言、框架,从而探索各种编程技术的最
系统 2019-09-27 17:47:40 2439
欢迎点击此处订阅本Blog
系统 2019-08-29 22:40:47 2439
前两天,利用线程池技术(ThreadPool)写了个web服务器,其性能当然无法和apacheiis等相比,但基本的功能都有了,唯一欠缺的是无法解析动态页面,采用解释执行(asp模式的)效率太低,如果采用编译执行,要么自己编写一个编译器来编译整个动态页面,要么采用预编译,很复杂。。。。现在把代码拿出来晒一晒!由于只是初步的设计所以没有考虑到很多设计模式,代码在优化上很不到位,请各位高手不吝赐教。MainServer.java这是主服务文件,也是提供主线程的
系统 2019-08-12 09:29:48 2439
我的第一次之给《JAVA并发编程实践》写推荐序英文书名:JavaConcurrencyinPractice中文书名:JAVA并发编程实践这是一本入围17届Jolt大奖的书,虽然最终他没有获奖,但是这只是与政治有关的。:)推荐序原文如下:http://book.csdn.net/bookfiles/398/10039814644.shtml在汗牛充栋的Java图书堆中,关于并发性的书籍却相当稀少,然而这本书的出现,将极大地弥补了这一方面的空缺。即使并发性编程
系统 2019-08-29 23:50:06 2438
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,将http://192.168.1.110:2046/的URL反向代理为http://www.javapeixun.com.cn/的URL时,用request.getRemoteAddr()方法获取的IP地址是:127.0.0
系统 2019-08-29 22:59:17 2438
Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,特别是先学c、c++后学java的程序员。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。比如函数参数类型是自定义的类时,此时便是引用传递而不是值传递。以下是一个小例子:1publicclassA{2publicStringname;3}4publicclasstestClone{5publi
系统 2019-08-29 22:02:42 2438
由于系统中是用Json传输数据的,我觉得在这里有必要把Java和Flex处理Json数据分别介绍一下,今天我们先介绍Java处理Json数据。java里面已经有开源包实现了把一个Java对象转换为JSon对象,它就是http://www.json.org/java/,各位读者可以在这个网站上面去下载jar包。首先创建一个自己的public的class,需要转换的类必须是public的,如果不是public的,这里转换不成功,我在写这篇文章的时候就遇到了这样
系统 2019-08-12 09:29:38 2438