`
vipshichg
  • 浏览: 262070 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
 软件开发流程中,测试环境是不可或缺的,那涉及到的问题包括,需要多少个环境、分别做什么用,有了环境就要考虑如何部署,部署的时候如何做到版本控制,要保证测试人员进行有效的测试,减少测到一半不能测的情况或 ...
 Java语言中,中文字符所占的字节数取决于字符的编码方式,一般情况下,采用ISO8859-1编码方式时,一个中文字符与一个英文字符一样只占1个字节;采用GB2312或GBK编码方式时,一个中文字符占2个字节;而采用UTF-8编码方式时,一个中文字符会占3个字节。我们可以通过String类的getBytes(String charsetName)方法来获取到字符串以指定编码方式编码后所得到的字节数组,然后字节数组的长度就是该字符串在指定编码方式下所占的字节数。下面为一个测试示例: public static void main(String []args) throws Unsupporte ...
这个问题经常的会被人提及。我一般会这样说,学习一种能让你开发大型系统的语言,还要学JavaScript。对我来说,这种语言是C#和JavaScript。而对于其他人,这种“系统”语言可能是Erlang,Groovy,Ruby,Java,或Scala。这些语言对我 ...
当我第一次听说可以使用框架比如JUnit来进行单元测试的时候,我惊叹这真是一个简单而强大的概念。它取代了随机测试,使你可以保存你的测试代码,并按照需要随时运行它们。按照我的理解,关于单元测试并没有多少产生误 ...
 1. 定义好团队结构     可以按照多种方式来定义团队结构,不过最常见的两种是主程序员团队与无我编程团队。     主程序员团队至少由 3 人组成:一个主程序员、一个高级程序员和一个程序管理员。这种结构非常适合于处理简单和直接的任务。另一方面,该结构并不适合于复杂的任务,因为在这种结构下,交流与任务协作都是非常有限的。     无我编程通常是个去中心化的团队,由 10 个左右的程序员构成。整个团队会共同参与设定目标,在项目的不同阶段,领导者也会发生相应的变化,这会提升工作满意度。除此之外,良好的协作与交流也使得 这种结构非常适合于处理复杂任务。不过另一方面,缺乏控制可能会造成效 ...
在java网络编程Socket通信中,通常会遇到以下异常情况:   第1个异常是 java.net.BindException:Address already in use: JVM_Bind。    该异常发生在服务器端进行new ServerSocket(port)(port是一个0,65536的整型值)操作时。异常的原因是以为 ...
1.Core Java,就是Java基础、JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不足够,知其然还要知其所以然,jdk的源代码写的非常好,要经常查看,对使用频繁的类,比如String,集合类(List,Map,Set)等数据结构要知道它们的实现,不同的集合类有什么区别,然后才能知道在一个具体的场合下使用哪个集合类更适合、更高效,这些内容直接看源代码就OK了   2.多线程并发编程,现在并发几乎是写服务端程序必须的技术,那对Java中的多线程就要有足够的熟悉,包括对象锁机制、synchronized关键字,concurrent包都要非常熟悉,这部分推荐你看看《Java并发编程实践》 ...
当你准备使用jQuery,我强烈建议你遵循下面这些指南:   缓存变量 DOM遍历是昂贵的,所以尽量将会重用的元素缓存。
在过去做了不少代码走读,发现了一些代码质量上比较普遍的问题,以下是其中的前五名: 臃肿的类: 类之所以会臃肿,是因为开发者缺乏对最基本的编码原则,即“单一职责原则”(SRP)的理解。这些类往往会变得很臃肿,是由于不同的且在功能上缺少关联的方法都放在了相同的类里面。 长方法: 方法之所以会变得很长主要是有以下几个原因: 许多没有关联性的、功能复杂的模块的代码都放在相同的方法内。这主要是开发者缺乏SRP的概念。 多种条件都放在同一个方法内,这在长方法内经常会发生的。这是由于缺乏McCabe代码复杂度和SRP的概念的比较。 大量的传参: 我经常遇 ...
package writeToProperties; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; public class WriteToProperties { public void addUser(String name,String password){ FileInputStream fis = ...
大O符号是一种算法复杂度的相对表示方式。 这个句子里有一些重要而严谨的用词: 相对(relative):你只能比较相同的事物。你不能把一个做算数乘法的算法和排序整数列表的算法进行比较。但是,比较2个算法所做的算术操作(一个做乘法,一个做加法)将会告诉你一些有意义的东西; 表示(representation):大O(用它最简单的形式)把算法间的比较简化为了一个单一变量。这个变量的选择基于观察或假设。例如,排序算法之间的对比通常是基于比较操作(比较2个结点来决定这2个结点的相对顺序)。这里面就假设了比较操作的计算开销很大。但是,如果比较操作的计算开销不大,而交换操作的计算开销很大,又会 ...
想做一个高质量的Web应用,前前后后要做的事情非常多。国外开发者 Ata Sasmaz 为 Web 开发者制作分享了一份检查清单,包括应用开发、性能、安全、分析、可用性、可靠性、转换策略、竞争策略这些方面需要注意的事项。清单内容可能不全面,欢迎大家在评论中补充。 开发 记录UI错误日志 JavaScript 允许捕获异常。这些异常需要通过Ajax请求提交到日志服务,否则很难截获Web环境中的错误。 可交换的数据层
您应当采纳的其他 10 个好习惯包括: 使用文件名自动完成功能 (file name completion)。 使用历史扩展。 重用以前的参数。 使用 pushd 和 popd 管理目录导航。 查找大型文件。 不使用编辑器创建临时文件。 使用 curl 命令行实用工具。 最有效地利用正则表达式。 确定当前用户。 使用 awk 处理数据。
this的工作原理 如果一个函数被作为一个对象的方法调用,那么this将被指派为这个对象。
Java中的break Label 和continue Label 1:break  break语句提供了一种方便的跳出循环的方法,一般只退出一重循环。  boolean test=true;  int i=0;  while(test){   i++;   if(i>=10) break;  }  执行这段程序时,尽管while条件 ...
Global site tag (gtag.js) - Google Analytics