显示下一条  |  关闭

断尘居

J2EE丨Spring框架丨 JVM调优丨PHP丨Android移动编程

 
 
 
 
 
 

焦点头图

 
 
聚焦图片加载中...
 
 
 
 
 

自定义模块

 
 
模块内容加载中...
 
 
 
 
 
 
 

[置顶] 程序员新年要做的10个决定

2012-1-13 12:35:32 阅读48 评论0 132012/01 Jan13

还剩不到一周的时间,我们将迎来2012年。我知道这是老生常谈,但今年你曾经有过什么样重要的经历?很自然的,我们现在正处于为新年许下目标的时候。也许你可能有“真实”生活中的一些目标,但是你的程序员生涯呢?

1、学习一种新语言,框架或方法

我们必须保持学习最新的技术。

Web开发唯一不变的是变化。以NodeJS为例:两三年前它并不存在,只有很少(如果有的话)的JavaScript代码运行于服务器之上。现 在,你离不开它。每个Web开发人员都希望留在自己的作品里。要做到这一点,我们必须不停学习最新的技术。如果你是一个后端开发,这可能代表着学习 JavaScript和Node.js,类似于Ruby和Rails。对于前端开发,则可能意味着真正理解CSS3或掌握HTML5新的API。当然,这 并不意味着你必须经常使用它,只需要保持自己不断学习。

按照同样的思路,对于重新评估你的工作流程、学习更好的和不同的工具以更快速地完成工作来说,现在是一个很好的时间。

2、让你掌握的内容更精深

程序员新年要做的10个决定

也要预留一段时间来关注现有的语言和软件。

当然,保持锋利比学习新的内容有更大意义。它也包括改善你使用日常工具的方式。我知道自己一直坚持使用熟悉的的模式和方法而不是学习在某个特定情形 下更佳的方案是不对的。你知道关于JavaScript设计模式的那些事吗?你对PHP的面向对象和面向功能编程是否有扎实的理解?你是否曾经使用过 SQL连接?你使用的文本编辑器里是否有没有用过的功能?

作者  | 2012-1-13 12:35:32 | 阅读(48) |评论(0) | 阅读全文>>

逍遥叹

[ar:胡歌]

岁月难得沉默秋风厌倦漂泊

夕阳赖着不走挂在墙头舍不得我

昔日伊人耳边话已和潮声向东流

再回首往事也随枫叶一片片落

爱已走到尽头恨也放弃承诺

命运自认幽默想法太多由不得我

壮志凌云几分愁知己难逢几人留

再回首却闻笑传醉梦中

笑叹词穷古痴今狂终成空

刀钝刃乏恩断义绝梦方破

路荒遗叹饱览足迹没人懂

多年望眼欲穿过红尘滚滚我没看透

词嘲墨尽千情万怨英杰愁

曲终人散发花鬓白红颜殁

烛残未觉与日争辉图消瘦

当泪干血隐狂涌白雪纷飞都成空

作者  | 2012-1-18 14:03:15 | 阅读(12) |评论(1) | 阅读全文>>

Linux如何安装JDK

2012-1-18 11:48:20 阅读18 评论0 182012/01 Jan18

1 、安装jdk 程序

最新版本jdk:   jdk-6u22-linux-i586.bin

进入usr 目录:  cd /usr

在当前目录创建目录java :  mkdir java

将jdk 安装文件复制到java 目录下:cp /usr/software/   jdk-6u22-linux-i586.bin   /usr/java

给安装程序赋予权限:chmod +x  jdk-6u22-linux-i586.bin

执行安装命令:./ jdk-6u22-linux-i586.bin

安装成功后,在java 目录下会出现jdk1.6.0_22 的目录。

2 、配置环境变量:

编辑/etc/profile 文件:  vi /etc/profile

按I 键进入编辑状态

在适当位置配置以下内容:

export JAVA_HOME=/usr/java/jdk1.6.0_22

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jar

export PATH=$PATH:$JAVA_HOME/bin

