`
文章列表
Java单例模式可能是最简单也是最常用的设计模式,一个完美的单例需要做到哪些事呢? 1单例(这不是废话吗) 2延迟加载 3线程安全 4没有性能问题 5防止序列化产生新对象 6防止反射攻击 public class StaticSingleton { private StaticSingleton(){ System.out.println("StaticSingleton is create"); } private static class SingletonHolder{ private static StaticSingleton instance = ...
参考文章 : http://blog.2baxb.me/archives/1398 注意 junit版本要去重
  jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式:      jstack [-l][F] pid      如果java程序崩溃生成cor ...
eclipse跑单元测试提示java.lang.NullPointerException异常  场景是 只有这个空异常 其他都没有输出 控制台。 或则不是上面的错误提示 而是下面的 java.lang.RuntimeException: tested object can't be null 都是因为junit或则testNG运行了但是实现它的jtester没加载实列化 必须在jvm启动参数里加上jtester的启动 -javaagent:/Users/***/program/maven/repo/com/***/jtester/jtester.nodep/2.0.1/jtester.no ...
如果在用eclipse调试(或运行)java程序时,出现了cannot connect to VM 错误 但是正常运行是可以的 run可以debug run不行,实在找不出什么原因,可以检查以下几个方面。 1、如果在linux系统或则mac osx下,要把127.0.0.1 localhost 加到配置文件中。host里 2、如果在XP系统下,请检查杀毒软件的防火墙。 3、经过我测试,在安装卡巴斯7.0后eclipse调试java项目时就有可能出现上述错误,就算你退出卡巴也不行,只能御载。 4、但卡巴6.0和8.0没有问题!!
ipfw是BSD系统中重要的防火墙和通信控制工具,在MacOSX中也很好用. 因为mac osx里1024里的端口都是root权限的所以我们启动tomcat的时候需要用root用户 但是我们又不想root下有太多用户数据 所以设置下端口转发就可以了 用 ipfw命令 1.先列出当前有那些设置 sudo ipfw list   2.删除不需要的 sudo ipfw del 200 3.增加一条转发 sudo ipfw add fwd 127.0.0.1,8080 tcp from any to 127.0.0.1 80 in 然后设置tomcat8080启动 用普通用户启动应用  浏览 ...
问题描述: 生产环境下的某台tomcat7服务器,在刚发布时的时候一切都很正常,在运行一段时间后就出现CPU占用很高的问题,基本上是负载一天比一天高。 问题分析: 1,程序属于CPU密集型,和开发沟通过,排除此类情况。 2, ...
本文摘自:http://www.ibm.com/developerworks/cn/java/j-lo-gj/ 引言 很多 Java 程序员都使用过集合(Collection),集合中元素的类型是多种多样的,例如,有些集合中的元素是 Byte 类型的,而有些则可能是 String 类型的,等等。Java 语言之所以 ...
Object类的方法 构造方法:public Object() 在Object的源代码中并没有Object的构造方法,而是采用了java内置的默认构造方法。即在编译时由编译器完成这项工作。 值得注意的是在Object源码的开始,有这样一段:     private static native void registerNatives();     static {         registerNatives();     } 使用JNI特性(有其他语言实现这个功能)来做的这样一个方法,这个方法由Java虚拟机在创造对象时调用,其功能是初始化一个对象:分配内存空 ...
为什么Java byte 类型的取值范围是-128~127 0  00000000     1  00000001   ...  ........   127  01111111 ---------------- 共 128 个    -1  11111111    -2  11111110   ...  ... -128  10000000 ---------------- 共 128 个 概念:负数的补码是该 数 绝 对 值 的 补 码 按 位 取 反 ,然 后 对 整个数 加 1 步骤: 1.确定byte是1个字节,也就是8位 2.最大的应该是0111 1111,因为第一位是符 ...
首先可以确定的一点是, 不同类型节点的加载顺序与它们在web.xml里出现的次序无关,即不会因为filter写在listener之前而先加载fiter.     就<context-param>、<listener>、<filter>、<servlet>四种节点而言,启动服务器时的加载顺序是context-param --> listener --> filter --> servlet     首先是<context-param>,启动一个WEB项目的时候,WEB容器会读取配置描述符文件(web.xml)中的&l ...
package com.test.aa.service; public class Test extends B {     public int a = 100;     public static int a1=3;     public Test() {         super();         System.out.println(a);         a = 200;     }     public static void main(String[] args) {         System.out.println(new Test().a);     } } ...
一.什么是ThreadLocal? ThreadLocal 是在 java.lang.包下的 在jdk1.2里引入进来 主要是给每个线程分配该线程本身的本地变量 该变量是该线程独有的 别的线程是访问不了的。 二. ThreadLocal的实现原理: 最关键的是在Thread类里有一个ThreadLocal.ThreadLocalMap threadLocals的属性,也就是说 一个线程对象生成的时候会有一个对应私有属性 threadLocals 生成 这个属性是一个 ThreadLocalMap  也就是MAP ,看ThreadLocal类的get方法:     public T get() ...
    关于这三者的区别,我们从官方API上很容易找到答案。 这里做了一下比较,并写了点测试代码。        关于《Java中的String的 方法归类 及其 不可变性》参看本博客另一篇文章:http://blog.csdn.net/daheiantian/archive/2010/12/20/6097353.aspx 1. 概述:         1.1 String                   字符串常量,但是它具有不可变性,就是一旦创建,对它进行的任何修改操作都会创建一个新的字符串对象。         1.2 StringBuffer                   字 ...
class MyParent {      public int a;      public MyParent() { a = 3; }      public void addFive() { a += 5; }  } public class MyChild extends MyParent{      public int a;      public MyChild() { a = 8; }      public void addFive() { this.a +=5; }            public static void main(String[] ...
Global site tag (gtag.js) - Google Analytics