ConstXiong

收藏、分享最有参考价值的编程信息

自定义博客皮肤

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

带着问题重学 Java 并发编程

基本概念 什么是并发编程? 为什么要用并发编程? 并发编程的缺点? 并行是什么意思?与并发的区别是什么? 什么是线程?什么是进程?为什么要有线程?有什么关系与区别? 如何创建、启动 Java 线程? 如何优雅地停止一个线程? 什么是守护线程? 线程包括哪些状态?状态之间是如何变化...

2019-08-23 00:44:44

阅读数 2408

评论数 0

java 入门面试题

起因 焦虑。每次自己想跳槽的时候,内心总是担忧着那些面试题怎么解答。 很多问题在实际工作中并不会遇到,没有实际的解决问题经验,看过也记不住。 假如我明年需要换工作,那现在把下次的面试准备工作,拆分、融入到平时的每天中,会不会取得更满意的offer? 目标 收集网上各种经典的 ja...

2019-04-04 14:13:55

阅读数 36610

评论数 76

Java 中可重入锁、不可重入锁的测试

可重入锁 指在同一个线程在外层方法获取锁的时候,进入内层方法会自动获取锁。 为了避免死锁的发生,JDK 中基本都是可重入锁。 下面我们来测试一下 synchronized 和java.util.concurrent.lock.ReentrantLock 锁的可重入性 测试 synchr...

2019-09-20 18:32:32

阅读数 5

评论数 0

Java 中的锁如何使用?有什么注意事项?

Java 中常见的锁有 synchronized 可重入锁 java.util.concurrent.lock.ReentrantLock 可重复读写锁 java.util.concurrent.lock.ReentrantReadWriteLock synchronized 有 3种用...

2019-09-19 20:47:07

阅读数 52

评论数 0

Java 中的锁

今天是九一八事变爆发 88 周年,国耻日。 每当我看到祖国的航空航天、互联网、5G 这些科技方面赶超美国的新闻时,我内心都异常激动,从 "东亚病夫" 到吾辈自强,靠得是无数中华儿女的实干。 铭记历史... 工作再忙,还是希望坚持把编程知识分享下去,继续 Java 并发...

2019-09-18 22:23:33

阅读数 15

评论数 0

Java 中的 volatile 关键字

Java 中volatile 关键字是一个类型修饰符。JDK 1.5 之后,对其语义进行了增强。 保证了不同线程对共享变量进行操作时的可见性,即一个线程修改了共享变量的值,共享变量修改后的值对其他线程立即可见 通过禁止编译器、CPU 指令重排序和部分 happens-before 规则,解决有...

2019-09-17 21:11:41

阅读数 246

评论数 0

Java 隐式锁 - synchronized 关键字

Java 中关键字synchronized表示只有一个线程可以获取作用对象的锁,执行代码,阻塞其他线程。 作用: 确保线程互斥地访问同步代码 保证共享变量的修改能够及时可见 有效解决重排序问题 用法: 修饰普通方法 修饰静态方法 指定对象,修饰代码块 特点: 阻塞未获取...

2019-09-15 21:47:15

阅读数 222

评论数 0

导致并发程序出问题的根本原因是什么?

CPU、内存、IO 设备的读写速度差异巨大,表现为 CPU 的速度 >内存的速度 > IO 设备的速度。 程序的性能瓶颈在于速度最慢的 IO 设备的读写,也就是说当涉及到 IO 设备的读写,再怎么提升 CPU 和内存的速度也是起不到提升性能的作用。 为了更好...

2019-09-14 22:44:01

阅读数 210

评论数 0

如何停止一个线程池?

Java 并发工具包中java.util.concurrent.ExecutorService 接口定义了线程池任务提交、获取线程池状态、线程池停止的方法等。 JDK 1.8 中,线程池的停止一般使用shutdown()、shutdownNow()、shutdown() + awaitTer...

2019-09-13 18:26:37

阅读数 225

评论数 0

博客网站显示框相对浏览器固定位置显示

个人博客网站的菜单渐渐多了起来,文章也在陆续维护了。 当文章内容比较长的时候,往下滑动,文章右侧就没有内容了。 希望当浏览文章超过二维码显示框之后,把右侧文章分类显示框相对浏览器固定位置显示。 页面回到文章顶部时,原样显示。 需求想好了,就来实现一下。 1、处理只...

