Java总结
文章平均质量分 75
oldRose啊
岭深常的蛟龙在,梧高自由凤凰栖。
展开
-
static静态方法使用yml配置文件的值
被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。PreDestroy()方法在destroy()方法执行执行之后执行.首选要在配置类里建一个static的变量,然后使用@Value获取yml配置文件的值。最后关键就是使用@PostConstruct注解将yml中配置的值赋给本地的变量,这样就可以在静态方法里使用了。...原创 2022-07-20 20:07:32 · 2034 阅读 · 1 评论 -
如何实现接口的幂等性(Redis实现案例)
1.什么是幂等性 (定义) HTTP/1.1中对幂等性的定义是:一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外)。也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。Methods can also have the property of “idempotence” in that (aside from error or expiration issues) the side-effects of N > 0 identical requ原创 2021-11-14 22:07:25 · 3899 阅读 · 1 评论 -
CAS机制详解以及ABA问题的危害和解决方案
CAS机制详解以及ABA问题的危害和解决方案首先,先讲一下 CAS机制到底怎么运作。让我们一探究竟。1.什么是CAS机制CAS是英文单词Compare And Swap的缩写,翻译过来就是比较并替换。CAS机制当中使用了3个基本操作数:内存地址V,旧的预期值A,要修改的新值B。更新一个变量的时候,只有当变量的预期值A和内存地址V当中的实际值相同时,才会将内存地址V对应的值修改为B。这样说或许有些抽象,我们来看一个例子:1.在内存地址V当中,存储着值为10的变量。2.此时线程1想要把变量的值原创 2021-10-16 18:49:16 · 4005 阅读 · 6 评论 -
线程简介
什么是线程现代操作系统在运行一个程序时,会创建一个进程。例如,启动一个Java程序,操作系统就会创建一个java进程。现在操作系统操作的最小单位是线程,也叫轻量级进程(Light Weight Process),在一个进程里可以创建多个线程,这些线程都拥有各自的计数器、堆栈、局部变量等属性,并且能够访问共享的内存变量。处理器在这些线程上高速切换,让使用着感觉到这些线程在同时执行。一个java程序的运行不仅仅是main()方法的运行,而是main线程和多个其他的线程的同时运行。为什么要使用多线程使原创 2020-06-23 17:15:02 · 164 阅读 · 0 评论 -
String StringBuffer StringBuilder的区别
简单的事情做到极致也是一种能力。首先,说一下目前我还没进行整理的情况下,我的理解:String 不可修改 修改后相当于又新创建创建一个字符串比如:String a = "abc";//1String a = "abd";//2实际上的操作1是:首先java虚拟机(依稀记得有个叫做字符串常量池)在堆上创建一个字符串常量。然后执行操作2 ,首先根据java虚拟机的机制,会先去字符串常量池中找有没有 abd 如果有,直接将地址赋值给引用a,如果没有则新创建一个字符串常量StringBuilder原创 2020-06-18 20:26:33 · 191 阅读 · 0 评论