- 博客(99)
- 收藏
- 关注
原创 2.行为参数的演变过程
**行为参数**化是软件开发模式,可以处理频繁变更的需求。它让你把一个代码块准备好但不执行,以后可以被其他部分调用,也可以作为参数传递给另一个方法,推迟执行。这样,方法的行为就基于参数化的代码块。
2024-05-23 10:25:38 605
原创 为什么要学习Java8?
Java 8提供了一个新的API(称为“流”,Stream),它支持许多处理数据的并行操作,其思路和在数据库查询语言中的思路类似——用更高级的方式表达想要的东西,而由“实现”(在这里是Streams库)来选择最佳低级执行机制。
2024-05-17 10:47:59 502
原创 PowerShell能开发解决的问题
PowerShell能开发解决的问题:1、PowerShell 可以直接替掉Xshell等连接linux的的客户端,连接服务器。2、简化git命令。3、缩短服务器 操作的步骤。4.简化工作流程
2024-05-14 15:55:30 402
原创 什么是 PowerShell
PowerShell 是一种跨平台的任务自动化解决方案,由命令行 shell、脚本语言和配置管理框架组成。 PowerShell 在 Windows、Linux 和 macOS 上运行。
2024-05-14 15:52:47 356
原创 Bandizip压缩工具介绍
一台电脑必备的软件就是压缩软件,Bandizip 是我认为比较好用的一款压缩软件,也可以结合PowerShell ,用命令批量操作文件。
2024-05-14 15:50:30 1097
原创 Java日期比较的方法有三类
Java日期比较的方法有三类;1.字符串日期的比较2.Java8中的LocalDate做日期比较3.Java 中Date做日期比较
2024-05-10 11:49:12 1848
原创 无法加载文件Microsoft.PowerShell_profile.ps1...因为在此系统上禁止运行脚本
我知道只要不是Undefined和RemoteSigned 的是不行的,我的当时 CurrentUser项对应的执行策略为Restricted ,需要改为 RemoteSigned。 按 wind (四个小方块)键盘,搜索PowerShell,点击左侧的Windows PowerShell,点击以管理员身份运行。输入A即可,此时我们再查看执行策略列表,可查看到CurrentUser对应的策略已被修改为RemoteSigned。此问题是在工作时虚拟桌面上遇见的,一般自己的电脑时很少遇见的。
2024-01-11 09:11:13 1193
原创 oracle排序问题
在工作中遇到一个排序的问题,很简单的用了排序函数,但是在功能上线了几天,发现排序不对,发现一个数字字符串的排序会引发这么多的问题,欢迎一起探讨。
2023-07-12 10:44:50 1340
原创 linux常见符号、操作和命令解释
linux 常用命令、操作解释,让我们更好的操作linux系统,这篇文章可以满足日常java开发对服务的操作。
2023-05-26 15:50:07 8598
原创 1、Kafka基本概念及专业术语介绍
Kafka也是一种消息队列,主要用于金融行业和大数据场景,这篇文章给大家介绍下kafka的由来和kafka的专业术语,让大家对kafka有一个整体的认识。
2022-12-09 10:15:50 573
原创 5.RabbitMQ高级特性
这篇文章主要针对RabbitMQ高级特性进行讲解,在使用中怎么确保消息可靠性投递,消费端限流,TTL,什么是死信队列,死信队列怎么当做延迟队列使用,消费消息需要遵守的幂等性及消息加压的情况及简单的处理方式。
2022-12-01 10:30:34 742
原创 4.RabbitMQ 消息确认机制
- RabbitMQ在传递消息的过程中充当了代理人(Broker)的角色,那生产者(Producer)怎样知道消息被正确投递到 Broker了呢?- RabbitMQ提供了监听器(Listener)来接收消息投递的状态。 消息确认涉及两种状态:Confirm与Return。
2022-11-29 22:09:07 892
原创 3.RabbitMQ工作模式介绍
Rab5bitMQ的5种工作模式介绍;1. 简单模式 HelloWorld;2. 工作队列模式 Work Queue; 3. 发布订阅模式 Publish/subscribe;4. 路由模式 Routing;5.通配符模式 Topic
2022-11-29 18:15:58 619
原创 1.1MQ的基本概念,优劣势介绍及 RabbitMQ简介
MQ概念介绍,MQ的应用解耦,异步提速,削峰填谷优势介绍及劣势介绍。MQ主流产品对比,RabbitMQ产品简介。
2022-11-27 15:45:03 1034
原创 1.2 Zookeeper 的 ACL 权限控制、内存数据和持久化介绍
1.2 Zookeeper 的 的 ACL 权限控制、内存数据和持久化介绍,对这些概念有基本的认识,为后面学号Zookeeper 打好基础
2022-11-27 10:56:17 516
原创 1.Zookeeper是什么和Zookeeper的核心概念
Zookeeper是一个分布式协调框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。Zookeeper 是一个用于存储少量数据的基于内存的数据库,主要有两个核心概念:文件系统数据结构+监听通知机制。
2022-11-26 14:52:59 191
原创 5.1 Spring源码-读取不完整Bean的解决原理
循环依赖中,二级缓存解决循环依赖的问题,但是并发的时候会存在不完整对象,Spring是怎么解决的呢?可以看下此篇文章,里面有答案。
2022-11-14 15:46:18 751
原创 5.SpringIOC源码-Bean循环依赖讲解
**getBean的整个过程:**1)getgetSingleton 从缓存中获取对象; - 从一级缓存中获取完整对象; - 若一级对象中没有并且是循环依赖,从二级缓存获取; - 若二级缓存没有并且是循环依赖,从三级缓存获取; - 若三级缓存不为空,从三级缓存中的函数接口中获取对象,并放入二级缓存,删除三级缓存。2)对象实例化;3)对象放入三级缓存4)对象属性赋值5)对象初始化后放入一级缓存,并删除二级缓存。
2022-11-13 12:45:50 464
原创 3.Spring源码编译
为了更好的掌握Spring的核心功能,最好是下载源码编译后查看代码,这样可更方便的学习代码,理解Spring的核心功能。
2022-11-07 11:29:29 386
原创 6.2Redis键值设计&bigkey的产生和危害和优化&连接池的优化建议&过期清理策略详解
Redis的键值设计规范,bigkey产生原因及危害和优化方案,redis命令使用推荐,redis连接池参数配置详解及推荐,redis的键的清理策略详解。
2022-11-07 10:15:20 233
原创 6.1多级缓存架构详解&Redis缓存穿透&Redis缓存失败&Redis缓存雪崩&Redis缓存与数据库不一致问题解决
多级缓存架构详解&Redis缓存穿透&Redis缓存失败&Redis缓存雪崩&Redis缓存与数据库不一致问题产生原因及解决方案。
2022-11-07 10:05:24 314
原创 2.Spring源码IOC脉络
Spring,提起它我们就会想到IOC 控制反转,AOP切面和声明式事务等,这三个是最常见也是我们最常用的。IOC 控制反转是一种设计理念,用来解决类和类之间的耦合问题,使用DI实现,将对象的创建交给Spring容器,通过类,xm配置文件,注解 注入到IOC 容器中。
2022-11-01 20:48:09 472
原创 1.0 Spring体系架构介绍(基于4.x)
架构体系图如下: 该模块主要包含Core、Beans,Context和SpEL模块。其中Core和Beans是整个框架最基础的部分,提供IOC和依赖注入特性。这里最重要的概念就是BeanFactory,提供了以Factor模式来消除Bean之间的依赖问题。 提供符合AOP Alliance标准的而向切面编程的实现,可以让你定义如方法拦截器和切点,从而降低程序之间的据合性。该模块且有来自Spring Intearation项目的关键抽象,如Message,MessageChannel,MessaceH
2022-10-31 15:05:11 370
原创 12.并发之ForkJoin框架详解
FoekJoinPool 与内部类 WorkQueue 共享的一些常量FoekJoinPool 中相关常量和实例字段AC: 正在运行工作线程数减去目标并行度,高16位TC:总工作线程数减去目标并行度,中高16位SS: 栈顶等待线程的版本计数和状态,中低16位ID:栈顶WorkQueue在池中的索引(poollndex),低16位。
2022-10-29 13:30:33 1603
原创 11.定时任务&定时线程池详解
当我们不用任务框架时,我们想自己写一个定时任务时,我们能想起那个工具类呢?Timer ?还有吗?不知道了,下面我们要讲下ScheduledThreadPoolExecutor,定时任务线程池,可以执行一次任务,还可以执行周期性任务。
2022-10-27 13:07:11 7088
原创 10.并发编程之Executor线程池原理
线程池”,顾名思义就是一个线程缓存,线程是稀缺资源,如果被无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,因此 Java 中提供线程池对线程进行统一分配、调优和监控 。这里大致介绍线程池的大致执行过程及参数的讲解。
2022-10-25 16:40:03 441
原创 9.2 ArrayList&CopyOnWriteArrayList详解
ArrayList是Java集合框架中的一个重要的类,它继承于AbstractList,实现了List接口,是一个长度可变的集合,提供了增删改查的功能,允许null的存在。ArrayList类还是实现了RandomAccess接口,可以对元素进行快速访问。实现了Serializable接口,说明ArrayList可以被序列化 。ArrayList线程不安全,线程安全的版本是CopyOnWriteArrayList。
2022-10-23 11:33:43 727
原创 9.1 Hashtable与ConcurrentHashMap详解
Hashtable 和HashMap用法是和底层的结构都是数组+链表+红黑树,都是key-value键值对数据的存储,最大的区别就是HashMap线程不安全,Hashtable 线程安全。HashMap当什么时候会发生线程不安全呢?当两个线程同时新增在数组上同一位置的数据时(同一链表数据),两线程同时操作数据可能被冲掉。
2022-10-22 21:32:51 651
原创 9.0 HashMap底层原理及部分源码分析
HashMap 在JDK1.7版本时底层数据结构是数组+链表,但是1.7时HashMap的并发扩容会导致死循环;JDK1.8时底层的数据结构变成数组+链表+红黑树,修改了并发扩容逻辑,并且提升了HashMap的性能。
2022-10-20 19:14:49 370
原创 8.并发编程之Automic&Unsafe魔法类详解
并发编程的三大 特性:可见性、有序性、原子性,可见性和有序性用volatile、synchronized、Lock可以保证,但是原子性只有synchronized、Lock可以保证,并且在同一时刻只能有一个线程访问来保证原子性的性能低,有更高效的办法来保证原子性吗?当然了,那就是Automic包下有很多可以保证原子性的原子操作。在java中可以通过**锁**和**循环CAS**的方式来实现原子操作。在Atomic包里一共有12个类,四种原子更新方式,分别是原子更新基本类型,原子更新数组,原子更新引用和原子
2022-10-19 19:18:26 689
原创 7.CountDownLatch&Semaphore的应用
BlockingQueue、Semaphore 和CountDownLatch 线程之间通信的桥梁和工具 。Semaphore可以应用到服务调用之间的限流;CountDownLatch和CyclicBarrier区别如下:CountDownLatch是以减数的方式而CyclicBarrier是以加数的方式;CountDownLatch强调的是一个等待其他多个线程而CyclicBarrier是一组线程相互等待;CountDownLatch不可重复利用而CyclicBarrier可重复利用。
2022-10-18 21:22:58 491
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人