专栏首页赵KK日常技术记录JAVA经典面试题讨论---类加载,多线程

JAVA经典面试题讨论---类加载,多线程

群里的小伙伴一个个都特别优秀,一大早便发来了小问题让大家讨论,简单讨论之后,要知其然,知其所以然,趁机巩固下近期知识

一开始我首先想到的执行顺序就是“从父到子,静态先行”,但结尾声明了final关键字的Sting类型的常量;

正确输出结果:C

把 final去掉就是从父到子,静态先行了

输出结果:

然后大家就开始讨论原因,我的猜测是只调用了内存地址(错X)...

然后又开始了...

讲String类型变成了Integer,String是引用数据类型,Integer是包装类;

运行结果:

当改变类型后,执行从父到子,且静态方法可直接通过类名调用。

原因:使用final和static同时修饰一个field字段,并且这个字段是基本类型或者String类型的,调用这个字段类不会初始化

常量存在常量池中,本质上并没有引用该常量的类,因此不会对其进行初始化

###################分割线#######################

线程究竟有几种状态?http://mp.weixin.qq.com/s?__biz=Mzg2ODA3NjA1MA==&mid=2247483821&idx=1&sn=c4490e0f2a78d98dbcc98aaa089fb5f6&chksm=ceb09ed0f9c717c6274f909383b6ce3623d6ad3f731a822c83d9fc5dd59aafae6edd601fc05d#rd

CountDownLatch:线程执行完一系列操作才被唤醒 Down 相当--

Demo:

CyclicBarrier:循环到一定点才被阻塞 相当于++

Demo:

Semaphore:并发线程的控制

Demo

创建线程有几种方式?

1:继承Thread类,实现Runable接口

2:实现Callable接口,线程池中获得

创建线程池的方式?3种

实际上使用哪种?根据阿里巴巴开发手册并发处理中,要求

【强制】线程资源必须通过线程池提供,不允许在应用中自行显式创建线程

通过new ThreadPoolExecutor()创建...

-------see see easy do do hard

本文分享自微信公众号 - 赵KK日常技术记录(gh_cc4c9f1a9521),作者:赵kk

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • java并发编程(三)

    为什么我锁了String的所有实例化对象,对Myobject没有加锁,他仍会互斥执行呢?

    疯狂的KK
  • Java并发编程的艺术[3]

    锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源(但是有些锁可以允许多个线程并发的访问共享资源,比如读写锁)。

    疯狂的KK
  • java并发编程(四)

    volatile 解决的是多核CPU带来的缓存与CPU之间数据的可见性,实现禁止指令重排

    疯狂的KK
  • 并发编程之线程管理

    爱撒谎的男孩
  • 详解 Tomcat 的连接数与线程池

    前言 在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。 在前面的文章 详...

    Java高级架构
  • windows 常用thread方法

    1.HANDLE CreateThread( _In_opt_LPSECURITY_ATTRIBUTES lpThreadAttributes, _In_S...

    战神伽罗
  • Java深入

    java.util.concurrent.BlockingQueue 接口有以下阻塞队列的实现:

    大学里的混子
  • 详解tomcat的连接数与线程池

    在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。

    小柒2012
  • 多线程编程必备技术—— volatile,synchronized,lock

    volatile: volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。确保本条指令不会...

    Java深度编程
  • 干货 | Tomcat 连接数与线程池详解

    在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。

    Java技术栈

扫码关注云+社区

领取腾讯云代金券