首页
学习
活动
专区
工具
TVP
发布

JavaEdge

关注公众号:JavaEdge,加入全国最大的后端交流群。
专栏作者
2430
文章
2465756
阅读量
176
订阅数
RPC框架整体架构
RPC就是把拦截到的方法参数,转成可以在网络中传输的二进制,并保证在服务提供方能正确地还原出语义,最终实现像调用本地一样地调用远程的目的。
JavaEdge
2023-02-26
7240
动态代理-RPC实现核心原理
实现过统一拦截吗?如授权认证、性能统计,可以用 Spring AOP,不需要改动原有代码前提下,还能实现非业务逻辑跟业务逻辑的解耦。核心就是动态代理,通过对字节码进行增强,在方法调用时进行拦截,以便于在方法调用前后,增加处理逻辑。
JavaEdge
2023-02-26
3920
JVM栈上分配对象内存与逃逸分析原理分析(Escape Analysis)
JVM中较前沿的优化技术,它与类型继承关系分析一样,并非直接优化代码,而是为其他优化措施提供依据的分析技术。
JavaEdge
2022-11-30
2440
Java线程等待、唤醒通信机制详解
要想实现多个线程之间的协同,如:线程执行先后顺序、获取某个线程执行的结果等。 涉及到线程之间相互通信,分为如下四类:
JavaEdge
2022-11-30
7330
Java设计模式教程-策略模式(Strategy Pattern)
一个对象,其行为有些固定不变,有些又容易变化。对于这些容易变化的行为,我们不希望将其实现绑定在对象中,而希望能够动态地针对不同场景产生不同应对的策略。 这时就要用到策略模式,就是为了应对对象中复杂多变的行为而产生的:
JavaEdge
2022-11-30
4660
关注专栏作者,随时接收最新技术干货
JavaEdge
华为软件开发工程师
Netty 源码深度解析(九) - 编码
编码器实现了ChannelOutboundHandler,并将出站数据从 一种格式转换为另一种格式,和我们方才学习的解码器的功能正好相反。Netty 提供了一组类, 用于帮助你编写具有以下功能的编码器:
JavaEdge
2022-11-30
3380
Netty4的EventLoop和线程模型原理解析
线程模型指定了os、编程语言、框架或应用程序的上下文中的线程管理的关键方面。如何、何时创建线程将对应用程序代码执行产生显著影响,开发人员必须理解不同模型之间的权衡。
JavaEdge
2022-11-29
3790
5-基础构建模块
同步容器类包括Vector和HashTable,二者是早期JDK一部分,此外还包括在JDK 1.2中添加的一些功能相似的类,这些的同步封装器类是由Collections.synchronizedXxx等工厂方法创建的。这些类实现线程安全的方式是:将他们的状态封装起来,并对每个共有方法进行同步,使得每次只有一个线程能访问容器的状态。
JavaEdge
2022-11-29
2810
一看就懂的适配器设计模式
一般客户端通过目标类的接口访问它所提供的服务。有时,现有类可以满足客户端类的需要,但所提供接口不一定是客户端所期望的,可能因为现有类中方法名与目标类中定义的方法名不一致。
JavaEdge
2022-05-29
3580
Java8原子弹类之LongAdder源码分析
JDK 8开始,针对Long型的原子操作, Java又提供了LongAdder. LongAccumulator; 针对Double类型,Java提供了DoubleAdder、DoubleAccumulator。
JavaEdge
2022-01-25
2890
计算机为何可以运行Java代码?
Java代码有很多种不同的运行方式。比如说可以在开发工具中运行,可以双击执行jar文件运行,也可以在命令行中运行,甚至可以在网页。 这些执行方式都离不开JRE,Java运行时环境。
JavaEdge
2021-12-21
3880
Spring Data Redis怎么读不到我刚才设进去的值?
当使用 Spring Data Redis 时,我们有时候会在项目升级的过程中,发现存储后的数据有读取不到的情况;另外,还会出现解析出错的情况。
JavaEdge
2021-12-07
9300
Java语法糖之泛型与类型擦除
泛型,JDK 1.5新特性,本质是参数化类型(Parametersized Type) 的应用,即所操作的数据类型被指定为一个参数。这种参数类型可用在:
JavaEdge
2021-12-07
5480
使用ProxyFactoryBean创建AOP代理
若使用 Spring IoC 容器(ApplicationContext或BeanFactory)作为你的业务对象(你也应该这么做!),你会想使用 Spring AOP FactoryBean的一种。 工厂 bean 引入了中间层,让它创建不同类型的对象。
JavaEdge
2021-12-07
2820
Tomcat是如何修正JDK原生线程池bug的?
为提高处理能力和并发度,Web容器一般会把处理请求的任务放到线程池,而JDK的原生线程池先天适合CPU密集型任务,于是Tomcat改造之。
JavaEdge
2021-12-07
4060
Java 8计算两个日期之间的月份
在上述两个日期之间的91天持续时间,期望代码返回3个月的持续时间,但是以下方法仅返回2个月。这是Java 8中的bug 吗?日期为91天,却仅返回2个月。
JavaEdge
2021-12-07
3.8K0
百度面试题:一个线程 OOM 后,其他线程还能运行吗?
本文代码均由笔者在基于OpenJDK 8中的HotSpot虚拟机上进行过实际测试。
JavaEdge
2021-12-07
7020
【一看就会的Java设计模式教程】- 观察者模式
1 简介 定义 定义了对象之间的一对多依赖,让多个观察者对象同时监听某一个主题对象,当主题对象发生变化时,它的所有依赖者(观察者)都会收到通知并更新 类型 行为型 2 适用场景 关联行为场景,建立一套触发机制 3 优点 观察者和被观察者之间建立一个抽象的耦合 观察者模式支持广播通信 4 缺点 观察者之间有过多的细节依赖、提高时间消耗及程序复杂度 使用要得当,要避免循环调用 5 实例 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 接下来,来到观察者- Teacher的代码区中 📷 6 源码应用 JD
JavaEdge
2021-12-07
1700
JDK又在写Bug!告诉你为何Java NIO的ByteBuffer这么垃圾!
网络数据的基本单位永远是 byte(字节)。Java NIO 提供 ByteBuffer 作为字节的容器,但该类过于复杂,有点难用。
JavaEdge
2021-12-07
3370
阿里华为等大厂如何实践迭代器模式的?
迭代器是为容器服务的,例如Collection、Map等,迭代器模式就是为解决遍历这些容器中的元素而生。
JavaEdge
2021-12-07
3310
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档