- 博客(13)
- 收藏
- 关注
原创 深入理解java虚拟机 之 垃圾收集器与内存分配策略
1.如何判断对象是否存活(1)引用计数法给对象添加一个引用计数器,如果该对象被引用,那么就加1,失效就减1。这样任何时刻计数器值为0的对象是不可能被使用的,也就是可回收的(目前的主流虚拟机并未采用该方法)(2)可达性分析算法GC Roots作为起始节点,从这些节点开始根据引用关系向下搜索,搜索过程所走过的路径成为"引用链",如果某个对象到GC Roo之间没有任何引用链,那么该对象就不可能再被使用。2.可作为GC Roots对象1.虚拟机栈中引用的对象,譬如各个线程被调用的方法堆栈中使用到的
2022-03-07 10:52:49 213
原创 解决JHSDB的 Can‘t load library: D:\Java\jre\bin\sawindbg.dll 错误
在 D:\Java\jdk1.8.0_91\lib 的目录下运行以下命令java -cp .\sa-jdi.jar sun.jvm.hotspot.HSDB出现以下报错D:\Java\jdk1.8.0_91\lib>java -cp .\sa-jdi.jar sun.jvm.hotspot.HSDBException in thread "Thread-1" java.lang.UnsatisfiedLinkError: Can't load library: D:\Java\jre\bi
2022-03-07 09:49:13 1222 3
原创 深入理解java虚拟机 之 Java内存区域与内存溢出异常
1.JAVA 虚拟机(运行时数据区域)方法区栈: 分为虚拟机栈与本地方法栈堆程序计数器直接内存(非运行时数据区域)程序计数器1.内存区域较小2.可以看作当前线程所执行的字节码的行号指示器3.通过改变计数器的值来选取下一条需要执行的字节码指令4.任何时刻,一个处理器只会执行一个线程中的指令5.执行的方法是本地方法时,计数器的值为空虚拟机栈1.线程私有,生命周期与线程相同2.虚拟机栈描述的是java方法执行的线程内存模型,也就是栈帧的入栈与出栈3.存在两种异: 栈异常与
2022-03-02 18:17:58 586
原创 深入理解java虚拟机,centos7下安装虚拟机环境
第一步:下载OpenJDK 12下载OracleJDK 11第二步均在/usr/local 下进行解压第三步安装各种依赖yum groupinstall -y "Development Tools"yum install -y freetype-develyum install -y cups-develyum install -y libXtst-devel libXt-devel libXrender-devel libXrandr-devel libXi-develyum
2022-02-28 17:36:23 476
原创 Springboot整合nacos作为配置中心
1.引入nacos依赖 <!--整合nacos--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>2021.1</ver
2021-10-19 10:19:01 551
原创 Spirng boot整合Quartz基础Demo
1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency>2.继承QuartzJobBean,重写其方法public class DemoJob exte
2021-10-11 09:51:01 157
原创 实现一个基础的接口参数校验
添加依赖 <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.3</version> </dependency> <de.
2021-10-09 16:02:08 127
原创 Spring源码解读
Spring源码解读探究bean是如何被扫描读入的 ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); Person person = context.getBean("person", Person.class);此时看一下ClassPathXmlApplicationContext的继承关系调用自身的构造方法,注意此时的context传的是null此处把我们传的string转换成为了s
2021-08-19 13:27:36 110
原创 学习java并发时,遇到notify(),思考其执行到底是无序还是有序的
小菜鸟最近在复习java的多线程执行,在做生产者与消费者来实现多线程演示时,发现notify()的执行并不是按照我想的那样。当只有一个生产者和消费者时,线程的执行是并不是按照预想的那样,一个生产一个消费。经过调查得知,notify()的源码注释里面表明了其取值顺序是随机的翻译过来的意思:notify在源码的注释中说到notify选择唤醒的线程是任意的,但是依赖于具体实现的JVM。从此得知,JVM实现方法的不同也会造成不用的访问顺序。...
2021-03-16 16:50:21 189 1
原创 Mysql插入数据乱码
解决Mysql插入数据会乱码今天开发一个商品管理后台时遇到一个mysql数据乱码的问题。第一步:我更改了idea的文件编码。发现这样还是不行,存入mysql数据库的数据还是会出现乱码。第二步:更改jdbc配置文档里面,mysql的url在原有的基础上加上一段:&useUnicode=true&characterEncoding=UTF-8经测试解决了插入乱码的问题...
2021-03-12 15:51:13 95
原创 关于IDEA连接mysql时配置文件的几个坑
关于IDEA连接mysql时配置文件的几个坑第一个坑: 斜杠的使用自己百度的时候发现mysql的url有两种写法:(1)url=jdbc:mysql:///localhost:3306/mysql(2)url=jdbc:mysql://localhost:3306/mysql一个是三斜杠,一个是两斜杠。发现三斜杠会直接报错此处应该是两斜杠第二个坑:当我们用了两个斜杠后,连接依旧报错。如下图所示:此时的报错是我们没有加上时间的表达。我们再database后加上一句?serverTimezo
2021-03-11 18:40:56 144
原创 idea如何设置通用的类注释以及方法注释
第一步:打开idea,点击fiel,在下拉框里面找到setting。第二步:进入setting后,先点击Editor然后在点击 Fileand CodeTemplates第三步:选择
2021-03-04 17:57:00 455 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人