2019年7月20日

为什么for循环中的a=a++,a总是0

摘要: 今天朋友去面试,遇到了一个非常"简单"的题目,如下 1 2 3 4 5 6 7 8 9 a = 0; for(int i = 0; i < 10; i++) { a = a++; } System.out.println(a); //a = ? 当时老张就一脸懵逼的说,a不是等于10吗?? 朋友当时 阅读全文

posted @ 2019-07-20 16:54 mike_JP 阅读(1050) 评论(0) 推荐(0) 编辑

2019年6月25日

单例模式中的懒汉式以及线程安全性问题

摘要: 先看代码: 运行结果: 发现,有个实例是Singleton2@1c208db1,也就说明,返回的不是同一个实例。这就是所谓的线程安全问题。 解释原因:对于以上代码注释部分,如果此时有两个线程,线程A执行到1处,读取了instance为null,然后cpu就被线程B抢去了,此时,线程A还没有对inst 阅读全文

posted @ 2019-06-25 17:59 mike_JP 阅读(624) 评论(0) 推荐(0) 编辑

2019年6月22日

addBatch使用方法

摘要: 1. 建立链接 Connection connection =getConnection(); 2. 去掉自动提交功能 Commit connection.setAutoCommit(false); 3. 预编译SQL语句,只编译一回哦,效率高啊。 PreparedStatement stateme 阅读全文

posted @ 2019-06-22 14:28 mike_JP 阅读(3618) 评论(0) 推荐(0) 编辑

2019年6月9日

Arraylist动态扩容详解

摘要: ArrayList 概述 动态扩容 一 初始化 首先有三种方式来初始化: 默认的构造器,将会以默认的大小来初始化内部的数组 用一个ICollection对象来构造,并将该集合的元素添加到ArrayList 用指定的大小来初始化内部的数组 后两种方式都可以理解,通过创造对象,或指定大小来初始化内部数据 阅读全文

posted @ 2019-06-09 12:55 mike_JP 阅读(607) 评论(0) 推荐(0) 编辑

list 接口与实现类arraylist 区别

摘要: ArrayList list = new ArrayList(); List<String> list = new ArrayList<String>(); 第一种形式用当前类作为引用类型,那么可以访问到ArrayList这个类中的所有公用方法。第二种形式,用ArrayList实现的接口List作为 阅读全文

posted @ 2019-06-09 12:00 mike_JP 阅读(395) 评论(0) 推荐(0) 编辑

2019年6月6日

如何理解成员变量在堆内,局部变量在栈内?

摘要: 成员变量在堆内存里,局部变量在栈内存里。(基础类型) 我有疑惑: 既然成员变量存在于对象中,对象存在于堆中,所以成员变量存在于堆中。那么按照这样的推理,局部变量存在于方法中,而方法存在于对象中,对象存在于堆中,那是不是可以说局部变量存在于堆中? 解决思想 当对象new出来,实体存在于堆,对象的成员变 阅读全文

posted @ 2019-06-06 21:09 mike_JP 阅读(3153) 评论(0) 推荐(0) 编辑

2019年6月3日

重载与重写的区别

摘要: 1.定义区别: ①重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。 ②覆盖(也叫重写)是指在派生类中重新对基类中的虚函数(注意是虚函数)重新实现。即函数名和参数都一样,只是函数的实现体不一样。 2.类的关系区别 覆盖是子类和父类之间的关系, 阅读全文

posted @ 2019-06-03 17:36 mike_JP 阅读(3152) 评论(0) 推荐(0) 编辑

2019年6月2日

接口为什么不能有构造函数

摘要: 以举例的方式说到如何区分抽象类和接口,这里我们从Java语法谈起,使我们更加了解这两者的内在区别。它们的语法区别:1)接口不能有构造方法,抽象类可以有。2)接口不能有方法体,抽象类可以有。3)接口不能有静态方法,抽象类可以有。4)在接口中凡是变量必须是public static final,而在抽象 阅读全文

posted @ 2019-06-02 12:46 mike_JP 阅读(2225) 评论(0) 推荐(0) 编辑

2019年6月1日

哈希码以及Object.toString()简单理解

摘要: 对哈希码和默认的toString()不了解,百度后总结如下: 一 哈希码 在Java中,哈希码代表了对象的一种特征,例如我们判断某两个字符串是否==,如果其哈希码相等,则这两个字符串是相等的。其次,哈希码是一种数据结构的算法。常见的哈希码的算法有: 1:Object类的hashCode.返回对象的内 阅读全文

posted @ 2019-06-01 16:47 mike_JP 阅读(568) 评论(0) 推荐(0) 编辑

2019年5月28日

为什么要重写toString()方法,object 的hashcode()默认方法

摘要: 一、toString(): 在Object类里面定义toString()方法的时候返回的对象的哈希code码,这个hashcode码不能简单明了的表示出对象的属性。所以要重写toString()方法。当需要将一个对象输出到显示器时,通常要调用他的toString()方法,将对象的内容转换为字符串.j 阅读全文

posted @ 2019-05-28 11:16 mike_JP 阅读(633) 评论(0) 推荐(0) 编辑

导航