随笔分类 -  java

摘要:说起mybatis,大伙应该都用过,有些人甚至底层源码都看过了。在mybatis中,mapper接口是没有实现类的,取而代之的是一个xml文件。也就是说我们调用mapper接口,其实是使用了mapper.xml中定义sql完成数据操作。 大家有没想过,为什么mapper没有实现类,它是如何和xml关 阅读全文
posted @ 2022-04-19 16:48 qtyy 阅读(830) 评论(0) 推荐(0) 编辑
摘要:写在前面 上周,同事写了一段ConcurrentHashMap的测试代码,说往map里放了32个元素就内存溢出了,我大致看了一下他的代码及运行的jvm参数,觉得很奇怪,于是就自己捣鼓了一下。首先上一段代码: 执行时加上jvm执行参数 -Xms512m -Xmx512m ,执行结果: 最开始的代码是没 阅读全文
posted @ 2018-05-02 09:54 qtyy 阅读(3645) 评论(0) 推荐(1) 编辑
摘要:.... 2.2.1 保存到什么地方 程序运行时,我们最好对数据保存到什么地方做到心中有数。特别要注意的是内存的分配。有六个地方都可以保存数据: (1) 寄存器。这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部。然而,寄存器的数量十分有限,所以寄存器是根据需要由编译器分配。我们 阅读全文
posted @ 2018-04-20 10:33 qtyy 阅读(534) 评论(0) 推荐(0) 编辑
摘要:这是第二次分析concurrentHashMap 先回顾一下 1.concurrentHashMap是在jdk1.5版本之后推出的,位于java.util.concurrent包中。 2.基于HashMap 对于多线程并发操作不安全,以及HashMap 效率低,才推出分段锁机制concurrentH 阅读全文
posted @ 2017-03-03 14:22 qtyy 阅读(263) 评论(0) 推荐(0) 编辑
摘要:内存泄漏问题产生原因 长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用而导致不能被回收,这就是java中内存泄露的发生场景,通俗地说,就是程序员可能创建了一个对象,以后一直不再使用这个对象,这个对象却一直被引用,即这个对 阅读全文
posted @ 2017-03-02 17:26 qtyy 阅读(505) 评论(0) 推荐(0) 编辑
摘要:首先解读Java内存模型(这里区别于JVM的内存模型,堆、栈、工作区) Java 内存模型来屏蔽掉各种硬件和操作系统的内存差异,达到跨平台的内存访问效果。JLS(Java语言规范)定义了一个统一的内存管理模型JMM(Java Memory Model) Java内存模型规定了所有的变量都存储在主内存 阅读全文
posted @ 2017-03-01 21:31 qtyy 阅读(20665) 评论(0) 推荐(2) 编辑
摘要:HashMap在Java开发中有着非常重要的角色地位,每一个Java程序员都应该了解HashMap。 本文主要从源码角度来解析HashMap的设计思路,并且详细地阐述HashMap中的几个概念,并深入探讨HashMap的内部结构和实现细节,讨论HashMap的性能问题,并且在文中贯穿着一些关于Has 阅读全文
posted @ 2017-02-23 21:20 qtyy 阅读(372) 评论(0) 推荐(0) 编辑
摘要:直接上代码: 代码1: 结果: 120 代码2: 结果: 121 结果分析: 1. 按照静态变量的顺序,初始化各静态变量。(给变量赋予默认值) 2. 按照顺序,赋予静态变量的初始值。 3. 以上结果在于:类静态变量的位置,决定着通过构造方法给sta1 与 sta2 赋予的值是否有效。 4. 在代码一 阅读全文
posted @ 2016-11-08 16:08 qtyy 阅读(9593) 评论(3) 推荐(0) 编辑
摘要:在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。 Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 synchronized 同步块大家都比较 阅读全文
posted @ 2016-11-03 23:13 qtyy 阅读(423) 评论(0) 推荐(0) 编辑
摘要:一、安装环境 大家在开发Java的时候,首先回装一个java的开发环境,一个JDK(也包含了JRE),然后设置环境变量,这个过程我就不细说了,大家装完后有没有发现,在装完这个环境的同时在安装JRE,在JDK的文件夹下还有一个jre文件夹,说这个有什么意思呢,首先我们要理解JDK和JRE的区别。 JD 阅读全文
posted @ 2016-11-03 20:59 qtyy 阅读(639) 评论(0) 推荐(0) 编辑
摘要:异常指不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。Java通 过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的 错误条件。当条 阅读全文
posted @ 2016-09-27 20:32 qtyy 阅读(524) 评论(0) 推荐(0) 编辑
摘要:为什么要使用 bigdecimal? 借用《Effactive Java》这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精 阅读全文
posted @ 2016-09-09 19:22 qtyy 阅读(1141) 评论(0) 推荐(0) 编辑
摘要:JDK1.0引入了第一个关联的集合类HashTable,它是线程安全的。HashTable的所有方法都是同步的。JDK2.0引入了HashMap,它提供了一个不同步的基类和一个同步的包装器synchronizedMap。synchronizedMap被称为有条件的线程安全类。JDK5.0util.c 阅读全文
posted @ 2016-08-28 16:45 qtyy 阅读(730) 评论(0) 推荐(0) 编辑
摘要:首先必须说明作为Java程序员对于内存只要有大致的了解就可以了,如果你对Java当中的某一个知识点在不需要分析内存分配过程的情况下可以掌握,那就大可不必去研究内存。如果你对知识点已经掌握,那么你应该把更多的精力放在对业务逻辑的分析与设计上,这样的话你才可能这一行业走的更远。 好了废话不多说了,下面我 阅读全文
posted @ 2016-08-24 08:32 qtyy 阅读(337) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示