05 2013 档案
摘要:抓取网页内容方法:$ch = @curl_init($url);@curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);$text = @curl_exec($ch);@curl_close($ch);$text=relative_to_absolute($text,$url);相对路径转绝对路径方法:function relative_to_absolute($content, $feed_url) { preg_match('/(http|https|ftp):\/\//', $feed_url, $protocol); $serve
阅读全文
摘要:这两个语句都是为了实现:如果没有记录则插入,如果有记录则更新。有点需要注意,这两个语句都是Mysql特有的语句,不属于标准sql。它的实现类似于以下写法:select 1 from t where id=1;程序判断是否存在值if(存在){ update t set update_time = '2012' where id = 1}else{ insert into t(id, update_time) values(1,'2012')} 1)replace into实现上述逻辑:replace into t(id, update_time) values(1
阅读全文
摘要:1)优势多线程读取并修改一个资源时,我们过去通常使用 synchronized同步锁,这个是有性能损失的,很多情况下:资源对象总是被大量并发读取,偶尔有一个线程进行修改,也就是说:以读为主,修改不是 很频繁,那么我们在JDK5.0中用ReentrantReadWriteLock就获得比synchronized更高并发性能,高并发性能是我使用 JDK5.0主要目的,而不是annotation和泛型等设计优点。ReentrantReadWriteLock被大量使用在缓存中,因为缓存中的对象总是被共享大量读操作,偶尔修改这个对象中的子对象,比如状态,我们可以使用ReentrantReadWriteL
阅读全文
摘要:对没有索引的字段进行查询重复时如果使用select name from table where name in(select name from table group by name having count(name)>1)这类查询,效率非常低,是不可取的,下面给出替代步骤:1.根据重复记录创建临时表create table temptable as ( select title from video GROUP BY title HAVING count(title) >1);2.查询重复数据select a.* from temptable t,video a where
阅读全文
摘要:查询所有日志的某个字符串find .type f /mas/logs/smsproxy -name "*.log" | xargs grep "error"查询某个日志的字符串grep -n "error" smsproxy.2013-05-09.log显示某几行日志sed -n '10490,10510p' smsproxy.2013-05-09.log
阅读全文
摘要:1.getPath()与getAbsolutePath()的区别public static void test1(){ File file1 = new File(".\\test1.txt"); File file2 = new File("D:\\workspace\\test\\test1.txt"); System.out.println("-----默认相对路径:取得路径不同------"); System.out.println(file1.getPath()); System.out.println(file1...
阅读全文
摘要:Spring 1、你一般用spring做什么?控制反转IOC AOP2、spring中的哪个类的哪个方法可用于获取beanApplicationContext类的getBean()方法。3、spring是什么?根据你的理解详细谈谈你的见解。 ◆目的:解决企业应用开发的复杂性 ◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 ◆范围:任何Java应用 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 ◆轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并...
阅读全文
摘要:获取 BufferedImage对象:BufferedImage bufferedImage = null; try { bufferedImage = ImageIO.read(new FileInputStream(path)); } catch (IOException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. }计算缩放比例按宽度缩放: do...
阅读全文
摘要:下面是网络上流传的关于提高性能的做法,本人对其中一部分做法做了些点评:1. 尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。【支持】2. 尽量避免随意使用静态变量要知道,当某个对象被定义为stataic变量所引用,那么gc通常是不会回收这个对象所占有的内存,如Java代码public class A{stati
阅读全文
摘要:网上关于字符串去除首尾空格的方法有很多,大多比较复杂难用,下面给出一个效率简洁的版本: var str=' china '; str= str.replace(/^\s+|\s+$/g, '');结果str='china';
阅读全文
摘要:首先看JAVA重载的规则:1、必须具有不同的参数列表;2、可以有不同的返回类型,只要参数列表不同就可以;3、可以有不同的访问修饰符;4、可以抛出不同的异常;5、方法能够在一个类中或者在一个子类中被重载。示例代码:public class HelloWorld{ public HelloWorld() { } public static void main(String[] argc) { HelloWorld w = new HelloWorld(); System.out.println(w.Multi(2,3)); System.out.println(w.Multi(2,3,4))...
阅读全文
摘要:哈弗曼,一个在几乎所有讲数据结构的书中都有出现过的人物,他的鼎鼎大名想必就不用我多说了。这一次来给大家讲解一下哈弗曼树的构建与哈弗曼编码的基本原理,有什么用呢?别急,还是先学会创建一棵哈弗曼树吧。哈弗曼树又称最优二叉树,最优二叉树就是带权路径长度WPL最小的二叉树,那么我们就得搞清几个概念:1. 路径长度:从树中的一个结点到另一个结点之间的分支构成这两个结点的路径,路径上的分支数目称为路径长度。2. 树的路径长度:从树根到每一个结点的路径长度之和,我们所说的完全二叉树就是这种路径长度最短的二叉树。3. 树的带权路径长度:如果在树的每一个叶子结点上赋上一个权值,那么树的带权路径长度就等于根结点到
阅读全文
摘要:MySQL主主复制MySQL主主复制结构区别于主从复制结构。在主主复制结构中,两台服务器的任何一台上面的数据库存发生了改变都会同步到另一台服务器上,这样两台服务器互为主从,并且都能向外提供服务。下面是配置步骤需要两台MySQL主机做服务器:MySQL的创建方法参见:创建MySQL数据库Server-1:192.168.0.1Server-2:192.168.0.2一、创建并授权用户这一步在每一台(主)服务器上创建一个用户,并为之授权,使它们可以互相访问彼此的数据库在Server-1上:创建一个充许Server-1来访问的用户server2,密码为:server2mysql> GRANT
阅读全文
摘要:MongoDB Replica Sets和Auto Sharding配 置的简单步骤是本文我们主要要介绍的内容,网上有很多教程把Replica Sets和Auto Sharding(或者是Sharding)写在了一起,对于初学者可能会觉得有些莫名,之所以这样做是因为,一个较好的Auto Sharding解决方案是将每个一shard(分片)定为一个Replica Sets(复制集)。一个Replica Sets由若干个mongod instance组成,在这个集合中,所有的instance的数据相同,这使得即使有某一台机子当掉了,其它机子还是可以正常运行,而且这部分的控制是 由Mongo自动完成
阅读全文
摘要:Spring 3.1 提供了对已有的 Spring 应用增加缓存的支持,这个特性对应用本身来说是透明的,通过缓存抽象层,使得对已有代码的影响降低到最小。该缓存机制针对于 Java 的方法,通过给定的一些参数来检查方法是否已经执行,Spring 将对执行结果进行缓存,而无需再次执行方法。可通过下列配置来启用缓存的支持(注意使用新的schema):<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan
阅读全文
摘要:我心目中最好的框架组合是: 表示层:spring mvc 3.1 + annotation 控制层:spring 3.1 持久层:hibernate 3.6 +jdbcTemplate 后台列表控件:displaytag 1.2 Ajax框架: DWR 3 JS框架 : Jquery 缓存机制:spring 3.1 cache + ehcache/memcached 静态化机制: Freemarker静态化/spring mvc伪静态化 页面技术: EL + JSTL +JSP 安全框架 spring security 搜索引擎: Lucene 中文分词:IKAnalyzer 模板引擎: ap
阅读全文
摘要:本文作者系程序员Daniel F Pupius,这是一篇他发表在Medium上的博文,讲述自己怎么在实际写代码的过程中,发现在速度和质量间做出抉择其实是个伪命题。 程序开发项目进行过程中,通常会冒出这样的困惑:应该选择效率,还是选择质量?很多程序员都会有偷懒的思维,觉得把一些摸不清头绪、不知道怎么写的代码片段去掉,可以节省很多时间,更早完成项目计划。其实过去几年中,我也是这么想的,但最近我开始意识到,这个问题的纠结之处不在于选择困难,而在于问题本身是个伪命题。什么是“质量”呢?一般程序员说到“质量”二字时,他们说的有可能是测试通过率、变量命名、代码格式化、组件化、查找 bug、程序测试等等。也
阅读全文
摘要:下面是我对面向接口编程的理解优点:1.程序结构清晰,使用方便2.接口经过合理设计后,有利于程序设计的规范化,并可以并行开发,提高工作效率3.实现了程序的可插拔性,对于不同的需求切换不同的实现,降低了耦合度,随着系统复杂性的提高这个优势会越来越明显4.允许多重实现,弥补了继承的缺陷缺点:1.增加了设计的复杂度,不佳的接口的设计会对所有使用接口的层都有影响,并且并不是所有的程序的都需要使用接口,接口只有在系统的复杂性达到一定程度才能体现出它的优势,否则只是纯粹的增加工作量,当然选择接口是不会错的,这需要自己的衡量2.可能会降低代码的可复用性3.可能会降低程序的执行效率使用接口的经典案例:1.JDB
阅读全文
摘要:1 简介1.1什么是tsung ?Tsung (以前称为IDX-Tsunami)是一个分布是负载测试工具。它与协议无关,目前可以用来测试HTTP,WebDAV,SOAP,PostgreSQL, MySQL, LDAP, and Jabber/XMPPIt is distributed under the GNU General Public License version 2.1.2 什么是erlang 为什么在这里erlang很重要。tsung 的主要特点是,他可以使用单CPU模拟大量用户,当用于集群中时,你使用它便能产生真正的负载,并且容易安装和维护。Tsung 使用erlang开发,er
阅读全文
摘要:要想成为高效的程序员,你需要具备一定的综合素质才能够让你用你所掌握的技能、经验和知识编写出有效的代码。有一些开发人员在技术方面具备一定的技巧,但 他们永远无法成为高效的程序员,就是因为他们缺乏所需的其它几项特质。本文将给出成为一个伟大的程序员所必须具备的7项特质。 1. 主动学习新的技术和非技术两方面的知识不好的程序员只有在实在不行的时候才开始进行知识学习。良好的程序员会主动学习新的技术知识。伟大的程序员不仅会自行学习新的技术知识,而且还会学习非技术方面的知识,对各种知识来源都有一种开放的心态,而不会像有的人那样固步自封。具体点说,不好的程序员只有在参加了采用WPF的项目时才开始学习XAM;良
阅读全文
摘要:企业级项目实战(带源码)地址:http://zz563143188.iteye.com/blog/1825168收集五年的开发资料下载地址:http://pan.baidu.com/share/link?shareid=372668&uk=4076915866#dir/path=%2F%E5%AD%A6%E4%B9%A0%E6%96%87%E4%BB%B6
阅读全文
摘要:想当年毕业设计就是测试驱动开发,所以从刚入行开始就对单元测试、测试驱动开发有比较深入的认识,刚开始一直作为敏捷开发的忠实粉丝。但是几年工作 下来,我开始对单元测试持矛盾的态度:单元测试当然是一种很好的创举,但是具体使用当中,它却经常会产生副作用。这当然不是因为单元测试这一思想有问题, 而是实践这一思想的人的问题。当前很多公司使用单元测试的怪现象:很多公司为了说出去好看——我们的开发遵循敏捷开发,拥有近100%的单元测试覆盖率,所以代码质量有非常可靠的保障。但是实际上,单元测试都是软件已经开发完成之后加上去的,而且经常还是由专门分配的几个人去写单元测试的,而这几个人根本不熟悉需求,甚至根本没有参
阅读全文
摘要:原文:JavaScript quirk 2: two “non-values” – undefined and null译文:「译」JavaScript 的怪癖 2:两个「空值」:undefined 和 null译者:SingleSeeker对于“空值”或“空引用”,大多数编程语言只有一个值。比如,在 Java 中用的是null。 但是在 Javascript 中却有两个特殊的值:undefined和null。 他们基本上是相同,但用法上却略有些不同。 在这个系列教程的最后,我会解释一下在 ECMAScript 6 中的一些变化。undefined是被语言本身所分配的。 如果一个变量还没有被初
阅读全文

浙公网安备 33010602011771号