在Google这个由10的100次方得名的站点中,各种评估网站的算法层出不穷,而PageRank即是其中之一。Google的PageRank根据网站的外部链接和内部链接的数量和质量俩衡量网站的价值。PageRank背后的概念是,每个到页面的链接都是对该页面的一次投票,被链接的越多,就意味着被其他网站投票越多。这个就是所谓的“链接流行度”——衡量多少人愿意将他们的网站和你的网站挂钩。PageRank这个概念引自学术中一篇论文的被引述的频度——即被别人引述的次
系统 2019-08-29 23:01:02 1984
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。按照《Java虚拟机规范(第2版)》的规定,Java虚拟机所管理的内存将包括以下几个运行时数据区域,来个图更加直观点,如下图所示:解释下各个部分程序计数器:ProgramCounterRegister是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。每个线程都有一个独立的程序计数器,各个线程之间计数器互不影响,独立存储。此内存
系统 2019-08-29 22:50:35 1984
欢迎点击此处订阅本Blog
系统 2019-08-29 22:40:47 1984
前言:项目中要做一个发送邮件的功能,在网上搜了一些代码,说的都不是很完善。自己就整理了一个可以运行的项目。需要注意的地方是:如果发送人的邮箱是qq邮箱,那么需要在设置->账户里面把√打上。spring里面的smtp.126.com要配置成smtp.qq.com126邮箱同理。步骤如下:用spring做一个javaMail功能。1、先建一个项目。java项目和web
系统 2019-08-29 22:21:42 1984
先看看设计的报表样式:reportTitle是新添加的一个参数,而其他的id和name是通过数据源得到的Filed。IReport在设置参数的时候需要先在左边新建一个parameter,然后再把该parameter托到右边的设计栏中。生成的XML文件为:
系统 2019-08-29 22:12:14 1984
六十六、同步访问共享的可变数据:在Java中很多时候都是通过synchronized关键字来实现共享对象之间的同步的。事实上,对象同步并不仅限于当多个线程操作同一可变对象时,仍然能够保证该共享对象的状态始终保持一致。与此同时,他还可以保证进入同步方法或者同步代码块的每个线程,都看到由同一个锁保护的之前所有的修改效果。Java的语言规范保证了读写一个变量是原子的,除非这个变量的类型为long或double。换句话说,读取一个非long或double类型的变量
系统 2019-08-29 22:02:40 1984
好东西分享final、finally和finalize的区别是什么?这是一道再经典不过的面试题了,我们在各个公司的面试题中几乎都能看到它的身影。final、finally和finalize虽然长得像孪生三兄弟一样,但是它们的含义和用法却是大相径庭。这一次我们就一起来回顾一下这方面的知识。final关键字我们首先来说说final。它可以用于以下四个地方:定义变量,包括静态的和非静态的。定义方法的参数。定义方法。定义类。我们依次来回顾一下每种情况下final的
系统 2019-08-12 09:30:16 1984
一切来得太顺利,多亏有前人的经验安装好SQLserver2000,下载了个补丁sql2000_sp3补丁安装了jdk,netbeans6.1半个小时不到就在window下搭建好了数据库设计大作业的环境好顺利啊一切ok了最后打开zy写的工程进行密码修改run!!!ok不过为了以后方便还是搜了一下转自http://flovemayday.blog.com.cn/archives/2007/2164558.shtml呵呵,看到这个界面好面熟啊,以前也用过这个模板
系统 2019-08-12 01:52:12 1984
CC是大部分转行编程或者是入门学习人员最开始接触的语言,虽说C语言在内存管理上存在严重的缺陷,尤其是‘\0’的设计被很多人吐槽是最大的败笔,但是毫无疑问,对那些要求最高的效率,良好的实时性,或者与操作系统内核紧密关联的程序来说,C仍然是很好的选择。现有的很多程序可以产生非常棒的Ccode,比如语法分析器、GUIBuilder等,这时候C语言也是有吸引力的,因为你所需要编写的代码只是整个程序的一小部分,C语言对于程序员来说具有无可替代的价值。就我这里讨论的每
系统 2019-09-27 17:55:10 1983
在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。在Java中想表示这种数据集最容易想到的写法可能是这样,我们以表示一周五天的工作日来举例:Java代码publicclassWeekDay{publicstaticfinalintMONDAY=1;publicstaticfinalintTUESDAY=2;p
系统 2019-08-29 23:47:43 1983
JavaNIO的通道类似流,但又有些不同:既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。通道可以异步地读写。通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:Channel的实现这些是JavaNIO中最重要的通道的实现:FileChannel从文件中读写数据。DatagramChannel能通过UDP读写网络中的数据。SocketCh
系统 2019-08-29 23:17:48 1983
JavaNIO开始支持scatter/gather,scatter/gather用于描述从Channel中读取或者写入到Channel的操作。分散(scatter)从Channel中读取是指在读操作时将读取的数据写入多个buffer中。因此,Channel将从Channel中读取的数据“分散(scatter)”到多个Buffer中。聚集(gather)写入Channel是指在写操作时将多个buffer的数据写入同一个Channel,因此,Channel将多
系统 2019-08-29 23:00:18 1983
JavaNIO管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。这里是Pipe原理的图示:创建管道通过Pipe.open()方法打开管道。例如:Pipepipe=Pipe.open();向管道写数据要向管道写数据,需要访问sink通道。像这样:Pipe.SinkChannelsinkChannel=pipe.sink();通过调用SinkChannel的write()方法,
系统 2019-08-29 22:04:18 1983
8.+=复合赋值问题x+=i与x=x+i等效吗,许多程序员都会认为第一个表达式x+=i只是第二个表达式x=x+i的简写方式,但这并不准确。Java语言规范中提到:复合赋值E1op=E2等价于简单赋值E1=(T)((E1)op(E2)),其中T是E1的类型。复合赋值表达式自动地将所执行计算的结果转型为其左侧变量的类型。如果结果的类型与该变量的类型相同,那么这个转型不会造成任何影响,然而,如果结果的类型比该变量的类型要宽,那么复合赋值操作符将悄悄地执行一个窄化
系统 2019-08-29 22:02:50 1983
volatile,用更低的代价替代同步为什么使用volatile比同步代价更低?同步的代价,主要由其覆盖范围决定,如果可以降低同步的覆盖范围,则可以大幅提升程序性能.而volatile的覆盖范围仅仅变量级别的.因此它的同步代价很低.volatile原理是什么?volatile的语义,其实是告诉处理器,不要将我放入工作内存,请直接在主存操作我.(工作内存详见java内存模型)因此,当多核或多线程在访问该变量时,都将直接操作主存,这从本质上,做到了变量共享.v
系统 2019-08-29 22:02:41 1983