java
文章平均质量分 85
小小_飞侠
与时间为友,保持恒心不断学习
展开
-
java中NIO介绍及使用
NIO(New lO)也有人称之为java non-blocking lO是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java lO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。NIO可以理解为非阻塞IO。转载 2023-07-24 16:02:05 · 441 阅读 · 0 评论 -
Netty中PileLine类介绍
Netty中的核心类:PileLine原创 2023-06-15 18:05:44 · 582 阅读 · 0 评论 -
Netty中NioEventLoop介绍
Netty中的核心类之一的:NioEventLoop类原创 2023-06-01 14:33:27 · 1012 阅读 · 2 评论 -
Netty中NioEventLoopGroup介绍
Netty中的核心类之一的:NioEventLoopGroup原创 2023-05-14 16:18:16 · 1796 阅读 · 0 评论 -
JAVA Future类详解及Thread线程是如何运行Future类的
Future(java.util.concurrent Interface Future)表示异步计算的结果。Future接口提供了检查计算是否完成、检查计算是否被取消、等待计算完成并获取计算结果等方法。在并发编程中,我们经常用到非阻塞的模型,但继承thread类和实现runnable接口,都无法保证获取到之前的执行结果。而通过实现Callback接口,并用Future可以来接收多线程的执行结果。原创 2023-04-25 22:28:56 · 2240 阅读 · 0 评论 -
Java 阻塞队列--BlockingQueue
在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。转载 2022-03-09 16:54:24 · 904 阅读 · 0 评论 -
Window下配置开启seata服务
前置准备确保系统nacos服务已开启原创 2021-06-17 17:49:10 · 2886 阅读 · 2 评论 -
Java命令行启动设置JVM参数
使用Java命令启动应用的时候适当的配置你的参数能有效提高系统的性能。Xms:是指程序启动时初始内存大小(此值可以设置成与-Xmx相同,以避免每次GC完成后 JVM 内存重新分配)。 Xmx:指程序运行时最大可用内存大小,程序运行中内存大于这个值会 OutOfMemory。 Xmn:年轻代大小(整个JVM内存大小 = 年轻代 + 年老代 + 永久代)。 XX:NewRatio:年轻代与年老代的大小比例,-XX:NewRatio=3 设置为3,则年轻代与年老代所占比值为1:3。 XX:Surviv原创 2021-05-26 17:56:45 · 3298 阅读 · 0 评论 -
消息队列简介
消息队列(MQ)简介消息队列的模型是【生产发送--消息队列存储--消费者消费】,通过指定的topic可以对发送和消费消息,出于安全考虑,也可以在消费和生产消息的时候添加权限认证。以下是消息队列的模型消息队列的使用场景常见的消息队列常见消息队列的对比...原创 2021-05-08 16:22:23 · 428 阅读 · 0 评论 -
mybatis知识点
mybatis框架及知识点原创 2021-04-13 18:36:15 · 112 阅读 · 0 评论 -
Spring Boot实现自定义注解
注解的原理及Spring boot实现自定义注解的方法,付含demo原创 2021-04-07 18:33:50 · 442 阅读 · 2 评论 -
Spring Ioc原理及解析
Spring Ioc容器详解原创 2021-04-06 17:58:43 · 1177 阅读 · 0 评论 -
Java类加载器及双亲委派机制
Java类加载器及双亲委派机制原创 2021-04-06 10:37:44 · 144 阅读 · 2 评论 -
Java的反射机制
Java的反射机制原创 2021-04-02 18:19:44 · 89 阅读 · 0 评论 -
Java线程池介绍及使用(附含demo)
线程在计算机中是宝贵的资源,所以每次独立开辟线程是很耗资源的,于是就有了线程池的概念,线程池可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。原创 2021-04-01 16:43:13 · 367 阅读 · 0 评论 -
Java多线程的一些新特性
在Java5之后,除了我们之前介绍的多线程常用的方法以外,Java之后的版本陆陆续续提供了很多新特新,本文将为各位小伙伴介绍一下Java多线程的一些新特性原创 2021-03-31 17:43:43 · 174 阅读 · 0 评论 -
Java 多线程同步与锁的问题(详细介绍)
Java多线程基础知识关于Java多线程的基础可以参考:https://blog.csdn.net/m0_37798046/article/details/115294166线程同步线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。场景:我们有一个钱包,里面有账户余额,这个钱包有存钱和取钱的操作,当钱包被两个线程同时操作时,一个取100块,一个存钱100块。假设账户原本有0块,如果取钱线程和存钱线程同时发生,会出现什么结果呢?新建钱包类public class原创 2021-03-30 17:13:00 · 426 阅读 · 0 评论 -
Java 多线程基础实践(含demo)
Java多线程运行机制线程的生命周期及运行过程中的各个状态新建状态(New): 线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。 就绪状态(Runnable): 也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法,从而来启动该线程。例如,thread.start()。处于就绪状态的线程,随时可能被CPU调度执行。 运行状态(Running): 线程获取CPU权限进行执行。run方法运行。需要注意的是,线程只能从就原创 2021-03-29 15:43:47 · 369 阅读 · 0 评论 -
多线程之进程与线程
任务调度线程是什么?要理解这个概念,须要先了解一下操作系统的一些相关概念。大部分操作系统(如Windows、Linux)的任务调度是采用时间片轮转的抢占式调度方式,也就是说一个任务执行一小段时间后强制暂停去执行下一个任务,每个任务轮流执行。任务执行的一小段时间叫做时间片,任务正在执行时的状态叫运行状态,任务执行一段时间后强制暂停去执行下一个任务,被暂停的任务就处于就绪状态等待下一个属于它的时间片的到来。这样每个任务都能得到执行,由于CPU的执行效率非常高,时间片非常短,在各个任务之间快速地切换,给人的感转载 2021-03-26 16:40:20 · 143 阅读 · 0 评论 -
Spring AOP中expression表达式解析
概述AOP编程有一个重要的概念是定义切点,也就是@Pointcut,里面的expression是我们在设置切入点时经常需要用到的表达式,在这里这里一些常用的表达式方便大家理解,下面直接上内容。举例说明任意公共方法的执行:execution(public * *(..))任何一个以“set”开始的方法的执行:execution(* set*(..))AccountService 接口的任意方法的执行:execution(* com.xyz.service.AccountService.原创 2021-03-25 16:28:59 · 1112 阅读 · 0 评论 -
Spring Boot AOP基本原理及实践(附带Demo)
AOP简介在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。AOP面向切面的编程是对面向对象编程的一种补充。Java提供了封装,继承,多态等概念,实现原创 2021-03-25 16:01:23 · 495 阅读 · 0 评论 -
Java动态代理的两种实现方法
代理模式和动态代理模式代理模式代理模式是23种设计模式的一种,他是指一个对象A通过持有另一个对象B,可以具有B同样的行为的模式。它的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类和委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不是真正实现服务,而是通过调用委托类对象的相关的方法来提供特定的服务。代理模式符合开闭原则,降低了系统的耦合度。动态代理根据程序运行前代理类是否已经存原创 2021-03-25 08:59:33 · 150 阅读 · 0 评论 -
Java 进阶必须了解的知识
加强基本功1、对于面相对象的设计方式又更深入的理解 在这里我相信大部分小伙伴还是在面向过程编程,忽略了面向对象,虽然都可以解决问题,但对于大型系统的构建的时候面向对象可以提高系统的扩展性、可读性,且相对面向过程编程逻辑更加清晰。2、了解java设计的六大原则依赖倒置原则-Dependency Inversion Principle (DIP) 里氏替换原则-Liskov Substitution Principle (LSP) 接口分隔原则-Interface Segre...原创 2021-03-19 11:01:19 · 167 阅读 · 3 评论