- 博客(20)
- 收藏
- 关注
原创 play framework sbt里添加依赖树插件
最近项目中使用了play framework做为编译环境,默认情况下play没有提供类似于maven里那样查看整个项目依赖树的命令,通过各种搜索,终于搞定了依赖树的查看 。1. 在项目或者./sbt/version/plugins/plugins.sbt里添加以下内容addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "...
2015-11-17 12:23:49
427
原创 转载:Tomcat Servlet 工作原理解析
从 Servlet 容器说起要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又让枪有了杀伤力。虽然它们是彼此依存的,但是又相互独立发展,这一切都是为了适应工业化生产的 结果。从技术角度来说是为了解耦,通过标准化接口来相互协作。既然接口是连接 Servlet 与 Servlet 容器的关键...
2015-10-08 15:34:40
212
原创 转载:Tomcat 系统架构与设计模式,第 1 部分: 工作原理
本文以 Tomcat 5 为基础,也兼顾最新的 Tomcat 6 和 Tomcat 4。Tomcat 的基本设计思路和架构是具有一定连续性的。Tomcat 总体结构Tomcat 的结构很复杂,但是 Tomcat 也非常的模块化,找到了 Tomcat 最核心的模块,您就抓住了 Tomcat 的“七寸”。下面是 Tomcat 的总体结构图:图 1.Tomcat 的总体结构从 上图...
2015-10-08 15:33:21
198
原创 转载:Jetty 的工作原理以及与 Tomcat 的比较
Jetty 的基本架构Jetty 目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器,它有一个基本数据模型,这个数据模型就是 Handler,所有可以被扩展的组件都可以作为一个 Handler,添加到 Server 中,Jetty 就是帮你管理这些 Handler。Jetty 的基本架构下 图是 Jetty 的基本架构图,整个 J...
2015-10-08 15:31:48
133
原创 在本机使用maven编译tomcat8的源码并运行
前提说明:1. 基于tomcat 8.0.26版本的源码2. JDK1.7 操作说明:1. 从Apache网站下载tomcat源码2. 默认情况下,tomcat使用ant进行编译、打包,以下讲一下如何使用maven来编译、打包3. 在Eclipse里新建一个maven标准Java项目4. 将tomcat源码包下的Java里的文件拷贝到src/main/java下...
2015-09-29 10:33:58
441
1
原创 Spring的几个有用的小功能
一、 Spring的Profile功能这个功能的使用方法其实和Maven的profile是一样的,可以通过不同的参数来激活某些配置,这样便于我们在开发、调试以及生产模式下进行切换。对于类的配置,如果需要启用Profile功能,有以下几种方式: 1. 对于在配置类上使用注解方式的配置 @Configuration@Profile(value="productprofi...
2015-09-28 10:40:17
181
原创 Java的热部署能力
主要是收集整理一下关于Java热部署相关的功能,供以后需要时使用:1. Spring-loaded Spring-Loaded 使用Ⅰ-Getting Started Spring-Loaded 使用Ⅱ-Reload Jar 2. JRebel JRebel 使用Ⅰ-Getting Started 3. Java HotSwap Jav...
2015-09-23 10:00:14
154
原创 修改Java应用的Locale.DefautLocale值
Java的系统启动后,通过Locale.getDefault()能够得到一个当前应用默认的Locale信息,但如果希望我们的应用不管部署在任意机器上,可以保持同一个默认Locale怎么办呢?也就是如何修改Java启动的默认Locale。1. 可以在启动的入口代码处增加以下语句Locale.setDefault(newLocale("en","US"));2. 在Java启动时增加以下...
2015-09-22 11:11:56
3368
1
原创 log4j在运行时修改日志级别
Log4j是什么不多说了,平时我们在项目中使用log4j时,日志输出级别,一般都是预定义在定义文件里的,但问题在于,如果系统发生了错误,我们希望可以看到更多的信息,以确定错误发生的原因。大部分情况下,我们的做法了,停掉系统,修改log4j的输出级别,例如从info改到debug,然后再试着去重现错误。然后悲剧发生了,发现错误就是不出来,总不能系统一直在debug状态下运行吧,除非你真的完全不在乎...
2015-09-21 14:21:54
1839
原创 Java Service Provider实现
Java提供的Service Provider机制其实就是一种DI,在实现时只考虑接口(也就是规范),由其他第三方去实现具体的功能。这个跟Spring的依赖注入概念上差不多,Spring是框架级别的依赖注入,SPI则是语言自身提供的,不依赖于任何框架。 具体使用方法非常简单,假设系统中实现一个接口,例如com.test.DemoInterface,由第三方提供具体实现,有以下步骤:...
2015-09-21 13:58:08
2297
原创 CyclicBarrier和CountDownLatch的区别
从网上搜到的文章,在讲到这两者的区别时,大多都引用了以下两句话:(01) CountDownLatch的作用是允许1或N个线程等待其他线程完成执行;而CyclicBarrier则是允许N个线程相互等待。(02) CountDownLatch的计数器无法被重置;CyclicBarrier的计数器可以被重置后使用,因此它被称为是循环的barrier。 但看完这两句话,从代码角度出发,这两...
2015-09-14 15:35:44
198
原创 Hibernate的级联操作问题
今天讲的是其实是一个老生常谈的问题,但这前一直没有完全搞清楚,今天正好项目里遇到相关问题,仔细弄了一会儿,终于算是搞明白了。不知道大家有没有遇到过这个问题,举例先:@Entitypublic class Teacher { private String name; private Set<Student> students; ...
2015-09-11 16:46:37
152
原创 使用Spring启动内嵌Jetty的2种方式
在应用程序内使用Spring启动内嵌的Jetty服务总共有2种方式:1. 一种是启动一个独立运行的Jetty服务,使用独立的Spring配置,跟应用之间完全独立2. 一种是启动一个与应用共享ApplicationContext的服务,可以访问应用的全部内容 对于第一种独立的Jetty服务: Server server = new Server(); ...
2015-09-10 14:30:48
818
原创 Spring里同时使用@Configuration和XML的方式启动
虽然 2.0 版本发布以来,Spring 陆续提供了十多个注解,但是提供的这些注解只是为了在某些情况下简化 XML 的配置,并非要取代 XML 配置方式。这一点可以从 Spring IoC 容器的初始化类可以看出:ApplicationContext 接口的最常用的实现类是 ClassPathXmlApplicationContext 和 FileSystemXmlApplicationCont...
2015-08-31 10:07:59
2628
原创 CXF收发json信息,并进行对象转换
今天试验cxf的客户端收发信息测试,之前一直是让服务端直接返回string,然后客户端拿到字符串后进行解析。这样的代码,网上任意都能找到。可是如果服务端返回的是json类型,客户端该如何解析呢?网上的代码基本上都是在强调服务端,说应该配置<jaxrs:providers>,却都不提到客户端该如何配置,都是直接调用类似以下代码:WebClient client = Web...
2015-08-31 10:03:34
1256
原创 Activemq消息持久化
ActiveMq持久化相关配置:/usr/local/apache-activemq-5.11.1/conf/activemq.xml官方默认的持久化为Kahadb:<persistenceAdapter> <kahaDB directory="${activemq.data}/kahadb"</persistenceAdapte...
2015-08-20 15:32:21
92
原创 Apache服务器显示文件列表
Summary The index of a directory can come from one of two sources: A file located in that directory, typically called index.html. The DirectoryIndex directive sets the name of the file or fi...
2015-08-14 11:38:29
638
原创 转载:Redis中文教程(for 2.8)
1. Overview1.1 资料<The Little Redis Book> ,最好的入门小册子,可以先于一切文档之前看,免费。作者Antirez的博客,Antirez维护的Redis推特。Redis weekly redis周报。Redis 命令中文版, huangz同学的翻译,同时还有Redis官网几篇重要文档的翻译。Redis设计与实现 ...
2015-08-13 14:53:16
429
原创 转载:互联网架构概述
本文旨在简单介绍大型互联网的架构和核心组件实现原理。 理论上讲,从安装配置,最佳实践以及源码来剖析各个组件,这个自然是极好的。由于笔者时间以及知识有限,有很多知识没有在工作中亲自实践的机会。所以有些地方语焉不详,还请大家多多指教。大型互联网架构解决问题的通用思路是将分而治之(divide-and-conquer),将大问题分为若干个小问题,各个击破。在大型互联网的架构实践中,无一不体现...
2015-08-13 14:50:30
195
原创 股市技巧
一、基本口诀是,15分钟看强势,30分钟看调整,60分钟是底线。 二、在我的投资圈子里,把这种做股票的方法戏称为”摸大波“。通俗的说就是:只做大盘上升趋势中的股票的主升段。三、十年中给我的最大启示就是:要永远顺着大盘趋势去做股票,其胜算才最大,在正确的判断了大盘趋势终极拐点的情况下,去正确的选择主流资金所操作的股票, 四、做股票的最高境界是扑捉到趋势向上的股票,而且在第一启动时间...
2015-08-13 14:47:20
744
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人