Java
徐汉彬-技术
原腾讯研发团队Leader,T3-3级工程师,曾负责QQ会员、鹅漫U品、AMS活动运动平台平台(高峰期日请求13亿)和腾讯信息流商业化推荐系统等项目的架构和研发工作。
展开
-
敏捷开发中编写高质量Java代码【转载】
敏捷开发的理念已经流行了很长的时间,在敏捷开发中的开发迭代阶段中,我们可以通过五个步骤,来有效的提高整个项目的代码质量。Java项目开发过程中,由于开发人员的经验、Java代码编写习惯,以及缺乏统一的标准和管理流程,往往导致整个项目的代码质量较差,难于维 护,需要较大的测试投入和周期等问题。这些问题在一个项目组初建、需求和设计均具有不完全可预期性和完备性的全新项目中将尤为突出。如图1所示,敏捷开发原创 2017-03-16 22:19:40 · 737 阅读 · 0 评论 -
Java多线程编程--线程状态的转换
一、线程状态 线程的状态转换是线程控制的基础。线程状态总的可分为五大状态:分别是生、死、可运行、运行、等待/阻塞。1、新状态:线程对象已经创建,还没有在其上调用start()方法。 2、可运行状态:当线程有资格运行,但调度程序还没有把它选定为运行线程时线程所处的状态。当start()方法调用时,线程首先进入可运行状态。在线程运行之后或者从阻塞、等待或睡眠状态回来后,也返回到可运行状态。 3、运行状原创 2017-03-16 22:21:39 · 261 阅读 · 0 评论 -
Java读取xml文件(JDOM/XPATH编程指南)
XPATH速成篇 XPATH遵循文档对象模型(DOM)的路径格式,由于每个XML文档都可以看成是一棵拥有许多结点的树,每个结点可以是以下七个类型之一:根(root)、元素(element)、属性(attribute)、正文(text)、命名空间(namespace)、处理指令(processing instruction)和注释(comment)。XPATH的基本语法由表达式构成。在计算表达式的值原创 2017-03-16 22:21:16 · 831 阅读 · 0 评论 -
Java按照不同方式读取文件
读取文件的方式有很多种,大致可以分为以下4种:1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fi原创 2017-03-16 22:21:14 · 291 阅读 · 0 评论 -
程序中参数的检查
程序中参数的检查写程序的时候,我们经常要写参数检查,就是在处理这个参数前对参数进行一个合法性或者合理性的检查。一般的情况下,大部分的人写这个程序,习惯上就是在函数体里面写一次。例如: void test(int num){ If(num不合法){ Return false; } Action~~} 这种在函数体里面做一次检查的,确实非常常见和原创 2017-03-16 22:21:01 · 742 阅读 · 0 评论 -
unicode字符范围(包括中文、日语、韩文和各种特殊字符集)
在网上搜索了一下汉字的Unicode范围,普遍给出了“U+4E00..U+9FA5”。但事实上这个范围是不完整的,甚至连基本的全角(中文)标点也未包含在内。根据最新的Unicode 5.0版整理如下:注:在绝大多数应用场合中,我们可以仅用(1)、(2)、(3)、(4)、(5)的集合作为CJK判断的依据。1)标准CJK文字http://www.unicode.org/Public/UNIDATA/U原创 2017-03-16 22:20:55 · 31821 阅读 · 0 评论 -
判断Java空字符串三种方法的比较
以下是 Java 判断字符串是否为空的三种方法. 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低. 方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法. 方法三: Java SE 6.0 才开始提供的方法, 效率和方法二几乎相等, 但出于兼容性考虑, 推荐使用方法二. 以下代码在我机器上的运行结果: (机器性能不一, 仅供参考) function 1 use time:原创 2017-03-16 22:20:52 · 808 阅读 · 0 评论 -
Java代码的十一种常见错误【转载】
代码审查是消灭Bug最重要的方法之一,这些审查在大多数时候都特别奏效。由于代码审查本身所针对的对象,就是俯瞰整个代码在测试过程中的问题和Bug。并且,代码审查对消除一些特别细节的错误大有裨益,尤其是那些能够容易在阅读代码的时候发现的错误,这些错误往往不容易通过机器上的测试识别出来。本文就常见的Java代码中容易出现的问题提出一些建设性建议,以便您在审查代码的过程中注意到这些常见的细节性错误。通常给原创 2017-03-16 22:20:50 · 630 阅读 · 0 评论 -
正则匹配简单入门
对于每一个想写爬虫的人来说,正则匹配肯定是必不可少的啦。正则表达式正则表达式:用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及替换操作。在PHP中有两套正则表达式函数库,两者功能相似,只是执行效率略有差异:一套是由PCRE(Perl Compatible Regular Expression)库提供的。使用“preg_”为前缀命名的函数;一套由POSIX(Port原创 2017-03-16 22:20:26 · 674 阅读 · 0 评论 -
JavaFX简单入门(IDE 6.8 for JavaFX 1.2)
需要下载什么?哪个版本适合你? This section guides you in determining what to download to get started using the JavaFX technology. 这一节告诉你开始使用JavaFX技术前要下载什么东西! 1. Ensure that you meet the system and software requirem原创 2017-03-16 22:20:23 · 1153 阅读 · 0 评论 -
正则表达式从入门到精通
括号表达式 可以在一个方括号 ([ 和 ]) 中放入一个或多个单字符,来创建一个待匹配的列表。如果字符被放入括号中括起来,则该列表称为括号表达式。括号内和其他任何地方一样,普通字符代表其本身,也就是说,它们匹配输入文字中出现的一处自己。大多数特殊字符在位于括号表达式中时都将失去其含义。这里有一些例外: ']' 字符如果不是第一项,则将结束一个列表。要在列表中匹配 ']' 字符,请将其放在原创 2017-03-16 22:20:14 · 223 阅读 · 0 评论 -
java虚拟机垃圾回收机制(GC)【转载】
基本回收算法 引用计数(Reference Counting) 比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。 标记-清除(Mark-Sweep) 此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记的对象清除。此原创 2017-03-16 22:20:06 · 304 阅读 · 0 评论 -
google笔试题两个n维数组logn求中位数问题【转载】
两个n维数组,已排序,为升序。设计算法求2n的数中第n大的数。要求分析时间和空间复杂度。 比较两个有序表各自的中位数 a,b 假设 a>=b,那么这2n个数的中位数一定不在第一个序列>a的那部分上,因为第一个序列中有n/2-1个数比a小,第二个序列中至少有n/2个数比a小(a>=b),同理,中位数一定不在第二个序列 #include #include #include #define N 5#de原创 2017-03-16 22:20:03 · 486 阅读 · 0 评论 -
Java知识拾遗:三大框架的技术起源【转载】
Struts、Hibernate和Spring是我们Java开发中的常用关键,他们分别针对不同的应用场景给出最合适的解决方案。但你是否知道,这些知名框架最初是怎样产生的?我们知道,传统的Java Web应用程序是采用JSP+Servlet+Javabean来实现的,这种模式实现了最基本的MVC分层,使的程序结构分为几层,有负责前台展示的 JSP、负责流程逻辑控制的Servlet以及负责数据封装的J原创 2017-03-16 22:20:00 · 352 阅读 · 0 评论 -
java内存泄露【转载】
1 引言 Java的一个重要优点就是通过垃圾收集器GC (Garbage Collection)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java 不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC 或JVM的问题。其实,这种想法是不正确的,因为Java 也存在内存泄漏,但它的表现与C++不同。如果正在开发的Java 代码要全天24 小原创 2017-03-16 22:19:49 · 410 阅读 · 0 评论 -
Spring是轻量级的J2EE应用程序框架【转载】
Spring的核心是个轻量级容器(container),实现了IoC(Inversion of Control)模式的容器,Spring的目标是实现一个全方位的整合框架,在Spring框架下实现多个子框架的组合,这些子框架之间彼此可以独立,也可以使用其它的框架方案加以替代,Spring希望提供one-stop shop的框架整合方案 。Spring不会特別去提出一些子框架来与现有的OpenSour原创 2017-03-16 22:19:46 · 2643 阅读 · 0 评论 -
简单的strusts例子:helloapp调试心得【转载】
孙卫琴《精通Struts:基于MVC的Java Web设计与开发》中,第二章介绍了一个很适合初学者学习的比较简单的struts例子:helloapp,大家可以到这个网址下学习:http://dev.csdn.net/article/47/47301.shtm在学习调试的过程中,我遇到了很多问题:1.第一次在浏览器下浏览时报错,然后再启动tomcat就一直报错,错误是:struts java.lan原创 2017-03-16 22:19:43 · 529 阅读 · 0 评论 -
java位移运算导致数值为负数
问题表现:java位移运算导致数值为负数问题分析:关键源代码:int startTime = (int) (promotions >> 32);int p = (int) (promotions & 0xFFFFFFFF);int duraTime = p >> 16;int rate = (int) (p & 0xFFFF);int endTime = startTime + duraTime原创 2017-03-16 22:24:22 · 2144 阅读 · 0 评论