星空的专栏

做一个有准备的人

class常量池陷阱-百看不如一战

今天在修改现场项目时,遇见一个特别值得深刻记住的问题,说大也不大,其实就是class常量池的问题。         场景是这样的,现场原来已经部署了一套软件,现在呢,软件有了一点问题,于是我在本地源代码里面添加了几行日志后,编译成class文件后,替换现场的class文件,重启现场的程序后,发现问...

2014-04-24 19:54:03

阅读数 2521

评论数 1

同步容器、并发容器、阻塞队列、双端队列与工作密取

在多线程的开发中经常会碰到数据的并发修改,并发存取,因此正确的使用不同的容器很关键,直接影响到数据的正确性。下面主要记录下三种重要的队列,以及一种非常使用的双端队列。 1、同步容器        主要代表有Vector和Hashtable,以及Collections.synchronizedXxx...

2014-03-23 13:46:46

阅读数 3462

评论数 0

利用btrace在线监控java程序状态

btrace介绍       下载地址:https://kenai.com/projects/btrace/downloads/directory/releases/       选择版本进行下载,这里下载的是release-1.2.4 /btrace-bin.zip       这两天...

2014-03-01 17:25:46

阅读数 12965

评论数 0

深入理解java虚拟机(八):java内存分析工具-MAT和OQL

深入理解java虚拟机(一):java内存区域(内存结构划分) 深入理解java虚拟机(二):java内存溢出实战  深入理解java虚拟机(三):String.intern()-字符串常量池 深入理解java虚拟机(四):对象存活判定算法和垃圾收集算法 深入理解java虚拟机(五):ho...

2014-02-27 17:38:59

阅读数 6087

评论数 1

深入理解java虚拟机(七):java垃圾收集分析总结

深入理解java虚拟机(一):java内存区域(内存结构划分) 深入理解java虚拟机(二):java内存溢出实战  深入理解java虚拟机(三):String.intern()-字符串常量池 深入理解java虚拟机(四):对象存活判定算法和垃圾收集算法 深入理解java虚拟机(五):ho...

2014-02-26 15:56:47

阅读数 6281

评论数 2

深入理解java虚拟机(六):java垃圾收集分析实战(内存分配与回收策略)

深入理解java虚拟机(一):java内存区域(内存结构划分) 深入理解java虚拟机(二):java内存溢出实战  深入理解java虚拟机(三):String.intern()-字符串常量池 深入理解java虚拟机(四):对象存活判定算法和垃圾收集算法 深入理解java虚拟机(五):ho...

2014-02-24 18:20:55

阅读数 6799

评论数 2

深入理解java虚拟机(五):hotspot垃圾收集算法实现

深入理解java虚拟机(一):java内存区域(内存结构划分) 深入理解java虚拟机(二):java内存溢出实战 深入理解java虚拟机(三):String.intern()-字符串常量池 深入理解java虚拟机(四):对象存活判定算法和垃圾收集算法   本文所讲的是sun hotspot虚拟机...

2014-02-20 15:33:51

阅读数 5737

评论数 2

深入理解java虚拟机(四):对象存活判定算法和垃圾收集算法

深入理解java虚拟机(一):java内存区域(内存结构划分) 深入理解java虚拟机(二):java内存溢出实战  深入理解java虚拟机(三):String.intern()-字符串常量池   程序计数器、虚拟机栈、本地方法栈3个区域随线程生,随线程而灭; 栈中的栈帧随着方法的进入和...

2014-02-20 10:28:17

阅读数 6194

评论数 5

深入理解java虚拟机(三):String.intern()-字符串常量池

深入理解java虚拟机(一):java内存区域(内存结构划分) 深入理解java虚拟机(二):java内存溢出实战   看源码:  public native String intern();    Returns a canonical representation for the string...

2014-02-19 14:47:44

阅读数 13124

评论数 3

深入理解java虚拟机(二):java内存溢出实战

深入理解java虚拟机(一):java内存区域(内存结构划分) 按照java内存的结构,发生内存溢出的地方常在于堆、栈、方法区、直接内存。 1、堆溢出 堆溢出原因莫过于对象太多导致,看代码。 package baby.oom; import java.util.ArrayList; import...

