JSON转java类文件

jetbrain的插件版:POJO Generator,是使用jsonchema2pojo包实现的,很方便直接在IDE中使用。
http://www.jsonschema2pojo.org/这个最强大,最实用
http://jsongen.byingtondesign.com/
http://tool.chinaz.com/tools/json2entity.aspx,站长工具。

Spring-data-redis与Redis组件的匹配

http://search.maven.org/#artifactdetails%7Corg.springframework.data%7Cspring-data-redis%7C1.7.10.RELEASE%7Cjar

每个成熟的组件,当它存在依赖时,均有一份完整的Project Object Model (POM)的参照样板,可以快速定位出最佳版本。
http://search.maven.org/#artifactdetails%7Ccom.alibaba%7Cdruid%7C1.0.29%7Cjar

springboot的框架生成器

http://start.spring.io/sts,在线版,功能齐全,可自由选择gradle或maven方式以及配置各种组件。
http://start.spring.io/spring.zip,命令行版,该版本貌似也是联网到线上生成代码并下载到本地的。
http://start.spring.io/需要自行清加依赖,如redis等

转:Tomcat的运行模式

tomcat的运行模式有3种.修改他们的运行模式.3种模式的运行是否成功,可以看他的启动控制台,或者启动日志.或者登录他们的默认页面http://localhost:8080/查看其中的服务器状态。

1)bio

默认的模式,性能非常低下,没有经过任何优化处理和支持.

2)nio

利用java的异步io护理技术,no blocking IO技术.

想运行在该模式下,直接修改server.xml里的Connector节点,修改protocol为


启动后,就可以生效。

3)apr

安装起来最困难,但是从操作系统级别来解决异步的IO问题,大幅度的提高性能.

必须要安装apr和native,直接启动就支持apr。下面的修改纯属多余,仅供大家扩充知识,但仍然需要安装apr和native

如nio修改模式,修改protocol为org.apache.coyote.http11.Http11AprProtocol

Tomcat的四种基于HTTP协议的Connector性能比较



我们姑且把上面四种Connector按照顺序命名为 NIO, HTTP, POOL, NIOP

为了不让其他因素影响测试结果,我们只对一个很简单的jsp页面进行测试,这个页面仅仅是输出一个Hello World。假设地址是 http://tomcat1/test.jsp

我们依次对四种Connector进行测试,测试的客户端在另外一台机器上用ab命令来完成,测试命令为: ab -c 900 -n 2000 http://tomcat1/test.jsp ,最终的测试结果如下表所示(单位:平均每秒处理的请求数):

NIO HTTP POOL NIOP
281 65 208 365
666 66 110 398
692 65 66 263
256 63 94 459
440 67 145 363

由这五组数据不难看出,HTTP的性能是很稳定,但是也是最差的,而这种方式就是Tomcat的默认配置。NIO方式波动很大,但没有低于280 的,NIOP是在NIO的基础上加入线程池,可能是程序处理更复杂了,因此性能不见得比NIO强;而POOL方式则波动很大,测试期间和HTTP方式一样,不时有停滞。

由于linux的内核默认限制了最大打开文件数目是1024,因此此次并发数控制在900。

尽管这一个结果在实际的网站中因为各方面因素导致,可能差别没这么大,例如受限于数据库的性能等等的问题。但对我们在部署网站应用时还是具有参考价值的。

服务器监控命令dstat

dstat -tamsl
dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项,也变得更灵活了。dstat可以很方便监控系统运行状况并用于基准测试和排除故障。

ethtool eth0查网卡信息

mvc:annotation-driven与context:annotation-config

是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案。
会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须的。
并提供了:数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,读写XML的支持(JAXB),读写JSON的支持(Jackson)。
后面,我们处理响应ajax请求时,就使用到了对json的支持。
后面,对action写JUnit单元测试时,要从spring IOC容器中取DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,来完成测试,取的时候要知道是这一句注册的这两个bean。

 declares support for general annotations such as @Required, @Autowired, @PostConstruct, and so on.
 is actually rather pointless. It declares explicit support for annotation-driven MVC controllers (i.e.@RequestMapping, @Controller, etc), even though support for those is the default behaviour.
My advice is to always declare , but don't bother with  unless you want JSON support via Jackson.

当我们需要controller返回一个map的json对象时,可以设定
同时设定 标签,设定字符集和json处理类,例如:


    	
        	
        		
            	
        	
    	
    	
		    
		      
		    
		
    

Tomcat的调试的另一种方式

1.进入调试对话框

2.在调试对话框中,选择Apache的Tomcat v7.0。

3.完成Tomcat的配置并进入下一步

4.检查调试配置,并完成。

5.若显示以下对话框,请耐心等待(第一次操作时由于本地没有缓存,会配置时间稍长一点,第二次操作后,会快很多)。

6.正常运行,显示如下: