阿里巴巴技术专家之作,吊打面试官系列!
美团一面:1、ConcurrentHashMap实现原理2、HashMap实现原理3、锁的实现原理4、synchronized和重入所实现原理以及区别5、一个char数组,里面有空格,以&结束。6、jvm内存模型,都存什么。以及垃圾回收算法,垃圾回收器。7、内存溢出的场景8、设计模式,以及自己使用的场景。9、Sping的AOP实现原
Wesley13 Wesley13
3年前
java 多线程总结篇4——锁机制
在开发Java多线程应用程序中,各个线程之间由于要共享资源,必须用到锁机制。Java提供了多种多线程锁机制的实现方式,常见的有synchronized、ReentrantLock、Semaphore、AtomicInteger等。每种机制都有优缺点与各自的适用场景,必须熟练掌握他们的特点才能在Java多线程应用开发时得心应手。——《Java锁机制详解》(
桃浪十七丶 桃浪十七丶
3年前
C语言中指针及其应用高级篇(用指针实现数组的扩增)
一、一级指针与一维数组把指针充当变量的用法,在C/C的数据结构学习中广为应用,这种用法学习起来是比较简单的。先看代码。这里的代码,有string.h头文件包含的函数,和scanf,这两者在正常的写法中不用加“s”,这篇随笔所及代码的运行环境是VisualStudio2017,编译器会把scanf等函数增强,因此为了正常运行,会加上“s”.cdefine
Karen110 Karen110
3年前
一篇文章带你解锁Python库中操作系统级别模块psutil
/前言/psutil是一个强大的可以获取操作系统运行进程和CPU使用率的模块,主要可以用于系统监控分析,它也是可以跨平台使用的模块。这篇文章主要是介绍该模块的安装和基本用法,下面我们就来看看它到底有哪些使用功能吧。/模块介绍/1、安装。使用pip命令进行安装即可。pipinstallpsutil2、基本用法老样子,先使用dir看它有哪些方法,为
Wesley13 Wesley13
3年前
Java并发(六):volatile的实现原理
synchronized是一个重量级的锁,volatile通常被比喻成轻量级的synchronizedvolatile是一个变量修饰符,只能用来修饰变量。volatile写:当写一个volatile变量时,JMM会把该线程对应的本地内存中的共享变量刷新到主内存。volatile读:当读一个volatile变量时,JMM会把该线程对应的
Wesley13 Wesley13
3年前
Java高级面试必问:AQS 到底是什么?
前言JDK1.5以前只有synchronized同步锁,并且效率非常低,因此大神DougLea自己写了一套并发框架,这套框架的核心就在于AbstractQueuedSynchronizer类(即AQS),性能非常高,所以被引入JDK包中,即JUC。那么AQS是怎么实现的呢?本篇就是对AQS及其相关组件进行分析,了解其原理,并领略大神的优美而又精简
Wesley13 Wesley13
3年前
Java并发——各类互斥技术的效率比较
    既然Java包括老式的synchronized关键字和JavaSE5中心的Lock和Atomic类,那么比较这些不同的方式,更多的理解他们各自的价值和适用范围,就会显得很有意义。    比较天真的方式是在针对每种方式都执行一个简单的测试,就像下面这样:import java.util.concurrent.locks.Lock;
Wesley13 Wesley13
3年前
mysql 时间格式函数
平时比较常用的时间、字符串、时间戳之间的互相转换,虽然常用但是几乎每次使用时候都喜欢去搜索一下用法;本文将作为一个笔记,整理一下三者之间的转换(即:date转字符串、date转时间戳、字符串转date、字符串转时间戳、时间戳转date,时间戳转字符串)用法,方便日后查看;涉及的函数date\_format(https://www.o
Wesley13 Wesley13
3年前
Java 程序员必须掌握的 Linux 命令
  作为一个Java开发人员,有些常用的Linux命令必须掌握。即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令。因为很多服务器上都是Linux系统。所以,要和服务器机器交互,就要通过shell命令。  本文并不会对所有命令进行详细讲解,只给出常见用法和解释。具体用法可以使用–help查看帮助或者直接通过goog
Stella981 Stella981
3年前
Javascript风格要素 ⅠⅠ
我们使用习惯用法可以使我们的意图更加的清晰和简洁。使用时,当心强制转换考虑下面函数:functiongw(f){if(d.w.sv.checkedtrue){zv'on';}else{