Java:HashMap源码解析

HashMap作为我们最常用的数据结构集合之一,有着它特点。我们可以看看其特点。首先,我们看看HashMap的数据结构模型。HashMap是数组和链表的集合。具有相同hash码为一个集合,以数组的形式存储。而每个hash码相同的数据,以链表的形式存储。 在jdk1.8的环境下,我们查看HashMap主要的方法:构造函数、put()和get() 我们先看看构造函数【默认的构造函数】:public
分类: 其他 发布时间: 02-28 09:29 阅读次数: 0

Java:Object类详解

首先,我们都知道Java所有的类都继承自超类【Object】,也就是说所有的类都是Object的子类,这是一个隐式的,我们并不需要特别的指出。我们定义一个类A。class A { public A() { super(); }}代码并不难懂,就是写了类A的构造函数。但是这里需要注意的是super关键词,调用的是父类的构造函数,我们可以跟进一下,就会跳到Object类
分类: 其他 发布时间: 02-28 09:28 阅读次数: 0

安卓:ListView上拉加载,下拉刷新简单实现

ListView有很多用处,其中更加数据、增加数据就是很明显的。可以参考微信朋友圈,上拉加载、下拉刷新。我们在xml中增加了id为listView的ListView控件。<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
分类: 其他 发布时间: 02-28 09:28 阅读次数: 0

算法:哈希查找

哈希查找要用到的概念: 哈希查找:在记录的存储地址和它关键字之间建立一个确定的对应关系。不经过比较,一次存取就能得到所查元素的查找方法。 哈希函数:在记录的关键字与记录的存储地址之间建立的一种对应关系叫哈希函数。 哈希表:应用哈希函数,由记录的关键字确定记录在表中的地址,并将记录放入此地址,这样构成的表叫哈希表。 利用哈希函数进行查找的过程叫哈希查找 冲突:对于不同的关键字ki、kj。若k
分类: 其他 发布时间: 02-28 09:28 阅读次数: 0

算法:静态查找算法

