最近在阅读《Java编程思想》的时候看到了书中对异常的描述,结合自己阅读源码经历,谈谈自己对异常的理解。首先记住下面两句话: 除非你能解决(或必须要处理)这个异常,否则不要捕获它,如果打算记录错误消息,那么别忘了把它再抛出去。 异常既代表一种错误,又可以代表一个消息 ...
Long 是long类型的包装类型。 Long默认零值为null, long的默认零值为 . Long类中有个静态的内部缓存类,用来缓存 之间的long包装对象实例,类加载的过程中会对LongCache的静态代码块进行初始化,后面自动装箱的 之间的Long会直接返回缓存数组里面的对象引用。Long i 会直接指向静态常量池里面的值。 Effective java中建议,在循环中不要使用包装类型, ...
2020-03-30 14:06 0 630 推荐指数:
最近在阅读《Java编程思想》的时候看到了书中对异常的描述,结合自己阅读源码经历,谈谈自己对异常的理解。首先记住下面两句话: 除非你能解决(或必须要处理)这个异常,否则不要捕获它,如果打算记录错误消息,那么别忘了把它再抛出去。 异常既代表一种错误,又可以代表一个消息 ...
1.java底层原理简析 往往,在现在开发过程中,有很多操作,虽然功能都能去实现,但是在Jvm的内存分配上,是大有不同的,很可能两个不同的实现方式,性能上也会有或多或少差异…… 例如: private Integer name = 4; private static ...
Java Instrumentation指的是可以用独立于应用程序之外的代理(agent)程序来监测和协助运行在JVM上的应用程序。这种监测和协助包括但不限于获取JVM运行时状态,替换和修改类定义等。 java SE5中使用JVM TI替代了JVM PI和JVM DI。提供一套代理机制,支持 ...
Atomic 从JDK5开始, java.util.concurrent包里提供了很多面向并发编程的类. 使用这些类在多核CPU的机器上会有比较好的性能.主要原因是这些类里面大多使用(失败-重试方式的)乐观锁而不是synchronized方式的悲观锁.跟踪了一下AtomicInteger ...
while语法格式:while(布尔表达式){ //语句}先判断布尔表达式,如果为true就会执行循环体中的语句,然后再判断布尔表达式,如果为true就执行循环体中的语句,一直到布尔表达式为false ...
一,定义 “有且只有一个抽象方法的接口”----函数式接口的定义。 如上就是一个简单的函数式接口的定义。@FunctionalInterface就表示这是一个函数式接口,你不定义也可以,其实这 ...
背景 JDK 动态代理存在的一些问题: 调用效率低 JDK 通过反射实现动态代理调用,这意味着低下的调用效率: 每次调用 Method.invoke() 都会检查方法的可见性、校验 ...
UGUI简述 UGUI主要提供了两个能力 UI元素的渲染与适配(其中UI元素的Mesh中的position信息就是通过RectTransform生成的,本文重点) 设备事件的响应与处 ...