5 Be_insighted

尚未进行身份认证

我要认证

强者自救,圣者渡人!

等级
TA的排名 10w+

Java 基础核心知识点

面向对象编程(OOP)Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点:代码开发模块化,更易维护和修改。 代码复用。 增强代码的可靠性和灵活性。 增加代码的可理解性。面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象。封装封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。在Java当中,有3种修饰符:public,private和protected。每一种修饰符给其他的位于同一个包或...

2020-10-30 08:25:38

Redis 高可用之主从复制

主从复制使用一台机器模拟Redis的主从复制概念一般来说,要将Redis运用于工程项目中,只使用一台Redis是万万不能的,原因如下: 从结构上,单个Redis服务器会发生单点故障,并且一台服务器需要处理所有的请求负载,压力较大; 从容量上,单个Redis服务器内存容量有限,就算一台Redis服务器内容容量为256G,也不能将所有内容用作Redis存储内存,一般来说,单台Redis最大使用内存不应该超过20G。 场景:电子商务网站上的商品,一般都是一次上传,无数次浏

2020-10-28 15:47:34

Redis 主从架构的一些知识点、持久化与异常恢复

以下是关于Redis复制功能的几个重要方面:ØRedis使用异步复制。从Redis 2.8开始,从服务器以每秒一次的频率向主服务器报告复制流(replication stream)的处理进度;Ø复制功能不会阻塞主服务器:即使有一个或者多个从服务器正在进行初次同步,主服务器也可以继续处理命令请求;Ø复制功能也不会阻塞从服务器:只要在redis.conf文件中进行相应的设置,即使从服务器正在进行初次同步,它一样可以使用未同步完成之前的数据集来处理命令查询;Ø从服务器在同步过程中,删...

2020-10-28 10:01:56

ThreadLocal 实现原理,源码浅析 (JDK 1.8)

