- 博客(17)
- 资源 (198)
- 收藏
- 关注
原创 Java 基础核心知识点
面向对象编程(OOP)Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点:代码开发模块化,更易维护和修改。 代码复用。 增强代码的可靠性和灵活性。 增加代码的可理解性。面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象。封装封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。在Java当中,有3种修饰符:public,private和protected。每一种修饰符给其他的位于同一个包或...
2020-10-30 08:25:38 613 2
原创 Redis 高可用之主从复制
主从复制使用一台机器模拟Redis的主从复制概念一般来说,要将Redis运用于工程项目中,只使用一台Redis是万万不能的,原因如下: 从结构上,单个Redis服务器会发生单点故障,并且一台服务器需要处理所有的请求负载,压力较大; 从容量上,单个Redis服务器内存容量有限,就算一台Redis服务器内容容量为256G,也不能将所有内容用作Redis存储内存,一般来说,单台Redis最大使用内存不应该超过20G。 场景:电子商务网站上的商品,一般都是一次上传,无数次浏
2020-10-28 15:47:34 157 2
原创 Redis 主从架构的一些知识点、持久化与异常恢复
以下是关于Redis复制功能的几个重要方面:ØRedis使用异步复制。从Redis 2.8开始,从服务器以每秒一次的频率向主服务器报告复制流(replication stream)的处理进度;Ø复制功能不会阻塞主服务器:即使有一个或者多个从服务器正在进行初次同步,主服务器也可以继续处理命令请求;Ø复制功能也不会阻塞从服务器:只要在redis.conf文件中进行相应的设置,即使从服务器正在进行初次同步,它一样可以使用未同步完成之前的数据集来处理命令查询;Ø从服务器在同步过程中,删...
2020-10-28 10:01:56 249 1
转载 计算机网络知识,足以应对面试
本文源自于https://mp.weixin.qq.com/s/6ju4j_ffLuOBuoO53ZhcOA1. 计算机网络概述1.1. 基本术语 结点 (node):网络中的结点可以是计算机,集线器,交换机或路由器等。 链路(link ): 从一个结点到另一个结点的一段物理线路。中间没有任何其他交点。 主机(host):连接在因特网上的计算机。 ISP(Internet Service Provider):因特网服务提供者(提供商)。 ...
2020-10-27 18:39:51 291
原创 ThreadLocal 实现原理,如何防止内存泄露,TransmittableThreadLocal(ThreadLocal线程池线程重用会导致数据污染)
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 1257
原创 Redis 热Key问题及解决方案
什么是热key热key问题就是,突然有大量的请求去访问redis上的某个特定key,造成流量过大,达到物理网上限,导致redis服务器宕机引发雪崩。解决方案 提前把热key打散到不同的服务器,降低压力 加入二级缓存,提前加载热key数据到内存中,如果redis宕机,走内存查询 ...
2020-10-27 17:18:45 639
原创 RabbitMQ 如何保证消息顺序消费闭坑指南
什么是消息顺序颠倒?原本顺序发送的消息,因网络抖动或者其他原因造成顺序颠倒场景再现 生产者向消息队列按照顺序发送了 2 条消息,消息1:增加数据 A,消息2:删除数据 A。 期望结果:数据 A 被删除。 但是如果有两个消费者,消费顺序是:消息2、消息 1。则最后结果是增加了数据 A。 解决方案(Queue拆分、多个消费者) 将 Queue 进行拆分,创建多个内存 Queue,消息 1 和 消息 2 进入同一个 Queue。 创建多个消费者,每
2020-10-27 17:00:55 3644 2
原创 RabbitMQ 消息队列之可靠性避坑指南
消息丢失消息丢失会带来什么问题?如果是订单下单、支付结果通知、扣费相关的消息丢失,则可能造成财务损失,如果量很大,就会给甲方带来巨大损失。生产者 ——> Broker ——> 消费者在这个链路上、任何一方出现问题都可能导致消息不可靠生产者存放消息的过程中丢失消息解决方案 事务机制(同步方式) 对于 RabbitMQ 来说,生产者发送数据之前开启 RabbitMQ 的事务机制channel.txselect,如果消息没有进队列,则生产者受到异常报错,并进行回滚..
2020-10-27 16:55:02 208
原创 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 1188
原创 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 341
原创 常见Java面试题 —— Java开发工程师
JavaJava基础1、方法、变量的作用域public、protect、protected 以及不写时的区别作用域 当前类 同一包 子类 其他包 public protected friendly private 2、ArrayList和Vector的区别,HashMap和Hashtable的区...
2020-10-23 15:44:21 232 3
原创 MySQL查询优化之优化器工作流程以及优化的执行计划生成
查看查询成本查询上一次SQL的成本,单位页SHOW STATUS LIKE 'Last_query_cost'上述结果表示 MySQL 的优化器认为大概需要 12个数据页的随机查找才能完成上述的查询。优化器做了什么?语法树被认为合法时,优化器会将其转化成执行计划。一条查询可以有很多种执行方式,最后都返回相同结果。优化器的作用就是找到这其中最好的执行计划。MySQL 使用基于成本的优化器,它将尝试预测一个查询使用某种执行计划时的成本,并选择其中成本最小的一个。 可能会导致优
2020-10-23 15:24:08 522
原创 JVM 堆内存&垃圾确认&垃圾回收
Java中垃圾确定的方法是:根可达算法 GC Root 对象:虚拟机栈中引用的对象 方法区中的常量对象 方法区中类静态属性引用的对象 本地方法栈中JNI的引用对象 活跃线程的引用对象 垃圾回收算法: 1、标记清除 (Mark and Sweep) 标记: 从根引用扫描,对存活的对象进行标记 清除: 对堆内存从头到尾进行线性遍历,回收不可达对象内存 缺点: 碎片...
2020-10-18 22:03:03 167
原创 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 302
原创 Feign调用connection refused,Caused by: java.net.ConnectException: Connection refused: connect
feign 调用 connection refused解决问题:请查看被调用的服务 uri 是否正确!!!正确配置后解决问题
2020-10-16 15:42:39 2419
原创 Windows下IDEA 高级调试,善用技巧、bug减少(条件调试&回退到上一步)
条件调试设定断点 ——> 鼠标移动到断点处,单击右键更多调试设置 Ctrl + Shift + F8 或者单击More(Ctrl + Shift + F8 )返回上一步
2020-10-10 17:19:33 914 1
原创 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 659
系统集成项目管理工程师.rar
2021-03-13
JDK SE8 Java语言规范与虚拟机规范 官方文档
2020-10-14
message-push-service.rar
2020-08-26
redis、activemq、juc、jvm、gc等知识点的脑图.rar
2020-05-04
Windows下安装Rabbitmq需要的安装包.rar
2020-04-26
视频对应课件-软件设计师
2020-01-18
Interview_Guide.rar
2019-09-11
smartgit-win32-setup-jre-17_1_4.zip
2019-09-04
maven&freeSSHd&freeFTPd&gitblit-1.9.2&pdfbox-2.0.28.jar
2023-05-11
水果商城sql文件,亲测可用
2022-12-04
Java EE互联网轻量级框架整合开发 SSM框架(Spring MVC+Spring+MyBatis)和Redis实现.rar
2021-12-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人