仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 672|回复: 14
打印 上一主题 下一主题

[学习教程] JAVA编程:Java 汇合与行列的拔出、删除在并发下的功能对照仓酷云

[复制链接]
灵魂腐蚀 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:15:56 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
再说第三点:我并没有提到服务器也要整合,然后是IDE,一个好的IDE能够200%提高开发的速度,就说图形方面:你是经过简单托拽和点击就能实现功能好那。这两天在写一个java多线程的爬虫,以广度优先爬取网页,设置两个缓存:


  •   一个保留已会见过的URL:vistedUrls
  •   一个保留没有会见过的URL:unVistedUrls
  必要爬取的数据量不年夜,对URL紧缩后,能够把这两个数据布局都放进内存,vistedUrls很明显用HashSet<String>完成,由于已会见的URL只会增加,不会删除和修正,利用HashSet能够高效判别一个URL是不是已会见。
  纠结unVistedUrls该用甚么数据布局,假如用行列的话,并发情形下,行列中大概会用反复的URL,好比一个线程A爬了CSDN的一个URL1,另外一个线程B爬了博客园的一个URL2,URL1和URL2的页面都有一个不异的出链URL3,线程A把URL3到场到unVistedUrls的队尾,守候下次爬取,但在URL3被爬取之前,线程B也把URL3加到队尾,如许行列中就有两个不异的URL,大概会招致反复爬取网页,固然能够经由过程其他办法来包管不会反复爬取。
  然后就想可否也用Set来保留未会见的URL,如许在增加新的URL时,主动往重处置了,可以无效包管不爬取反复网页。可是unVistedUrls会有大批的拔出和删除操纵,我以为对汇合举行大批的拔出删除功能会对照低,为了测试汇合的拔出删除功能对照行列低几,我写了一个复杂的并发测试:


你总不能说你写框架吧,那无疑会加大工作量,现在大多企业采取的是折中的办法,就是改别人写好的框架,可要改框架,前提是你对这个框架足够的了解,这就更难了。
蒙在股里 该用户已被删除
15#
发表于 2015-3-22 22:12:05 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
老尸 该用户已被删除
14#
发表于 2015-3-16 11:14:16 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
再现理想 该用户已被删除
13#
发表于 2015-3-8 18:49:17 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
金色的骷髅 该用户已被删除
12#
发表于 2015-3-6 18:08:54 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
飘飘悠悠 该用户已被删除
11#
发表于 2015-2-27 00:01:09 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
精灵巫婆 该用户已被删除
10#
发表于 2015-2-26 17:17:44 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
冷月葬花魂 该用户已被删除
9#
发表于 2015-2-24 00:56:43 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
变相怪杰 该用户已被删除
8#
发表于 2015-2-19 06:44:54 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
分手快乐 该用户已被删除
7#
发表于 2015-2-9 22:35:29 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
飘灵儿 该用户已被删除
6#
发表于 2015-2-4 12:27:36 | 只看该作者
是一种为 Internet发展的计算机语言
5#
发表于 2015-1-26 20:14:12 | 只看该作者
是一种突破用户端机器环境和CPU
admin 该用户已被删除
地板
发表于 2015-1-25 05:48:48 来自手机 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
小妖女 该用户已被删除
板凳
发表于 2015-1-24 12:38:24 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
海妖 该用户已被删除
沙发
发表于 2015-1-20 14:57:23 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 04:13

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表