2014-02-19 13:13:07

阅读数 8405

评论数 3

深入理解java虚拟机(一):java内存区域(内存结构划分)

图一:java内存结构划分 由上图可知,java内存主要分为6部分,分别是程序计数器,虚拟机栈,本地方法栈,堆,方法区和直接内存,下面将逐一详细描述。 1、程序计数器 线程私有,即每个线程都会有一个,线程之间互不影响,独立存储。 代表着当前线程所执行字节码的行号指示器。2、虚拟机栈 线程私有,它...

2014-02-18 17:45:12

阅读数 25457

评论数 7

关于Thread类中三个interrupt方法的研究与学习

先看三个方法原型:  public void interrupt();  public boolean isInterrupted();  public static boolean interrupted();  一、先说interrupt()方法,看注释  Interrupts th...

2014-02-13 12:52:59

阅读数 3234

评论数 0

关于java线程池的研究-Future与FutureTask

Future 是一个接口,代表可以取消的任务,并可以获得任务的执行结果     主要方法     1、boolean java.util.concurrent.FutureTask.cancel(boolean mayInterruptIfRunning)          解释:        ...

2013-12-13 16:03:25

阅读数 4067

评论数 0

关于java正则表达式非捕获型括号和捕获型括号的研究

今天在做一个正则表达式的解析时,突然看见一个?:的例子,就看不懂了,然后在网上查了下,竟然是非捕获型括号,意思就是匹配pattern,但不包含在match的group方法里面。         (?:  pattern)是非捕获型括号  匹配pattern,但不捕获匹配结果。         (...

2013-10-26 16:27:03

阅读数 3087

评论数 0

关于java正则表达式贪婪模式和勉强模式的研究

解释:      greedy :贪婪      reluctant:勉强,不情愿       java 正则表达式默认用的是greedy贪婪匹配模式既是这种类型(.*)的最长匹配,如果需要最短匹配则改为(.*?)即是勉强匹配模式。 原理分析:       如果是贪婪匹配模式,正则表达式...

2013-10-26 15:06:38

阅读数 6243

评论数 0

使用spring security 实现权限的验证

这是在上个公司做项目的时候用到的权限验证,但由于时间太长,修改次数较多,现在只剩下了一部分代码以及配置文件,总的来说,其实现思路是可以借鉴的,现在来想想,其实自己实现也并不是很难的,而且自定义性非常大,而且能够实现页面是否具有增删改的权限以及相应图标文字的显示与否。具体思路其实大都类似,下面我还是...

2013-10-22 20:56:18

阅读数 6141

评论数 1

apache telnetclient 登录windows返回数据乱码问题

最近要使用telnet远程登录服务器执行命令,使用的是apache 的common-net包中的telnetclient,但当登录windows执行命令时竟然返回以下奇怪的数据,如下   这个问题让我迷糊了好几天一直在网上查找原因,最后终于发现原来apache给的telnet例子是针对li...

2013-10-19 22:32:47

阅读数 2585

评论数 1

缓存-ehcach使用以及simplepagecache的使用

一般在项目中都要用到缓存,比如hibernate一级、二级缓存,对象缓存,方法缓存,页面缓存,浏览器缓存等等。这里主要说下我在上个公司用到的使用ehcach方法缓存(分布式缓存)和simplepagecache页面缓存,使用simplepagecache的目的是由于实现能够随时删除指定的页面缓存以...

2013-10-16 21:17:20

阅读数 4686

评论数 0

负载均衡与集群之nginx+tomcat+memcached

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。          近年来nginx越来越流行,很多网站都开始用ngin...

2013-10-14 20:28:15

阅读数 7671

评论数 2

java中异常总结-值得一看

本文要点: 1、Throwable把错误进一步划分为 java.lang.Exception 和 java.lang.Error.  java.lang.Error 用来处理系统错误 2、所有继承自RuntimeException的异常都被称为非检查型异常 3、只有在try里面是有Syste...

2013-10-13 08:27:41

阅读数 2431

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