首页
学习
活动
专区
工具
TVP
发布

公众号-山间木匠

公众号-山间木匠
专栏作者
21
文章
8802
阅读量
13
订阅数
【Java面试系列】Java 基础常问面试题
面向对象:是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,而是为了描述某个事物在解决整个问题的过程中所发生的行为。面向对象有封装、继承、多态的特性,所以易维护、易复用、易扩展。可以设计出低耦合的系统。 但是性能上来说,比面向过程要低。
山间木匠
2020-12-21
5680
【云+社区年度征文】小程序·云开发综合提升篇
什么是小程序云开发,从前端解决后端的活。18 年以为很多大公司减员,小公司关闭,到底是互联网的寒冬时期,还是互联网换新时期,我认为是后者。小程序开发周期一般都相对比比较短,如果一个企业还是一个团队去开发一个博客、资讯、新闻这类的产品,支出的成本是还是相对大比较大的。其中可能大部分时间我们都用在联调这个事上了,代码的测试,数据校验,很大时间浪费在前后端相互对接等待等。像小程序这种无服务在以后会越来越多,只管写接口、写逻辑就好。总得来说,虽然你管的东西越来越少,但开发效率却越来越高,开发出来的轻应用、小程序却是具备高性能、高可用、高扩展的特性, 开发人员的较少必定资金和人力的需求可谓大大节省。
山间木匠
2020-12-02
1.1K0
【JVM系统学习之路】JAVA 虚拟机栈
由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台 CPU 架构不同,所以不能设计为基于寄存器的。 优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。
山间木匠
2020-11-04
4640
【JVM系统学习之路】运行时数据区概述和程序计数器
本篇将 运行时数据区概述及线程 和 程序计数器 的知识点由于不是很多所以就一起梳理,也是为后续学习的知识点做一个铺垫。
山间木匠
2020-11-02
3210
【JVM系统学习之路】一篇看懂类加载
嗨喽,小伙伴大家好,我是小春哥,今天是打卡 【JVM系统学习之路】 的第二篇文章 类加载子系统 ,在学习本章节首先回顾 上一章节【JVM系统学习之路】JVM与Java体系结构的JVM整体结构。
山间木匠
2020-10-30
3880
【JVM系统学习之路系列】 JVM 概述篇
大家好,我是小春哥,前面我用了10多个章节对并发编程 JUC 相关知识进行梳理,如果对 JUC知识还不了解的同学,关注我的公众号【山间木匠】从菜单底部可直达,从本篇文章开始更新 JVM 相关知识点,每一个JAVA 开发者应该都能深刻体会,多线程、并发、JVM 是难点也是痛点。
山间木匠
2020-10-28
5380
突击并发编程JUC系列-万字长文解密 JUC 面试题
CAS(Compare And Swap)指比较并交换。CAS算法CAS(V, E, N)包含 3 个参数,V 表示要更新的变量,E 表示预期的值,N 表示新值。在且仅在 V 值等于 E值时,才会将 V 值设为 N,如果 V 值和 E 值不同,则说明已经有其他线程做了更新,当前线程什么都不做。最后,CAS 返回当前 V 的真实值。Concurrent包下所有类底层都是依靠CAS操作来实现,而sun.misc.Unsafe为我们提供了一系列的CAS操作。
山间木匠
2020-10-26
3790
突击并发编程JUC系列-阻塞队列 BlockingQueue
阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。
山间木匠
2020-10-23
5660
突击并发编程JUC系列-并发容器ConcurrentHashMap
本节让我们一起研究一下该容器是如何在保证线程安全的同时又能保证高效的操作。ConcurrentHashMap是线程安全且高效的HashMap。
山间木匠
2020-10-16
3590
突击并发编程JUC系列-Locksupport 与 Condition
JDK 中的 rt.jar 包里面的 LockSupport 是个工具类,当需要阻塞或唤醒一个线程的时候,都可以使用 LockSupport 工具类来完成相应工作。LockSupport定义了一组的公共静态方法,这些方法提供了最基本的线程阻塞和唤醒功能,而LockSupport 也成为构建同步组件的基础工具。LockSupport定义了一组以 park 开头的方法用来阻塞当前线程,以及 unpark(Thread thread)方法来唤醒一个被阻塞的线程。下面介绍LockSupport中的几个主要函数。
山间木匠
2020-10-15
3910
突击并发编程JUC系列-ReentrantReadWriteLock
本章节将学习 ReentrantReadWriteLock(读写锁),ReadWriteLock 也是 java 5之后引入的,之前提到锁(如Mutex和ReentrantLock)基本都是排他锁,这些锁在同一时刻只允许一个线程进行访问,而读写锁在同一时刻可以允许多个读线程访问,但是在写线程访问时,所有的读线程和其他写线程均被阻塞。读写锁维护了一对锁,一个读锁和一个写锁,通过分离读锁和写锁,使得并发性相比一般的排他锁有了很大提升。
山间木匠
2020-10-13
2750
突击并发编程JUC系列-ReentrantLock
锁是用来控制多个线程访问共享资源的方式,通过锁可以防止多个线程同时访问共享资源。在 Java1.5之前实现锁只能使用 synchronized关键字实现,但是synchronized隐式获取释放锁,在 1.5之后官方新增了 lock 接口也是用来实现锁的功能,,它具备与synchronized关键字类似的同步功能,显式的获取和释放锁。lock拥有了锁获取与释放的可操作性、可中断的获取锁以及超时获取锁等多种synchronized关键字所不具备的同步特性。
山间木匠
2020-10-10
2870
突击并发编程JUC系列-并发工具 Semaphore
前面两个章节学习了 CountDownLatch 和 CyclicBarrier ,他们都是递减同步器,今天学习递增同步器 Semaphore。
山间木匠
2020-09-30
3080
突击并发编程JUC系列-并发工具 CyclicBarrier
俗话说趁热要打铁,上篇中介绍的 CountDownLatch 的基本用法, CountDownLatch 计数器是一次性的,也就是等到计数器值变为0后,再调用CountDownLatch的await和countdown方法都会立刻返回,这就起不到线程同步的效果了。
山间木匠
2020-09-29
3170
突击并发编程JUC系列-并发工具 CountDownLatch
小伙伴们,大家好,我们又见面了,突击并发编程JUC系列实战并发工具发车了。新的章节还是新的故事讲解,不知各位小伙伴们在面试遇到CountDownLatch、CyclicBarrier、Semaphore和Exchanger工具类灵魂拷问。本章节提供一种并发流程控制的手段CountDownLatch。
山间木匠
2020-09-28
3430
突击并发编程JUC系列-​JDK1.8 扩展类型 LongAdder
小伙伴们,大家好,我们又见面了,突击并发编程JUC系列实战JDK1.8 扩展类型马上就要发车了。
山间木匠
2020-09-27
3350
突击并发编程JUC系列-原子更新字段类AtomicStampedReference
他来了,他来了,他带着 ABA 问题走来了,小伙伴们,大家好,我们又见面了,突击并发编程 JUC 系列实战原子更新数组类马上就要发车了。
山间木匠
2020-09-25
3490
突击并发编程JUC系列-原子引用AtomicReference
小伙伴们,大家好,我们又见面了,突击并发编程 JUC 系列实战原子引用马上就要发车了。
山间木匠
2020-09-24
3630
突击并发编程JUC系列-数组类型AtomicLongArray
上一个章节我们学习原子更新基本类型类,如果没有印象的小伙伴可以通过底部的链接回头看下,本章节主要介绍原子更新数组类型。
山间木匠
2020-09-23
3830
突击并发编程JUC系列-原子更新AtomicLong
Java 从JDK 1.5开始提供了java.util.concurrent.atomic包(以下简称Atomic包),这个包中的原子操作类提供了一种用法简单、性能高效、线程安全地更新一个变量的方式。原子类通过 CAS (compare and swap) 、 volatile和native方法实现,比 synchronized 开销更小,执行效率更高,在多线程环境下,无锁的进行原子操作。
山间木匠
2020-09-22
3800
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档