完成配置后,按ESC 键,然后输入:wq 保存并退出(:q! 退出不保存)

作者  | 2012-1-18 11:48:20 | 阅读(18) |评论(0) | 阅读全文>>

Linux下解压命令大全

2012-1-18 1:45:54 阅读116 评论0 182012/01 Jan18

.tar

解包:tar xvf FileName.tar

打包:tar cvf FileName.tar DirName

(注:tar是打包,不是压缩!)

———————————————

.gz

解压1:gunzip FileName.gz

解压2:gzip -d FileName.gz

压缩:gzip FileName

.tar.gz 和 .tgz

解压:tar zxvf FileName.tar.gz

压缩:tar zcvf FileName.tar.gz DirName

———————————————

.bz2

解压1:bzip2 -d FileName.bz2

解压2:bunzip2 FileName.bz2

压缩: bzip2 -z FileName

.tar.bz2

解压:tar jxvf FileName.tar.bz2

压缩:tar jcvf FileName.tar.bz2 DirName

———————————————

.bz

解压1:bzip2 -d FileName.bz

解压2:bunzip2 FileName.bz

压缩:未知

.tar.bz

解压:tar jxvf FileName.tar.bz

作者  | 2012-1-18 1:45:54 | 阅读(116) |评论(0) | 阅读全文>>

Ubuntu一键安装迅雷

2012-1-17 16:32:53 阅读37 评论4 172012/01 Jan17

在ubuntu下使用迅雷,这是很多人都会头疼的问题,而且,很多人纠结于安装wine的麻烦之中~~

今天,我在google code发现一个集成好的迅雷DEB包,这个迅雷时基于wine的,并且,如果本机没有安装wine的花,安装过程会自动下载安装并配置好wine,几乎不用任何操作,太方便了,太方便了~~

这个安装包的好处:

1,DEB包,不用手动编译;

2,如果本机没有wine,则默认自动下载安装wine1.2(这是安装迅雷,白送一个wine模拟器啊~~)

3,该包经测试,在ubuntu10.10和ubuntu11.04上允许稳定

这个软件包我已经上传到Dbank了,传送门

设置:需要手动修改下载路径”工具”–>”配置”–>”类别和目录”,在这里把默认下载路径改成ubuntu下的”/home/xxx/下载”,否则,迅雷会提示找不到下载路径。

截图:

作者  | 2012-1-17 16:32:53 | 阅读(37) |评论(4) | 阅读全文>>

Linux删除文件夹命令

2012-1-17 10:13:41 阅读17 评论0 172012/01 Jan17

linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可。

直接rm就可以了,不过要加两个参数-rf 即:rm -rf   目录名字

-r 就是向下递归,不管有多少级目录,一并删除

-f 就是直接强行删除,不作任何提示的意思

删除文件夹实例:

rm -rf /var/log/httpd/access

将会删除/var/log/httpd/access目录以及其下所有文件、文件夹

需要提醒的是:使用这个rm -rf的时候一定要格外小心,linux没有回收站的

当然,rm还有更多的其他参数和用法,man rm就可以查看了

删除文件使用实例:

rm -f /var/log/httpd/access.log

将会强制删除/var/log/httpd/access.log这个文件

重命名文件夹

mv oldfilename newfilename

作者  | 2012-1-17 10:13:41 | 阅读(17) |评论(0) | 阅读全文>>

为什么程序员都是夜猫子?

2012-1-15 8:22:36 阅读47 评论0 152012/01 Jan15

一种很流行的说法是,程序员是把咖啡因转化成程序代码的机器。

说的是实情,随便问一个程序员,问他什么时候工作最有状态,估计他很有可能说是深夜。有人稍微早一点,有人更晚。有一种流行的趋势是凌晨4点起床,在破晓之前这段时间里做一些事情。而另一些人喜欢凌晨4点才睡觉。

所有这些的主要目的是躲避打搅。但是你把自己反锁在屋里不就行了?为什么对夜晚情有独钟?

我想,这事归纳下来有3点:工人的时间表,疲倦的大脑和明亮的电脑屏幕。

工人的时间表

Paul Graham 在2009年写了一篇关于 工人的时间表的文章——主要是说这个世界(主要)存在两种时间表。传统的管理者的时间表——一天的时间别分成了很多小时,一次十分钟的分心至多会浪费你1个小时的时间。

时间的使用而另一种情况是程序员们所说的工人的时间表——生产东西的人的时间表。研究一个大型的抽象的系统,需要把整件事情装进大脑——这样的一些人类似于用珍贵的水晶玻璃搭建一间房子,一旦有人打搅你,整个结构都会滑落,摔成无数的碎片。

这就是为什么被打扰的程序员会如此的生气。

因为这是一种巨大的精力上的投资,在没有几个小时不被打搅的环境中的酝酿,你不可能开始工作。如果你好不容易在大脑中构建了整个要思考的事情的模型,而在半个小时后被人摧毁,这是很大的浪费。

事实上,在跟很多的企业创办人交谈后,你会发现,他们都感觉在白天根本无法做任何事情。持续不断的打扰、重要的事情需要注意、大量的邮件需要处理,环境不允许他们坐下来做事。于是他们大部分人都在夜晚,人们都入睡的时候去完成他们要做的事做完。

作者  | 2012-1-15 8:22:36 | 阅读(47) |评论(0) | 阅读全文>>

如何利用mysqldump备份MySQL数据库

2012-1-13 18:09:02 阅读20 评论0 132012/01 Jan13

在现实工作中,定期备份数据库是一项极为重要的事情。当我们使用MySQL时,在数据库备份方面有许多选择的余地,而本文将向读者介绍如何使用MySQL的mysqldump来备份数据库。

  一、数据备份的重要性

   工作中,如果意外删除了重要的文件或者目录的话,那结果可就惨了。尤其是当误删除的数据涉及重要的客户或者关键项目,并且这些数据无法轻易重新创建的时 候,那滋味,不用我说你也能想象得到。不巧的是,像这样的数据在公司环境中随处可见,例如销售记录、客户联系方式,等等。

  所以,在现实工作中,定期备份数据库是一项极为最需关注的事的事情,否则就可能带来灾难性的后果。当我们使用MySQL时,在数据库备份方面有许多选择的余地。本文将向读者介绍如何使用MySQL的mysqldump来备份数据库。

  二、关于mysqldump

   MySQL自身提供了许多命令行工具,例如mysql工具可以用来与MySQL的数据库模式、数据、用户和配置变量进行交互,而mysqladmin工 具则可以进行各种管理任务,还有就是下面将要介绍的mysqldump。此外还有很多,不过那超出了本文的讨论范围。工具mysqldump既可以用来备 份数据库模式,还可以用来备份数据;利用它,我们不仅可以对一个服务器上的所有数据库进行地毯式的备份,同时我们还可以选择性地备份某个数据库,甚至数据库中指定的某些表。

作者  | 2012-1-13 18:09:02 | 阅读(20) |评论(0) | 阅读全文>>

MySQL数据库备份和还原常用的命令

2012-1-13 18:04:59 阅读17 评论0 132012/01 Jan13

Mysql数据库备份和还原常用的命令是进行Mysql数据库备份和还原的关键,没有命令,什么都无从做起,更谈不上什么备份还原,只有给系统这个命令,让它去执行,才能完成Mysql数据库备份和还原的操作,下面就是操作的常用命令。

  一、备份命令

  1、备份MySQL数据库的命令

  mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

  2、备份MySQL数据库为带删除表的格式

  备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

  mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql

  3、直接将MySQL数据库压缩备份

  mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

  4、备份MySQL数据库某个(些)表

  mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

  5、同时备份多个MySQL数据库

作者  | 2012-1-13 18:04:59 | 阅读(17) |评论(0) | 阅读全文>>

Hibernate中对象的三种状态分析

2012-1-13 15:42:38 阅读29 评论0 132012/01 Jan13

