- 博客(12)
- 收藏
- 关注
原创 GC如何判断对象可以被回收
引用计数法:每个对象都有一个被引用的计数属性,当增加一次引用时加一,引用释放时减一,当计数为零时即判断其可以被回收,但是jvm并没有用该方法,因为其有一个缺陷就是当A和B相互引用时,他们的计数永远不为零,就永远无法被回收,需要引入其他机制来解决该问题;可达性分析法:jvm采用该方法,从GC Roots开始向下搜索,搜索走过的路径被称为引用链,当一个对象到GCRoots没有任何一个引用链相连,那么判断该对象为可回收对象;
2023-06-15 21:47:57
135
原创 java的异常体系
Exception不会导致程序停止运行,其分为两个部分,一个是RunTimeException,是程序员接触最多的,我们自己实现的异常也会继承该类;还有一种是checkedException,是编译时异常,编译无法通过;Throwable有两个子类:Exception和Error。Error程序无法处理,一旦出现此类异常,程序必然崩溃。java中所有异常都来自于顶级父类Throwable。
2023-06-15 21:31:03
95
原创 双亲委派模型
java编译器以及解释器首先一个java程序要运行时,java程序代码编写完之后由编译器将java代码编译成字节码文件(即.class文件),然后jvm将每一条需要执行的字节码命令输送给解释器,解释器将其翻译成各个不同的机器可以执行的二进制机器码,随后程序运行;注:不同平台的解释器是不相同的,所以通过以上得出java既不是解释性语言也不是编译性语言,是两者共存的。字节码是什么字节码就是jvm可以识别的代码采用字节码的好处。
2023-06-15 20:46:31
100
原创 ArrayList与LinkedList的区别
ArrayList与LinkedList有什么区别底层实现原理不同:ArrayList底层实现是数组,LinkedList是双向链表基于实现原理的不同ArrayList更适合于随机查找ArrayList指定下标查找元素是非常快的,例如arrayList.get(1),因为数组已经给元素分配好了内存空间,可以直接去取。而LinkedList如果想去linkedList.get(1)的话需要去循环遍历。但是LinkedList如果查询第一个元素和最后一个元素的话也是非常快速的,因为LinkedL
2021-09-02 12:44:04
126
1
原创 springboot项目启动不报错,没有端口.
检查创建springboot项目时是否添加了web中的Spring Web,如果添加了,在pom文件中添加如下资源 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>...
2020-11-25 21:09:53
3807
5
原创 linux定时清理日志内容脚本
linux定时清理日志内容脚本新建一个可执行文件在你想要保存的位置cd /usr/localtouch del_log.sh编辑del_log.sh文件清除日志语句vi del_log.sh编辑文件中内容为“> /app/cfca/nohup.out;”。/mnt/nohup.out为想要清楚日志的目录。赋予可执行权限给del_log.shchmod +x del_log.sh创建定时处理任务如果服务器没有安装crontab,先安装crontabyum inst
2020-05-20 16:30:07
1074
原创 AppScan检测“Content-Security-Policy”头缺失或不安全
“Content-Security-Policy”头缺失或不安全用AppScan对url进行检测出现“Content-Security-Policy”头缺失或不安全问题解决方法:在拦截器或者过滤器中添加response.setHeader("Content-Security-Policy", "default-src 'self'; script-src 'self'; frame-anc...
2019-12-31 15:10:59
22422
2
原创 AppScan扫描启用了不安全的“OPTIONS”HTTP 方法
**服务器禁止不需要的 HTTP 方法## **目前项目进行交付时,测试方给到一个安全检测报告。其中有一个问题是:启用了不安全的“OPTIONS”HTTP 方法。给到的建议是禁用 WebDAV,或者禁止不需要的 HTTP 方法。由于测试服务器是Tomcat,而线上服务器为websphere,在网上找了许多资源,始终都是Tomcat的解决办法。现在记录一下websphere解决问题思路,给使用we...
2019-12-26 17:55:14
3445
原创 不用编辑器手动打war包
有时我们会把war包解压替换class文件或者配置文件等文件后重新打包,这时候需要用命令行重新打包打开cmd进入到解压后的文件夹目录下执行 jar -cvf 文件名.war * 命令,会在目录下看到文件名.war...
2019-12-19 17:01:18
325
原创 解决pom.xml报错Dependency "" not found
我们在使用maven进行jar包管理时有时会遇到pom.xml中报错Dependency “XXX” not found,文章记录一下我的踩坑过程。1.maven仓库中真的没有该jar包这个是最简单的,当遇到这个问题时先到我们本地的maven仓库中去查看一下是否真的有这个jar包,我们maven仓库的默认位置一般是在C:\Users\用户名.m2\repository下。如果maven仓库做了...
2019-08-29 16:23:20
24390
2
原创 idea 通过devtools配置springboot 本地热部署
idea 通过devtools配置springboot 热部署1.pom.xml配置org.springframework.bootspring-boot-devtoolstrueorg.springframework.bootspring-boot-starter-web<dependency> <groupId>org.springfra...
2019-08-07 14:59:29
177
原创 使用Navicat导出表设计(mysql、oracle语句)
使用Navicat导出表设计(mysql、oracle语句)通常我们编写数据库设计文档时需要对数据库表进行编写,当大量的表需要编写时费时费力,现在我们利用Navicat帮我们完成这项工作。1.首先点击查询,新建查询,编写sql语句mysql:SELECTCOLUMN_NAME 列名,COLUMN_TYPE 数据类型,COLUMN_COMMENT 注释FROMinformation...
2019-08-06 15:44:50
5556
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人