Java:HashMap源码解析
HashMap作为我们最常用的数据结构集合之一,有着它特点。我们可以看看其特点。首先,我们看看HashMap的数据结构模型。HashMap是数组和链表的集合。具有相同hash码为一个集合,以数组的形式存储。而每个hash码相同的数据,以链表的形式存储。 在jdk1.8的环境下,我们查看HashMap主要的方法:构造函数、put()和get() 我们先看看构造函数【默认的构造函数】:public
Java:Object类详解
首先,我们都知道Java所有的类都继承自超类【Object】,也就是说所有的类都是Object的子类,这是一个隐式的,我们并不需要特别的指出。我们定义一个类A。class A { public A() { super(); }}代码并不难懂,就是写了类A的构造函数。但是这里需要注意的是super关键词,调用的是父类的构造函数,我们可以跟进一下,就会跳到Object类
安卓:ListView上拉加载,下拉刷新简单实现
ListView有很多用处,其中更加数据、增加数据就是很明显的。可以参考微信朋友圈,上拉加载、下拉刷新。我们在xml中增加了id为listView的ListView控件。<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
Java:String、StringBuffer和StringBuilder区别
String:字符串常量 StringBuffer:字符串变量(线程安全) StringBuilder:字符串变量(非线程安全)String与StringBuffer区别: 主要区别在于StringBuffer内容可变。也就是说如果觉得该字符串内容是可变的,那么最好就使用StringBuffer。这样可以减少内存的消耗。StringBuffer name = new StringBuffer(
Java:jdbc Too many connections
一般来说,我们使用jdbc都可以封装好类。 但是可能会出现Data source rejected establishment of connection, message from server: "Too many connections" 异常。这是因为我们没有关闭数据库的连接,导致数据库连接过多。下面封装好的MySql类:import java.sql.Connection;imp
Java:二叉树的创建
普通的二叉树有两种创建方式,一种是基于数组存储的,一种是基于先序遍历的。1、基于数组的。 默认:若数组的元素出现’0’【字符串】,则代表不存在该节点。 假设数组内容为:1 2 3 4 0 5 6 7 8 0 0 9 10 则树的形状为: 1 / \ 2 3 / /
Java:实现单链表的创建
众所周知,Java没有C++的指针。可能会觉得很难实现单链表。但其实并不是的。Java对象本来就是引用。所以完完全全可以使用Java来实现单链表。Node.java:public class Node { int data; Node next; public Node(int data, Node node) { this.data = data;
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"%><!-- 需
安卓开发:Volley加载图片
Volley是非常好的开源框架。下载地址:点击下载。 Volley强大的地方在于不仅能发送http请求,请求json数据【详情请见:点击查看】还能加载图片,避免OOM【缓存技术,out of memory】。与发送http请求类似,需要先新建一个RequestQueue,之后再创建ImageLoader实例,用于缓存设置,之后再创建ImageListener类用于监听结果,最后再调用ImageLo
安卓开发:Volley发送Http请求
Volley是一个模块,封装好了jar包,可以很方便的发送http请求和处理http请求。先需要下载Volley.java。下载地址:点击下载 然后将Volley.jar复制到工程中,再add to library。RequestQueue:字面意思为请求队列。由于RequestQueue内部已经处理好了高并发,所以我们可以为所有的请求共用一个RequestQueue【请求队列】。StringRe
安卓开发:提供ListView效率,实现双击回到顶部,删除子项
ListView作为最常用的控件。其效率也是引人注目的。有时候会出现卡顿的现象。我们可以通过提高listView复用率来提高效率假设ListView中的子项是Detail类【含有一个TextView和一个Button】。Datail.java:public class Detail { private String textView; private String button;
安卓开发:使用selector自定义View样式
原声安卓的控件确实不怎么好看。但是我们可以通过使用selector制作出我们想要的样式。 这里就举个例子。当然例子会很丑。只是起抛砖引玉的作用。 效果如下: 在drawable文件夹下新建button_shape.xml:<?xml version="1.0" encoding="utf-8" ?><selector xmlns:android="http://schemas.andro
安卓开发:组合View实现自定义View
其实在安卓中,还可以通过组合的方式实现自定义View【原生的控件实现惨不忍睹】实现的效果如下: 自定义出标题栏。标题栏由一个按钮和一个textView组合而成。新建my_title.xml:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/
安卓开发:继承View实现自定义View
Android非常开源,实现自定义View有很多种方法。继承View类就是其中之一。继承View类需要实现构造函数super.()方法。其中super()方法有三个重载方法。分别是MyView(Context context)、MyView(Context context, AttributeSet attrs)和MyView(Context context, AttributeSet attrs,
vue element form ref 重置表单
<template> <!--model绑定整个form对象的的数据--> <!--通过ref属性获得表单对象,调用resetFieleds方法重置表单的字段--> <el-card> <el-form :model="form" ref="formRef" label-width="80px"> <el-form-item label="活动名称" prop="name"> <!-
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 () {
今日推荐
周排行