
Java 语言
DonnyCoy
这个作者很懒,什么都没留下…
展开
-
JAVA 二分查找
1. 二分查找原理图2. 分查找代码实现public class BinarySearch { public static void main(String[] args) { // TODO Auto-generated method stub int[] arr = {11,22,33,44,44,55,55,66}; int index = binarySearch(arr,55); System.out.println("index : " + inde原创 2020-09-02 14:25:58 · 229 阅读 · 0 评论 -
JAVA 冒泡、选择排序算法
1. 冒泡排序/** 冒泡排序基本概念是:* 依次比较相邻的两个数,将小数放在前面,大数放在后面。* 即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。* 然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,* 直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,* 将最大的数放到了最后。在第二趟:仍从第一对数开始比较* (因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),* 将小数放前,大数放后,一直比较到倒数第二个数(倒数第...原创 2020-09-02 14:10:40 · 181 阅读 · 0 评论 -
JAVA 网络编程多线程上传文件
1. UploadClient.javaimport java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.Socket;public class UploadCli原创 2020-08-27 21:41:02 · 368 阅读 · 0 评论 -
JAVA 多线程常见的问题
1:多线程有几种实现方案,分别是哪几种? 两种。 继承Thread类 实现Runnable接口 扩展一种:实现Callable接口。这个得和线程池结合。2:同步有几种方式,分别是什么? 两种。 同步代码块 同步方法3:启动一个线程是run()还是start()?它们的区别? start(); run():封装了被线程执行的代码,直接调用仅仅是普通方法的调用 start():启动线程...原创 2020-08-27 10:05:51 · 125 阅读 · 0 评论 -
JAVA 线程的状态转换图及常见执行情况
原创 2020-08-26 22:32:33 · 120 阅读 · 0 评论 -
JAVA Thread的生命周期图解
原创 2020-08-25 16:54:10 · 157 阅读 · 0 评论 -
JAVA IO小结
package com.wdy.charIO;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import ja.原创 2020-08-23 13:07:01 · 170 阅读 · 0 评论 -
JAVA catch里面有return语句,请问finally里面的代码还会执行吗?
* 如果会执行,请问是在return前,还是return后。* 会。前。public class FinallyDemo { public static void main(String[] args) { System.out.println(getInt()); } public static int getInt() { int a = 10; try { System.out.println(a / 0); a = 20; } catch ...原创 2020-08-21 14:30:27 · 795 阅读 · 1 评论 -
JAVA final,finally和finalize的区别
* final:最终的意思,可以修饰类,成员变量,成员方法* 修饰类,类不能被继承* 修饰变量,变量是常量* 修饰方法,方法不能被重写* finally:是异常处理的一部分,用于释放资源。* 一般来说,代码肯定会执行,特殊情况:在执行到finally之前jvm退出了* finalize:是Object类的一个方法,用于垃圾回收...原创 2020-08-21 14:19:39 · 170 阅读 · 0 评论 -
JAVA throws和throw的区别
原创 2020-08-21 14:04:47 · 182 阅读 · 0 评论 -
JAVA 集合特点概述
1.Collection(单列集合) 1.1 List(有序,可重复) ArrayList 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector 底层数据结构是数组,查询快,增删慢 线程安全,效率低 LinkedList 底层数据结构是链表,查询慢...原创 2020-08-20 17:36:46 · 142 阅读 · 0 评论 -
JAVA Hashtable和HashMap的区别
Hashtable:线程安全,效率低。不允许null键和null值HashMap:线程不安全,效率高。允许null键和null值其他都一样,其实HashMap是用来替换Hashtable的。原创 2020-08-20 16:38:24 · 140 阅读 · 0 评论 -
JAVA HashMap遍历讲解
package com.wdy.hashmap;import java.util.HashMap;import java.util.Map;import java.util.Set;public class HashMapDemo { public static void main(String[] args) { // TODO Auto-generated method stub // 创建Hashmap对象 HashMap<String,String> map.原创 2020-08-20 13:28:40 · 277 阅读 · 0 评论 -
JAVA Collection集合总结
1. Collection集合总结 Collection |--List 有序,可重复 |--ArrayList 底层数据结构是数组,查询快,增删慢。 线程不安全,效率高 |--Vector 底层数据结构是数组,查询快,增删慢。 线程安全,效率低 |--LinkedList...原创 2020-08-18 18:01:02 · 168 阅读 · 0 评论 -
JAVA Set集合特点
(1)Set集合的特点 无序,唯一 (2)HashSet集合(掌握) A:底层数据结构是哈希表(是一个元素为链表的数组) B:哈希表底层依赖两个方法:hashCode()和equals() 执行顺序: 首先比较哈希值是否相同 相同:继续执行equals()方法 返回true:元素重复了,不添加 ...原创 2020-08-18 17:58:21 · 409 阅读 · 0 评论 -
JAVA TreeSet集合保证元素排序和唯一性
* TreeSet:能够对元素按照左小右大等不管规则进行排序。TreeSet是一个二叉树结构(红黑树是一个平衡二叉树)。* 排序有两种方式* A:自然排序* B:比较器排序** TreeSet集合的特点:排序和唯一* TreeSet集合保证元素排序和唯一性的原理* 唯一性:是根据比较的返回是否是0来决定。* 排序:* A:自然排序(元素具备比较性)* 让元素所属的类实现自然排序接口 Comparable* ...原创 2020-08-18 17:40:35 · 720 阅读 · 0 评论 -
JAVA HashSet的内容的唯一性
1. 通过具体的例子来说明:public class HashSetDemo { public static void main(String[] args) { // 创建集合对象 HashSet<String> hs = new HashSet<String>(); // 创建并添加元素 hs.add("hello"); hs.add("world"); hs.add("java"); hs.add("world"); // 遍历...原创 2020-08-18 15:28:43 · 212 阅读 · 0 评论 -
JAVA List的特点
原创 2020-08-16 23:31:56 · 332 阅读 · 0 评论 -
JAVA 常见数据结构
原创 2020-08-16 22:45:22 · 88 阅读 · 0 评论 -
JAVA ConcurrentModificationException
import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.ListIterator;/* * 问题? * 我有一个集合,如下,请问,我想判断里面有没有"world"这个元素,如果有,我就添加一个"javaee"元素,请写代码实现。 * * ConcurrentModificationException:当方法检测到对象的并发修改,但不允许这种修改时,抛出此异.原创 2020-08-16 22:32:13 · 110 阅读 · 0 评论 -
JAVA 集合的继承体系图解
原创 2020-08-16 17:06:20 · 210 阅读 · 0 评论 -
JAVA 迭代器使用图解和原理解析
原创 2020-08-16 17:05:46 · 328 阅读 · 0 评论 -
JAVA 类与修饰符
/* 修饰符: 权限修饰符:private,默认的,protected,public 状态修饰符:static,final 抽象修饰符:abstract 类: 权限修饰符:默认修饰符,public 状态修饰符:final 抽象修饰符:abstract 用的最多的就是:public 成员变量: 权限修饰符:private,默认的,protected,public 状态修饰符:static,final 用的最多的就是:private .原创 2020-08-12 09:11:00 · 610 阅读 · 0 评论 -
JAVA 权限修饰符
public protected 默认 private 同一类 √ √ √ √ 同一包下子类、其他类 √ √ √ 不同包子类 √ √ 不同包其他类 √原创 2020-08-12 08:55:27 · 118 阅读 · 0 评论 -
JAVA 抽象类和接口的区别
抽象类和接口的区别:A:成员区别 抽象类: 成员变量:可以变量,也可以常量 构造方法:有 成员方法:可以抽象,也可以非抽象 接口: 成员变量:只可以常量 构造方法:无 成员方法:只可以抽象B:关系区别 类与类 继承,单继承 类与接口 实现,单实现,多实现 接口与接口 继承,单继承,多继承C:设计理念区...原创 2020-08-11 12:05:49 · 98 阅读 · 0 评论 -
JAVA final关键字
final关键字是最终的意思,可以修饰类,成员变量,成员方法。修饰类,类不能被继承 修饰变量,变量就变成了常量,只能被赋值一次 修饰方法,方法不能被重写final修饰局部变量在方法内部,该变量不可以被改变 在方法声明上,分别演示基本类型和引用类型作为参数的情况基本类型,是值不能被改变 引用类型,是地址值不能被改变final修饰变量的初始化时机在对象构造完毕前即可...原创 2020-08-09 23:20:04 · 87 阅读 · 0 评论 -
JAVA static关键字
(1)静态的意思。可以修饰成员变量和成员方法。 (2)静态的特点: A:随着类的加载而加载 B:优先与对象存在 C:被类的所有对象共享 这其实也是我们判断该不该使用静态的依据。 举例:饮水机和水杯的问题思考 D:可以通过类名调用 既可以通过对象名调用,也可以通过类名调用,建议通过类名调用。 (3)静态的内存图 静态的内容在方法区...原创 2020-08-08 20:50:46 · 238 阅读 · 0 评论 -
JAVA 类的初始化过程
Student s = new Student();在内存中做了哪些事情?加载Student.class文件进内存 在栈内存为s开辟空间 在堆内存为学生对象开辟空间 对学生对象的成员变量进行默认初始化 对学生对象的成员变量进行显示初始化 通过构造方法对学生对象的成员变量赋值 学生对象初始化完毕,把对象地址赋值给s变量...原创 2020-08-08 18:06:26 · 172 阅读 · 0 评论 -
JAVA 二维数组内存图解
原创 2020-08-07 15:04:45 · 246 阅读 · 0 评论 -
JAVA 内存分配
Java 程序在运行时,需要在内存中的分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。栈 存储局部变量 堆 存储new出来的东西 方法区 本地方法区 (和系统相关) 寄存器 (给CPU使用)...原创 2020-08-07 10:53:28 · 120 阅读 · 0 评论 -
JAVA 运算符的优先级
原创 2020-08-04 17:22:31 · 141 阅读 · 0 评论 -
JAVA 进制之间的转化
其他进制到10进制:10进制到其他进制:2进制到其他进制原创 2020-08-01 11:46:58 · 106 阅读 · 0 评论 -
JAVA 原码、反码、补码
原创 2020-08-01 11:40:35 · 103 阅读 · 0 评论 -
JAVA ConcurrentModificationException并发修改异常
1. 问题描述Android或者Java代码中,我们通常会对集合进行操作,所以有时一不小心就出现了ConcurrentModificationException异常.为了更好的讲解这个问题。代码实现的功能是“我有一个集合,我想判断里面有没有"world"这个元素,如果有,我就添加一个"javaee"元素”列出如下的问题代码:public class ListIt原创 2017-09-22 17:02:58 · 363 阅读 · 0 评论 -
Android拷贝图片到指定路径
1.拷贝图片的工具类import Android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Environment;import android.text.TextUtils;import Java.io.File;原创 2017-08-29 14:28:19 · 2860 阅读 · 0 评论 -
JAVA List、Set、Map介绍
写本文之前首先感谢一下传智播客,因为他们的无私,我们才有了很多优质的学习视频。下面进入正题,介绍一下List、Set、Map1 集合(Collection)(1)集合的由来?我们学习的是Java -- 面向对象 -- 操作很多对象 -- 存储 -- 容器(数组和StringBuffer) -- 数组而数组的长度固定,所以不适合做变化的需求,Java就提供了集合供我们使用。原创 2017-11-09 10:58:27 · 334 阅读 · 0 评论 -
Android SQLiteDatabase事务的简介
首先我们举个例子,假如说张三给李四转账200块钱,张三转账过程中,突然间断网了,导致张三的200块钱未转到李四的账户,但是此时张三的银行卡里已经扣了200块钱已经,也就是总存款数减少了200块钱。但是李四的账户总存款数却未发生改变,也就是说李四的账户中钱数并未增加200块钱。这种情况如果我们不使用事务对账户中的数据库进行操作,是高概率发生的。Google当然也考虑到了这个问题,所以就提原创 2017-11-02 13:08:15 · 555 阅读 · 0 评论 -
JAVA 网络编程简单示例
网络编程也就是常说的Socket编程。有TCP和UDP方式,每一种方式都分为客户端和服务器端,下面分别展示代码网络通信三要素lIP地址:InetAddress 网络中设备的标识,不易记忆,可用主机名 要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接受数据的计算机和识别发送的计算机,在TCP/IP协议中原创 2017-10-17 10:55:49 · 455 阅读 · 0 评论 -
Java的转义字符
转移字符对应的英文是escape character (escape还有转义的意思)字母前面加上捺斜线"\"来表示常见的那些不能显示的ASCII字符.称为转义字符.如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。所有的转义字符和所对应的意义:转义字符意义ASCII码值(十进制)转载 2017-08-11 11:13:06 · 810 阅读 · 0 评论