2019-09-11 22:10:12

阅读数 183

评论数 0

线程池包含哪些状态?

线程池状态: 线程池的5种状态:RUNNING、SHUTDOWN、STOP、TIDYING、TERMINATED。 见 ThreadPoolExecutor 源码 // runState is stored in the high-order bits private static...

2019-09-10 23:24:44

阅读数 215

评论数 0

Executors如何创建线程池?

Executors如何创建线程池? Executors 类是从 JDK 1.5 开始就新增的线程池创建的静态工厂类,它就是创建线程池的,但是很多的大厂已经不建议使用该类去创建线程池。原因在于,该类创建的很多线程池的内部使用了无界任务队列,在并发量很大的情况下会导致 JVM 抛出 OutOfMem...

2019-09-09 09:38:37

阅读数 240

评论数 0

什么是线程池?

什么是线程池? 线程池就是创建若干个可执行的线程放入一个池(容器)中,有任务需要处理时,会提交到线程池中的任务队列,处理完之后线程并不会被销毁,而是仍然在线程池中等待下一个任务。 为什么要使用线程池? 因为 Java 中创建一个线程,需要调用操作系统内核的 API,操作系统要为线程分配一...

2019-09-07 20:12:44

阅读数 245

评论数 0

线程包括哪些状态?状态之间是如何转变的?

线程的生命周期 线程包括哪些状态的问题说专业一点就是线程的生命周期。 不同的编程语言对线程的生命周期封装是不同的。 Java 中线程的生命周期 Java 语言中线程共有六种状态。 NEW(初始化状态) RUNNABLE(可运行 / 运行状态) BLOCKED(阻塞状态) WAIT...

2019-09-04 23:25:12

阅读数 997

评论数 0

什么是守护线程?

Java线程分为用户线程和守护线程。 守护线程是程序运行的时候在后台提供一种通用服务的线程。所有用户线程停止,进程会停掉所有守护线程,退出程序。 Java中把线程设置为守护线程的方法:在 start 线程之前调用线程的 setDaemon(true) 方法。 注意: setDaemon...

2019-09-03 12:31:57

阅读数 964

评论数 0

如何优雅地停止一个线程?

线程终止有两种情况: 1、线程的任务执行完成 2、线程在执行任务过程中发生异常 这两者属于线程自行终止,如何让线程 A 把线程 B 终止呢? Java 中 Thread 类有一个 stop() 方法,可以终止线程,不过这个方法会让线程直接终止,在执行的任务立即终止,未执行的任务无法反馈...

2019-09-03 09:11:57

阅读数 1016

评论数 0

如何创建、启动 Java 线程?

Java 中有 4 种常见的创建线程的方式。 一、重写 Thread 类的 run() 方法。 表现形式有两种:1)new Thread 对象匿名重写 run() 方法 package constxiong.concurrency.a006; /** * new Thread ...

2019-09-02 10:19:18

阅读数 964

评论数 0

微信公众号二维码不同环境差异化处理

看着新建的微信公众号那个位数的粉丝,心里慌啊! 想着如果看了我 csdn 博客的文章,觉得还不错,兴许还有可能会关注我的公众号。于是,继续折腾... 1、手机端微信,页面显示二维码,提示 "长按关注"。我做了试验,在微信的手机客户端访问公众号文章列表页,是没有关注按钮的...

2019-08-29 00:27:30

阅读数 1846

评论数 0

首申百度联盟、Google Adsense,均败

首申百度联盟、Google Adsense,均败 有了网站,必然想尝试一下从百度和 google 接入广告。 1、百度可以通过接入广告赚钱的平台--百度联盟 注册百度联盟,地址:http://union.baidu.com/register.action,需要填写和验证自己网站的域...

2019-08-28 19:45:50

阅读数 1918

评论数 0

什么是线程?什么是进程?为什么要有线程?有什么关系与区别?

什么是线程?什么是进程?为什么要有线程?有什么关系与区别? 进程: 程序执行时的一个实例 每个进程都有独立的内存地址空间 系统进行资源分配和调度的基本单位 进程里的堆,是一个进程中最大的一块内存,被进程中的所有线程共享的,进程创建时分配,主要存放 new 创建的对象实例 进程...

2019-08-27 20:34:53

阅读数 1920

评论数 0

提示
确定要删除当前文章?
取消 删除