编程技术 - 军军小站|张军博客
编程技术

一段好玩的测试LinkedBlockingQueue.poll超时的

摘要:在产品中有碰到过使用LinkedBlockingQueue.poll时超时很不准的现象,关键是这不是一般的不准,如果只是一点点不准的话也就勉强接受了,例如指定poll的超时时间为100ms,但最终执行.poll这段代码就花费了8000ms的现象,这篇blog就是展示下通过一段小小的代码来重现这样的现象,毕竟没有重现是无法证明为什么会出现这样的现象的。阅读全文BlueDavy2009-03-1216:52发表评论一段好玩的测试LinkedBlockin

系统 2019-08-29 22:55:15 2556

编程技术

TL-WR541G/542G路由器设置电信宽带上网限速功能

购买TL-WR541G路由器原由家里使用电信2M宽带,多接邻居一台电脑来共享上网,每天晚上下班回家,上网速度都非常慢,原来邻居天天在线看电影这些,我原来的路由器没有ADSL上网限速功能,于是下载P2P终结者这个软件,这个软件主要是利用ARP发送来达到网络限速功能,但是邻居又装了360安全卫士,360可以阻止ARP这类软件的作用,所以P2P终结者来限制带宽也行不通了,怎么办呢?不可能自己拉的2M带宽ADSL,每晚上网都这么慢吧,所以特意在网上购买一个TL-W

系统 2019-08-29 22:50:52 2556

ASP.NET

Scott Mitchell 的ASP.NET 2.0数据教程之四十三

ScottMitchell的ASP.NET2.0数据教程之四十三::基于用户对修改数据进行限制导言很多支持帐号(即需要登陆)的web程序根据登陆的用户提供不同的选项,报表和其它功能。回到基于用户对修改数据进行限制里,我们学习了如何根据当前用户来动态调整在DetailsView和GridView里修改数据的能力。它允许用户可以作为supplier或employee登陆到站点。如果登陆的用户为supplier,他将可以修改他提供的product信息和compa

系统 2019-08-29 22:38:54 2556

编程技术

Apache通用日志工具commons-logging和Log4j 使

前言在程序开发中,有时候为了跟踪代码的运行情况,需要在程序代码中加入一些打印代码运行情况的日志代码,在早期的C语言中,一般都是用printf()函数来实现这些信息的输出,在Java语言中用System..out.println()来实现控制台信息输出。这种输出的信息功能非常有限,如果要输出到文件,就很麻烦。并且,如果以后想去掉(不再输出)这些信息,还需要手动的一行一行去改。当然,也有一种解决办法可以实现处理这个问题,在Java中,可以这么写:-------

系统 2019-08-29 22:23:31 2556

编程技术

20 个数据库设计最佳实践

使用明确、统一的标明和列名,例如School,SchoolCourse,CourceID。数据表名使用单数而不是复数,例如StudentCourse,而不是StudentCourses。数据表名不要使用空格。数据表名不要使用不必要的前缀或者后缀,例如使用School,而不是TblSchool,或者SchoolTable等等。数据库中的密码要加密,到应用中再解密。(其实就是散列存储、单向加密)使用整数作为ID字段,也许现在没有这个必要,但是将来需要,例如关联

系统 2019-08-29 22:13:30 2556

编程技术

Fully Interactive JTables (aka Mouseover Edi

在学Swing的时候,因为想写一个表格里面镶嵌其他组建的功能。找到老外一片文章,如下:原文:http://blog.palantirtech.com/2007/05/17/jtable-mouseover-editing/-------------------------------------------------------------------------------------------------May17th,2007|KevinWhat

系统 2019-08-12 09:30:38 2556

编程技术

rcp 的学习技术

(一)创建一个新的Eclipse插件工程请按照下列步骤为你的丰富的客户端应用程序创建一个新的Eclipse插件工程:1.在Eclipse中创建一个新的插件工程,并命名工程为EclipseTradeClient。把这个插件的应用目标定位在Eclipse3.1版本,并且确保点选了"CreateanOSGibundlemanifest"(见图1),并点击Next。图1."NewPlug-inProject"对话框在Eclipse中创建一个新的插件工程Eclips

系统 2019-08-12 09:30:23 2556

ASP.NET

ASP.NET jQuery 食谱22 (jQuery AJAX 基本方法

从这章开始,我们将开始讲解jQuery的AJAX相关的内容,首先需要大家自己先百度google了解下AJAX的原理,然后再来看这里的内容,就轻松很多了。基本方法使用jQuery提供了很多AJAX方法,这里主要用到以下两个方法:1.$.ajax(settings):它是一个底层方法,可以帮助我们创建各种类型的AJAX请求。该方法可以自定义设置多种参数类型以供AJAX调用,如可以设置HTTP请求(GET/POST),访问的URL,请求类型(html,json等

系统 2019-08-12 01:33:11 2556

编程技术

【IIS】 发布ASP问题

初次发布和asp.net一样在IIS里面发布。但是完成以后,不能想正常那样显示,也不会报错,遂上网查询得意解决。解决方法如下:1.双击ASP2.将”错误发送到浏览器”改为True(将错误显示在页面上)3.启用父路径【IIS】发布ASP问题

系统 2019-08-12 01:32:30 2556

Python

Python搭建Spark分布式集群环境

前言ApacheSpark是一个新兴的大数据处理通用引擎,提供了分布式的内存抽象。Spark最大的特点就是快,可比HadoopMapReduce的处理速度快100倍。本文没有使用一台电脑上构建多个虚拟机的方法来模拟集群,而是使用三台电脑来搭建一个小型分布式集群环境安装。本教程采用Spark2.0以上版本(比如Spark2.0.2、Spark2.1.0等)搭建集群,同样适用于搭建Spark1.6.2集群。安装Hadoop并搭建好Hadoop集群环境Spark

系统 2019-09-27 17:47:31 2555

编程技术

大型网站的架构

转自http://blog.csdn.net/LoveCherry/archive/2008/06/19/2564096.aspx我们知道,对于一个大型网站来说,可伸缩性是非常重要的,怎么样在纵向和横向有良好的可伸缩性,就需要在做架构设计的时候考虑到一个分的原则,我想在多个方面说一下怎么分:首先是横向的分:1.大的网站化解为多个小网站:当我们一个网站有多个功能的时候,可以考虑把这个网站拆分成几个小模块,每一个模块可以是一个网站,这样的话我们到时候就可以很灵

系统 2019-08-29 23:41:21 2555

Android

Android高手进阶教程(五)之----Android 中Layou

大家好我们这一节讲的是LayoutInflater的使用,在实际开发种LayoutInflater这个类还是非常有用的,它的作用类似于findViewById(),不同点是LayoutInflater是用来找layout下xml布局文件,并且实例化!而findViewById()是找具体xml下的具体widget控件(如:Button,TextView等)。为了让大家容易理解我做了一个简单的Demo,主布局main.xml里有一个TextView和一个Bu

系统 2019-08-29 23:17:31 2555

CSS

CSS 表格 好看