腾讯java社招面试流程,附大厂真题面经
拼多多一面首先自我介绍参加过哪些项目并发编程三要素?实现可见性的方法有哪些?多线程的价值?创建线程的三种方式的对比?画出线程的状态流转图常用的并发工具类有哪些?CyclicBarrier和CountDownLatch的区别CAS的问题:1、CAS容易造成ABA问题2、不能保证代码块的原子性3、CAS造成CPU利用率增加ReadWriteL
简
4年前
Binder Driver缺陷导致定屏的案例
本文讲解异步bindercall是如何阻塞整个系统的,通过ramdump信息以及binder通信协议来演绎并还原定屏现场。一、背景知识点解决此问题所涉及到的基础知识点有:Trace、CPU调度、Ramdump推导、Crash工具、GDB工具、Ftrace,尤其深入理解binderIPC机制。1.1工具简介Trace:分析死锁
Wesley13 Wesley13
4年前
go中内存泄露的发现与排查
一,什么是内存泄漏Go中的并发性是以goroutine(独立活动)和channel(用于通信)的形式实现的。处理goroutine时,程序员需要小心翼翼地避免泄露。如果最终永远堵塞在I/O上(例如channel通信),或者陷入死循环,那么goroutine会发生泄露。即使是阻塞的goroutine,也会消耗资源
Wesley13 Wesley13
4年前
Java NIO用法
一:NIO简介java.nio全称javanonblockingIO,是指jdk1.4及以上版本提供的新的api(NewIO非正式叫法),为所有的原始类型(boolean类型除外)提供缓存支持的数据容器,使用它可以提供非阻塞式的高伸缩性网络。JavaNIO由以下三个核心部分组成:Channels:通道B
Easter79 Easter79
4年前
String Builder 源码分析
!(https://oscimg.oschina.net/oscnet/2af3de6213a842a08f7a8b1544c6ebf0.png)StringBuilder与StringBuffer区别StringBuilder可变字符串,线程不太安全,但效率高,推荐使用。StringBuffer可变字符串,线程安全,但效率
Stella981 Stella981
4年前
Spring Data R2DBC 入门
1、介绍R2DBC(ReactiveRelationalDatabaseConnectivity)是在2018年SpringOnePlatform大会被提出来的,它旨在使用完全无阻塞驱动程序创建数据库链接,为SQL数据库创建响应式API。为了探索R2DBC我们将创建一个简单的WebFlux应用实现目标2、项目配置
Stella981 Stella981
4年前
Python 协程实现socket并发
socket多并发socket可以实现单个客户端进行请求访问,它可以通过socketserver来实现并发功能呢,socketserver是通过启用多线程实现并发,在这里我们也可以通过gevent协程来实现单个线程下的多并发。socketserver:importgeventfromgeventi
Wesley13 Wesley13
4年前
Java总结篇系列:Java多线程(一)
多线程作为Java中很重要的一个知识点,在此还是有必要总结一下的。一.线程的生命周期及五种基本状态关于Java中线程的生命周期,首先看一下下面这张较为经典的图:!(https://oscimg.oschina.net/oscnet/6430f76219ba08fbe0a9d18ffe4e947387b.jpg)上图中基本上囊括了J
Stella981 Stella981
4年前
JVM学习第一天
程序计数器当前线程所执行的字节码的行号指示器每个线程都有自己私有的计数器native方法,计数器值为空该内存区域没有规定任何的OutOfMemoryError情况虚拟机栈Java方法执行的内存模型,用于存储局部变量标、操作数栈、动态链接、方法出口等信息虚拟机栈也是线程私有局部变量表所需的内存控件在
nitesy nitesy
1年前
C, Cpp, Cpp11 三种方式实现线程池(源码)
使用C,C,C11三种实现线程池的方式