- 博客(109)
- 资源 (177)
- 论坛 (1)
- 收藏
- 关注

原创 消息实时推送、转发:SpringBoot结合WebSocket、RabbitMQ实现、上线获取消息(叮咚,您有新的订单,请及时处理) 附工程代码 <——> 感知客户端&安全建立连接
SpringCloud结合RabbitMQ实现监听消息实时转发(webSocket)方案设计所用工具(包)IDEA、SpringCloud、RabbitMQ、SpringData(JPA)、MySQL、SpringBoot、Maven初识websocketWebSocket 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex...
2020-04-25 15:52:39
1592
原创 修改文件夹下文件名
import java.io.File;public class UpdateFileName { public static void main(String[] args) { String path = "E:\\B站下载的视频"; int length = "雷丰阳大神的Spring、MVC等".length(); File file = new File(path); File[] files = file.listFi.
2021-01-17 22:37:11
13
原创 SpringMVC概述
SpringMVC 概述1、SpringMVC 概述Spring 为展现层提供的基于 MVC 设计理念的优秀的 Web 框架,是目前最主流的 MVC 框架之一。 Spring3.0 后全面超越 Struts2,成为最优秀的 MVC 框架。 Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请求的控制器,而无须实现任何接口。 支持 REST 风格的 URL 请求。 采用了松散耦合可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性。2、是什么一种轻量级的、基于MVC的
2021-01-17 20:41:07
11
原创 mysql安装之 mysqld --install 报Install/Remove of the Service Denied! 以管理员身份运行cmd.exe 解决问题 成功安装
其中cmd.exe 在C:\Windows\System32\cmd.exe成功安装
2020-11-20 18:08:54
80
原创 Synchronized初探,无锁到重锁
偏向锁当线程访问同步块并获取锁时处理流程如下:检查mark word的线程 id。 如果为空则设置 CAS 替换当前线程 id。如果替换成功则获取锁成功,如果失败则撤销偏向锁。 如果不为空则检查线程 id为是否为本线程。如果是则获取锁成功,如果失败则撤销偏向锁。持有偏向锁的线程以后每次进入这个锁相关的同步块时,只需比对一下 mark word 的线程 id 是否为本线程,如果是则获取锁成功。如果发生线程竞争发生 2、3 步失败的情况则需要撤销偏向锁。偏向锁撤销偏向锁的撤销动...
2020-11-16 22:48:59
51
原创 Java常见NullPointerException问题所致原因,工作中如何避免?
Java常见NullPointerException问题所致原因调用空对象的实例方法 访问了空对象的属性 当数组是空的时候,取它的长度 null 作为Throwable的值,抛出 方法返回值是null,调用方直接使用class User{ public String name; public Integer age; public String[] adress; public void print(){ System.out.p...
2020-11-08 20:47:52
51
原创 IDEA 运行java程序报cannot start process,the working directory ‘********’ does not exist! 先配JDK版本、再搞程序运行配置
打开idea,点击file->Project Structure,然后project、Modules、Libraries等模块配置你需要的JDK版本程序的运行的配置先来看一下,在运行程序时如不做相关配置,程序将报错!目录是你的文件的存储位置!Warning: Working directory 'E:\commonproblem/commonproblem' doesn't exist配置项目的路径或者配置候选值 含有main方法的程序Edit config..
2020-11-08 20:27:56
38
原创 Java 基础核心知识点
面向对象编程(OOP)Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点:代码开发模块化,更易维护和修改。 代码复用。 增强代码的可靠性和灵活性。 增加代码的可理解性。面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象。封装封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。在Java当中,有3种修饰符:public,private和protected。每一种修饰符给其他的位于同一个包或...
2020-10-30 08:25:38
39
2
原创 Redis 高可用之主从复制
主从复制使用一台机器模拟Redis的主从复制概念一般来说,要将Redis运用于工程项目中,只使用一台Redis是万万不能的,原因如下: 从结构上,单个Redis服务器会发生单点故障,并且一台服务器需要处理所有的请求负载,压力较大; 从容量上,单个Redis服务器内存容量有限,就算一台Redis服务器内容容量为256G,也不能将所有内容用作Redis存储内存,一般来说,单台Redis最大使用内存不应该超过20G。 场景:电子商务网站上的商品,一般都是一次上传,无数次浏
2020-10-28 15:47:34
29
2
原创 Redis 主从架构的一些知识点、持久化与异常恢复
以下是关于Redis复制功能的几个重要方面:ØRedis使用异步复制。从Redis 2.8开始,从服务器以每秒一次的频率向主服务器报告复制流(replication stream)的处理进度;Ø复制功能不会阻塞主服务器:即使有一个或者多个从服务器正在进行初次同步,主服务器也可以继续处理命令请求;Ø复制功能也不会阻塞从服务器:只要在redis.conf文件中进行相应的设置,即使从服务器正在进行初次同步,它一样可以使用未同步完成之前的数据集来处理命令查询;Ø从服务器在同步过程中,删...
2020-10-28 10:01:56
30
1
原创 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
17
原创 Redis 热Key问题及解决方案
什么是热key热key问题就是,突然有大量的请求去访问redis上的某个特定key,造成流量过大,达到物理网上限,导致redis服务器宕机引发雪崩。解决方案 提前把热key打散到不同的服务器,降低压力 加入二级缓存,提前加载热key数据到内存中,如果redis宕机,走内存查询 ...
2020-10-27 17:18:45
60
原创 RabbitMQ 如何保证消息顺序消费闭坑指南
什么是消息顺序颠倒?原本顺序发送的消息,因网络抖动或者其他原因造成顺序颠倒场景再现 生产者向消息队列按照顺序发送了 2 条消息,消息1:增加数据 A,消息2:删除数据 A。 期望结果:数据 A 被删除。 但是如果有两个消费者,消费顺序是:消息2、消息 1。则最后结果是增加了数据 A。 解决方案(Queue拆分、多个消费者) 将 Queue 进行拆分,创建多个内存 Queue,消息 1 和 消息 2 进入同一个 Queue。 创建多个消费者,每
2020-10-27 17:00:55
170
原创 RabbitMQ 消息队列之可靠性避坑指南
消息丢失消息丢失会带来什么问题?如果是订单下单、支付结果通知、扣费相关的消息丢失,则可能造成财务损失,如果量很大,就会给甲方带来巨大损失。生产者 ——> Broker ——> 消费者在这个链路上、任何一方出现问题都可能导致消息不可靠生产者存放消息的过程中丢失消息解决方案 事务机制(同步方式) 对于 RabbitMQ 来说,生产者发送数据之前开启 RabbitMQ 的事务机制channel.txselect,如果消息没有进队列,则生产者受到异常报错,并进行回滚..
2020-10-27 16:55:02
26
原创 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
53
原创 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
18
原创 常见Java面试题 —— Java开发工程师
JavaJava基础1、方法、变量的作用域public、protect、protected 以及不写时的区别作用域 当前类 同一包 子类 其他包 public protected friendly private 2、ArrayList和Vector的区别,HashMap和Hashtable的区...
2020-10-23 15:44:21
27
2
原创 MySQL查询优化之优化器工作流程以及优化的执行计划生成
查看查询成本查询上一次SQL的成本,单位页SHOW STATUS LIKE 'Last_query_cost'上述结果表示 MySQL 的优化器认为大概需要 12个数据页的随机查找才能完成上述的查询。优化器做了什么?语法树被认为合法时,优化器会将其转化成执行计划。一条查询可以有很多种执行方式,最后都返回相同结果。优化器的作用就是找到这其中最好的执行计划。MySQL 使用基于成本的优化器,它将尝试预测一个查询使用某种执行计划时的成本,并选择其中成本最小的一个。 可能会导致优
2020-10-23 15:24:08
33
原创 JVM 堆内存&垃圾确认&垃圾回收
Java中垃圾确定的方法是:根可达算法 GC Root 对象:虚拟机栈中引用的对象 方法区中的常量对象 方法区中类静态属性引用的对象 本地方法栈中JNI的引用对象 活跃线程的引用对象 垃圾回收算法: 1、标记清除 (Mark and Sweep) 标记: 从根引用扫描,对存活的对象进行标记 清除: 对堆内存从头到尾进行线性遍历,回收不可达对象内存 缺点: 碎片...
2020-10-18 22:03:03
22
原创 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
15
原创 Feign调用connection refused,Caused by: java.net.ConnectException: Connection refused: connect
feign 调用 connection refused解决问题:请查看被调用的服务 uri 是否正确!!!正确配置后解决问题
2020-10-16 15:42:39
84
原创 Windows下IDEA 高级调试,善用技巧、bug减少(条件调试&回退到上一步)
条件调试设定断点 ——> 鼠标移动到断点处,单击右键更多调试设置 Ctrl + Shift + F8 或者单击More(Ctrl + Shift + F8 )返回上一步
2020-10-10 17:19:33
46
原创 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
26
原创 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-09-29 17:05:51
627
原创 深入理解写时复制技术!CopyOnWrite
写时复制(读写分离的思想):读取时不加锁只是写入和删除时加锁 实现机制(volatile + ReentrantLock)往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完元素之后,再将原容器的引用指向新的容器。提高并发:我们可以对CopyOnWrite容器进行并发的读,而不需要加锁,因为当前容器不会添加任何元素。所以CopyOnWrite容器也是一种读写分离的思想,读和写不同的容器。内存占用:因为Copy..
2020-09-29 16:08:37
85
原创 深入剖析Redis持久化,RDB还是AOF!?
RDB(Redis Persistence Demystified)RDB指的是 ——>在指定的时间间隔内(规则)将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。持久化过程:Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能如果需要进行大规模数据的恢复,且对于数据恢复的完整.
2020-09-25 17:34:00
33
原创 忽略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
152
原创 单一账户操作,追踪操作人(新增数据、更新数据)!
BaseJpaEntity建议加上这两个字段吧,方便追溯记录:@CreatedByString createBy;@LastModifiedByString updateBy;1. 加上这个设置当前用户 、注入到Spring容器@Componentpublic class SpringSecurityAuditorAware implements AuditorAware<String> { @Override public String getCurrentA.
2020-09-24 16:23:05
21
原创 IDEA之maven导航栏显示( view -> tool button 勾上)
右侧咋不显示maven的导航栏呢?需要小小的设置 view -> tool button 勾上
2020-09-23 15:37:29
127
原创 JDK1.8中ConcurrentHashMap源码解析,底层如何保证安全高效的?
在高并发、多线程场景下,HashMap不安全、HashTable效率低,这时需要在保持同步的同时并发效率比较高,那么,ConcurrentHashMap就自信地出场了...看一下源码中对这个类的描述:这个哈希表的主要设计目标是维护并发可读性(通常是get()方法,但也有迭代器和相关方法),同时最小化更新争用。次要目标是保持空间消耗与java.util相同或更好。HashMap,并支持高多个线程对空表的初始插入率。键值信息存在Node节点中,该节点主要信息为hash、key、va...
2020-09-22 17:04:22
93
原创 MySQL读写分离&主从同步理论介绍&时延问题
大部分的互联网公司,一些网站,或者是app,其实都是读多写少。所以针对这个情况,就是写一个主库,但是主库挂多个从库,然后从多个从库来读,那不就可以支撑更高的读并发压力了吗?如何实现读写分离基于主从复制架构,一个主库,挂多个从库,然后我们就单单只是写主库,然后主库会自动把数据给同步到从库上去。主从复制原理主库将变更写binlog日志,然后从库连接到主库之后,从库有一个IO线程,将主库的binlog日志拷贝到自己本地,写入一个中继日志中。接着从库中有一个SQL线程会从中继日志读取binlo
2020-09-21 14:49:33
27
原创 MySQL的体系架构&InnoDB&数据库优化
一览MySQL的体系架构引自《MySQL技术内幕InnoDB存储引擎》p4由体系机构图来看,MySQL主要由以下几部分组成: 连接池组件 (管理连接,权限校验等) 管理服务和工具组件 SQL接口组件 查询分析器组件 (语法树分析) 优化器组件 缓冲组件 (存储访问时的缓存表和索引数据。在专用服务器上,通常会为缓冲池分配50% - 75%的物理内存) 插件式存储引擎 (区别于其他数据库的重要特点之一) 物理文件 注意:
2020-09-21 14:10:18
59
2
原创 揭开JVM垃圾回收的神秘面纱?JVM到底用的什么算法去发现垃圾的?附代码及GC日志 堆内存大小设置,垃圾对象会被回收几次?
/** * @Author: Be.insighted * Description: * @date Create on 2020/9/18 15:08 **/public class TestGC { public Object instance; private static final int _1MB = 1024*1024; private byte[] bigsize = new byte[2*_1MB]; public static void te.
2020-09-18 16:00:17
36
1
原创 记一次电话面试,谈谈面试中的那些奇葩问题!
HS公司,202009121700~202009121750老生常谈的问题,首先是自我介绍主要说了下再当前公司用什么语言什么框架做了什么!1、你们公司用的是微服务架构,你能说说微服务架构与SOA架构相比,有什么优缺点?SOA(面向服务的架构):是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交
2020-09-13 13:30:40
127
原创 Redis (缓存)主流应用架构 & Redis实现分布式锁
Redis (缓存)主流应用架构Redis为什么能这么快?阻塞IO模型IO多路复用模型Redis的一些底层数据结构实现分布式锁方法二、解决1可能持有锁成功,然后设过期时间出现问题的情况!...
2020-09-10 16:13:15
43
原创 Redis中如何从海量Key里查询出某一固定前缀的Key?
批量生成redis测试数据1.Linux Bash下面执行for((i=1;i<=20000000;i++)); do echo "set k$i v$i" >>/tmp/redisTest生成2千万条redis批量设置kv的语句(key=kn, value=vn)写入到/tmp目录下的redisT&2.用vim去掉行尾的M符号,使用方式如下::vim /tmp/redisTest.txt:set fileformat=dos#设置文件的格式,通过这句话去掉每行结尾的^
2020-09-10 14:17:13
142
原创 IDEA使用maven打包时报 MojoExecutionException 或者项目程序包不存在和找不到符号 使用命令: mvn idea:idea 解决问题
IDEA使用maven打包时报 MojoExecutionException 或者项目程序包不存在和找不到符号 使用命令: mvn idea:idea 解决问题
2020-09-10 09:26:21
182
原创 浅析AQS原理
来,一览多线程抢占式获取state过程AbstractQueuedSynchronizer基于ReentrantLock实现!* <p>To enqueue into a CLH lock, you atomically splice it in as new* tail. To dequeue, you just set the head field.* <pre>* +------+ prev +-----+ +-----+* h
2020-09-09 18:46:49
29
原创 MySQL存储引擎之InnoDB小结
一览 InnoDB 结构InnoDB简介InnoDB是一个平衡了高可用和高性能的通用存储引擎。完整支撑ACID事务的MySQL存储引擎。具有行锁设计、支持MVCC、外键、提供一致性非锁定读,同时被设计用来最有效地利用以及使用内存和CPU。并发操作更新或插入秒800!...
2020-09-09 11:54:52
44
原创 窥见MySQL体系结构 & 如何设计一个关系数据库?
一览MySQL的体系架构引自《MySQL技术内幕InnoDB存储殷勤》p4由体系机构图来看,MySQL主要由以下几部分组成:连接池组件 (管理连接,权限校验等) 管理服务和工具组件 SQL接口组件 查询分析器组件 (语法树分析) 优化器组件 缓冲组件 (存储访问时的缓存表和索引数据。在专用服务器上,通常会为缓冲池分配50% - 75%的物理内存) 插件式存储引擎 (区别于其他数据库的重要特点之一) 物理文件注意: 存储引擎基于表而非数据库!存储引擎的底层物理结构的实现!
2020-09-09 11:42:35
31
ESP8266开发视频教程(完整篇)
2018-08-07
笔记本ThinkPad E550重装系统、UEFI设置、BIOS升级和设置、无损分区等解决方案
2018-10-24
实时碰撞检测算法技术
2017-03-12
《计算机程序设计艺术》全三卷中文版PDF
2017-07-16
redis、activemq、juc、jvm、gc等知识点的脑图.rar
2020-05-04
SPH光滑粒子流体动力学中英文都有
2017-09-28
mysql-5.5.57-win32
2017-09-28
JDK SE8 Java语言规范与虚拟机规范 官方文档
2020-10-14
message-push-service.rar
2020-08-26
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
Linux的一些学习资料送给大家
2019-07-03
运维+架构+神经网络+性能+项目管理
2019-04-18
Java8 Spring实战 JavaEE
2019-03-01
mysql-5.6.14+mysql-5.6.17-winx64_免安装+SQLyog_Enterprise
2019-01-29
SQLSserver2008 下 教程
2018-12-29
SQLSserver2008 中
2018-12-29
SQLSserver2008 上
2018-12-29
DEVC++学习C++,新建项目不能编译!新手求帮助,情况如下图
发表于 2015-10-31 最后回复 2015-11-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