自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 面试官为什么 wait() 方法需要写在while里,而不是if

1.wait()的作用是让当前线程进入等待状态,同时,wait()也会让当前线程释放它所持有的锁。“直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法”,当前线程被唤醒(进入“就绪状态”)2.notify()和notifyAll()的作用,则是唤醒当前对象上的等待线程;notify()是唤醒单个线程,而notifyAll()是唤醒所有的线程。3.wait(long timeout)让当前线程处于“等待(阻塞)状态”,“直到其他线程调用此对象的notify()方法或 notify

2022-10-18 13:51:41 276 26

原创 面试中的Spring,我们该怎么去回答

回答:Spring是一个J2EE的框架,这个框架提供了对轻量级IOC的良好支持,同时也提供了对AOP技术非常好的封装,相比于其他的框架,Spring框架的设计更加模块化,框架内的每个模块都能完成特定的工作,而且各个模块可以独立的运行,不会相互的前置,因此,在使用Spring框架的时候,我们可以使用整个框架,也可以使用框架中的一部分,例如只使用AOP模块的日志管理。

2022-10-10 09:58:52 402 36

原创 是什么影响了MySQL性能?

服务器硬件服务器系统数据库存储引擎数据库参数配置数据库表结构设计和SQL语句执行效率数据库的版本在服务器硬件中,最容易影响数据库性能的是CPU资源和可用内存大小以及I/O。选择CPU时需要考虑的点:内存:使用传统机器磁盘。机械硬盘读取数据的过程:注:第一步+第二部=磁盘的访问时间。第三步消耗的时间=磁盘的传输速度所以选择机械硬盘主要参考以下几个点:RAID:常用的RAID模式 - RAID 0:RAID 0 模式结构图:常用的RAID模式 - RAID 1:RAID 1 模式结构图:[外链图片转存失败,

2022-09-28 09:45:54 302 17

原创 Java 中 == 与 equals 区别,再确认一遍?

它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象(基本数据类型比较的是值,引用数据类型比较的是内存地址)。基本数据类型他们之间的比较,应用双等号(==),比较的是他们的值。引用数据类型:当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址(确切的说,是堆内存地址)。举个例子@Test//基本数据类型//基本数据类型//引用类型//引用类型//引用类型//引用类型。

2022-09-05 11:34:56 279 48

原创 全面了解Java中的15种锁概念及机制!

一文横扫Java锁相关的所有知识点!简单回顾一下CAS算法CAS是英文单词(比较并交换),是一种有名的无锁算法。无锁编程,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫非阻塞同步()。CAS算法涉及到三个操作数1.需要读写的内存值 V2.进行比较的值 A3.拟写入的新值 B更新一个变量的时候,只有当变量的预期值A和内存地址V当中的实际值相同时,才会将内存地址V对应的值修改为B,否则不会执行任何操作。一般情况下是一个自旋操作,即不断的重试。...

2022-08-29 11:05:32 278 32

原创 数据库不推荐使用外键的9个理由!

这可能不是数据库没有外键的正确理由,一些数据库跨越更多的物理数据库甚至引擎,并且在技术上可能不能创建跨越数据库的它不能在同一台服务器上的两个数据库上创建key。类似于前一个,一些应用程序被设计为数据库平台(DBMS)不可知的,并能够在Oracle,SQL Server,DB / 2或Sybase等各种数据库上工作。性能是数据仓库和商业智能的一切。但是,您不必创建保持数据一致性的结构,如主键,唯一键,外键或约束。数据库中缺少外键的另一个不太明显的负面影响是,不了解该模式的人很难找到正确的表并找出表关系。

2022-08-20 14:16:48 1802 40

原创 MySQL主从复制详细介绍

​ 简单的说就是master将数据库的改变写入binary log二进制日志,这个日志会记录下所有修改了数据库的SQL语句(insert,update,delete,grant等),slave同步这些二进制日志,并根据这些二进制日志进行数据操作,其实就是把主服务器上的binary log复制到从服务器上执行一遍,这样从服务器上的数据就和主服务器上的数据相同了。2.从节点开启一个线程I/O Thread把自己扮演成mysql的客户端,通过mysql协议,请求主节点的二进制日志文件中的事件。...

2022-08-12 09:35:23 811 46

原创 并行化-你的高并发大杀器

可以想象有这么一个需求,每天定时对id在某个范围之间的用户发券,比如这个范围之间的用户有几百万,如果给一台机器发的话,可能全部发完需要很久的时间,所以分布式调度框架比如:elastic-job都提供了分片的功能,比如你用50台机器,那么id%50=0的在第0台机器上,=1的在第1台机器上发券,那么我们的执行时间其实就分摊到了不同的机器上了。所以多核CPU逐渐成为现在市场的主流,这样让我们的多线程编程也更加的容易。本文介绍了什么是并行化,并行化的各种历史,在Java中如何实现并行化,以及并行化的注意事项。..

2022-08-07 11:53:09 310 37

原创 Java开发人员必知必会的20种常用类库和API

是另一个类似的API,它继承了JavaCollectionFramework,提供了数种特定类型的容器,包括映射map、集合set、列表list、优先级队列(prorityqueue),实现了java.util包的标准接口(还提供了标准类所没有的双向迭代器),还提供了很大的(64位)的array、set、list,以及快速、实用的二进制或文本文件的I/O操作类。在你跑单测的时候如果你需要一个数据库,用来验证你的SQL的话,他是个很好的选择。这都是每位Java开发人员应该熟悉的,并且十分有用的库。...

2022-08-01 13:43:10 1034 37

原创 常见(MySQL)面试题(含答案)

存储过程是一个预编译的SQL语句,使用存储过程比单纯SQL语句执行要快。可以用一个命令对象来调用存储过程。可以供外部程序调用,比如java程序存储过程是一个预编译的SQL语句,使用存储过程比单纯SQL语句执行要快。可以用一个命令对象来调用存储过程。可以供外部程序调用,比如java程序。...

2022-07-28 17:02:18 39189 33

原创 数据库性能优化的误区!

有些场景下,针对业务特点和应用类型做操作系统调优是能取到立竿见影的效果,但是大多数时候往往提升并不明显。但是从优化角度讲数据库的等待事件、Latch等指标高等等都只是问题的表象,懂得底层细节和内幕固然是好。调整系统参数是非常重要的,但不一定能解决性能问题,否则就不会有去IOE了,问题可能性最大的还是应用设计和开发问题。系统性能与各个层面都有关,整体架构很重要,但应用开发也是非常重要的一环。这种通常是“吹水”的人常在外面忽悠的,这些技术手段都被说烂了。3.6、硬件升级(SSD、更强的CPU、更大的内存)...

2022-07-25 09:58:44 372 27

原创 Python 常见的17个错误分析

Python3的关键字有and,as,assert,break,class,continue,def,del,elif,else,except,False,finally,for,from,global,if,import,in,is,lambda,None,nonlocal,not,or,pass,raise,return,True,try,while,with,yield。在Python中是没有这样的操作符的。

2022-07-21 10:44:00 291 43

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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