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

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

原创 【开发】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
269
原创 【肝货】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
686
原创 【原创】命令统计记录
直接进入管理员命令:(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
765
原创 【肝货】NIO缓冲流(持续更新)
NIO缓冲流https://blog.youkuaiyun.com/w789g4/article/details/107313282
2021-11-24 16:55:18
770
原创 【基础】正向与反向代理
Nginx1.跨域2.下载本地文件3.反向代理(将控制权交给后端,实现负载均衡。–轮询,权重,随机)正向与反向代理正向代理:代理访问客户端无法访问的资源(客户端正向,对于客户端透明)正向代理的用途: (1)访问原来无法访问的资源(2) 可以做缓存,加速访问资源 (3)对客户端访问授权,上网进行认证 (4)代理可以记录用户访问记录反向代理:将控制权交给后端(客户端反向,对于服务端透明)反向代理的作用:(1)保证内网的安全,阻止web攻击,大型网站,通常将反向代理作为公网访问
2021-09-01 21:21:36
128
原创 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
6751
原创 【干货】rabbitMq以及AMQP协议(持续更新)
rabbitMq解耦、削峰、异步步骤:消费者订阅消息,生产者创建消息,最后将消息发送给消费者进行消费rabbitmq是一个基于amqb模型的消息队列AMQP协议:AMQP是一个消息队列的协议交换机根据路由规则将收到的消息分发给与该交换机绑定的队列AMQP 模块包含了一个消息确认(Message Acknowledgements)机制:当一个消息从队列中投递给消费者后,不会立即从队列中删除,直到它收到来自消费者的确认回执(Acknowledgement)后,才完全从队列中删除。(例如当一个消息
2021-08-30 14:55:12
614
转载 【转载】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
263
原创 【干货】分布式事务(持续更新)
分布式事务分布式事务实现分布式事务分布式事务当多个服务互相调用,其中一个服务处理失败,另一个服务就没办法回滚。(服务之间相互独立)单机的事务无法解决这个问题。产生了分布式事务。实现分布式事务最具有代表性的是由Oracle Tuxedo系统提出的XA分布式事务协议。(XA就是事务协调者和事务参与者)★★XA两阶段提交协议★★(第一次提交:反馈成功或者失败的消息)提交的第一阶段:XA的第一阶段,如果某个事务参与者反馈失败消息,说明该节点的本地事务执行不成功,必须回滚。(第二次提交:失败通知回滚
2021-08-23 21:03:04
320
1
原创 【开发】实现一个简单的切面编程(Aspect)
面向切面编程面向切面概念代码部分面向切面概念什么是切面?切面就是把多个类的公共行为封装起来。(比如日志记录,拦截方法,过滤等操作)反过来理解就是多个类都需要这个操作,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。代码部分1.首先创建一个切面接口@Target({ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface APIAESEncryption {
2021-08-17 11:07:20
3010
原创 【干货】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
360
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
437
2
原创 输入流、输出流获取项目相对路径、绝对路径
输入流、输出流获取项目相对路径、绝对路径//输入流 获取绝对路径(相对路径)InputStream ins = this.getClass().getClassLoader().getResourceAsStream("static/template/" + docName);//输出流 获取绝对路径FileOutputStream out = new FileOutputStream(Thread.currentThread().getContextClassLoader()
2021-07-29 20:06:43
1788
原创 【开发】Word文件导出
这里写自定义大神目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用M
2021-07-26 17:29:23
489
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人