随笔分类 -  java

摘要:1.复制jdk提供的jmx帐号和密码配置文件模板到tomcat的conf目录:cp$JAVA_HOME/jre/lib/management/jmxremote.*tomcat/conf2.重命名:jmxremote.password.template为jmxremote.passwordmv jm... 阅读全文
posted @ 2014-11-11 15:52 langke93 阅读(7922) 评论(2) 推荐(1)
摘要:在maven pom.xml 文件plugins里增加 com.github.goldin copy-maven-plugin 0.2.5 deploy-archive integration-test copy scp://hadoop:pwd@ip:/opt/17173... 阅读全文
posted @ 2013-11-12 19:45 langke93 阅读(1830) 评论(0) 推荐(0)
摘要:在调试过程中,对于不是自己源码的需要临时增加几行代码调试,重新编译显得有点麻烦;下面介绍在eclipse调试环境下直接插入几行代码动态执行:调试的时候,右击,菜单选择watch,在Expressions视图下选择“Add new expression”然后输入以下代码: java.io.File file = new java.io.File("c:/temp/Wrapper3.class"); java.io.FileOutputStream fos = null; fos = new java.io.FileOutputStream(file); fos.write(b 阅读全文
posted @ 2013-04-23 13:34 langke93 阅读(1002) 评论(0) 推荐(0)
摘要:在主机名解析为 IP 地址后,资源 IP 地址将保存在 JVM 的高速缓存中。如果改变了资源的 IP 地址,则需要重新启动应用服务器,使 Identity Manager 能够检测所做更改 (ID-3635)。这是 Sun JDK(1.3 及更高版本)中的设置,可以使用 sun.net.inetaddr.ttl 属性(通常在 jre/lib/security/java.security 中设置)控制//设置解析成功的域名记录JVM中缓存的有效时间,JVM默认是永远有效,这样一来域名IP重定向必须重启JVM,这里修改为5秒钟有效,0表示禁止缓存,-1表示永远有效java.security.Sec 阅读全文
posted @ 2012-11-29 13:34 langke93 阅读(9132) 评论(0) 推荐(0)
摘要:1.如果是web工程,web.xml需要配置监听器: <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>2.applicationContext.xml配置:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.o 阅读全文
posted @ 2012-11-05 13:14 langke93 阅读(3713) 评论(0) 推荐(0)
摘要:今天在线上环境发现cpu利用率100%问题,top出来确实有个进程一直占着100%CPU,记下这个pid然后Shift+H查看线程占用资源情况,记下pid,这时pid其实是线程ID,到java堆栈去找要转为十六进制;jstack [pid] |grep -n 'nid=0x249c' 这一行就是占用资源的线程"New I/O server worker #1-11" prio=10 tid=0x000000005d8e8000 nid=0x249c runnable [0x0000000042216000] java.lang.Thread.State: R 阅读全文
posted @ 2012-05-27 21:27 langke93 阅读(1926) 评论(0) 推荐(0)
摘要:通过研究并发(bug patterns)缺陷模式,您既能够提高对并发编程的理解,还能够了解如何发现无效或可能无效编程方法。在本文中,作者 Zhi Da Luo、Yarden Nir-Buchbinder 和 Raja Das 阐述了 6 个鲜为人知的、可能威胁运行在多核系统上的 Java™ 应用程序的线程安全和性能的并发缺陷。 阅读全文
posted @ 2011-12-08 10:08 langke93 阅读(596) 评论(0) 推荐(0)
摘要:/** * HttpClientPOST文件 * @param URL * @param content 传params时,此参为"" * @param params * @param fileName * @return */ public String postUrl(String URL,String content,Map<String,String> params,String fileName){ String result = ""; PostMethod postMethod = new PostMethod(URL); Re 阅读全文
posted @ 2011-11-22 17:06 langke93 阅读(2471) 评论(0) 推荐(0)
摘要:支持并发的第一个处理器提供原子的测试并设置操作,通常在单位上运行这项操作。现在的处理器(包括 Intel 和 Sparc 处理器)使用的最通用的方法是实现名为比较并转换或 CAS 的原语。(在 Intel 处理器中,比较并交换通过指令的 cmpxchg 系列实现。PowerPC 处理器有一对名为“加载并保留”和“条件存储”的指令,它们实现相同的目地;MIPS 与 PowerPC 处理器相似,除了第一个指令称为“加载链接”。) CAS 操作包含三个操作数 —— 内存位置(V)、预期原值(A)和新值(B)。如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值。否则,处理器不做任. 阅读全文
posted @ 2011-11-15 15:42 langke93 阅读(897) 评论(0) 推荐(0)
摘要:ConnectionManager cm = new ConnectionManager(); cm.setProxyHost("192.168.0.103"); cm.setProxyPort(3128); /**设置请求头信息**/ String header_user_agent = Config.get().get("header_user_agent"); String header_referer = Config.get().get("header_referer"); Hashtable<String, Stri 阅读全文
posted @ 2011-10-12 10:20 langke93 阅读(214) 评论(0) 推荐(0)
摘要:Method里有method.setRequestHeader(headerName, headerValue)方法,但是没有效果,服务端收到的Host还是IP,跟踪下源码,发现这样写可以生效 GetMethod method = new GetMethod(url); method.getParams().setVirtualHost("google.org"); if(header_user_agent!=null) method.setRequestHeader("User-agent", header_user_agent); if(header 阅读全文
posted @ 2011-09-30 11:13 langke93 阅读(13562) 评论(3) 推荐(2)
摘要:ibatis自带的本地缓存有FIFO,LRU等,对于分布式缓存也有osCache支持,而最常用的memcached也可以整合到ibatis里滴,这样通过map关系配置,就省了很多硬编码。首先写个实现CacheController接口的MemcachedIbatisController类/***ibatis管理memcache使用LRU算法*@authorlangke93*@date2011-01-17*@usage:*<cacheModelid="cache-videoinfo"type="com.woyo.upload.kernel.util.Memcac 阅读全文
posted @ 2011-03-30 15:45 langke93 阅读(1137) 评论(0) 推荐(0)
摘要:为什么你写的程序运行效率不高;为什么你的程序会OutOfMemory;为什么你的程序会经常OutOfMemory;看看你的编程习惯是否符合36计1.JVM管理两种类型的内存:堆内存(heap),栈内存(stack),堆内在主要用来存储程序在运行时创建或实例化的对象与变量.而栈内存则是用来存储程序代码中声明为静态(static)(或非静态)的方法.2.JVM中对象的生命周期,创建阶段,应用阶段,不可视阶段,不可到达阶段,可收集阶段,终结阶段,释放阶段3.避免在循环体中创建对象,即使该对象点用内存空间不大.for(inti=0;i<10000;++i){Objectobj=newObject 阅读全文
posted @ 2011-03-30 10:21 langke93 阅读(335) 评论(0) 推荐(0)
摘要:http://code.google.com/p/memcached/wiki/Clients分别建立五个测试页面:xmem.jsp使用xmemcached-1.3.2.jarspymem.jsp使用memcached-spy-2.6rc1.jarmem.jsp使用官方memcached-2.5.0.jaralimem.jsp使用alisoft-xplatform-asf-cache-2.5.1.jarindex.jsp单纯页面并发1000测试[tomcat@localhost~]$webbench-c1000-t60http://127.0.0.1:7001/xmem.jsp1000clie 阅读全文
posted @ 2011-03-29 00:34 langke93 阅读(459) 评论(0) 推荐(0)
摘要:jsonp服务端需要返回的格式:callback([{"id":448,"name":"ddd_xx"}])其实就是加个数据的方法调用封装。注意,对于jsonp在return对象需要为null,否则返回的数据后面会多个{....},需要返回的数据可以直接PrintWrite输出。服务端代码示例:@SuppressWarnings("unchecked")@JSON(serialize=false)publicStringalbumList()throwsIOException,JSONException{HttpS 阅读全文
posted @ 2011-02-25 17:14 langke93 阅读(313) 评论(0) 推荐(0)
摘要:学习了一下JDK中的一些自带系统性能分析工具。在jdk的bin目录下,jconsole,jstack、jmap、jstat、jhatjconsole是监视和管理工具。可以查看堆内存,线程,类,CPU状况。直接双击就可以启动了,然后选择连接本地local还是远程remote,分析结果就出现在界面上了。当然也可以从命令行启动界面。jstack主要用于线程死锁的监控。命令行中输入jstack-h查看用法C:\ProgramFiles(x86)\Java\jdk1.6.0_14\bin>jstack-hUsage:jstack[-l]<pid>(toconnecttorunningp 阅读全文
posted @ 2011-01-18 12:58 langke93 阅读(489) 评论(0) 推荐(0)
摘要:在多台集群服务器下,出现问题得一台台排查,非常耗时间;那本文就是要实现估障快速定位的配置:在Engine增加jvmRoute来定位服务器,后面跟着ip后两位,为考虑安全因素可以换算成16进制<Enginename="Catalina"defaultHost="localhost"jvmRoute="upv1_200_62">如此在请求的http头里就可以看到以upv1_200_62后辍的串,就能定位是哪台服务器处理的请求。nginx配置,上传模块转发所有字段:upload_pass_form_field"^.*$ 阅读全文
posted @ 2010-12-29 20:13 langke93 阅读(219) 评论(0) 推荐(0)
摘要:在某些特定的环境里,没有终端,没有控制台,想看到系统运行日志就比麻烦了,然后自己就写个Servlet方法来读取服务器运行日志,这样就省得麻烦管理员了。publicvoidgetCatalinaLog(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){Stringv_pos=request.getParameter("v_pos");//记取最后几个字节,默认10240Stringlog_file=request.getParameter(&qu 阅读全文
posted @ 2010-09-16 13:33 langke93 阅读(629) 评论(0) 推荐(0)
摘要:正则表达式是一种文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式示例表达式匹配/^\s*$/匹配空行。/\d{2}-\d{5}/验证由两位数字、一个连字符再加5位数字组成的ID号。/<\s*(\S+)(\s[^>]*)?>[\s\S]*<\s*\/\1\s*>/匹配HTML标记。下表包含了元字符的完整列表以及它们在正则表达式上下文中的行为:字符说明\将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n”匹配字符“n”。“\n”匹配换行符。序列“\\”匹配“\”,“\ 阅读全文
posted @ 2010-08-06 06:06 langke93 阅读(226) 评论(0) 推荐(0)