自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

psiitoy的专栏

温暖的大狗

  • 博客(51)
  • 资源 (6)
  • 收藏
  • 关注

转载 Nginx是什么?Nginx介绍及Nginx的优点

Nginx是什么?Nginx介绍及Nginx的优点Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发的,它已经在该站点运行超过两年半了。Igor Syso

2014-08-29 10:55:48 645

转载 maven常用命令介绍

maven常用命令介绍1 下载源代码:mvn dependency:sources -DdownloadSources=true -DdownloadJavadocs=true  maven常用命令介绍这里主要是在eclipse中使用maven,因此只使用到了一部分命令,整理下来方便以后查阅。生成清除Eclipse项目结构:mvn e

2014-08-27 14:54:33 564

翻译 你可能并不需要消息队列

英文原文:You Probably Don’t Need a Message Queue  我是一个极简主义者,我不喜欢过早或者没必要地让软件复杂化。而往软件系统中添加组件就是严重增加复杂性的一种做法。我们来拿消息队列举个例子。  消息队列是一个能让你获得容错性,分布式,解耦等架构能力的系统。纸上谈兵的话,它看起来还不错。  或许消息列队在你的应用中有不少适用的场景。你

2014-08-27 14:53:32 505

转载 程序员的工作不能用“生产效率”这个词来衡量

英文原文:There's No Such Thing As Software Productivity  通过反复的交谈,Bill Caputo最终说服了我,让我相信了一些不可思议的事情。这些事情改变了我整个看问题的方式,也让我重新思考如何更好的工作。  软件开发中没有“生产效率”。  几乎正如10年前 Martin Fowler 发现的,用生产效率来衡量软件开发工作没

2014-08-27 10:21:03 408

转载 SpringMVC并发访问的线程安全性问题

转:http://windows9834.blog.163.com/blog/static/27345004201391045539953/springmvc的controller是singleton的(非线程安全的),这也许就是他和struts2的区别吧和Struts一样,Spring的Controller默认是Singleton的,这意味着每个request过来,系统都会用原有

2014-08-26 17:26:07 1369

转载 struts2线程安全

问题:Struts 2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。Spring的Ioc容器管理的bean默认是单实例的,上一次请求处理的状态信息被保持下来,并影响了下一次的请求,实际上就是Action中的类变量被不同的请求读取,出现错误结果解决:就是不用单例, spring中bean的作用域设为prototype,每个请求对应一个实例.1、Struts

2014-08-26 17:10:23 448

转载 servlet 多线程问题

介绍了Servlet多线程机制,通过一个实例并结合Java 的内存模型说明引起Servlet线程不安全的原因,给出了保证Servlet线程安全的三种解决方案,并说明三种方案在实际开发中的取舍。  关键字:Servlet 线程安全 同步 Java内存模型 实例变量   Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。由于Servlet/JSP默

2014-08-26 15:48:13 403

转载 maven多module项目中千万不要引入其他模块的单元测试代码

本文出处:http://blog.csdn.net/chaijunkun/article/details/35796335,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。这两天一直在整理一些旧的代码,将原来的混乱东西升级到maven管理。这其中也免不了将大项目拆分成若干个module(这里纠正一个发音,不是“猫丢”,是['mɑː

2014-08-26 15:16:10 1522

转载 6 个重构方法可帮你提升 80% 的代码质量

英文原文:Top 6 Refactoring Patterns to Help You Score 80% in Code Quality  在过去做了不少代码走读,发现了一些代码质量上比较普遍的问题,以下是其中的前五名:臃肿的类: 类之所以会臃肿,是因为开发者缺乏对最基本的编码原则,即“单一职责原则”(SRP)的理解。这些类往往会变得很臃肿,是由于不同的且在功能上

2014-08-26 14:54:35 463

转载 防止代码变质的思考与方法

1、软件长期运营存在什么问题  一个大规模的客户端软件的生命周期中,我们可以把它分为两个比较粗的时期。一个是前期的搭建软件的时期,即从无到有的时期;第二个是搭建完成之后,进入的一个稳定的运营时期。第二个时期才是最关键的,在这个时期我们会持续的迭加需求,持续的优化功能,而且第二个时期也是代码在慢慢变质的时期。  在这个时期,你可能会发现:我们的软件慢慢出现模块耦合严重,牵一发而动全身

