HP fortify Unsafe JNI.

//1. For Object.getClass()
使用apache中API替代.
/**
     * replace Object.getClass().
     * @param obj
     * @return
     * @throws ClassNotFoundException
     */
    public static Class<?> getClassForObject(Object obj){
        Class<?> clazz = null;
        if (obj == null) {
            throw new NullPointerException();
        }
        try {
            clazz = ClassUtils.getClass(ClassUtils.getName(obj));//org.apache.commons.lang3.ClassUtils;
        } catch (ClassNotFoundException e) {
            ValidationUtils.myLoggerError(LOGGER, e.getMessage(),e);
        }
        return clazz;
    }

//2. For System.currentTimeMillis()
    public static long getCurrentTimeMillis() {
        return Instant.now().toEpochMilli();
    }

// 3. For public native boolean isAssignableFrom(Class<?> cls);
    /**
     * Checks if one {@code Class} can be assigned to a variable of
     * another {@code Class}.</p>
     * @param cls: the Class to check, may be null
     * @param tocls: the Class to try to assign into, returns false if null
     * @return
     */
    public static boolean isAssignableFromForCC( Class<?> cls,  Class<?> tocls) {
        return ClassUtils.isAssignable(cls, tocls);// use org.apache.commons.lang3.ClassUtils;
    }

//4. For obj.hashCode()
    public static int hashCodeForCC(Object obj) {
        return ObjectUtils.hashCode(obj);//org.apache.commons.lang3.ObjectUtils;
    }

//5. For getModifiers()
    public static int getModifiersForCC(Class clazz) {
        return ReflectUtils.getClassInfo(clazz).getModifiers();//org.springframework.cglib.core.ReflectUtils;
    }

//6. For public native boolean isInstance(Object obj);we can use keyword instanceof replace it.

//7. For Thread.sleep(5000L);
  TimeUnit.SECONDS.sleep(5);

//8.Thread.currentThread().getContextClassLoader()
  Class.getClassLoader();

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值