
java基础
文章平均质量分 61
shiningdreamercaihua
这个作者很懒,什么都没留下…
展开
-
java <<、>>、>>>
<<:左移运算符,num << 1,相当于乘以2:右移运算符,num >> 1,移一位相当于除2取商右移后,正数补0,负数补1。:无符号右移,忽略符号位,空位都以0补齐没有<<<这种运算符,因为左移都是补零,没有正负数的区别。如 -12 的二进制为:1111 1111 1111 1111 1111 1111 1111 0100;-12 >> 3 即带符号右移3位,结果是:1111 1111 111原创 2020-11-26 20:16:01 · 303 阅读 · 0 评论 -
什么是函数式编程思维?
什么是函数式编程思维?转载 2020-06-10 20:39:38 · 183 阅读 · 0 评论 -
阻塞和非阻塞,同步和异步
阻塞和非阻塞,同步和异步聊聊Linux 五种IO模型转载 2020-04-21 16:31:18 · 151 阅读 · 0 评论 -
java并发
java为什么这么长时间了都不支持协程呢?添加链接描述Java有很多第三方库支持无栈协程, 其中几个用的人不少,稳定性足够好, 有的实现还模拟出有栈协程的感觉.至于真正的有栈协程, 由于目前JVM的限制不可能在上层实现, 可能阿里和华为内部有改版的JVM支持了, 但都没公开(可能涉及违反Java标准而无法公开). 公开的只有OpenJDK官方实验性质的Loom项目( http://openjdk...原创 2020-04-04 21:17:11 · 176 阅读 · 0 评论 -
HashMap、HashTable、LinkedHashMap、TreeMap、Concurrenthashmap、SparseArray
一、HashMap:(无序 , 非并发类,不支持多线程访问, 链表的数组,拥有数组和链表的优点 允许设置空的key和value)**1、实现原理:**链表+数组 (链地址法bucket)2、HashMap 的核心算法-hash 函数的实现(高性能需要保证以下几点):(1)hash 算法必须是高效的(2)hash 值到内存地址(数组索引)的算法是快速的(3)根据内存地址(数组索引)可以...原创 2019-11-05 23:49:50 · 313 阅读 · 0 评论 -
Java类加载器的工作原理
Java类加载器的作用就是在运行时加载类。Java类加载器基于三个机制:委托、可见性和单一性。委托机制是指将加载一个类的请求交给父类加载 器,如果这个父类加载器不能够找到或者加载这个类,那么再加载它。可见性的原理是子类的加载器可以看见所有的父类加载器加载的类,而父类加载器看不到子类 加载器加载的类。单一性原理是指仅加载一个类一次,这是由委托机制确保子类加载器不会再次加载父类加载器加载过的类。正确理...转载 2019-11-02 21:37:08 · 135 阅读 · 0 评论 -
java高级知识问题
1)Java的数据结构相关的类实现原理,比如LinkedList,ArrayList,HashMap,TreeMap这一类的。以下简单模拟一个数据结构的连环炮。比如,面试官先问你HashMap是不是有序的?你肯定回答说,不是有序的。那面试官就会继续问你,有没有有顺序的Map实现类?你如果这个时候说不知道的话,那这个问题就到此结束了。如果你说有TreeMap和LinkedHashMap。那么...转载 2019-10-31 11:30:48 · 85 阅读 · 0 评论 -
JVM调优总结 -Xms -Xmx -Xmn -Xss
1、堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms3550m...转载 2019-10-30 16:46:42 · 120 阅读 · 0 评论 -
深入理解Java类加载机制(二)
1 前言在深入理解Java类加载机制(一)一文中,我们了解了类的加载和连接过程,这篇文章重点讲述类的初始化过程,这样,我们就将类的加载机制弄明白了。2 初始化时机在上一篇 类的加载时机5.2中我们提到了“首次主动使用”这个词语,那什么是“主动使用”呢?主动初始化的6种方式**(1)创建对象的实例:**我们new对象的时候,会引发类的初始化,前提是这个类没有被初始化。(2)调用类的静态属...转载 2019-10-29 19:43:09 · 100 阅读 · 0 评论 -
深入理解Java类加载机制(一)
1 前言:在上一篇文章一文让你明白Java字节码中,我们了解了java字节码的解析过程,那么在接下来的内容中,我们来了解一下类的加载机制。2 题外话Java的核心是什么?当然是JVM了,所以说了解并熟悉JVM对于我们理解Java语言非常重要,不管你是做Java还是Android,熟悉JVM是我们每个Java、Android开发者必不可少的技能。如果你现在觉得Android的开发到了天花板的...转载 2019-10-29 16:59:39 · 104 阅读 · 0 评论 -
Java中Object类有哪些方法
Object类是所有类的父类。Object类可以实现的方法:1.protected Object clone();保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。2.String toString();该方法返回该对象的字符串表示。3.Class<?> getClass();是...转载 2019-10-28 20:37:15 · 135 阅读 · 0 评论 -
java中sleep()和wait()区别
1,sleep方法是Thread类的静态方法,wait()是Object超类的成员方法2,sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法...转载 2019-10-28 20:26:31 · 78 阅读 · 0 评论 -
一个资深java面试官的“面试心得”
在公司当技术面试官几年间,从应届生到工作十几年的应聘者都遇到过。先表达一下我自己对面试的观点:1.笔试、面试去评价一个人肯定是不够准确的,了解一个人最准确的方式就是“路遥知马力,日久见人心”。通过一、二个小时内的做题、交流,只是没有其他办法下进行的无奈之举,所以通过了面试不代表有多成功,没通过也不代表有多失败。2.好的面试官本身交谈的时候就不应当把自己一个居高临下的角色上,应当把自己和应聘者当...转载 2019-10-28 11:40:14 · 558 阅读 · 0 评论 -
JVM之内存结构详解
对于开发人员来说,如果不了解Java的JVM,那真的是很难写得一手好代码,很难查得一手好bug。同时,JVM也是面试环节的中重灾区。今天开始,《JVM详解》系列开启,带大家深入了解JVM相关知识。我们不能为了面试而面试,但是学习会这些核心知识你必定会成为面试与工作中“最亮的一颗星”。本系列首发于微信公众号“程序新视界”。下面,开启我们的第一篇文章《JVM之内存结构详解》。学习也是要讲究方式方法...转载 2019-10-22 20:33:57 · 113 阅读 · 0 评论