- 博客(12)
- 收藏
- 关注
原创 JVM学习打卡02
一、方法区 1.1 组成1.2 内存溢出1.8 以前会导致永久代内存溢出* 演示永久代内存溢出 java.lang.OutOfMemoryError: PermGen space * -XX:MaxPermSize=8m 1.8...
2021-08-22 16:04:36 173
原创 JVM学习打卡01
一、Program Counter Register 程序计数器(寄存器) 作用:记住下一条jvm指令的执行地址 特点:是线程私有的 不会存在内存溢出 二、Java Virtual Machine Stacks (Java 虚拟机栈) java.lang.StackOverflowError(错误提示) -Xss256k(设置栈内存大小)栈内存并不是划分的越大越好,通常只是能够进行更多次...
2021-08-21 15:38:14 182
原创 forward与redirect的区别
1.从地址栏显示来说forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.2.从数据共享来说forward:转发页面和转发到的页面可以共享request里面的数据.redirect:不能共享数据.3.从运用地方来说forw
2021-07-24 11:57:09 251
原创 synchronized关键字和volatile关键字比较
1.volatile关键字是线程同步的轻量级实现,所以volatile性能肯定比synchronized关键字要好。但是volatile关键字只能用于变量,而synchronized关键字可以修饰方法以及代码块。synchronized关键字在JavaSE1.6之后进行了主要包括为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级锁以及其它各种优化之后执行效率有了显著提升,实际开发中使用 synchronized 关键字的场景还是更多一些。2.多线程访问volatile关键字不会发生阻...
2021-07-24 11:46:50 124
原创 有关final修饰符的讲解
final 变量:final 变量能被显式地初始化并且只能初始化一次。被声明为 final 的对象的引用不能指向不同的对象。但是 final 对象里的数据可以被改变。也就是说 final 对象的引用不能改变,但是里面的值可以改变。final 修饰符通常和 static 修饰符一起使用来创建类常量。final 方法类中的 final 方法可以被子类继承,但是不能被子类修改。声明 final 方法的主要目的是防止该方法的内容被修改。final 类final 类不能被继承,没有类能够继
2021-07-24 11:42:50 106
原创 @Data的具体用法
前提需要安装lombok其次需要在pom.xml中编写然后在POJO类中写入@Data主要作用:不需要手动生成getter和setter方法,写上@Data就默认自动生成;这只是其中一种,还有其他作用望读者自己探索...
2021-07-23 18:25:59 1141
原创 Spring Initializr创建的项目运行后Tomcat未启动
导入之后再运行项目<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency>在pom.xml中加入这段代码
2021-07-18 19:22:34 253
原创 Spring Boot的自动装配原理结论
springboot所有自动配置都是在启动的时候扫描并加载: spring .factories所有的自动配置类都在这里面,但是不一定生效,要判断条件是否成立,只要导入了对应的start,就有对应的启动器了,有了启动器,我们自动装配就会生效,然后就配置成功1.springboot在启动的时候,从类路径下/META-INF/ spring.factories获取指定的值2.将这些自动配置的类导入容器,自动配置就会生效,帮我进行自动配置3.以前我们需要自动配置的东西,现在springboot帮我们做了4.整
2021-07-18 16:45:24 89
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人