ThreadLocal实现的原理首先,我们来看一下ThreadLocal的set()方法,因为我们一般使用都是new完对象,就往里边set对象了 public void set(T value) { // 得到当前线程对象 Thread t = Thread.currentThread(); // 这里获取ThreadLocalMap ThreadLocalMap map = getMap(t); // 如果m...

2020-10-27 18:02:25

Redis 热Key问题及解决方案

什么是热key热key问题就是,突然有大量的请求去访问redis上的某个特定key,造成流量过大,达到物理网上限,导致redis服务器宕机引发雪崩。解决方案 提前把热key打散到不同的服务器,降低压力 加入二级缓存,提前加载热key数据到内存中,如果redis宕机,走内存查询 ...

2020-10-27 17:18:45

RabbitMQ 如何保证消息顺序消费闭坑指南

什么是消息顺序颠倒?原本顺序发送的消息,因网络抖动或者其他原因造成顺序颠倒场景再现 生产者向消息队列按照顺序发送了 2 条消息,消息1:增加数据 A,消息2:删除数据 A。 期望结果:数据 A 被删除。 但是如果有两个消费者,消费顺序是:消息2、消息 1。则最后结果是增加了数据 A。 解决方案(Queue拆分、多个消费者) 将 Queue 进行拆分,创建多个内存 Queue,消息 1 和 消息 2 进入同一个 Queue。 创建多个消费者,每

2020-10-27 17:00:55

RabbitMQ 消息队列之可靠性避坑指南

消息丢失消息丢失会带来什么问题?如果是订单下单、支付结果通知、扣费相关的消息丢失,则可能造成财务损失,如果量很大,就会给甲方带来巨大损失。生产者 ——> Broker ——> 消费者在这个链路上、任何一方出现问题都可能导致消息不可靠生产者存放消息的过程中丢失消息解决方案 事务机制(同步方式) 对于 RabbitMQ 来说,生产者发送数据之前开启 RabbitMQ 的事务机制channel.txselect,如果消息没有进队列,则生产者受到异常报错,并进行回滚..

2020-10-27 16:55:02

exist 和 in 到底如何选择

子查询优化有索引 大表驱动小表select sql_no_cache sum(sal) from emp where deptno in (select deptno from dept);in select sql_no_cache sum(sal) from emp where deptno in (select deptno from dept);select sql_no_cache sum(sal) from emp where exists (select 1 from dept

2020-10-26 16:16:57

Spring Data JPA 命名参考以及JPQL语句参考

Spring Data JPA 命名参考以及JPQL语句参考Keyword Sample JPQL snippet And findByLastnameAndFirstname … where x.lastname = ?1 and x.firstname = ?2 Or findByLastnameOrFirstname … where x.lastname = ?1 or x.firstname = ?2 Is, Equals findBy...

2020-10-26 14:11:54

常见Java面试题 —— Java开发工程师

JavaJava基础1、方法、变量的作用域public、protect、protected 以及不写时的区别作用域 当前类 同一包 子类 其他包 public protected friendly private 2、ArrayList和Vector的区别,HashMap和Hashtable的区...

2020-10-23 15:44:21

MySQL查询优化之优化器工作流程以及优化的执行计划生成

查看查询成本查询上一次SQL的成本,单位页SHOW STATUS LIKE 'Last_query_cost'上述结果表示 MySQL 的优化器认为大概需要 12个数据页的随机查找才能完成上述的查询。优化器做了什么?语法树被认为合法时,优化器会将其转化成执行计划。一条查询可以有很多种执行方式,最后都返回相同结果。优化器的作用就是找到这其中最好的执行计划。MySQL 使用基于成本的优化器,它将尝试预测一个查询使用某种执行计划时的成本,并选择其中成本最小的一个。 可能会导致优

2020-10-23 15:24:08

JVM 堆内存&垃圾确认&垃圾回收

Java中垃圾确定的方法是:根可达算法 GC Root 对象:虚拟机栈中引用的对象 方法区中的常量对象 方法区中类静态属性引用的对象 本地方法栈中JNI的引用对象 活跃线程的引用对象 垃圾回收算法: 1、标记清除 (Mark and Sweep) 标记: 从根引用扫描,对存活的对象进行标记 清除: 对堆内存从头到尾进行线性遍历,回收不可达对象内存 缺点: 碎片...

2020-10-18 22:03:03

MySQL基础之环境变量配置

DOS操作数据库连接安装目录路径进入dos,然后直接连接找到mysql的安装目录,然后进入bin目录下,路径处输入cmd,进入dos界面直接打开dos,直接输入mysql -u root -p,会提示不是内部命令,需配置环境变量命令提示符后输入mysql -u 你的mysql用户名 -p,上文安装mysql数据库采用系统默认的root用户名,因此输入命令:mysql -u root -p 然后回车,根据提示输入密码,即可看到mysql命令提示符,此时就可以输入MySQL的命令了。

2020-10-17 18:39:42

Feign调用connection refused,Caused by: java.net.ConnectException: Connection refused: connect

feign 调用 connection refused解决问题:请查看被调用的服务 uri 是否正确!!!正确配置后解决问题

2020-10-16 15:42:39

Windows下IDEA 高级调试,善用技巧、bug减少(条件调试&回退到上一步)

条件调试设定断点 ——> 鼠标移动到断点处,单击右键更多调试设置 Ctrl + Shift + F8 或者单击More(Ctrl + Shift + F8 )返回上一步

2020-10-10 17:19:33

IDEA 项目设置JDK1.8 Lambda Expressions are not supported at language level 5 解决方案 以及Maven JDK1.8 配置

本机配置JDK环境变量完成后,第一步: File ——> Project Structure 新的页面后设置Maven、编译JDK支持。快捷键 Ctrl + Alt + S

2020-10-09 16:04:50

List转Page对象!看这篇就够了,附代码、实验结果

List 转 Page 对象public class ListConvertPageUtil {​ public static <T> Page<T> convertList2PageVO(List<T> list, Integer page, Integer size) { Pageable pageable = new PageRequest(page - 1, size); if (CollectionUtils.is...

2020-07-08 18:42:12

深入理解写时复制技术!CopyOnWrite

写时复制(读写分离的思想):读取时不加锁只是写入和删除时加锁 实现机制(volatile + ReentrantLock)往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完元素之后,再将原容器的引用指向新的容器。提高并发:我们可以对CopyOnWrite容器进行并发的读,而不需要加锁,因为当前容器不会添加任何元素。所以CopyOnWrite容器也是一种读写分离的思想,读和写不同的容器。内存占用:因为Copy..

2020-09-29 16:08:37

深入剖析Redis持久化,RDB还是AOF!?

RDB(Redis Persistence Demystified)RDB指的是 ——>在指定的时间间隔内(规则)将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。持久化过程:Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能如果需要进行大规模数据的恢复,且对于数据恢复的完整.

2020-09-25 17:34:00

忽略ssl证书的验证 ——> 丝滑处理IDEA已配置阿里云镜像,但Maven无法下载jar报包 <—— 阿里云不支持http下载了

配置:-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true还需要配置的是: maven文件夹下的settings.xmlhttps://maven.aliyun.com/repository/public阿里云镜像下载路径<mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf..

2020-09-25 16:00:12

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享王者
    分享王者
    成功上传51个资源即可获取