2014-08-26 14:38:22 456

转载 程序员生存定律-打造属于自己的稀缺性

假设说你想在江湖里谋求一定的地位,那么你可以练习独孤九剑成为超一流高手,也可以练习医术,成为绝世神医。这两者在江湖里都是有地位的,也都是稀缺的,一者是因为杀伤力,二者是因为人都有山高水长。  程序员也一样,增值也好,改善表达力也好,最终都要在某种环境下达成一定的稀缺性,这样一个人才有价值。稀缺性同时受两个维度上的力量影响:一个是自身的努力,比如前文所提到的增值和表达力;一个是大环境的变化以

2014-08-26 13:53:09 367

转载 Maven中的占位符

maven的属性,是值的占位符,类似EL,类似ant的属性,比如${X},可用于pom文件任何赋值的位置。有以下分类:env.X:操作系统环境变量,比如${env.PATH}project.x:pom文件中的属性,比如:1.0,引用方式:${project.version}settings.x:settings.xml文件中的属性,比如:false,引用方式:${settings.offl

2014-08-26 13:36:04 3129

转载 WebService CXF 中的拦截器(Interceptor)

CXF的Interceptor在每个请求响应之前或响应之后,做一些事情。这里的Interceptor就和Filter、Struts的Interceptor很类似,提供它的主要作用就是为了很好的降低代码的耦合性,提供代码的内聚性。下面我们就看看CXF的Interceptor是怎么样工作的。 我们还是使用上一篇文章的工程,做一些添加与修改! 1、客户端的拦截器 

2014-08-22 14:53:16 1210

转载 大师的智慧

说的太好了 绝对值得一读,深奥到不服不行啊!! 【和尚吃肉吗?】一个来访者问:法师,我想问一个不太恭敬的问题?大师:请讲!来访:您在公众场合是素食,您一个人在房间会不会吃肉呢?(大师并没有回答他的问题)反倒问他:您是开车来的吗?来访:是的。大师说:开车要系安全带。请问您是为自己系还是为警察系?如果是为自己系,有没有警察

2014-08-21 16:06:49 373

转载 得道前的码农 vs 得道后的码农

得道前的码农: 北漂整十年,彻夜不成眠。 蚊蝇灯前语,代码枕边翻。 日出挤地铁,月末无余钱。 识得邻家女,不嫁程序员。 得道后的码农: 佛为心,道为骨,儒为表,大度看项目;技在手,能在身,思在脑,从容写代码。

2014-08-21 15:56:14 551

转载 编程手艺人需要读的32本国外经典

编程手艺人需要读的32本经典书籍:JavaCore Java, Vol. IJava The Good PartsEffective Java, 2nd Ed.C#Pro C# 5.0 and the .NET 4.5 Framework 6th Ed.Effective C#More Effective C#

2014-08-20 17:38:30 549

转载 强大的Mockito测试框架

1自动生成Mock类在需要Mock的属性上标记@Mock注解,然后@RunWith(MockitoJUnitRunner.class)或者在setUp()方法中显示调用MockitoAnnotations.initMocks(this);生成Mock类即可。 2自动注入Mock类到被测试类只要在被测试类上标记@InjectMocks,Mockito就会自

2014-08-20 16:47:38 679

转载 Mockito:一个强大的用于Java开发的模拟测试框架

介绍  本文将介绍模拟测试框架Mockito的一些基础概念, 介绍该框架的优点,讲解应用Mockito的Java示例。模拟(Mock)的概念   在软件开发的世界之外, "mock"一词是指模仿或者效仿。因此可以将“mock”理解为一个替身,替代者。在软件开发中提及"mock",通常理解为模拟对象或者fake。  译者注:mock等多

2014-08-20 15:55:17 690

转载 5分钟了解Mockito

一、什么是mock测试,什么是mock对象? 先来看看下面这个示例:从上图可以看出如果我们要对A进行测试,那么就要先把整个依赖树构建出来,也就是BCDE的实例。 一种替代方案就是使用mocks从图中可以清晰的看出mock对象就是在调试期间用来作为真实对象的替代品。mock测试就是在测试过程中,对那些不容易构建的对象用一

2014-08-20 15:50:15 533

转载 快要失传的老北京的北京话

反正我全念出来了,哈哈!您能正确地读出来吗?那您一准儿是老北京!总结人很有才啊!1、搓火 2、寒碜 3、倒饬4、死乞白咧 5、较劲儿 6、臊眉搭眼 7、卧槽 8、歇菜 9、别介 10、忒 11、盖了帽儿了 12、蔫不出溜 13、瞅不冷 14、倍儿棒 15、麻利儿 16、撂挑子 17、门儿清 18、魔怔 19、钢蹦儿 20、焖得儿蜜。全会的举手【老北京情結老北京話-续编】有一

2014-08-20 14:49:26 1156

转载 我母亲是个非常节俭的人

有这样一个儿子,他是个大款,母亲老了,牙齿全坏掉了,于是他开车带着母亲去镶牙,一进牙科诊所,医生开始推销他们的假牙,可母亲却要了最便宜的那种。医生不甘就此罢休,他一边看着大款儿子,一边耐心地给他们比较好牙与差牙的本质不同。可是令医生非常失望的是,这个看是大款的儿子却无动于衷,只顾着自己打电话抽雪茄,根本就不理会他。医生拗不过母亲,同意了她的要求 。这时,母亲颤颤悠悠地从口袋里掏出一个布包,一层

2014-08-20 13:50:10 621

转载 Java Remote Debug(远程调试)

新接手的项目采用的是Maven作为编译管理工具,项目内容则是按子模块Module来划分。由于模块太多,且都比较大(基本上都能独立运行并负责处理一方面的业务),并采用Socket来进行模块之间的数据通信,结果就导致一个略显臃肿的系统产生了。最重要的是,不知道maven的pom.xml文件出了什么问题,Eclipse也一直无法成功加载部分重要模块(以致最后切换到JetBrain IDEA(Open S

2014-08-20 13:43:18 833

转载 java远程debug

常常会遇到在应用部署在weblogic,tomcat,jetty等服务器下,而我们的代码却在本地,如何用本地的代码调试远程服务器上的程序呢在web服务器上添加jvm参数,如以下是我们启动jetty服务器的参数,8000代表的是远程debug的端口号java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000 -

2014-08-20 10:42:54 742

转载 JMX 介绍

1、JMX的Hello World    文/陈刚 from www.chengang.com.cn at 2005-12-3地址:http://www.blogjava.net/chengang/archive/2006/03/07/34061.html一、JMX简介  什么是JMX?在一篇网文中是这样说的:"JMX(Java Management Extensions)

2014-08-20 10:31:22 1121

转载 测试驱动开发的好处

测试驱动开发TDD的好处:1. 快速反馈2. 有利于解偶,不好测试的用例需要重构3. 测试用例是重构的基础,4. 先定义好API接口,基于接口编写测试用例和实现,目标明确5. 一个个测试用例,就是“摸着石头过河”的石头,没有石头,就过不了河6. 单元测试用例可以用做软件功能说明书7. 单元测试用例是用于对付遗留代码的及其重要的组件之一

2014-08-19 15:06:55 2409

转载 Git能助你做出步子更大的重构

许多国外重构大师,如Kent Beck和Martin Folwer都建议我们:重构的步子要尽量小,每两次测试变绿的时间间隔要尽量短。若代码耦合过密,两次测试变绿的时间间隔很难变短,而需要很长时间时该怎么办?首先解释一下什么是重构的步子(Step)。一个重构的步子,就是在同一个测试的两次变绿(运行通过)之间所做出的代码改动。下面是两位程序员之间的对话。

2014-08-19 15:01:03 840

转载 Spring整合JMS(一)——基于ActiveMQ实现

1.1     JMS简介       JMS的全称是Java Message Service,即Java消息服务。它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息。把它应用到实际的业务需求中的话我们可以在特定的时候利用生产者生成一消息,并进行发送,对应的消费者在接收到对应的消息后去完成对应的业务逻辑。对于消息的传递有两种类型,一种是点对点的,即一个生产者和

2014-08-15 17:10:40 477

转载 Spring Data JPA初使用

我们都知道Spring是一个非常优秀的JavaEE整合框架,它尽可能的减少我们开发的工作量和难度。  在持久层的业务逻辑方面,Spring开源组织又给我们带来了同样优秀的Spring Data JPA。  通常我们写持久层,都是先写一个接口,再写接口对应的实现类,在实现类中进行持久层的业务逻辑处理。  而现在,Spring Data JPA帮助我们自动完成了持久层的业务逻辑

2014-08-15 16:58:33 413

转载 Spring Data JPA 简单介绍

背景考虑到公司应用中数据库访问的多样性和复杂性,目前正在开发UDSL(统一数据访问层),开发到一半的时候,偶遇SpringData工程。发现两者的思路惊人的一致。于是就花了点时间了解SpringData,可能UDSL II期会基于SpringData做扩展SpringData相关资料介绍:针对关系型数据库,KV数据库,Document数据库,Graph数据库,Map-Reduc

2014-08-15 16:54:56 401

转载 Java 线程池 ThreadPoolExecutor.(包含拒绝策略CallerRunsPolicy,AbortPolicy,DiscardPolicy,DiscardOldestPolicy )

JDK1.5 开始关于多线程加了很多特性。如:ConcurrentHashMap: 放弃使用公用锁同步每一个方法,使用了更细化的锁机制,分离锁。对于大数据量的HashMap 同步操作效率有了较大提升。CopyOnWriteArrayList: 是同步 List 的一个并发替代品。其线程安全性来源于这样一个事实:只要有效的不可变对象被正确发布,那么访问它将不再需要更多的同步。在每次需

2014-08-15 16:32:56 26302 1

转载 Java线程池使用

前言:最近在做分布式海量数据处理项目,使用到了java的线程池,所以搜集了一些资料对它的使用做了一下总结和探究,前面介绍的东西大多都是从网上搜集整理而来。文中最核心的东西在于后面两节无界队列线程池和有界队列线程池的实例使用以及线上问题处理方案。                                 1.  为什么要用线程池?      在Java中

2014-08-15 16:25:47 490

转载 java Future 接口介绍

从jdk1.5开始我们可以利用Future来跟踪异步计算的结果。在此之前主线程要想获得工作线程(异步计算线程)的结果是比较麻烦的事情,需要我们进行特殊的程序结构设计,比较繁琐而且容易出错。有了Future我们就可以设计出比较优雅的异步计算程序结构模型:根据分而治之的思想,我们可以把异步计算的线程按照职责分为3类:1. 异步计算的发起线程(控制线程):负责异步计算任务的分解和发起,把分解好的

2014-08-15 15:58:35 536

转载 Java线程(二):线程同步synchronized和volatile

上篇通过一个简单的例子说明了线程安全与不安全,在例子中不安全的情况下输出的结果恰好是逐个递增的(其实是巧合,多运行几次,会产生不同的输出结果),为什么会产生这样的结果呢,因为建立的Count对象是线程共享的,一个线程改变了其成员变量num值,下一个线程正巧读到了修改后的num,所以会递增输出。        要说明线程同步问题首先要说明Java线程的两个特性,可见性和有序性。多个线程之间是

2014-08-15 15:44:12 341

转载 Java线程(三):线程协作-生产者/消费者问题

上一篇讲述了线程的互斥(同步),但是在很多情况下,仅仅同步是不够的,还需要线程与线程协作(通信),生产者/消费者问题是一个经典的线程同步以及通信的案例。该问题描述了两个共享固定大小缓冲区的线程,即所谓的“生产者”和“消费者”在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时加

2014-08-15 15:43:12 425

转载 Java线程(一):线程安全与不安全

作为一个Java web开发人员,很少也不需要去处理线程,因为服务器已经帮我们处理好了。记得大一刚学Java的时候,老师带着我们做了一个局域网聊天室,用到了AWT、Socket、多线程、I/O,编写的客户端和服务器,当时做出来很兴奋,回学校给同学们演示,感觉自己好NB,呵呵,扯远了。上次在百度开发者大会上看到一个提示语,自己写的代码,6个月不看也是别人的代码,自己学的知识也同样如此,学完的知识如果

2014-08-15 15:42:42 417

转载 Java线程(五):Timer和TimerTask

Timer和TimerTask可以做为实现线程的第三种方式,前两中方式分别是继承自Thread类和实现Runnable接口。        Timer是一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行,可以看成一个定时器,可以调度TimerTask。TimerTask是一个抽象类,实现了Runnable接口,所以具备了多线程的能力。     

2014-08-15 15:40:37 344

转载 Java线程(六):线程池

自JDK5之后,Java推出了一个并发包,java.util.concurrent,在Java开发中,我们接触到了好多池的技术,String类的对象池、Integer的共享池、连接数据库的连接池、Struts1.3的对象池等等,池的最终目的都是节约资源,以更小的开销做更多的事情,从而提高性能。        我们的web项目都是部署在服务器上,浏览器端的每一个request就是一个线程,那

2014-08-15 15:12:20 347

转载 Java线程(七):Callable和Future

接着上一篇继续并发包的学习,本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。        Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Future拿到,也就是说,Future可以拿到异步执行

2014-08-14 18:07:48 386

转载 Java线程(八):锁对象Lock-同步问题更完美的处理方式

Lock是java.util.concurrent.locks包下的接口,Lock 实现提供了比使用synchronized 方法和语句可获得的更广泛的锁定操作,它能以更优雅的方式处理线程同步问题,我们拿Java线程(二)中的一个例子简单的实现一下和sychronized一样的效果,代码如下:[java] view plaincopypubl

2014-08-14 18:07:11 372

转载 一、 模板方法(Template Method)模式

一、 模板方法(Template Method)模式准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模版方法模式的用意。很多人可能没有想到,模版方法模式实际上是所有模式中最为常见的几个模式之一,而且很多人可能使用过模版方法模式而没有意识到自己已

2014-08-14 17:36:52 394

plantuml.jar

Sublime安装PlantUML插件必备plantuml.jar

2021-07-21

java数据结构和算法

java数据结构和算法,第二版,提高一个java程序员的素养

2012-02-21

jquery开发入门整理(所需要了解的)

jquery需要了解的,你应该学习 jQuery 的七大理由(1)

2012-02-10

Spring2.5.chm spring(我们的春天) 完全学习手册

前言 即使有好工具和好技术,开发软件仍然是比较困难的。有一些平台,它们包打天下, 但实际上很沉重、难以控制,在开发过程中效率不高,却让开发软件变得更加困难。 Spring为编写企业应用程序提供了轻量的解决方案,同时仍然支持使用声明式事务、 用RMI或web service远程调用、以及使用多种方式来将数据持久化到数据库。Spring提供了全功能的 MVC framework, 以及透明集成AOP到你的软件中的能力。

2011-09-04

Struts2_中文API.pdf 2.深入 Struts 架构

本章内容 介绍 MVC和 Model 2应用框架 理解 Struts 原理 使用 Struts 控制流 讨论 Struts 的优缺点

2011-09-04

面试题集 大全(全盖)

面试题集共分为以下十部分: 一、Core Java: 1 — 95题 1 — 24页 基础及语法: 1 — 61题 1 — 13页 异常: 62 — 69题 13 — 15页 集合: 70 — 80题 15 — 18页 线程: 81 — 90题 18 — 21页 IO & Socket: 91 — 95题 21 — 24页 二、OOAD & UML: 96 — 101题 24 — 25页 三、XML: 102 — 105题 26 — 29页 四、SQL: 106 — 109题 29 — 31页 五、JDBC & Hibernate: 110 — 121题 31 — 35页 六、Web: 122 — 161题 35 — 44页 七、EJB & Spring: 162 — 179题 44 — 47页 八、数据结构 & 算法 & 计算机基础: 180 — 187题 47 — 51页 九、C++: 188 — 201题 51 — 55页 十、Weblogic及其它(附加部分) 1 —— 13题 55 — 57页

2011-09-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除