- 博客(7)
- 收藏
- 关注
原创 关于Java性能优化的方面,不容易注意到的地方
1.使用final关键字修饰 更容易使编译器触发方法内联,即在编译过程中就将调用方法的方法体加入到编译范围,在执行时不需要对调用方法进行压栈出栈的过程 如下: 内联后: 注:内联通常发生在调用频繁的热点方法上,由编译器自己决定是否进行方法内联,加上final关键字将更容易触发2.创建HashMap,ArrayList,StringBuffer时使用构造方法设置合理的大小 Hashmap初始容量16,负载因子0.75。触发扩容机
2022-06-30 17:18:30
124
1
原创 @GetMapping和@PostMapping区别及使用
@GetMapping从URL中直接获取数据@PostMapping从Body里面拿数据,相对于GetMapping更加安全@GetMapping和@PostMapping区别详解_山雨的博客-CSDN博客_postmapping和getmapping区别使用情况:使用了@RequestParam,@PathVaiable,或者无参时使用@GetMapping使用参数@RequestBody,多参,传对象时用@PostMapping补充:参数赋值不写注解默认使用的是@Req.
2021-08-28 23:04:29
5939
原创 新手springboot项目中遇到的一些问题
1.异常错误:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.c 使用了最新的mysql驱动包,但驱动声明不是最新的,将配置文件中的DriverClassName 从 "com.mysql.jdbc.Driver" 换成"com.mysql.cj.jdbc.Driver"2. 可以访问静态资源但无法访问html页面 添加thy...
2021-08-23 23:02:24
909
原创 JVM入门
图源:JVM 内存初学 (堆(heap)、栈(stack)和方法区(method) ) - 丁应思 - 博客园 (cnblogs.com)堆和方法区是线程共享的,产生的垃圾在这两个区中,主要在堆中,JVM优化也是针对这两个区域类加载器(类装载子系统):将.class字节码文件加载到内存中使用方法区:存放类的信息,如方法程序计数器:本地方法栈:栈:每个方法在执行时创建一个栈帧,方法的执行过程就是进行压栈和出栈的过程,使用结束就消失,不存在垃圾堆:GC:
2021-07-13 23:03:26
123
原创 Java基础复习
1.注释 行内注释:// 多行注释: /**/ 文档注释: /** */2.八种基本数据类型 整数: byte 1字节 short 2字节 int(默认) 4字节 long 8字节 浮点数: float 4字节 double(默认) 8字节 字符: char 2字节 布尔值: boolean 1字节补充: 0b:二进制 0x:十六进制 0:八进制
2021-06-03 23:19:10
160
原创 java内存模型 JMM volatile
java内存模型总结。图来自B站视频,主内存中的数据会复制一份到工作内存中再经过cpu运行最开始为了保证多个线程之间的数据一致,使用的是一直在主内存上加lock锁,同时只能有一个线程读写数据,但是这种方法效率太低,并且使多个线程变成了串行。并发编程三大特性:可见性,有序性,原子性可见性:多个线程之间不能相互通信,当A线程的flag数据改变时,B线程使用的flag还是复制过去的副本。使用volatile可以保证线程间的可见性,当工作内存中的数据被cpu运行后发生改变时,(汇编语言中)会立即加lo
2021-04-28 19:04:20
130
原创 java中equal方法和==的区别和分析
测试代码如下 AA aa1=new AA("abc"); AA aa2=new AA("abc"); String string111 = new String("字符串111"); String string222 = new String("字符串111"); String stringing1 = "字符串22222"; String stringing2 = "字符串22222";
2021-04-26 13:43:22
56
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人