自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 (二)对象的创建过程

(二)对象的创建过程对于java程序员来说,创建对象仅仅是使用new关键字来创建而已。但是对于JVM来说肯定不只是这么简单。那么JVM创建对象的过程是什么样的呢?JVM在遇到一条字节码new指令时,会先去常量池中检查看是否可以定位到new指令的参数所代表的符号引用,并检查这个符号引用是否进行过加载,连接,初始化。如果没有,那么必须先执行对应的类加载过程。在类加载过程检查通过后,接下来就是在Java堆中为新生对象分配内存了。而对象所需要分配的内存在类加载完成后便可以确定了,所以分配时,就是在内存中找到一

2021-07-19 14:36:15 134 1

原创 (一)JVM的运行时数据区域

JVM的运行时数据区域程序计数器程序计数器是线程私有的,生命周期与线程一致。程序计数器相当于Class字节码文件的行号指示器,字节码解释器工作时,便是通过改变程序计数器的值来选取下一条需要执行的字节码指令。他是程序控制流的指示器,控制着程序的分支、跳转、循环、异常处理、线程恢复等基础功能。程序计数器的空间非常小,但也是JVM中唯一不会出现OOM的区域。为什么程序计数器是线程私有的?CPU的一个核心在同一时刻,只供给一个线程使用。线程是通过CPU分配时间片来使用CPU核心进行运算的,而线程切换到核

2021-07-15 19:22:46 141

原创 你重写过 hashcode 和 equals 么,为什么重写 equals 时必须重写 hashCode ⽅法?

hashCode 与 equals散列表(哈希表)?hashCode()我们先以“HashSet 如何检查重复”为例⼦来说明为什么要有 hashCode:散列表(哈希表)?首先我们要了解一下散列表是什么?散列表就是我们平时所说的哈希表,是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。散列表的特点是综合了数据和链表的有点;数组:寻址容易,插入和删除困难;链表:寻址困难,插入和删除容易。hashCode()h

2021-02-12 20:17:30 902 1

原创 .....,because it is a JDK dynamic proxy that implements:

记一次注入dao层mapper导致SpringBoot启动报错的问题***************************APPLICATION FAILED TO START***************************Description:The bean 'orderMapper' could not be injected as a 'org.linlinjava.litemall.db.dao.LitemallOrderMapper' because it is a JD

2021-01-20 21:07:35 602

原创 synchronized 关键字的底层原理

synchronized 关键字底层原理属于 JVM 层面。① synchronized 同步语句块的情况public class SynchronizedDemo { public void method() { synchronized (this) { System.out.println("synchronized 代码块"); } } }通过 JDK 自带的 javap 命令查看 SynchronizedDemo 类的相关字节码信息:手先切换到类的对应目录执行以下命

2021-01-13 13:51:16 108

原创 synchronized 关键字

我对于 synchronized 关键字的了解synchronized关键字解决的是多个线程之间访问资源的同步性。synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有⼀个线程执行。在 Java 早期版本中,synchronized属于重量级锁,效率低下,原因如下:监视器锁(monitor)是依赖于底层的操作系统的 Mutex Lock 来实现的,Java 的线程是映射到操作系统的原⽣线程之上的。如果要挂起或者唤醒⼀个线程,都需要操作系统帮忙完成,而操作系统实现线程之间的

2021-01-13 13:37:31 67

原创 记Swagger的一次错误,接口为Get请求,Swagger接口却以body传入。

首先我们看看我的SpringBoot接口@ApiOperation("商品详情") @ApiResponses(@ApiResponse(code = 200, message = "ok", response = GoodsDetailsVo.class)) @GetMapping("detail") @ApiImplicitParams({ @ApiImplicitParam(value = "用户id", name = "userId"),

2021-01-08 11:34:54 2162

原创 Java 和 C++的区别?

Java 和 C++的区别?都是⾯向对象的语⾔,都⽀持封装、继承和多态(相同点)Java 不提供指针来直接访问内存,程序内存更加安全Java 的类是单继承的,C++ ⽀持多重继承;虽然 Java 的类不可以多继承,但是接⼝可以多继承。Java 有⾃动内存管理机制,不需要程序员⼿动释放⽆⽤内存在 C 语⾔中,字符串或字符数组最后都会有⼀个额外的字符‘\0’来表示结束。但是,Java 语⾔中没有结束符这⼀概念。这是⼀个值得深度思考的问题,具体原因推荐看这篇⽂章:https://blog.csdn

2021-01-07 17:56:24 129

翻译 面向过程的性能为什么比面向对象的性能高???

面向过程和面向对象的区别:面向过程:面向过程的性能比面向对象高,因为面向对象在类的调用时,需要实例化,该过程是一个比较耗费资源的过程。所以在性能要求为刚需的时候,一般选用面向过程来开发,如单片机,嵌入式开发,Linux/Unix等。但是面向过程也有一个比较麻烦的缺点,那就是不利用维护。面向对象:面向对象易维护,易复用,易拓展。这是因为面向对象具有继承,封装和多态的特性,所以面向对象可以设计出低耦合的系统,但绝不是零耦合。但是面向对象比面向过程的性能低一些。为什么面向对象的性能比面向过程高?其

2021-01-07 17:50:57 1831

原创 利用cmd命令 查看某一端口被占用的进程,并kill

1.查看端口为8083的进程(以8083为例)netstat -aon|findstr “8083”2.查看对应的进程tasklist|findstr “187823”3.kill掉占用该端口的进程taskkill /pid 187823 /f

2021-01-04 13:31:32 520

原创 IDEA service/DashBoard 不显示服务端口号,解决办法

IDEA service/DashBoard 不显示服务端口号,解决办法 今天小编启动ideaSpringBoot服务时,突然发现我的service中的服务启动后不显示端口号了,记录一下解决过程。 首先我使用的idea版本是2020.1 ![在这里插入图片描述](https://img-blog.csdnimg.cn/202012311504526.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_a

2020-12-31 15:22:48 10016 2

原创 记一次 MyBatisPlus更新字段为null失败的坑

今天我的代码在执行一段更新时,其中有一段更新字段为null的操作,却没有更新字段为null成功,代码如下: member.setUserId(null); member.setType(MemberTypeEnum.VISITOR_BIND.getCode()); member.setUpdateTime(new Date()); memberDao.updateById(member);这里的userId在更新后并没有修改为null,其问题出现在了该

2020-12-29 15:54:49 1016 1

原创 mybatis查询某一个月的所有数据

我的一次查询某个月的所有数据的记录获取需要查询的那个月的最大日期组织横坐标(日期)通过所有的状态设置图例查询数据库中存在的数据,需要根据状态和日期分组通过HashMap初始化纵坐标的值最后拿着数据库中返回的值去对比,替换hashMap中的值组织纵坐标效果图获取需要查询的那个月的最大日期 因为每个月的天数不定,比如某些月是30天,某些月份是31天; 获取最大天数的代码贴上: String start ="2020-12-01 00:00:00"; String maxMonthDa

2020-12-24 19:31:39 2905 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除