
Java
文章平均质量分 71
Java专栏
不想睡觉的橘子君
这个作者很懒,什么都没留下…
展开
-
【分布式】简述CAP理论与BASE理论
以上三个特点就是CAP原则(又称CAP定理),但是三个特性不可能同时满足,所以分布式系统设计要考虑的是在满足P(分区容错性)的前提下选择C(一致性)还是A(可用性),即:CP或AP。原创 2024-08-19 21:38:40 · 567 阅读 · 0 评论 -
【JVM】调优工具
这里简单介绍一下各种调优用到的工具。原创 2024-05-14 17:44:37 · 1096 阅读 · 1 评论 -
【JVM】从硬件层面和应用层面的有序性和可见性,到Java的volatile和synchronized
Java的关键字volatile保证了有序性和可见性,这里我试着从底层开始讲一下有序性和可见性。原创 2024-05-03 17:41:21 · 1027 阅读 · 0 评论 -
【JVM】class文件格式,JVM加载class文件流程,JVM运行时内存区域,对象分配内存流程
这篇文章本来只是想讲一下class文件格式,讲着讲着越讲越多。JVM这一块吧,知识比较散比较多,如果深研究下去如死扣《深入理解Java虚拟机》,这本书很深很细,全记住是不可能的,其实也没必要。趁这个机会直接把标题中的这些的主要知识点都总结一下,不会过深,也不会是太浮于表面的八股文,总结一下比较好记,也省的后面自己再忘了。原创 2024-05-02 16:05:18 · 1324 阅读 · 1 评论 -
【JVM】简述类加载器及双亲委派机制
双亲委派模型,是加载class文件的一种机制。在介绍双亲委派模型之前,我需要先介绍几种类加载器(Class Loader)。原创 2024-04-30 15:29:34 · 1163 阅读 · 0 评论 -
【踩坑专栏】无法显示jdk动态代理生成的代理类
jdk生成的动态代理类,默认是只存在于内存之中的字节码文件,想要显示出来需要一些方法,而这些方法是区分jdk版本的[1]。或在vm option中,加入。原创 2023-04-20 18:09:22 · 341 阅读 · 0 评论 -
【Linux】如何查看linux上默认安装的openjdk的安装路径
【代码】【Linux】如何查看linux上默认安装的openjdk的安装路径。原创 2023-03-20 10:16:04 · 3017 阅读 · 0 评论 -
【教程】在linux上通过Java命令启动Java应用
通过Java命令启动Java应用是最原始的一种方式,有的时候也会用到。原创 2023-03-18 15:59:13 · 1958 阅读 · 0 评论 -
【踩坑专栏】关于实现异步多线程的一些踩坑
这显然是不符合预期的。其实最符合我们预期的,应该是request这种类型,在一次请求中,分布式锁的对象始终是一个,对于不同的request,是给出不同的分布式锁的对象。由于分布式锁的实现类里,有一些成员变量,如针对线程的指针,计算重入次数的计数等,而这些成员变量是不能共享的,所以肯定是不能直接@Component注册为单例的。因为分布式锁本身是没有注入spring,它里面的执行异步任务的异步类对象(在分布式锁中为一个成员变量,new出来的),由于也拥有布尔类型的成员变量而无法注入,所以异步会失效变为同步!原创 2022-12-08 14:40:21 · 433 阅读 · 0 评论 -
【踩坑专栏】多模块项目boot模块启动后web模块404
最近在搭建脚手架的时候,遇到了一个问题,就是这是一个多模块的项目,boot是启动模块,present里包括web部分,也就是controller,但是在启动后测试web接口却404了。再一个要注意的就是需要在boot的pom中加入web模块的依赖,不然scanBasePackages是扫不到web的,也还是会404。原创 2022-11-02 14:00:06 · 796 阅读 · 0 评论 -
【idea】Error:java: Annotation processing is not supported for module cycles. Please ensure that all..
出现这个问题就是出现了模块循环依赖的问题,需要好好看下各模块的作用,判断下目前代码的架构是否合理,并解除互相依赖的模块的依赖。判断哪两个模块循环依赖的方法如图。如果出现循环依赖,模块会是红色的。原创 2022-11-01 16:44:16 · 467 阅读 · 0 评论 -
【easycode】使用idea上的easycode生成DO
写实体类是每个做web的程序员都逃不掉的经历,但是往往这类工作一重复性高,二肯定需要检查是否有漏掉或者错误的类型和字段名之类的问题,其实可以使用idea上的插件easycode来完成这类工作。最后就是其实还可以根据模板生成Mybatis plus中的mapper service serviceimpl,但是用生成器后再修改文件名,还不如自己手敲的快。点击实时调试右侧的复选框,选择要调试的表,点击右侧的开始图标,生成想要的DO。我自己配置了一个使用lombok的模板,模板代码如下。原创 2022-11-01 11:32:24 · 690 阅读 · 0 评论