阿里巴巴技术专家之作,吊打面试官系列!
美团一面:1、ConcurrentHashMap实现原理2、HashMap实现原理3、锁的实现原理4、synchronized和重入所实现原理以及区别5、一个char数组,里面有空格,以&结束。6、jvm内存模型,都存什么。以及垃圾回收算法,垃圾回收器。7、内存溢出的场景8、设计模式,以及自己使用的场景。9、Sping的AOP实现原
李志宽 李志宽
2年前
【网络安全】为了2023年面试鹅厂渗透岗 死磕这几个知识
1、讲讲Java内存马原理和利用?Java内存马是一种通过在Java虚拟机(JVM)中运行的恶意代码,实现对被攻击者系统的远程控制。其原理是通过在Java虚拟机中注入特定的Java类、变量或方法等Java对象,然后在Java虚拟机中运行这些代码,实现对受害
Wesley13 Wesley13
3年前
Java并发(六):volatile的实现原理
synchronized是一个重量级的锁,volatile通常被比喻成轻量级的synchronizedvolatile是一个变量修饰符,只能用来修饰变量。volatile写:当写一个volatile变量时,JMM会把该线程对应的本地内存中的共享变量刷新到主内存。volatile读:当读一个volatile变量时,JMM会把该线程对应的
Stella981 Stella981
3年前
ReenTrantLock可重入锁和synchronized的区别
ReenTrantLock可重入锁和synchronized的区别可重入性:从名字上理解,ReenTrantLock的字面意思就是再进入的锁,其实synchronized关键字所使用的锁也是可重入的,两者关于这个的区别不大。两者都是同一个线程没进入一次,锁的计数器都自增1,所以要等到锁的计数器下降为0时才能释放锁。锁的实现:S
Stella981 Stella981
3年前
APT攻击利器-Word漏洞CVE
一、概述近期,百度安全实验室反高级威胁团队截获多封利用MicrosoftOfficeWord漏洞进行攻击的恶意邮件。通过对邮件附件样本进一步分析发现,其利用的漏洞为澳洲国防部计算机应急响应中心提交的CVE20167193。该漏洞为RTF文件解析漏洞,成功利用该漏洞可以远程执行任意代码。我们拦截的样本双击打开后会在本地释放后门程序
Wesley13 Wesley13
3年前
MySQL通讯协议(2)数据包
MySQL通讯协议(2)数据包使用MySQL协议发送数据,有两个要求:将数据分成大小为(2^24−1)字节的数据包给每个数据块加上一个包头由于连接的创建和释放都需要耗费资源,所以数据库这种交互频繁,且连接数量不需要特别大的应用场景,一般使用长连接。使用短连接尚能通过RST判断数据是否读完了,而
Wesley13 Wesley13
3年前
Java并发系列7
如果要让线程阻塞,我们在讲线程基础的时候已经分析过了。如果要让线程暂停呢,不是blocked,而是waiting,这时候有什么办法?Thread类有一个弃用的方法suspend()是线程暂停的意思,他被弃用的原因是线程挂起的时候并不会释放持有的锁资源,而且suspend()挂起的线程状态依然是runnable,这也是不合理的。那么有没有一种简单的
Stella981 Stella981
3年前
Redis 事务(8)
为什么要用事务Redis的单个命令是原子性的(比如getsetmgetmset),如果涉及到多个命令的时候,需要把多个命令作为一个不可分割的处理序列,就需要用到事务。例如我们之前说的用setnx实现分布式锁,我们先set,然后设置对key设置expire,防止del发生异常的时候锁不会被释放,业务处理完了以后再del,这三个动作我们就
Wesley13 Wesley13
3年前
PHP高性能编程
1.能用PHP数组完成的工作,绝不用文件形式来代替,数组是内存操作,内存操作速度对比文件操作快很多!2.判断一个数值是否在一个数组中,然后决定是否追加数组内容时,不推荐使用in\_array或者array\_key\_exists,因为函数判断都不如isset结构判断来的快!$num0;$resultar
Mebius Mebius
1年前
什么是代理ip?代理ip的用途有哪些?该如何获取代理ip?
我们在网页中输入网址后发生了什么呢?1.浏览器获取域名2.通过DNS协议获取域名对应服务器的ip地址3.浏览器和对应的服务器通过三次握手建立TCP连接4.浏览器通过HTTP协议向服务器发送数据请求5.服务器将查询结果返回给浏览器6.四次挥手释放TCP连接7