- 博客(8)
- 收藏
- 关注
原创 java进阶—Hashcode与equals深度解析
1.深入理解equals():• 在我的一篇博客“”和.equals()的区别中向读者提出提醒: Object类中的equals方法和“”是一样的,没有区别,即俩个对象的比较是比较他们的栈内存中存储的内存地址。而String类,Integer类等等一些类,是重写了equals方法,才使得equals和“==不同”,他们比较的是值是不是相等。所以,当自己创建类时,自动继承了Object的equals方法,要想实现不同的等于比较,必须重写equals方法。来自 https://blog.csdn.net/q
2020-11-23 20:07:16 159
原创 concurrency编程—分析join
1 背景在进行面试的时候,当被问及如何保证线程的执行顺序的时候,大部分人可能都想想到使用join保证顺序。面试官微微一笑,那么你知道join原理是什么吗?额。。。示例代码public class TestJoin { public static void main(String[] args) {int count = 1000; Task t1 = new Task(count, null); t1.setName("t1"); Task t
2020-11-23 20:04:06 134
原创 深入理解JVM—浅谈类加载器
类加载器初始化过程:• 参见类运行加载全过程图可知其中会创建JVM启动器实例sun.misc.Launcher。• sun.misc.Launcher初始化使用了单例模式设计,保证一个JVM虚拟机内只有一个sun.misc.Launcher实例。 在Launcher构造方法内部,其创建了两个类加载器,分别是sun.misc.Launcher.ExtClassLoader(扩展类加载器)和sun.misc.Launcher.AppClassLoader(应用类加载器)。• JVM默认使用Launcher
2020-11-23 19:59:06 343
原创 深入理解JVM—对象已死?
2.1 引用计数算法2.1.1 算法分析引用计数是垃圾收集器中的早期策略。在这种方法中,堆中每个对象实例都有一个引用计数。当一个对象被创建时,就将该对象实例分配给一个变量,该变量计数设置为1。当任何其它变量被赋值为这个对象的引用时,计数加1(a = b,则b引用的对象实例的计数器+1),但当一个对象实例的某个引用超过了生命周期或者被设置为一个新值时,对象实例的引用计数器减1。任何引用计数器为0的对象实例可以被当作垃圾收集。当一个对象实例被垃圾收集时,它引用的任何对象实例的引用计数器减1。2.1.2 优
2020-11-23 19:55:28 128
原创 concurrency编程—JNI用法
文章目录什么是JNInative用法什么是JNIJNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++).这是百度百科上说的.通俗来说,就是JAVA调用C/C++函数的接口.如果你要想调用C系列的函数,你就必须遵守这样的约定.JNI接口都长什么样?就一个native的关键字.1. public class NativeDemo {2. {3. /**4. * 系统加载其他的语言的函数5. */6. Syst
2020-11-23 19:41:08 130
原创 concurrency编程—interrupt详解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录interrupt,interrupted() 和 isInterrupted()interrupt() park() wait() interruputed()interrupt,interrupted() 和 isInterrupted()1、interrupt()interrupt方法用于中断线程。调用该方法的线程的状态为将被置为"中断"状态。注意:线程中断仅仅是置线程的中断状态位,不会停止线程。需要用户自己去监视线
2020-11-23 19:40:59 187
原创 concurrency编程—对象头组成
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录Synchronized锁升级一、pandas是什么?二、使用步骤1.引入库2.读入数据总结Synchronized锁升级提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数
2020-11-23 19:40:48 127
原创 concurrency编程—偏向锁浅析
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录jvm延迟偏向锁无锁->轻量级锁(没有资源竞争)->重量级锁(有资源竞争)重量级锁释放之后会变成无锁,每次加锁释放锁要操作os• 如果调用wait()方法,会立即变成重量级锁来自 https://blog.csdn.net/qq_32223565/article/details/107068482同步:1.单个线程--------------------------------偏向锁2.多个线程交替执行-
2020-11-23 19:40:34 265
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人