源码解读
未名who
不是在学习,就是在学习的路上。。。
展开
-
List集合remove元素的问题
import java.util.*; public class object { public static void main(String[] args) { String str1 = new String("abcde"); String str2 = new String("abcde"); String str3 = new String("abcde"转载 2018-01-18 14:02:47 · 281 阅读 · 0 评论 -
java new File创建文件或目录时的注意事项
1, 如下代码所示 File dir = new File("root"); File f1 = new File("root"); // 文件对象创建后,指定的文件或目录不一定物理上存在 if(!dir.exists()) { //A ...原创 2018-07-22 16:11:11 · 89537 阅读 · 2 评论 -
TreeSet用法详解
TreeSet 总结特点: 无序(指的时存储顺序和取出顺序不同),但是内部其实有集合本身的排序方式(注:但是,添加到TreeSet中的数据类型必须是相同的) 唯一(无重复元素)A:底层数据结构是红黑树(是一个自平衡的二叉树)B:保证元素的排序方式 a:自然排序(元素具备比较性) 1)让元素所属的类实现Comparable接口 2) 在...转载 2018-07-22 13:49:51 · 5841 阅读 · 0 评论 -
Java常用集合体系以及相互区别
Collection集合特点: 1.2.1一些 collection 允许有重复的元素,而另一些则不允许1.2.2一些 collection 是有序的,而另一些则是无序的【有序是指与添加的顺序一致,并非是按照一定的要求来排列形成的有序,如从大到小,小到大等】Collections在类中还用一个和Collection功能能类似的工具类Collections:此类完全由在...转载 2018-07-22 13:25:02 · 325 阅读 · 0 评论 -
活性失败-volatile
线程A对某变量值的修改,可能没有立即在线程B体现出来,称为活性失败。 注意下面这个例子,在PC和安卓上运行结果可能不一样(安卓可能不需要volatile)例子public class VolatileTest extends Thread { /** * 使用了volatile,则1秒后,子线程会退出循环,因为在主线程将isRunning置位为false */ ...转载 2018-02-28 21:12:29 · 498 阅读 · 0 评论 -
List<Map>:HashMap自身的equals实现
1,如下代码所示,对List<Map>进行map的添加和删除,androidPics.contains(pic)的判断是新创建的对象存在,且我在移除新创建的pic时,发现List集合中的逻辑相等的map对象被移除了,说明了map对象作为List的键值时,其equals不是Object.equals,而应该是对其进行了重写(注:但是hashMap的键的quals没有被重写) ...原创 2018-03-07 10:23:18 · 307 阅读 · 0 评论 -
Object类有哪些方法
Object是所有类的父类,任何类都默认继承Object。Object类到底实现了哪些方法?1.clone方法保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。2.getClass方法final方法,获得运行时类型。3.toString方法该方法用得比较转载 2018-02-07 14:58:06 · 265 阅读 · 0 评论 -
触发JVM进行Full GC的情况及应对策略
堆内存划分为 Eden、Survivor 和 Tenured/Old 空间,如下图所示:从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,对老年代GC称为Major GC,而Full GC是对整个堆来说的,在最近几个版本的JDK里默认包括了对永生带即方法区的回收(JDK8中无永生带了),出现Full GC的时候经常伴随至少一次的Minor GC,但转载 2018-02-06 22:28:59 · 148 阅读 · 0 评论 -
逐步解读HTTP报文的组成及含义
如果说HTTP是因特网的信使,那么HTTP报文就是运送的包裹。所有的HTTP程序都是通过互相发送报文来完成工作的。本文将介绍HTTP报文的流动方式,报文的组成部分,请求和响应报文之间的区别等。报文流HTTP报文是在HTTP应用程序之间发送的数据块,这些数据块以文本形式存在,以描述了报文的内容及含义的元信息开头,后面跟着可选的数据部分。这些报文在客户端、服务器和代理之间流动。一般来说,报文流转载 2018-02-06 21:06:54 · 309 阅读 · 0 评论 -
Java HashMap的死循环
在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历过,本来觉得没什么好写的,因为Java的HashMap是非线程安全的,所以在并发下必然出现问题。但是,我发现近几年,很多人都经历过这个事(在网上查“HashMap Infinite Loo...转载 2018-02-12 09:54:08 · 124 阅读 · 0 评论 -
Java虚拟机工作原理详解
一、类加载器首先来看一下java程序的执行过程。 从这个框图很容易大体上了解java程序工作原理。首先,你写好java代码,保存到硬盘当中。然后你在命令行中输入[java] view plain copy javac YourClassName.java 此时,你的java代码就被编译成字节码转载 2018-02-06 16:35:59 · 111 阅读 · 0 评论 -
HashMap的尾部遍历问题--Tail Traversing
参考:http://stackoverflow.com/questions/22890967/java-hashmap-tail-traversing在看网上HashMap的resize()设计时,提到尾部遍历。JDK1.7的HashMap在实现resize()时,新table[]的列表采用LIFO方式,即队头插入。这样做的目的是:避免尾部遍历。参考stackoverf转载 2018-02-06 15:45:33 · 872 阅读 · 0 评论 -
依赖注入和控制反转的理解
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。一、分享Iteye的开涛对Ioc的精彩讲解 首先要分享的是Iteye的开涛这位技术牛人对Spring框...转载 2018-02-09 17:05:13 · 154 阅读 · 0 评论 -
数据库中长连接和短连接的区别分析
什么是长连接?其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态。通常的短连接操作步骤是:连接-》数据传输-》关闭连接;而长连接通常就是:连接-》数据传输-》保持连接-》数据传输-》保持连接-》…………-》关闭连接;这就要求长连接在没有数据通信时,定时发送数据包,以维持连接状态,短连接在没有数据传输时直接关闭就行了什么时候用长连接,短连接?长连接主要用于在少数客户端与服...转载 2018-02-09 11:15:20 · 911 阅读 · 0 评论 -
为什么数据库连接很消耗资源
本文主要想探究一下连接数据库的细节,尤其是在Web应用中要使用数据库来连接池,以免每次发送一次请求就重新建立一次连接。对于这个问题,答案都是一致的,建立数据库连接很耗时,但是这个耗时是都多少呢,又是分别在哪些方面产生的耗时呢?本文以连接MySQL数据库为例,因为MySQL数据库是开源的,其通信协议是公开的,所以我们能够详细分析建立连接的整个过程。 在本文中,消耗资源的分析主要集中在网络上,当然,...转载 2018-02-09 11:04:50 · 532 阅读 · 0 评论 -
JAVA基础知识之IO——Java IO体系及常用类
Java IO体系个人觉得可以用“字节流操作类和字符流操作类组成了Java IO体系”来高度概括Java IO体系。借用几张网络图片来说明(图片来自 http://blog.csdn.net/zhangerqing/article/details/8466532 ) 基于字节的IO操作 基于字符的IO操作 ...转载 2018-07-22 17:50:07 · 906 阅读 · 0 评论