Hibernate的状态

  hibernate的各种保存方式的区(save,persist,update,saveOrUpdte,merge,flush,lock)及 对象的三种状态

  hibernate的保存

  hibernate对于对象的保存提供了太多的方法,他们之间有很多不同,这里细说一下,以便区别。

  一、预备知识

  在所有之前,说明一下,对于hibernate,它的对象有三种状态,transient、persistent、detached

  下边是常见的翻译办法:

  transient:瞬时态或者临时态

  (new DeptPo(1,”行政部”,20,”行政相关”),该po的实例和session没有关联,该po的实例处于transient)

  persistent:持久化状态

  (和数据库中记录想影射的Po实例,它的状态是persistent, 通过get和load等得到的对象都是persistent)

  detached:脱管状态或者游离态

  (1)当通过get或load方法得到的po对象它们都处于persistent,但如果执行delete(po)时(但不能执行事务),该 po状态就处于detached, (表示和session脱离关联),因delete而变成游离态可以通过save或saveOrUpdate()变成持久态

  (2)当把session关闭时,session缓存中的persistent的po对象也变成detached

作者  | 2012-1-13 15:42:38 | 阅读(29) |评论(0) | 阅读全文>>

HotSpot VM GC 的种类

2012-1-13 14:16:06 阅读23 评论0 132012/01 Jan13

collector种类

GC在 HotSpot VM 5.0里有四种:

incremental (sometimes called train) low pause collector已被废弃,不在介绍.

类别 serial collector parallel collector

( throughput collector ) concurrent collector

(concurrent low pause collector) 介绍

单线程收集器

使用单线程去完成所有的gc工作,没有线程间的通信,这种方式会相对高效

并行收集器

使用多线程的方式,利用多CUP来提高GC的效率

主要以到达一定的吞吐量为目标

并发收集器

使用多线程的方式,利用多CUP来提高GC的效率

并发完成大部分工作,使得gc pause短

试用场景 单处理器机器且没有pause time的要求

适用于科学技术和后台处理

有中规模/大规模数据集大小的应用且运行在多处理器上,关注吞吐量(throughput)

适合中规模/大规模数据集大小的应用,应用服务器,电信领域

关注response time,而不是throughput

使用 Client模式下默认

可使用

作者  | 2012-1-13 14:16:06 | 阅读(23) |评论(0) | 阅读全文>>

生产环境JVM参数实例及分析

2012-1-13 14:13:17 阅读20 评论0 132012/01 Jan13

改进前:

-Xms128m

-Xmx128m

-XX:NewSize=64m

-XX:PermSize=64m

-XX:+UseConcMarkSweepGC

-XX:CMSInitiatingOccupancyFraction=78

-XX:ThreadStackSize=128

-Xloggc:logs/gc.log

-Dsun.rmi.dgc.server.gcInterval=3600000

-Dsun.rmi.dgc.client.gcInterval=3600000

-Dsun.rmi.server.exceptionTrace=true

问题:

permsize 设置较小,很容易达到报警范围(0.8) 没有设置MaxPermSize,堆增长会带来额外压力。 NewSize较大,old gen 剩余空间64m,一方面可能会带来old区容易增长到报警范围(监控数据显示oldgenused长期在50m左右,接近78%,容易出现full gc),另一方面也存在promontion fail风险

改进后:

-Xms128m

-Xmx128m

-Xmn24m

-XX:PermSize=80m

-XX:MaxPermSize=80m

-Xss256k

-XX:SurvivorRatio=1

作者  | 2012-1-13 14:13:17 | 阅读(20) |评论(0) | 阅读全文>>

谁动了我的琴弦

[ar:周笔畅]

谁动了我的琴弦唤我到窗前

流水浮舟你在深夜的那一边

谁倚着我的琴枕梦尽夜满月

还以为各自两边只能做蝴蝶

谁让你我静似月

只能在心里默念

檐下燕替我飞到你身边

谁让你我静似月

各自孤单错弄弦

风吹的帘落见月人不眠

