菜菜

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  Java

Java各种问题
摘要:本文内容来自redhat某个人的文章 首先声明了一个事实,docker容器的-m,kubernets的-limits都可以用来限制内存。当进程使用的内存超过限制时,会收到内核发来的KILL信号。但是JVM完全不知道自己运行在容器内。 那么就有了一个问题“JVM内存超过容器限制的内存会怎样”。 作者做 阅读全文
posted @ 2019-07-31 18:50 好吧,就是菜菜 阅读(1899) 评论(0) 推荐(0) 编辑

摘要:快速求数字的长度. IntegerCache 可以通过如下来改变 阅读全文
posted @ 2019-07-15 16:55 好吧,就是菜菜 阅读(540) 评论(0) 推荐(0) 编辑

摘要:Enum是所有enum类型的父类。注意,Enum类型不能被序列化,它是一个抽象类。 阅读全文
posted @ 2019-07-11 12:28 好吧,就是菜菜 阅读(2093) 评论(0) 推荐(0) 编辑

摘要:具体可以参考我写的这个文章。IEEE754浮点数规范。 注意此类里面的以下几点 有个神奇的语法。 结果是120.0 0xf * 2 ^ 3 另外注意这俩个方法的区别 doubleToLongBits doubleToRawLongBits 这俩个方法的区别在于对NAN的处理,doubleToLong 阅读全文
posted @ 2019-07-10 19:05 好吧,就是菜菜 阅读(833) 评论(0) 推荐(0) 编辑

