Java进阶
文章平均质量分 94
JIANG++
这个作者很懒,什么都没留下…
展开
-
IO概述
通常在进行同步 I/O 操作时,如果读取数据,代码会阻塞直至有可供读取的数据。同样,写入调用将会阻塞直至数据能够写入。传统的 Server/Client 模式服务器会为每个客户端请求建立一个线程,由该线程单独负责处理一个客户请求。这种模式带来的一个问题就是线程数量的剧增,大量的线程会增大服务器的开销。原创 2023-08-05 11:32:15 · 79 阅读 · 0 评论 -
微服务架构
通俗的讲, 负载均衡就是将负载(工作任务,访问请求)进行分摊到多个操作单元(服务器,组件)上进行执行。七种负载均衡策略RoundRobinRule,按照一定的顺序依次调用服务实例。比如一共有 3 个服务,第一次调用服务 1,第二次调用服务 2,第三次调用服务 3,依次类推。WeightedResponseTimeRule,根据每个服务提供者的响应时间分配一个权重,响应时间越长,权重越小,被选中的可能性也就越低。原创 2023-08-05 10:43:14 · 80 阅读 · 1 评论 -
Spring进阶
spring是一个轻量级的(核心包),非侵入式的一站式(数据持久层,web层,核心,aop)的框架,为了简化企业级开发。核心IOC,AOPIOC:控制反转 把创建对象交给spring框架管理(创建对象与使用对象分离),管理对象的生命周期DI:依赖注入 创建对象后,把对象属性赋值,将关联的对象注入。AOP:面向切面编程(是对=面向对象编程的补充,不是Spring特有),通过一个代理对象,在不修改原来代码的情况下,对目标类进行功能的增强。使得类与类之间的耦合度降低了,简化了开发步骤。原创 2023-07-31 15:46:42 · 44 阅读 · 1 评论 -
Java进阶
jdk代理:要求目标类,必须实现一个接口,在运行时,使用反射,动态获取接口信息,调用某个方法,获取到你要调用的方法,最终执行invoke()方法,将生成的代理对象,调用的方法参数等信息传递过来。这样就实现了代理对象,可以代理任何一个目标类,但是要求所代理的目标类,必须实现一个接口。抽象工厂角色,抽象工厂(生成同一品牌,所有系列的产品),具体工厂(一个品牌对应一个具体的工厂),抽象产品,具体产品。 一个代理类,只能代理一个接口下的实现类,如果要代理多个接口的实现类,必须重新修改代理类。原创 2023-07-28 14:30:38 · 51 阅读 · 1 评论 -
Java之并发编程
并行:在同一个时间节点上,同时发生(是真正意义上的同时执行)并发:在一段时间内,对某个事情交替执行并发编程:在例如抢票,抢购,秒杀等等场景下,有大量的请求访问同一个资源。会出现线程安全的问题,所以需要通过编程来控制解决让多个线程依次访问资源,称为并发编程。抽象同步队列是JUC其它锁实现的基础。思路: 在类中维护一个state变量,然后还维护一个队列,以及获取锁,释放锁的方法。 当线程创建后,先判断state的值,如果为0,没有线程使用,state = 1,执行完成后,再将state = 0。原创 2023-07-24 17:54:04 · 1028 阅读 · 0 评论 -
浅谈JVM
基础部分已不能区分基础的好坏对Java程序运行的过程更加了解 为后期写出优质的代码做好准备 java支持自动垃圾回收,有些语言不支持需要手动。 自动垃圾回收不是java语言首创的。 垃圾回收关心的问题: 哪些区域需要回收:堆 方法区 什么时候回收 如何回收 java的自动垃圾回收经过长时间的发展,已经非常强大。垃圾是指在运行程序中没有任何引用指向的对象。这个对象就是需要被回收的垃圾。为什么需要GC?如果不及时清理这些垃圾对象,会导致内存溢出。原创 2023-07-20 17:02:48 · 48 阅读 · 0 评论