Java
文章平均质量分 71
南七行者
相信时间会创造奇迹。
展开
-
第一次开发基于SpringBoot的Java应用
标签已经被解析过了。所以,父项目的版本号必须是硬编码的,不能引用属性。Spring官方的脚手架,已经不支持Java8了:)(2)这是因为Maven的解析顺序的问题,很方便,还给了一些示例。(1)在Maven中,标签中,咱必须直接指定。原创 2024-01-14 16:49:02 · 426 阅读 · 0 评论 -
Java多线程-Thread类的run方法
Java中的线程是基于操作系统的原生线程实现的,而start0()方法主要就是与操作系统进行交互,创建和启动新的系统级线程。以上执行逻辑可能因不同的JVM实现和不同的操作系统有所不同,具体实现代码可以在JVM的源代码中找到。(3)在新的系统级线程上调用Java线程对象的run()方法。通过上面的分析,要让线程执行某段逻辑的关键是,实现run方法。(2)传入一个实现了run方法的Runnable接口的实现类。(2)将Java线程对象与新创建的系统级线程进行关联。(1)申请系统资源创建一个新的系统级线程。原创 2024-01-09 23:29:32 · 1481 阅读 · 0 评论 -
如何计算ThreadLocal对象的hash值?【ThreadLocal技术】(含AtomicInteger的介绍)
AtomicInteger是Atomic原子类的一种,是Java多线程板块的重要技术。这个数是斐波那契数 也叫 黄金分割数(叫啥没那么重要),重要的是。说明:以下代码中的断言(assertEquals)都是成功的。,等在深挖“Atomic原子类”技术时再深究。(这样冲突的概率就小了)。原创 2024-01-07 21:01:18 · 975 阅读 · 0 评论 -
持续积累ThreadLocal技术【ThreadLocal原理 + ThreadLocal的坑 + ThreadLocal的最佳实践】
set方法:aThreadLocal.set(…)get方法:aThreadLocal.get()remove方法:aThreadLocal.remove()2024-01-07 (1)重点了解了Thread持有的ThreadLocalMap的存储结构,本质是Entry[]数组。(2)还了解了ThreadLocal提供的3种重要且常用的API:set(…)、get()、remove()。之后还需要持续更新:(1)继续深挖ThreadLocal的其他原理,例如rehash()方法的内部细节。原创 2024-01-07 17:10:59 · 919 阅读 · 0 评论 -
docker-compose.yml中设定的mysql端口,要与application.properties中进行统一。(Could not obtain connection to query)
从github上clone下来的项目,能跑起来是第一步啊~暴露问题,定位根因,解决问题,把项目跑起来,还是很开心的~原创 2024-01-06 23:50:55 · 1028 阅读 · 1 评论 -
Apple M2 Pro芯片 + docker-compose up + mysql、elasticsearch pull失败问题的解法
stackoverflow就是牛啊!原创 2024-01-06 23:02:08 · 1478 阅读 · 0 评论 -
Arrays.asList(...)得到的ArrayList对象,调用addAll方法,抛出java.lang.UnsupportedOperationException
Arrays.asList(...)得到的ArrayList对象,调用addAll方法,抛出java.lang.UnsupportedOperationException原创 2022-10-13 15:58:57 · 433 阅读 · 1 评论 -
命令行运行Java程序,出现NoClassDefFoundError的解决办法 (含第三方jar包)
0、背景在IDEA中,基于Maven构建项目,测试时一般不会出现NoClassDefFoundError的问题。public class HelloWorld { @Test public void test01() { String[] args = {"-V"}; Main.main(args); }}输出:version 0.0.1当在命令行测试时,就会出现找不到依赖的第三方jar包,导致NoClassDefFoundErr原创 2022-03-13 16:45:53 · 5447 阅读 · 0 评论 -
关于Java数组的clone方法并不需要强制转型这件事儿
一、起因1、刷力扣时,看到有大佬写了如下这行代码:int[] newNums = nums.clone();nums是int[]类型;2、然后,我去搜了下Java的clone()方法。看到有文章说:clone() 方法的返回值是 Object 类型,要使用强制类型转换为适当的类型。还给了个实例:int[] targetArray=(int[])sourceArray.clone();这我就郁闷了啊,如果返回的是Object[]类型,不强制转换便是是向下转型,理应报错啊。**但并没有报错。原创 2022-03-08 18:17:31 · 476 阅读 · 0 评论 -
Java迭代器和C++迭代器使用上的区别
一、C++迭代器1.小例子#include <iostream>#include <vector>using namespace std;int main() { vector<int> vec; for(int i = 0; i < 10; i++) vec.push_back(i); for(auto it = vec.begin(); it != vec.end(); it++) { c原创 2021-04-07 12:57:08 · 387 阅读 · 2 评论 -
Java之浅拷贝和深拷贝问题(clone)
一、动机设计了一个Score类保存一组学生的成绩import java.util.Arrays;public class Main { public static void main(String[] args) { int[] scores = new int[] { 88, 77, 51, 66 }; Score s = new Score(scores); s.printScores(); scores[2] = 99;原创 2020-11-16 10:17:03 · 216 阅读 · 0 评论