JAVA-java
文章平均质量分 78
卫见见
这个作者很懒,什么都没留下…
展开
-
JavaDeveloper,是时候删除你的JRE了!
2014年Java8发布,不知不觉已过去5年了。支持模块化的Java 9 2017年发布后,Java发布进入了快车道,计划六个月一个版本,一年二个版本,小步快跑。版本号大有要超越chrome的趋势。随后在2018年发布了Java 10和11,今年三月发布了Java12.特别注意的Java 11是一个LTS版本,如果企业采用最新版本的话,最好使用这个版本的JDK。但是企业应用的jdk升级总是滞...原创 2019-05-16 18:10:54 · 1093 阅读 · 0 评论 -
GRASP (object-oriented design)
GRASP (object-oriented design)From Wikipedia, the free encyclopedia General Responsibility Assignment Software Patterns (or Principles), abbreviated GRASP, consists of guidelines for assigning r翻译 2011-11-08 23:09:48 · 1173 阅读 · 0 评论 -
Just in Time Compiler (JIT) in Hotspot
What is JIT Compiler? The Just In Time Compiler (JIT) concept and more generally adaptiveoptimization is well known concept in many languages besides Java (.Net, Lua,JRuby).In order to explain翻译 2011-11-02 23:16:27 · 1642 阅读 · 0 评论 -
YSLOW法则中,为什么yahoo推荐用GET代替POST?
原文:http://www.cnxct.com/use-get-for-ajax-requests-why/上上周五,公司前端工程师培训,提到前端优化的一些技巧,当然不能少了yahoo yslow的优化法则。其中有这么一条“Use GET for AJAX Requests”,这些法则从最开始的14条,到现在的35条,一直都时刻关注的。可这么一条的原因我却一点都不清楚。在提问的环节里,我对转载 2011-10-20 14:20:05 · 1323 阅读 · 1 评论 -
对于集合一定要调用isEmpty
Reasons to call.isEmpty on collections我已经不止一次看到这样的代码:if (collection.size() > 0) { ...}这是大多数程序员检查集合不为空的第一固有想法。但是,这里有一个更好的方法isEmpty:if翻译 2011-10-18 22:04:43 · 9043 阅读 · 0 评论 -
Multipart/form-data POST文件上传详解
Multipart/form-data POST文件上传详解理论简单的HTTP POST大家通过HTTP向服务器发送POST请求提交数据,都是通过form表单提交的,代码如下: 提交时会向服务器端发出这样的数据原创 2011-10-09 17:45:18 · 405911 阅读 · 11 评论 -
如何处理工程的配置文件
How to Handle Project ConfigurationAugust 26, 2011 Every web project needs some environment-specific configurations. Databasecredentials翻译 2011-09-28 00:04:21 · 1405 阅读 · 1 评论 -
The Logging Mess
The Logging MessSeptember 13, 2011 Every application needs logging. And right now there are a lot of optionson what exactly to use for l翻译 2011-09-26 08:29:39 · 1099 阅读 · 0 评论 -
浏览器如何解析HTML字符编码
浏览器如何解析HTML字符编码 概述为HTML文档尽早指定字符编码,可以让浏览器立刻开始执行脚本。细节HTML文档是作为带有字符编码信息的字节流序列在互联网中传送的。字符编码信息可以在随文档发送的HTTP响应头信息中指定,也可以在文档的 HTML标签中指原创 2011-09-20 11:51:51 · 10737 阅读 · 2 评论 -
Spring单例Bean和线程安全
Spring的bean默认都是单例的,这些单例Bean在多线程程序下如何保证线程安全呢?例如对于Web应用来说,Web容器对于每个用户请求都创建一个单独的Sevlet线程来处理请求,引入Spring框架之后,每个Action都是单例的,那么对于Spring托管的单例Service原创 2011-08-01 12:01:02 · 35064 阅读 · 2 评论 -
Oauth协议相关
<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } A:link { so-language: zxx } --> Oauth协议内容:http://tools.ietf.org/html/rfc58原创 2011-07-23 17:10:53 · 1233 阅读 · 0 评论 -
搜狐微博XAuth使用举例
搜狐微博XAuth使用举例xAuth简介使用xAuth认证方式,您仍然需要了解如何生成OAuth签名。 为了方便桌面应用和移动应用,特别是那些缺乏浏览器支持的应用,xAuth认证为这类应用提供了一种使用用户名和密码来获取OAuth的 Access Token的方式。原创 2011-07-12 10:27:27 · 4608 阅读 · 0 评论 -
从C++到Java,10年技术生涯的几点思考
不知不觉,做程序工作已经10年了,从最初学习C++到Java,从困惑到清晰,感觉真的有不少东西可写,不过总觉得不成体系,大概看了太多八股文章的缘故,被憋得实在难受。所以不管了,想到什么写什么吧。转载 2011-04-20 23:29:00 · 1623 阅读 · 1 评论 -
深入了解Java的String
深入了解Java的String原创 2011-04-18 23:40:00 · 1356 阅读 · 0 评论 -
2011年终总结
这个年终总结来的有点晚。本来打算2012年的第一天完成。但是拖到了现在。2011年的我入职sohu,搞微博。原创 2012-01-07 12:07:21 · 1179 阅读 · 1 评论 -
慎用OGNL
原文链接:http://jansel.iteye.com/blog/538796慎用OGNL 博客分类:OGNL&MVEL 框架在最近的项目中使用了Xwork作为基础框架,发现了致命的性能问题。 大家都知道Xwork基于OGNL来的,在压力测试的过程中,发现大量线程堵塞在OGNLRuntime这个类中,请看代码: Java代码转载 2011-12-31 11:01:59 · 854 阅读 · 0 评论 -
JavaEngineer高级群欢迎入群
JavaEngineer高级群,三年以下程序员免进,只限技术交流。号码:62407887原创 2012-03-07 13:47:01 · 1424 阅读 · 0 评论 -
HTTP CONNETCT_TIMEOUT和 SO_TIMEOUT区别
HTTP Client的CONNETCT_TIMEOUT和 SO_TIMEOUT区别我们的web应用,依赖于底层的服务。通过http协议通信,当底层服务宕机之后。用户的请求量还是很大,http client 超时了,因为每个请求一个线程,会导致resin的线程用完,即使底层服务恢复,resin依然不能恢复。所以调整http Client 参数 so_timeout和connection_timeout, 把原创 2012-04-10 17:53:41 · 29275 阅读 · 1 评论 -
一次HashMap多线程安全引起的事故
事故分析最近一次web工程上线,上线大概半个小时,出现了报警,16核的服务器的cpu使用了1123%,程序出异常了。Cpu利用率过高一般是因为出现了出现了死循环,导致部分线程一直运行。占用cpu时间。使用jstack工具dump出问题的那台服务器的栈信息。死循环的话,首先查找RUNNABLE的线程,找到问题代码如下:java.lang.Thread.State:RUNNABLE原创 2012-06-13 15:45:31 · 25707 阅读 · 5 评论 -
ScheduledExecutorFactoryBean忽略异常继续执行
程序中有一个定时任务,每10分钟把满足条件的任务从一个表迁移到另一张表,程序启动的时候数据库异常了一段时间,之后数据库恢复了。但是通过观察,发现此定时任务挂掉了,再也没有重启起来。解决此问题的办法是要在任务线程的run方法中中捕获runtime异常,如果使用ScheduledExecutorFactoryBean,只要配置continueScheduledExecutionAfterException属性为true即可原创 2013-08-18 13:37:02 · 12558 阅读 · 0 评论 -
Java DNS cache 时效设置备忘
Java DNS cache 时效设置备忘我们知道java的InetAddress会通过自身的cache缓存dns解析结果。缓存的策略主要有两种,一种是缓存正确解析后的IP地址,还有一种是缓存解析失败后的状态。这两种策略的时效配置都在 %JRE%\lib\security\java.security 这个文件里。TTL=Time to Livenetworkaddress.ca转载 2013-08-28 22:03:59 · 13566 阅读 · 1 评论 -
由服务器宕机而思--再说字符编码
近段时间,Web服务器就因为一个字符乱码问题导致正则表达式匹配循环的bug(此正则表达式执行时间大约两分钟,cpu 100%)导致服务器Cpu使用率过高而引起服务器无响应宕机。其实引起问题的代码很简单,String newStr = new String (oldStr.getBytes(), "utf-8"); (新程序员缩写)oldStr是编码为utf-8的字符串,执行此语句之后new原创 2012-08-28 08:41:33 · 8245 阅读 · 0 评论 -
Resin 3.x的日志切换问题
最近Resin服务器总是在晚上0点宕机,观察日志无反应,少则几分钟多则几十分钟,便会自行恢复。dump出栈信息,发现是resin的rollback日志的问题。当前resin版本为3.1.1 ,目前服务器上resin.conf的日志配置一般是:《stdout -log path=”log/stdout.log” timestamp=”[%Y-%m-%d %H:%M:%S] ” r原创 2012-08-29 11:20:26 · 9500 阅读 · 0 评论 -
Maven无法正常下载快照Snapshots jar
一个工程依赖于另一个项目的一个jar 的snapshot版本,但是maven编译的时候发现无法下载xxx-snapshot.jar 。 到maven本地库目录查看,发现只有文件.lastUpdated 。而并没有jar文件。出了什么问题了? ummsSnaps https://team/nexus/content/repositories/snapshots原创 2012-08-01 13:54:30 · 26938 阅读 · 0 评论 -
常用JAVA正则表达式
最近写了一些正则表达式,特总结如下: 1,提取HTML页面中的图片:"]*src\\s*=\\s*['\"]{1}([^'\"]+)['\"]{1}"; ,2,验证是否是图片:"^http://.*\\.[(?:gif)(?:jpg)(?:jpeg)(?:png)(?:bmp)]" 提取HTTP HEADER 中的charset:原创 2011-09-14 17:19:12 · 1036 阅读 · 0 评论 -
HttpClient3.1 未releaseConnection导致应用服务器宕机
报警短信突然一条接一条的出现了,某台服务器宕机了。赶紧ssh到问题服务器,jstack把栈信息导出分析。此时服务器cpu正常,但是resin无响应。初步判断是线程死锁或者线程堵死的问题。首先我们来分析jstack栈信息。首先应该查找Waiting状态的线程,发现有1000多个线程,我晕。。分析其中的一个,部分栈信息如下,不过足以说明问题了:"http--8005-1040$78原创 2012-08-01 16:12:44 · 12527 阅读 · 2 评论 -
Java如何将两个数组的元素按顺序合并
日记里面的老文章了,贴csdn里面方便查看。使用java的ArrayList 的时候,如何将两个数组按顺序合并。考虑问题的角度不同,解决办法就不一样。例如ArrayList a 和b ,合并之后为 a1 a2 b1 b21,以a为主数组的话,解决办法很简单。 for循环遍历。和 a.addAll(b)2, 如果以b为主数组的话,问题就原创 2012-07-30 18:06:59 · 8139 阅读 · 0 评论 -
JavaMail 深入浅出
JavaMail深入浅出 SMTP:简单邮件传输协议(Simple Mail TransferProtocol,SMTP)由RFC821定义,它定义了发送邮件的机制,在JavaMail环境中,基于JavaMail的程序将和因特网服务供应商ISP(internet ServiceProvider ’ s)SMTP服务器通信.SMTP服务器会中转消息给接收方SMTP服务器以便最终让原创 2009-03-06 08:40:00 · 8636 阅读 · 0 评论 -
java.util.Timer 定时问题
java.util.Timer 定时问题相信大家都很熟悉java.util.Timer类,java类库中提供的简单的执行定时任务的类,使用也非常简单。自定义任务扩展抽象类TimeTask,实现抽象方法void run(),之后使用Timer对象的schedule( TimerTask task,long delay,long period )方法即可。直观的观察此函数,意思是让任务延迟d原创 2012-06-13 14:32:08 · 11349 阅读 · 1 评论 -
搜狐微博WAP第三方一键分享说明文档
搜狐微博WAP第三方一键分享说明文档接口说明 1,请求URL:http://w.sohu.com/t2/third/share.do 2,请求类型: GET3,请求参数:url (必须)经过转码的urltitle 编码之后的微博内容appKey 你在开放平台注册的appKeycontent 文字编码,原创 2011-09-06 11:03:30 · 4054 阅读 · 0 评论 -
HTTP BASIC认证,抢先认证介绍和 HttpClient 4.1.1 实例
1.HTTP BASIC认证在HTTP中,基本认证是一种用来允许Web浏览器或其他客户端程序在请求时提供以用户名和口令形式的凭证。在发送之前,用户名追加一个冒号然后串接上口令。得出的结果字符串再用Base64算法编码。例如,用户名是Aladdin,口令是open sesame,拼接后的结果是Aladdin:open sesame,然后再用Base64编码,得到QWxhZGRpbjpvc原创 2011-06-08 15:03:00 · 11032 阅读 · 2 评论 -
Java的对象序列化以及文件IO处理
Java的对象序列化以及文件IO处理原创 2011-04-16 22:48:00 · 1483 阅读 · 1 评论 -
如何开发你的第一个Java Google App Engine 程序
为Google app engine开发JAVA Hello WordAfter hearing the buzz about java support in Google App Engine I decided to write a hello, world application and run it on Google App Engine.在听说GAP 支持java以后,我决定转载 2009-05-16 18:10:00 · 10200 阅读 · 8 评论 -
cetia4 1.1文档-2.9 Separating Methods by Request Type
2.9 Separating Methods by Request Type有些时候,对于传统的web请求场景和web service场景,render的处理方法有很大的不同。除了使用常规的if()条件分割方法外,还可以定义不同的方法来处理请求。这种方法使用com.acsinet_solutions.cetia4.controller.meta.Method 注解实现.使用此注解,不同的方原创 2009-07-14 10:22:00 · 897 阅读 · 0 评论 -
cetia4 1.1文档-2.4 _type HTTP 参数
2.4 _type HTTP 参数有时候xml请求可能是代表一个框架发出,我们只用一点或者没有权利控制发送到服务器的http头。这种情况经常发生在使用ajax技术工作中,这种情况下,浏览器有时间请求html响应(主页),有时候请求xml响应(特殊内容)。这样场景的问题是,从服务器的视点来看,从浏览器发送来html请求和xml请求的头部都是一样的。在这种情况下,框架会一直用html相应请求即使我们想原创 2009-03-12 14:42:00 · 1058 阅读 · 0 评论 -
Cetia4 1.1文档 -1.2 Rest 框架
1.2 Rest 框架正如Rest参考文档前几节所说的,http url概念是Rest框架架构形式的核心。而且,Rest把它的处理过程组织成资源,并且每个资源都被映射到一个特别的Url。Urls是全局的—每个组织在他的域内维护自己的url集合。这样rest提供了一个统一的寻址模式,但是这种看起来微不足道的机制却简化了在传统的Web服务应用场景中的很多复杂性。另外,J2EE和jav原创 2009-03-04 14:06:00 · 1447 阅读 · 0 评论 -
cetia4 1.1文档-1.3 必须的软件
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <object class原创 2009-03-05 13:58:00 · 1247 阅读 · 0 评论 -
cetia4 1.1文档-2.1 Basic Web 访问
<! v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}--> Normal 0 7.8 磅 0 2原创 2009-03-06 13:57:00 · 1180 阅读 · 0 评论 -
cetia4入门step by step(1)
cetia介绍:cetia是一个优秀的java的rest框架,基于java servlet开发,可以运行在任何的Web容器中。优点: 1. 可以充分利用Servlet API和JSP等资源,需要额外学习的概念较少,学习成本较低。 2. 对于传统的Web应用,可以使用服务器端HTTPSession;对于Web服务类应用,不使用HTTPSession,基于无状态服务器模型做原创 2009-02-27 11:35:00 · 2524 阅读 · 0 评论 -
Post/Redirect/Get pattern for web applications
Post/Redirect/Getpattern for web applicationsPosted by: MichaelJouravlev on ?? 14, 2003 DIGG 原文地址: http://www.theserverside.com/patterns/thread.tss?thread_id=20936Being able to refresh a w转载 2009-02-27 09:15:00 · 1215 阅读 · 0 评论