查找是最简单的算法了。但是查找的算法不同,也会有不同的差距。1、带哨兵的顺序查找。 很简单,我先上代码:int[] a = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };public static int findKey(int[] a, int key) { int index = a.length; while(index -- > 0) {
分类: 其他 发布时间: 02-28 09:28 阅读次数: 0

Java:String、StringBuffer和StringBuilder区别

String:字符串常量 StringBuffer:字符串变量(线程安全) StringBuilder:字符串变量(非线程安全)String与StringBuffer区别: 主要区别在于StringBuffer内容可变。也就是说如果觉得该字符串内容是可变的,那么最好就使用StringBuffer。这样可以减少内存的消耗。StringBuffer name = new StringBuffer(
分类: 其他 发布时间: 02-28 09:27 阅读次数: 0

Java:内存机制

Java内存主要分为四种:堆区、栈区、全局数据区、全局代码区堆区:保存所有的对象名称,更准确的说法是保留了对象引用的地址 栈区:保存每个对象的具体属性内容 全局数据区:保存static类型的属性 全局代码区:保存所有的方法定义堆取与栈区: 用来存放new出来的对象和数组。new出来后,会在堆区分配内存,而栈区存放的内容即是相对应的堆区的地址。而堆区才是真正存放数据的地方。为了更形象的说明问题
分类: 其他 发布时间: 02-28 09:27 阅读次数: 0

Java:jdbc Too many connections

一般来说,我们使用jdbc都可以封装好类。 但是可能会出现Data source rejected establishment of connection, message from server: "Too many connections" 异常。这是因为我们没有关闭数据库的连接,导致数据库连接过多。下面封装好的MySql类:import java.sql.Connection;imp
分类: 其他 发布时间: 02-28 09:27 阅读次数: 0

算法:二叉树

树状图是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 它具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树; 定义: 结点:包含一个数据元素及若干指向其子树的分支。 结点的度:结点拥有的
分类: 其他 发布时间: 02-28 09:27 阅读次数: 0

Java:二叉树的创建

普通的二叉树有两种创建方式,一种是基于数组存储的,一种是基于先序遍历的。1、基于数组的。 默认:若数组的元素出现’0’【字符串】,则代表不存在该节点。 假设数组内容为:1 2 3 4 0 5 6 7 8 0 0 9 10 则树的形状为: 1 / \ 2 3 / /
分类: 其他 发布时间: 02-28 09:26 阅读次数: 0

Java:实现单链表的创建

众所周知,Java没有C++的指针。可能会觉得很难实现单链表。但其实并不是的。Java对象本来就是引用。所以完完全全可以使用Java来实现单链表。Node.java:public class Node { int data; Node next; public Node(int data, Node node) { this.data = data;
分类: 其他 发布时间: 02-28 09:26 阅读次数: 0

JSP:显示本地图片

<%@page import="javax.imageio.ImageIO"%><%@page import="java.io.FileInputStream"%><%@page import="java.io.InputStream"%><%@page import="java.io.File"%><%@page import="java.io.OutputStream"%><!-- 需
分类: 其他 发布时间: 02-28 09:26 阅读次数: 0

安卓开发:Volley加载图片

Volley是非常好的开源框架。下载地址:点击下载。 Volley强大的地方在于不仅能发送http请求,请求json数据【详情请见:点击查看】还能加载图片,避免OOM【缓存技术,out of memory】。与发送http请求类似,需要先新建一个RequestQueue,之后再创建ImageLoader实例,用于缓存设置,之后再创建ImageListener类用于监听结果,最后再调用ImageLo
分类: 其他 发布时间: 02-28 09:26 阅读次数: 0

安卓开发:Volley发送Http请求

Volley是一个模块,封装好了jar包,可以很方便的发送http请求和处理http请求。先需要下载Volley.java。下载地址:点击下载 然后将Volley.jar复制到工程中,再add to library。RequestQueue:字面意思为请求队列。由于RequestQueue内部已经处理好了高并发,所以我们可以为所有的请求共用一个RequestQueue【请求队列】。StringRe
分类: 其他 发布时间: 02-28 09:25 阅读次数: 0

安卓开发:提供ListView效率,实现双击回到顶部,删除子项

ListView作为最常用的控件。其效率也是引人注目的。有时候会出现卡顿的现象。我们可以通过提高listView复用率来提高效率假设ListView中的子项是Detail类【含有一个TextView和一个Button】。Datail.java:public class Detail { private String textView; private String button;
分类: 其他 发布时间: 02-28 09:25 阅读次数: 0

安卓开发:使用selector自定义View样式

原声安卓的控件确实不怎么好看。但是我们可以通过使用selector制作出我们想要的样式。 这里就举个例子。当然例子会很丑。只是起抛砖引玉的作用。 效果如下: 在drawable文件夹下新建button_shape.xml:<?xml version="1.0" encoding="utf-8" ?><selector xmlns:android="http://schemas.andro
分类: 其他 发布时间: 02-28 09:25 阅读次数: 0

安卓开发:组合View实现自定义View

其实在安卓中,还可以通过组合的方式实现自定义View【原生的控件实现惨不忍睹】实现的效果如下: 自定义出标题栏。标题栏由一个按钮和一个textView组合而成。新建my_title.xml:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/
分类: 其他 发布时间: 02-28 09:25 阅读次数: 0

安卓开发:继承View实现自定义View

Android非常开源,实现自定义View有很多种方法。继承View类就是其中之一。继承View类需要实现构造函数super.()方法。其中super()方法有三个重载方法。分别是MyView(Context context)、MyView(Context context, AttributeSet attrs)和MyView(Context context, AttributeSet attrs,
分类: 其他 发布时间: 02-28 09:24 阅读次数: 0

vue element form ref 重置表单

&lt;template&gt; &lt;!--model绑定整个form对象的的数据--&gt; &lt;!--通过ref属性获得表单对象,调用resetFieleds方法重置表单的字段--&gt; &lt;el-card&gt; &lt;el-form :model="form" ref="formRef" label-width="80px"&gt; &lt;el-form-item label="活动名称" prop="name"&gt; &lt;!-
分类: 其他 发布时间: 02-28 09:24 阅读次数: 0

promise async await

1.当异步函数嵌套到别的函数内后,需要循环使用async和await否则就会变成异步async getEventList () { const { data: res } = await this.$http.get('/events') this.eventList = res},async updateEvent () { await this.$http.post('/events/update', this.currentEvent)},async finish () {
分类: 其他 发布时间: 02-28 09:24 阅读次数: 0