谁动了我的琴弦唤我到窗前

流水浮舟你在深夜的那一边

谁倚着我的琴枕梦尽夜满月

还以为各自两边只能做蝴蝶

谁动了我的那根弦

将要度过的湖面

难预料预料将来的深浅

谁让你动了我的弦

这次一遍又一遍

唤醒了人影孤单嵌入夜

谁让你我静似月

只能在心里默念

檐下燕替我飞到你身边

谁让你我静似月

各自孤单错弄弦

风吹的帘落见月人不眠

作者  | 2012-1-11 4:10:15 | 阅读(22) |评论(0) | 阅读全文>>

Spring 事务管理高级应用难点剖析

2012-1-10 2:48:04 阅读90 评论0 102012/01 Jan10

概述

Spring 最成功,最吸引人的地方莫过于轻量级的声明式事务管理,仅此一点,它就宣告了重量级 EJB 容器的覆灭。Spring 声明式事务管理将开发者从繁复的事务管理代码中解脱出来,专注于业务逻辑的开发上,这是一件可以被拿来顶礼膜拜的事情。但是,世界并未从此消停,开发人员需要面对的是层出不穷的应用场景,这些场景往往逾越了普通 Spring 技术书籍的理想界定。因此,随着应用开发的深入,在使用经过 Spring 层层封装的声明式事务时,开发人员越来越觉得自己坠入了迷雾,陷入了沼泽,体会不到外界所宣称的那种畅快淋漓。本系列文章的目标旨在整理并剖析实际应用中种种让我们迷茫的场景,让阳光照进云遮雾障的山头。

DAO 和事务管理的牵绊

很少有使用 Spring 但不使用 Spring 事务管理器的应用,因此常常有人会问:是否用了 Spring,就一定要用 Spring 事务管理器,否则就无法进行数据的持久化操作呢?事务管理器和 DAO 是什么关系呢?

也许是 DAO 和事务管理如影随行的缘故吧,这个看似简单的问题实实在在地存在着,从初学者心中涌出,萦绕在开发老手的脑际。答案当然是否定的!我们都知道:事务管理是保证数据操作的事务性(即原子性、一致性、隔离性、持久性,也即所谓的 ACID),脱离了事务性,DAO 照样可以顺利地进行数据的操作。

下面,我们来看一段使用 Spring JDBC 进行数据访问的代码:

清单 1. UserJdbcWithoutTransManagerService.java

作者  | 2012-1-10 2:48:04 | 阅读(90) |评论(0) | 阅读全文>>

Spring配置事务的几种方式

2012-1-10 2:08:23 阅读45 评论0 102012/01 Jan10

根据代理机制不同,有以下几种配置方式:

先定义一个DAO接口及实现类:

public interface IUserDao {

public void insertUser(UserTable user);

}

实现类:

public class UserDaoImpl extends HibernateDaoSupport implements IUserDao{

public void insertUser(UserTable user) {

getHibernateTemplate().saveOrUpdate(user);

}

}

第一种

为每个bean设置一个代理,这种是根据具体需求来定,如要对具体到每个交易进行事务操作的话,这个方式是最合适的;

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<!-- 每个bean都有一个代理 -->

<beans>

<!-- sessionFactory相当于spring datasource -->

作者  | 2012-1-10 2:08:23 | 阅读(45) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 

北京市 东城区 处女座

 发消息  写留言

 
知其然而不知其所以然只能做一个名义上的程序员而已。
 
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
心情随笔列表加载中...
 
 
 
 
 

自定义模块

 
 
模块内容加载中...
 
 
 
 
 

热门日志

 
 
数据列表加载中...
 
 
 
 
 

最新日志

 
 
数据列表加载中...
 
 
 
 
 

归档

 
 
数据加载中...
 
 
 
 
 

自定义模块

 
 
模块内容加载中...
 
 
 
 
 
 
 
博友列表加载中...
 
 
 
 
 
 
 
日志评论
评论列表加载中...
 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2012

   
创建博客 登录  
 关注