自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java之锁(持续更新)

synchronize和reentantlock

2022-09-26 17:13:59 326

原创 多线程技术(持续更新)

前言:由于java最核心最具优势的技术为多线程技术,本文内容尽量更新详细,但也不会附上无用知识点。创建线程的四种方式1)继承Thread类创建线程2)实现Runnable接口创建线程3)使用Callable和Future创建线程4)使用线程池例如用Executor框架Callable和Future在Java中,创建线程一般有两种方式,一种是继承Thread类,一种是实现Runnable接口。然而,这两种方式的缺点是在线程任务执行结束后,无法获取执行结果。我们一般只能采用共享变量或共享存储区以

2021-09-09 15:53:37 380

原创 【开发】stream流api

JDK8新特性//集合根据某一个属性进行去重 ArrayList<Person> ll = collect.stream().collect( Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Person::getAge))), ArrayList::new));...

2021-07-29 20:21:44 244

原创 websokct介绍以及实现

websokcet

2023-01-11 11:06:42 825 4

原创 【肝货】Redis相关操作以及原理

Redis相关操作以及原理持久化操作持久化原理主从集群操作主从同步原理哨兵集群操作原理持久化操作RDB(Redis数据备份文件):命令:save(主进程执行RDB,阻塞所有命令)、bgsave(子进程执行命令,避免主进程受影响)redis.conf文件配置:save 900 1(900秒内一个key被修改就执行bgsave)、rdbcompression yes(是否压缩rdb文件)、dbfilename dump.rdb(命名RDB文件)、dir ./(文件保存目录)AOF(追加文件)

2022-02-23 22:32:51 477

原创 【原创】命令统计记录

直接进入管理员命令:(ctrl+Alt键+F1-7中的一个)/usr/bin/sudo -i便获得root权限Linux权限不够:sudo su输入密码就行了useradd 用户名 (添加用户)passwd 用户名 (设置密码)userdel 用户名 (删除用户)pwd (显示当前目录的绝对路径)ls (查看文件 -a -l)cd (~回到根目录 ..回到上一个目录)mkdir指令用于创建目录mkdir [选项] 要创建的目录 -p创建多级目

2022-01-07 16:08:38 712

原创 【肝货】NIO缓冲流(持续更新)

NIO缓冲流https://blog.csdn.net/w789g4/article/details/107313282

2021-11-24 16:55:18 712

原创 【基础】正向与反向代理

Nginx1.跨域2.下载本地文件3.反向代理(将控制权交给后端,实现负载均衡。–轮询,权重,随机)正向与反向代理正向代理:代理访问客户端无法访问的资源(客户端正向,对于客户端透明)正向代理的用途:  (1)访问原来无法访问的资源(2) 可以做缓存,加速访问资源  (3)对客户端访问授权,上网进行认证  (4)代理可以记录用户访问记录反向代理:将控制权交给后端(客户端反向,对于服务端透明)反向代理的作用:(1)保证内网的安全,阻止web攻击,大型网站,通常将反向代理作为公网访问

2021-09-01 21:21:36 100

原创 Spring的生命周期(持续更新)

spring生命周期解析篇Spring Bean的完整生命周期从创建Spring容器开始,直到最终Spring容器销毁Bean各种接口方法分类Bean的完整生命周期经历了各种方法调用,这些方法可以划分为以下几类:1、Bean自身的方法  :  这个包括了Bean本身调用的方法和通过配置文件中的init-method和destroy-method指定的方法2、Bean级生命周期接口方法  :  这个包括了BeanNameAware、BeanFactoryAware、InitializingBea

2021-08-30 21:54:13 6469

原创 【干货】rabbitMq以及AMQP协议(持续更新)

