前两天,利用线程池技术(ThreadPool)写了个web服务器,其性能当然无法和apacheiis等相比,但基本的功能都有了,唯一欠缺的是无法解析动态页面,采用解释执行(asp模式的)效率太低,如果采用编译执行,要么自己编写一个编译器来编译整个动态页面,要么采用预编译,很复杂。。。。现在把代码拿出来晒一晒!由于只是初步的设计所以没有考虑到很多设计模式,代码在优化上很不到位,请各位高手不吝赐教。MainServer.java这是主服务文件,也是提供主线程的
系统 2019-08-12 09:29:48 2142
Reference:http://www.programcreek.com/2013/10/efficient-counter-in-java/Youmayoftenneedacountertounderstandthefrequencyofsomething(e.g.,words)fromadatabaseortextfile.AcountercanbeeasilyimplementedbyusingaHashMapinJava.Thisarticlec
系统 2019-08-12 01:54:24 2142
来给大家送一波福利,这次联系了8个好友一起给各位送书,每个号送5本,一共45本,还包邮哦。感谢传智播客对本次活动的赞助。金主介绍:传智播客是国内数一数二的IT培训机构,现在关注传智播客,回复【破局】,即可领取由前阿里/百度/微软/IBM架构师教研团队打造的程序员技术进阶课程。同时这里还会不定期赠送书籍、键盘、免费大咖公开课分享、举办专注服务程序员的线上线下活动,关爱程序员健康,程序员相亲交友等主题活动。扫码即可关注01书怎么送很简单,关注下面的公众号,并在
系统 2019-09-27 17:57:25 2141
编程语言流行指数(PYPL)排行榜近日公布了2019年8月份榜单。在最新一期榜单上,Python的份额高达28.73%,再次蝉联第一,并且增长4.5%,同时成为增长势头较好的语言。而被挤到第二蝉联Java,同比下跌2.1个百分点,C/C++已经被挤出前三甲。正所谓“人红是非多”,最近Python就遇到了这样的问题。与国际技术社区上一片「形势大好」对比鲜明的是,国内技术圈却一直存在对Python,「力挺」和「吃瓜」两派阵营,针锋相对,那么,Python到底有
系统 2019-09-27 17:50:09 2141
今天正式开始扫盲工作。首先要了解什么是JAVA,什么是J2ME。JAVA:由SUN公司推出的一种高级编程语言。这不是下定义,谁要是按这个去答卷就等着扣分吧。小知识:计算机是只认得二进制数据的,我们称之为第一代编程语言,也叫机器语言。第二代编程语言是汇编语言,我们通常说的软件破解,都是都过反汇编技术来实现的。汇编与反汇编也是写外挂最重要的技能之一。第三代编程语言,也叫高级语言,就是我们所说的C/C++,JAVA,VB,DELPHI等等。SUN公司推出的JAV
系统 2019-08-29 23:48:38 2141
问一下.Net的开发者,开发WebServices有多困难?他们会被你的问题逗乐,他们会告诉你所有步骤花费的时间不会超过一分钟。再问一下Java开发者,运气好的话你会碰到上面的回答,一般情况下,你会得到一个完全不同的答案。从WebServices引入到Java中至今已经5年了,然而它仍然被认为是一门较新的技术,一个主要的原因就是使用Java实现WebServices太困难了。现在,随着新一代WebServices引擎XFire的发布,这种情况将会发生明显的
系统 2019-08-29 23:20:40 2141
1.HashSet概述:HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。2.HashSet的实现:对于HashSet而言,它是基于HashMap实现的,HashSet底层使用HashMap来保存所有元素,因此HashSet的实现比较简单,相关HashSet的操作,基本上都是直接调用底层HashMap的相关方法来完成,我们应该为保存到HashSet
系统 2019-08-29 22:51:29 2141
1.继承关系图2.概览此类提供Collection接口的骨干实现,以最大限度地减少了实现此接口所需的工作。3.方法构造方法摘要protectedAbstractCollection()唯一的构造方法。方法摘要booleanadd(Ee)确保此collection包含指定的元素(可选操作)。booleanaddAll(Collectionc)将指定collection中的所有元素都添加到此collection中(可选操作)。voidcl
系统 2019-08-29 22:26:18 2141
内容可能有些不严谨的地方,希望大家落脚前先拍砖,多谢深入入门正则表达式(java)-引言深入入门正则表达式(java)-1-入门基础深入入门正则表达式(java)-2-基本实例深入入门正则表达式(java)-3-正则在java中的使用深入入门正则表达式(java)-匹配原理-1-引擎分类与普适原则深入入门正则表达式(java)-匹配原理-2-回溯回溯(backtracking)NFA引擎最重要的性质是:它会一次处理各个子表达式或组成元素,遇到需要在两个可能
系统 2019-08-29 22:04:20 2141
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 2141
二十三、请不要在新代码中使用原生态类型:先简单介绍一下泛型的概念和声明形式。声明中具有一个或者多个类型参数的类或者接口,就是泛型类或接口,如List,这其中E表示List集合中元素的类型。在Java中,相对于每个泛型类都有一个原生类与之对应,即不带任何实际类型参数的泛型名称,如List的原生类型List。他们之间最为明显的区别在于List包含的元素必须是E(泛型)类型,如List,那么他的元素一定是String,否则将产生
系统 2019-08-29 22:02:38 2141
十三、使类和成员的可访问性最小化:信息隐藏是软件程序设计的基本原则之一,面向对象又为这一设计原则提供了有力的支持和保障。这里我们简要列出几项受益于该原则的优势:1.更好的解除各个模块之间的耦合关系:由于模块间的相互调用是基于接口契约的,每个模块只是负责完成自己内部既定的功能目标和单元测试,一旦今后出现性能优化或需求变更时,我们首先需要做的便是定位需要变动的单个模块或一组模块,然后再针对各个模块提出各自的解决方案,分别予以改动和内部测试。这样便大大降低了因代
系统 2019-08-29 22:02:34 2141
最近在做arcgisserver,一个问题就是有些东西只能在较早版本的jdk和tomcat上跑,如果版本太新了,就有可能出问题。比如:我装一个arcgis9.3serverjavascriptapi服务,别人的机器上好好的没问题,我自己按步骤装了,怎么都有问题,就算把别人的整个tomcat拷过来,还是不行。鼓捣几天,都搞不清楚问题在哪里。今天猛然想到:可不可能不是我的问题,而是环境的问题?比如jdk和tomcat版本不对?----因为我用的都是最新本版的j
系统 2019-08-12 01:33:14 2141
开发者到底应该学习哪种编程语言才能获得机器学习或数据科学这类工作呢?这是一个非常重要的问题。我们在许多论坛上都有讨论过。现在,我可以提供我自己的答案并解释原因,但我们先看一些数据。毕竟,这是机器学习者和数据科学家应该做的事情:看数据,而不是看观点。话不多说,上数据。我搜索了与“机器学习”和“数据科学”一起使用的技能,搜索选项包括编程语言Java、C、C++和JavaScript。然后还包括了Python和R,因为我们知道它在机器学习和数据科学方面很受欢迎,
系统 2019-09-27 17:53:25 2140
Javanio的3个特性JavaNIO(NewIO)是一个可以替代标准JavaIOAPI的IOAPI(从Java1.4开始),JavaNIO提供了与标准IO不同的IO工作方式。ChannelsandBuffers(通道和缓冲区)标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。AsynchronousIO(异步IO)JavaNIO可以让你异步
系统 2019-08-29 23:28:17 2140