随笔分类 -  Javase

java基础
摘要:一、什么是哈希表在讨论哈希表之前,我们先大概了解下其他数据结构在新增,查找等基础操作执行性能数组:采用一段连续的存储单元来存储数据。对于指定下标的查找,时间复杂度为O(1);通过给定值进行查找,需要遍历数组,逐一比对给定关键字和数组元素,时间复杂度为O(n),当然,对于有序数组,则可采用二分查找,插 阅读全文
posted @ 2021-07-29 11:37 代码改变心态 阅读(107) 评论(0) 推荐(0)
摘要:volatile 如果解决内存可见性和重排序? https://www.jianshu.com/p/64240319ed60一文解决内存屏障 内存屏障是硬件之上、操作系统或JVM之下,对并发作出的最后一层支持。再向下是是硬件提供的支持; 向上是操作系统或JVM对内存屏障作出的各种封装。内存屏障是一种 阅读全文
posted @ 2021-07-29 11:36 代码改变心态 阅读(123) 评论(0) 推荐(0)
摘要:没心情优化代码了,就先这样吧 阅读全文
posted @ 2018-04-25 21:43 代码改变心态 阅读(400) 评论(0) 推荐(0)
摘要:测试代码如下: 阅读全文
posted @ 2018-04-25 18:50 代码改变心态 阅读(293) 评论(0) 推荐(0)
摘要:需求说明: 编写一个diff工具,用于判断两个目录下所有的改动 详细介绍: 使用场景: 本工具用于软件版本升级时找出两个版本间所有修改过的文件,便于增量替换。 提示: 阅读全文
posted @ 2018-04-25 01:14 代码改变心态 阅读(539) 评论(0) 推荐(0)
摘要:1 package comcollection.test; 2 3 import java.util.Comparator; 4 import java.util.Iterator; 5 import java.util.TreeSet; 6 7 /** 8 * @author MJC 9 *2018年2月8日 10 * 下午9:28:56 11 */ 12 pub... 阅读全文
posted @ 2018-02-08 22:08 代码改变心态 阅读(530) 评论(0) 推荐(0)
摘要:1. HashMap 是基于哈希表的Map接口的实现。 这个实现提供了所有可选的映射操作,并且允许key与value为null HashMap类大致等同于Hashtable,除了它是不同步并允许空值。这个类没有保证map的顺序; 特别是不保证这个顺序 将随时间保持不变。 2. 这个实现为基础提供了恒 阅读全文
posted @ 2018-01-27 23:35 代码改变心态 阅读(196) 评论(0) 推荐(0)
摘要:1,迭代器允许调用者在迭代期间使用明确定义的语义从底层集合中移除元素。 2,方法名称已被改进 阅读全文
posted @ 2018-01-26 18:20 代码改变心态 阅读(152) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2018-01-26 17:20 代码改变心态 阅读(154) 评论(0) 推荐(0)
摘要:要求:设计4个线程,其中两个线程每次对 i 增加1,另外两个线程对 i 每次减少1,写出程序。 在以下程序中,numOfPrint 代表题目中的 i 为了解决本方唤醒其他一方的问题。可以一个锁创建多个监视器对象(Condition对象)。 阅读全文
posted @ 2018-01-19 12:31 代码改变心态 阅读(702) 评论(0) 推荐(0)
摘要:/* * 存储方式:1.顺序结构 2.链式存储 * * 1.数据的存储的“容器”:①数组 int[] arr = new int[10]②集合 * 2.Collection:用来存储一个一个的数据 * | Set:存储无序的、不可重复的数据--相当于高中的"集合"--“哈希算法” * | HashS 阅读全文
posted @ 2017-12-29 22:44 代码改变心态 阅读(221) 评论(0) 推荐(0)
摘要:其中拉链法只是解决冲突的一种算法而已 阅读全文
posted @ 2017-12-29 22:20 代码改变心态 阅读(134) 评论(0) 推荐(0)
摘要:背景: 要想传输东西,首先要定位,你都不知道该传给谁,怎么进行传输,所以需要以下两步 网络编程中有两个主要的问题: 1)如何准确地定位网络上一台或多台主机: 通信双方地址 a) IP 地址:InetAddress(java的一个类)唯一的标识 Internet 上的计算机 ,一个InetAdress 阅读全文
posted @ 2017-08-29 11:08 代码改变心态 阅读(163) 评论(0) 推荐(0)
摘要:StringBuffer1,是一个字符串缓冲区,其实就是一个容器。2,长度是可变,任意类型都行。注意:是将任意数据都转成字符串进行存储。 解释一下可变长度(解释 StringBuffer 原理) 假设StringBuffer维护了一个长度为8的数组,当长度超过8时,就会创建一个新的数组,前一个的数组 阅读全文
posted @ 2017-08-29 00:27 代码改变心态 阅读(248) 评论(0) 推荐(0)
摘要:原理: 使用一个代理将对象包装起来, 然后用该代理对象取代原始对象. 任何对原始对象的调用都要通过代理. 代理对象决定是否以及何时将方法调用转到原始对象上 1,静态代理 特征是代理类和目标对象的类都是在编译期间确定下来,不利于程序的扩展。 同时,每一个代理类只能为一个接口服务,这样一来程序开发中必然 阅读全文
posted @ 2017-08-28 23:47 代码改变心态 阅读(178) 评论(0) 推荐(0)
摘要:1,文件在具体的包下 ClassLoader loader = this.getClass().getClassLoader();InputStream is = loader.getResourceAsStream("com\\atguigu\\java\\jdbc.properties"); 2 阅读全文
posted @ 2017-08-28 23:05 代码改变心态 阅读(332) 评论(0) 推荐(0)
摘要:反射背景: 学习重点: 1)创建对应的运行时类的对象 2)调用对应的运行时类的指定的结构(属性、方法、构造器) 定义: Reflection(反射)是被视为动态语言的关键, 反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息, 并能直接操作任意对象的内部属性及方法 好处: 阅读全文
posted @ 2017-08-28 22:33 代码改变心态 阅读(180) 评论(0) 推荐(0)
摘要:Java IO原理 :IO流用来处理设备之间的数据传输。 流的分类: 阅读全文
posted @ 2017-08-25 17:09 代码改变心态 阅读(146) 评论(0) 推荐(0)
摘要:一、异常的体系结构 java.lang.Throwable | Error:错误,程序中不进行处理 | Exception:异常,要求在编写程序时,就要考虑到对这些异常的处理 | 编译时异常:在编译期间会出现的异常(执行javac.exe命令时,出现异常) | 运行时异常:在运行期间出现的异常(执行 阅读全文
posted @ 2017-08-22 22:55 代码改变心态 阅读(226) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2017-08-17 01:37 代码改变心态 阅读(138) 评论(0) 推荐(0)