rabbitMq解耦、削峰、异步步骤:消费者订阅消息,生产者创建消息,最后将消息发送给消费者进行消费rabbitmq是一个基于amqb模型的消息队列AMQP协议:AMQP是一个消息队列的协议交换机根据路由规则将收到的消息分发给与该交换机绑定的队列AMQP 模块包含了一个消息确认(Message Acknowledgements)机制:当一个消息从队列中投递给消费者后,不会立即从队列中删除,直到它收到来自消费者的确认回执(Acknowledgement)后,才完全从队列中删除。(例如当一个消息

2021-08-30 14:55:12 537

转载 【转载】mycat实现分库分表

转载:奥特曼的博客1下载mycat 1.6正式版的(Windows版本)https://pan.baidu.com/s/1AI_5sZQCAj0i4fGCC7x6tg提取码:a1zk解压后如下图所示:2. 新建2个庫,庫名分别为heatingwork1,heatingwork2,2个庫新建相同的表。SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for sys_user-- ----

2021-08-24 10:41:30 215

原创 【干货】分布式事务(持续更新)

分布式事务分布式事务实现分布式事务分布式事务当多个服务互相调用,其中一个服务处理失败,另一个服务就没办法回滚。(服务之间相互独立)单机的事务无法解决这个问题。产生了分布式事务。实现分布式事务最具有代表性的是由Oracle Tuxedo系统提出的XA分布式事务协议。(XA就是事务协调者和事务参与者)★★XA两阶段提交协议★★(第一次提交:反馈成功或者失败的消息)提交的第一阶段:XA的第一阶段,如果某个事务参与者反馈失败消息,说明该节点的本地事务执行不成功,必须回滚。(第二次提交:失败通知回滚

2021-08-23 21:03:04 192 1

原创 【开发】实现一个简单的切面编程(Aspect)

面向切面编程面向切面概念代码部分面向切面概念什么是切面?切面就是把多个类的公共行为封装起来。(比如日志记录,拦截方法,过滤等操作)反过来理解就是多个类都需要这个操作,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。代码部分1.首先创建一个切面接口@Target({ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface APIAESEncryption {

2021-08-17 11:07:20 2782

原创 【干货】Java内存模型(JMM)(文本持续更新)

java内存模型知识梳理JMM前言JMM结构volatile关键字JMM前言java内存模型,和并发编程有关(JMM—Java Memory Model)是一组规范,需要各个jvm的实现来遵守jmm规范。JMM结构jmm包含五部分:共有的:堆,方法区(static修饰对象)私有的:栈,本地方法栈(native修饰),程序计数器Java线程内存模型跟cpu的缓存模型类似,是基于cpu缓存模型来建立的。所以结构组成:主内存—>多级缓存区—>工作内存JMM必须要保证可见性、原子性、

2021-08-14 22:26:24 240 1

原创 【干货】HashMap解析篇

HashMap知识点易懂梳理map底层解析map常用apimap常用遍历方式map底层解析底层:数组+链表+红黑树的结构①底层结构:HashMap的主干是一个Entry数组(即map是个数组)。Entry是HashMap的基本组成单元,每一个Entry包含一个key-value键值对。②产生链表:当一个Entry数组有两个或者以上的的数,就会产生链表。当链表数量达到阀值(8)时,则链表转换为红黑树。③操作时:每一个Entry数组的位置,都是通过map的key的哈希算法产生的。所以put时,会根据.

2021-08-14 16:58:44 266 2

原创 选择排序与冒泡排序

选择排序与冒泡排序选择排序:将最大或最小的值放在第一个位置冒泡排序:将最大或最小的值,慢慢通过比较平移到最后一个位置代步部分

2021-08-05 21:33:24 88

原创 同步异步与阻塞非阻塞

同步异步与阻塞非阻塞同步异步注重的是是否等待。阻塞非阻塞强调的是等待时的状态。

2021-08-05 21:21:46 88

原创 输入流、输出流获取项目相对路径、绝对路径

输入流、输出流获取项目相对路径、绝对路径//输入流 获取绝对路径(相对路径)InputStream ins = this.getClass().getClassLoader().getResourceAsStream("static/template/" + docName);//输出流 获取绝对路径FileOutputStream out = new FileOutputStream(Thread.currentThread().getContextClassLoader()

2021-07-29 20:06:43 1602

原创 【开发】Word文件导出

这里写自定义大神目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用M

2021-07-26 17:29:23 403

使用nio导出千万大数据

使用nio导出千万大数据

2023-06-07

nio的excel导出

nio的excel导出

2023-06-07

空空如也

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

TA关注的人

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