摘要:支持并行加载,通过对每个类名放置不同的锁来实现。 当且仅当父类也是可以并行加载时才会有此属性。最终会落入到此方法,先登记一下。 ClassLoader会保存每一个它加载过的类 上面那个方法。由VM调用,然后把c加入到classes. 如果没有指定父类加载器,使用系统类加载器(加载classpath的 阅读全文
posted @ 2019-07-10 17:30 好吧,就是菜菜 阅读(739) 评论(0) 推荐(0) 编辑

摘要:import java.lang.reflect.GenericArrayType; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.lang.reflect.TypeVariable; import java.util.Collection; import java.u... 阅读全文
posted @ 2019-07-10 15:27 好吧,就是菜菜 阅读(268) 评论(0) 推荐(0) 编辑

摘要:Class主要封装对Class对象的操作。Class类实现Serializable,GenericDeclaration,Type,AnnotatedElement接口。 GenericDeclaration : 所有声明类型变量实体的通用接口 Type: Java所有类型的父接口,它包含原始类型, 阅读全文
posted @ 2019-07-09 17:04 好吧,就是菜菜 阅读(464) 评论(0) 推荐(0) 编辑

摘要:Reference JDK有四个子类,分为WeakReference,SoftReference,PhantomReference,FinalReference。 WeakReference 弱引用,JVM扫描到就开始回收里面的T,注意,这里的回收是指的是JVM的操作,对于已经入过队WeakRefe 阅读全文
posted @ 2019-07-05 17:50 好吧,就是菜菜 阅读(300) 评论(0) 推荐(0) 编辑

摘要:Boolean.class 位于packge java.lang,实现 java.io.Serializable,Comparable<Boolean>接口。包含内置包装对象。 由下可以看出,parseBoolean(String s),当且仅当是不区分大小写的"true"时返回true 以下这个代 阅读全文
posted @ 2019-07-05 12:23 好吧,就是菜菜 阅读(625) 评论(0) 推荐(0) 编辑

摘要:一致性相等 equals的返回结果与{@link java.lang.Comparable} 的返回结果一致.注意.null不是任何类的实例.instance.equals(null)都是false,java.lang.Comparable使用null比较抛出异常. 如果没有实现一致性相等,那么在使 阅读全文
posted @ 2019-07-03 19:11 好吧,就是菜菜 阅读(347) 评论(0) 推荐(0) 编辑

摘要:import java.io.IOException; /** * 能附加字符和值的对象. * 任何意图从{@linke java.util.Formatter}接收格式化流的类必须实现Appendable * * 附加的字符必须是满足Unicode约束的字符. * 注意:附加的字符可能是16-bit字符值。 * * 因为实现类处理error的方式不同,所以不保证错误能够传递... 阅读全文
posted @ 2019-07-03 16:23 好吧,就是菜菜 阅读(408) 评论(0) 推荐(0) 编辑

摘要:提供引用对象类,它提供和GC有限的交互。 PhantomReference<T> Phantom引用对象,在GC觉得它引用的对象能被回收后,把它入队。Reference<T> 引用对象的基本抽象类ReferenceQueue<T> 引用队列,当GC发现引用可达性变化后把引用注册进此队列。SoftRe 阅读全文
posted @ 2019-07-02 17:20 好吧,就是菜菜 阅读(303) 评论(0) 推荐(0) 编辑

摘要:以下为译文,代码注释的翻译。 Refernce主要是负责内存的一个状态,当然它还和java虚拟机,垃圾回收器打交道。Reference类首先把内存分为4种状态Active,Pending,Enqueued,Inactive。 Active,一般来说内存一开始被分配的状态都是 Active,Pendi 阅读全文
posted @ 2019-07-02 15:46 好吧,就是菜菜 阅读(376) 评论(0) 推荐(0) 编辑

摘要:在Function里面看到一个很奇怪的代码 手动写了几个代码尝试了一下,t->t就是返回一个空的实现 阅读全文
posted @ 2019-04-24 18:55 好吧,就是菜菜 阅读(108) 评论(0) 推荐(0) 编辑

摘要:1.垃圾回收器期职责 3.垃圾回收器概念 3.1.垃圾回收器期望的性能 堆太小,容易被填满,垃圾回收搜集的频率高,回收速度快。 堆太大,不容易填满,垃圾回收的频率低,回收速度慢。 3.2.可选的设计方案 1.串行回收器 VS 并行回收器 串行回收器不能更好的利用多核CPU,只能使用一个核. 并行回收 阅读全文
posted @ 2018-12-23 23:51 好吧,就是菜菜 阅读(113) 评论(0) 推荐(0) 编辑

摘要:移位有三种 << 左移,左边补0 >> 右移,正数左边补0,负数补1 >>> 右移, 正数,负数统一左边补0 来看几个奇葩的代码 输出如下 由此可见,java内移位是这样的 k << p 等价于 k << (p%k.bits) 下面是c++的 对于c++,1 << 32是0. 阅读全文
posted @ 2018-08-19 17:31 好吧,就是菜菜 阅读(1003) 评论(0) 推荐(0) 编辑

摘要:看下图. 第一个App.class,没啥好解释的 可以发现,如果类有名字,那么就是xxx$xx.class,对于没有名字匿名内部类,用数字代替类名,因为数字在语言规范里是不正确的类名,用户代码里面的类名不可能就是一个数字. 第二个,对于方法体里面内部类,编译后的类名,xxx$xxx$数字+类名.cl 阅读全文
posted @ 2018-08-12 16:16 好吧,就是菜菜 阅读(1192) 评论(0) 推荐(0) 编辑

摘要:CopyOnWriteSet 看了下CopyOnWriteSet源码,底层使用的是CopyOnWriteList,根据底层的实现,每次读取都是N的复杂度.每次写也是N的复杂度.有个代码可以看一下, 来自CopyOnWriteList 代码的逻辑如下,获取数组snapshot,执行indexOf,如果 阅读全文
posted @ 2018-08-08 23:38 好吧,就是菜菜 阅读(1393) 评论(0) 推荐(0) 编辑

摘要:CopyOnWrite,一个写时复制的技术来保证并发操作的安全,使用这种技术的前提是读大于写. 读读之间相容, 写写之间互斥, 读写操作相容. 实现方法: 在对底层数据进行写的时候,把底层数据复制一份,对新的备份进行写,写完后再让原来数据的指针指向新的数据.以下为JDK1.8-CopyOnWrite 阅读全文
posted @ 2018-08-07 00:15 好吧,就是菜菜 阅读(430) 评论(0) 推荐(0) 编辑

摘要:List相关 对于List并发包就只扩展了一个CopyOnWriteArrayList<E> Set相关 对于Set,并发包扩展ConcurrentSkipListSet<E>和CopyOnWriteArraySet<E> Map相关 和Set类似,也是俩个类,ConcurrentHashMap<K 阅读全文
posted @ 2018-08-05 18:23 好吧,就是菜菜 阅读(288) 评论(0) 推荐(0) 编辑