java
文章平均质量分 75
caoliangbo
这个作者很懒,什么都没留下…
展开
-
velocity 循环set null
今天很不幸又看到中站一个故障,又是因为在velocity模板中,foreach循环里set临时变量碰到null的问题症状如下:#foreach($x in $list) ## 1 #set ($temp = $x) ## 2 设置临时变量的值 $temp ## 3 输出临时变量的值#end ## 4在行2...原创 2012-08-03 20:10:37 · 206 阅读 · 0 评论 -
java 基本数据类型转换迷惑
转自:http://jiangzhengjun.iteye.com/blog/652623数值表达式1. 奇偶判断不要使用 i % 2 == 1 来判断是否是奇数,因为i为负奇数时不成立,请使用 i % 2 != 0 来判断是否是奇数,或使用高效式 (i & 1) != 0来判断。 2. 小数精确计算Java代码 System....原创 2012-11-26 21:31:06 · 141 阅读 · 0 评论 -
PO、DO、VO的区别
Rational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。 VO,值对象(Value Object),PO,持久对象(Persisent Object),它们是由一组属性和属性的get和set方法组成。从结构上看,它们并没有什么不同...原创 2013-05-17 16:53:32 · 245 阅读 · 0 评论 -
java hashCode详解
============================================================ 如何理解hashCode的作用:============================================================ 以java.lang.Object来理解,JVM每new一个Object,它都会将这个Object丢到一个Hash哈希表中去...原创 2013-05-17 21:12:59 · 80 阅读 · 0 评论 -
Java内存之"栈"与"堆"
引用: http://1615926449.iteye.com/blog/1777124 昨天中午,发了一篇equals和==区别的博文,晚上再看时有几位大牛指出了其中的一些错误,很感谢他们的留言,一句简简单单的留言给了我对这些错误知识点改正的机会。或许这就是从事互联网行业所提倡的互帮互助的精神吧,因为有分享,有交流,互联网才会发展的如此迅猛。大牛提的一个观点很好,好的东西可以拿出来分享...原创 2013-01-30 20:13:42 · 94 阅读 · 0 评论 -
打印线程详细信息并按CPU占用排序
好久没来写了,不过太好用了,记录下#!/bin/kshtypeset top=${1:-10}typeset pid=${2:-$(pgrep -u $USER java)}typeset tmp_file=/tmp/java_$pid_$$.trace$JAVA_HOME/bin/jstack $pid > $tmp_fileps H -eo user,pid...原创 2014-05-28 17:20:41 · 295 阅读 · 0 评论 -
打完整含依赖包的jar包
如下,可以打出带依赖包的jar package.bat@echo offset MAVEN_OPTS= -Xms128m -Xmx512m call mvn clean:cleanmvn assembly:assembly@pause pom.xml<build> <plugins> <plugin> ...2015-04-10 13:32:19 · 284 阅读 · 0 评论 -
问题排查记录-linux
### 以下所有命令都要先sudo su admin 批量搜索日志 pgm -A -b -f juhost "grep 'getFloorJuIds' /home/admin/app/logs/app.log|tail -n 1" 查看gc 执行详细 /opt/xxx/java/bin/jstat -gcutil `pgrep -u admin java`...原创 2016-08-05 12:02:06 · 255 阅读 · 0 评论 -
Java性能优化技巧之尽可能使用局部变量
如果你频繁存取变量,就需要考虑从何处存取这些变量。变量是 static 变量,还是局部变量,或是类的实例变量?变量的存储位置对存取他的代码的性能有明显的影响?例如,请考虑下面这段代码:class stackvars{ private int instvar; private static int staticvar; //存取局部变量...原创 2012-08-03 20:10:08 · 481 阅读 · 0 评论 -
java.util.concurrent 包
java.util.concurrent 包含许多线程安全、测试良好、高性能的并发构建块。不客气地说,创建 java.util.concurrent 的目的就是要实现 Collection 框架对数据结构所执行的并发操作。通过提供一组可靠的、高性能并发构建块,开发人员可以提高并发类的线程安全、可伸缩性、性能、可读性和可靠性。如果一些类名看起来相似,可能是因为 java.util.concur...原创 2013-04-03 11:09:45 · 101 阅读 · 0 评论 -
BTrace使用简介
很多时候在online的应用出现问题时,很多时候我们需要知道更多的程序的运行细节,但又不可能在开发的时候就把程序中所有的运行细节都打印到日志上,通常这个时候能采取的就是修改代码,重新部署,然后再观察,但这种方法对于online应用来说不是很好,另外一方面如果碰到不好改的代码,例如引用的其他的外部的包什么的,就很麻烦了,BTrace就是一个可以在不改代码、不重启应用的情况下,动态的查看程序运行细节...原创 2013-03-27 21:05:45 · 70 阅读 · 0 评论 -
java回调函数的超形象例子
无意间看到这个哥们的牛X解释: 下面举个通俗的例子: 某天,我打电话向你请教问题,当然是个难题,^_^,你一时想不出解决方法,我又不能拿着电话在那里傻等,于是我们约定:等你想出办法后打手机通知我,这样,我就挂掉电话办其它事情去了。过了XX分钟,我的手机响了,你兴高采烈的说问题已经搞定,应该如此这般处理。故事到此结束。这个例子说明了“异步+回调”的编程模式。其中,你后来打手机告诉我结...原创 2011-10-20 10:20:25 · 82 阅读 · 0 评论 -
Hash碰撞/ Hash Collision
最近一个Hash Collision DoS(Hash碰撞的拒绝式服务攻击)漏洞影响颇大,有恶意的人会通过这个安全弱点会让你的服务器运行巨慢无比,本文试图对这一漏洞的原理及可采取措施做一解析,供大家参考。 一言蔽之,该安全弱点利用了各语言的Hash算法的“非随机性”可以制造出N多的value不一样,但是key一样数据,然后让你的Hash表成为一张单向链表,而导致你的整个网站或是程序的运行性能以级数...原创 2012-01-10 19:30:44 · 344 阅读 · 0 评论 -
栈与堆的困惑--java内存解析
----对这两个概念的不明好久,终于找到一篇好文,拿来共享1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小...原创 2013-03-19 19:12:05 · 89 阅读 · 0 评论 -
Java5中lock
说明:Java多线程相关相关几篇文章转自http://lavasoft.blog.51cto.com/62575/27069/。为以后查阅方便,转载到此处。 在Java5中,专门提供了锁对象,利用锁可以方便的实现资源的封锁,用来控制对竞争资源并发访问的控制,这些内容主要集中在java.util.concurrent.locks 包下面,里面有三个重要的接口Condition、Lock、R...原创 2013-03-20 11:24:01 · 73 阅读 · 0 评论 -
Java 理论与实践: JDK 5.0 中更灵活、更具可伸缩性的锁定机制
多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造 —— synchronized 和 volatile 。在简化与平台无关的并发类的开发的同时,它决没有使并发类的编写工作变得更繁琐,只是使...原创 2013-03-21 09:58:07 · 75 阅读 · 0 评论 -
java中的lock和synchronized
1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候 线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定, 如果使用 synchronized ,如果A不释放,B将一直等下去,不能被中断 如果 使用ReentrantLock,如果A不释放,可以使B在等待了足够长...原创 2013-03-21 10:04:12 · 178 阅读 · 0 评论 -
java Singleton 的使用详解
概念:在Java应用程序中,一个类Class只有一个实例存在运用:1)系统资源,如文件路径,数据库链接,系统常量等2)全局状态化类,类似AutomicInteger的使用优缺点:1)节省内存有利于垃圾回收2)只能使用在特定的环境下,受限制于JVM和容器 单例作用范围的前提是在一个ClassLoad下。所以像分布式应用EJB就要用其它的方式来解决单例问题。...原创 2013-03-21 16:15:54 · 136 阅读 · 0 评论 -
BTrace使用总结
一、背景 在生产环境中可能经常遇到各种问题,定位问题需要获取程序运行时的数据信息,如方法参数、返回值、全局变量、堆栈信息等。为了获取这些数据信息,我们可以通过改写代码,增加日志信息的打印,再发布到生产环境。通过这种方式,一方面将增大定位问题的成本和周期,对于紧急问题无法做到及时响应;另一方面重新部署后环境可能已被破坏,很难重新问题的场景。 二、BTrace功能 ...原创 2013-03-27 21:01:17 · 79 阅读 · 0 评论 -
多线程 Future 异常处理
http://www.blogjava.net/xylz/archive/2013/08/05/402405.html原创 2017-03-14 19:15:40 · 3072 阅读 · 0 评论