
java
小草dym
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
动态代理(JDK的动态代理)
UsbSell.javapackage com.dym.service;//目标接口public interface UsbSell { float sell(int amount); void print();}UsbKingFactory.javapackage com.dym.factory;import com.dym.service.UsbSell;//目标类public class UsbKingFactory implements Us..原创 2021-06-20 18:31:34 · 207 阅读 · 0 评论 -
计算页数的公式
每一页显示100条数据, pageSize一共有999999条数据, n请问有多少页 pageCount = (n + pageSize - 1) / pageSize原创 2021-06-19 21:21:13 · 3029 阅读 · 0 评论 -
反射:框架设计的灵魂
* 框架:半成品软件。可以在框架的基础上进行软件开发,简化编码* 反射:将类的各个组成部分封装为其他对象,这就是反射机制 * 好处: 1. 可以在程序运行过程中,操作这些对象 2. 可以解耦,提高程序的可扩展性* 获取Class对象的方式: 1. Class.forName("全类名"):将字节码文件加载进内存,返回Class类对...原创 2020-02-01 22:51:17 · 128 阅读 · 0 评论 -
Junit单元测试
* 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2. 白盒测试:需要写代码的。关注程序具体的执行流程。* Junit使用:白盒测试 * 步骤: 1. 定义一个测试类(测试用例) * 建议: * 测试类名:被测试的类名Test Calculat...原创 2020-02-01 21:00:27 · 181 阅读 · 0 评论 -
IDEA常用快捷键
原创 2020-02-01 19:57:21 · 136 阅读 · 1 评论 -
List集合与List的子类
掌握了Collection接口的使用后,再来看看Collection接口中的子类,他们都具备那些特性呢?Collection中的常用几个子类(java.util.List集合、java.util.Set集合)List接口介绍List接口特点: 它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、22、33的顺序完成的。 ...原创 2020-01-29 01:44:13 · 388 阅读 · 0 评论 -
常见的数据结构——栈、队列、数组、链表和红黑树
链表链表:linked list,由一系列结点node(链表中每一个元素称为结点)组成,结点可以在运行时i动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。我们常说的链表结构有单向链表与双向链表,那么这里给大家介绍的是单向链表。简单的说,采用该结构的集合,对元素的存取有如下的特点:红黑树...原创 2020-01-29 01:16:30 · 431 阅读 · 0 评论 -
集合综合案例
案例介绍斗地主综合案例: 1.准备牌 2.洗牌 3.发牌 4.看牌package com.itheima.demo04.Test;import java.util.ArrayList;import java.util.Collections;public class DouDiZhu { publi...原创 2020-01-29 00:42:10 · 731 阅读 · 0 评论 -
泛型
泛型概述集合中是可以存放任意对象的,只要把对象存储集合后,那么这时他们都会被提升成Object类型。当取出每一个对象,并且进行相应的操作,这时必须采用类型转换创建集合对象,使用泛型 好处: 1.避免了类型转换的麻烦,存储的是什么类型,取出的就是什么类型 2.把运行期异常(代码运行之后会抛出的异常),提升到了编译期异常(写...原创 2020-01-28 10:27:36 · 189 阅读 · 0 评论 -
增强for
增强for循环(也称for each循环)是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。它的内部原理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作增强for循环:底层使用的也是迭代器,使用for循环的格式,简化了迭代器的书写 是JDK1.5之后出现的新特性 Collection<E>extends I...原创 2020-01-27 19:06:57 · 229 阅读 · 0 评论 -
Iterator迭代器
Iterator迭代器Iterator接口java.util.Iterator接口:迭代器(对集合进行遍历) 有两个常用的方法 boolean hasNext() 如果仍有元素可以迭代,则返回 true。 判断集合中还有没有下一个元素,有就返回true,没有就返回false E next() 返回迭代的下一个元素。...原创 2020-01-27 18:58:44 · 149 阅读 · 0 评论 -
Collection集合
集合 例如:ArrayList<E>集合框架Collection 常用功能java.util.Collection接口 所有单列集合的最顶层的接口,里边定义了所有单列集合共性的方法 任意的单列集合都可以使用Collection接口中的方法package com.itheima.demo01.Collection;...原创 2020-01-27 18:24:32 · 180 阅读 · 0 评论 -
基本类型与字符串之间的转换
基本类型与字符串之间的转换基本类型 与 字符串类型 之间的相互转换 基本类型->字符串(String) 1.基本类型的值+"" 最简单的方法(工作中常用) 2.包装类的静态方法toString(参数),不是Object类的toString() 重载 static String toString(int i) 返回一个表示指...原创 2020-01-27 17:11:51 · 224 阅读 · 0 评论 -
ArrayList练习——存储随机、存储自定义、按指定格式输出、筛选集合
数值添加到集合 题目:生成6个1~33之间的随机整数,添加到集合,并遍历集合。思路:1. 需要存储6个数字,创建一个集合,<Integer>2. 产生随机数,需要用到Random3. 用循环6次,来产生6个随机数字:for循环4. 循环内调用r.nextInt(int n),参数是33,0~32,整体+1才是1~335. 把数字添加到集合中:add6. 遍历集...原创 2020-01-27 14:57:57 · 490 阅读 · 0 评论 -
ArrayList集合
ArrayList类数组的长度不可以发生改变但是ArrayList集合的长度是可以随意变化的对于ArrayList来说,有一个尖括号<E>代表泛型泛型:也就是装在集合当中的所有元素,全都是统一的什么类型。注意:泛型只能是引用类型,不能是基本类型注意事项:对于ArrayList集合来说,直接打印得到的不是地址值,而是内容如果内容是空,得到的是空的中括号:[ ]pac...原创 2020-01-27 14:24:53 · 227 阅读 · 0 评论 -
异常 —— throws
1.1 异常概念1.2 异常体系 java.lang.Throwable:类是 Java 语言中所有错误或异常的超类。 Exception:编译期异常,进行编译(写代码)java程序出现的问题 RuntimeException:运行期异常,java程序运行过程中出现的问题 异常就相当于程序得了一个小毛病(感冒...原创 2020-01-26 18:58:32 · 346 阅读 · 0 评论 -
练习:文本排序
练习: 对文本的内容进行排序 按照(1,2,3....)顺序排序 分析: 1.创建一个HashMap集合对象,可以:存储每行文本的序号(1,2,3,..);value:存储每行的文本 2.创建字符缓冲输入流对象,构造方法中绑定字符输入流 3.创建字符缓冲输出流对象,构造方法中绑定字符输出流 ...原创 2020-01-19 21:14:39 · 381 阅读 · 0 评论 -
缓冲流
比如能够高效读写的缓冲流,能够转换编码的转换流,能够持久化存储对象的序列化流等等。这些功能更为强大的流,都是在基本的流对象基础之上创建而来的,就像穿上铠甲的武士一样,相当于是对基本流对象的一种增强。 字节缓冲流 构造方法java.io.BufferedOutputStream extends OutputStream BufferedOutputStream:...原创 2020-01-19 20:00:10 · 162 阅读 · 0 评论 -
属性集
java.util.Properties集合 extends Hashtable<k,v> implements Map<k,v> Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。 Properties集合是一个唯一和IO流相结合的集合 可以使用Properties集合中的方法store,...原创 2020-01-19 13:35:57 · 388 阅读 · 0 评论 -
IO异常的处理
在jdk1.7之前使用try catch finally 处理流中的异常 格式: try{ 可能会产出异常的代码 }catch(异常类变量 变量名){ 异常的处理逻辑 }finally{ 一定会指定的代码 资源释放 }pac...原创 2020-01-19 00:33:18 · 664 阅读 · 0 评论 -
字符流
使用字节流读取中文文件 1个中文 GBK:占用两个字节 UTF-8:占用3个字节package com.itheima.Demo04.Reader;import java.io.FileInputStream;import java.io.IOException;public class Demo01InputStream { p...原创 2020-01-19 00:06:33 · 199 阅读 · 0 评论 -
字节流练习:图片复制
文件复制练习:一读一写 明确: 数据源: c:\\1.jpg 数据的目的地: d:\\1.jpg 文件复制的步骤: 1.创建一个字节输入流对象,构造方法中绑定要读取的数据源 2.创建一个字节输出流对象,构造方法中绑定要写入的目的地 3.使用字节输入流对象中的方法read读取文件 ...原创 2020-01-18 22:52:21 · 370 阅读 · 0 评论 -
字节输入流 InputStream
字节输入流【InputStream】 java.io.InputStream:字节输入流 此抽象类是表示字节输入流的所有类的超类。 定义了所有子类共性的方法: int read()从输入流中读取数据的下一个字节。 int read(byte[] b) 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。 ...原创 2020-01-18 17:13:39 · 257 阅读 · 0 评论 -
一次写多个字节的方法 || 数据追加续写
一次写多个字节的方法: public void write(byte[] b):将 b.length字节从指定的字节数组写入此输出流。 public void write(byte[] b, int off, int len) :从指定的字节数组写入 len字节,从偏移量 off开始输出到此输出流。public void write(byte[ ] b)...原创 2020-01-18 14:10:29 · 624 阅读 · 0 评论 -
字节流 的知识1
IO流1.1 什么是IO?1.2 IO的分类1.3顶级父类们 字节流 2.1 一切皆为字节2.2 字节输出流【OutputStream】 java.io.OutputStream:字节输出流 此抽象类是表示输出字节流的所有类的超类 定义了一些子类共性的成员方法: - public void...原创 2020-01-18 00:48:13 · 167 阅读 · 0 评论 -
综合案例:文件搜索
练习:递归打印多级目录 需求: 遍历c:\\abc文件夹,及abc文件夹的子文件夹 只要.java结尾的文件 c:\\abc c:\\abc\\abc.txt c:\\abc\\abc.java c:\\abc\\a c:\\abc\\a\\a.jpg c:...原创 2020-01-17 23:27:10 · 237 阅读 · 0 评论 -
递归 || 递归的相关实例练习
递归的使用前提: 当调用方法的时候,方法的主体不变,每次调用方法的参数不同,可以使用递归package com.itheima.demo02.Recursion;public class Demo01Recurison { public static void main(String[] args) { //a(); b...原创 2020-01-17 21:27:54 · 187 阅读 · 0 评论 -
File类的知识2
public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。 创建文件的路径和名称在构造方法中给出(构造方法的参数) 返回值:布尔值 true:文件不存在,创建文件,返回true false:文件存在,不会创建,返回false 注意:...原创 2020-01-17 17:28:22 · 218 阅读 · 0 评论 -
File类的知识1
File类 递归 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。java.io.File类 文件和目录路径名的抽象表示形式。 java把电脑中的文件和文件夹(目录)封装为了一个File类,我们可以使用File类对文件和文件夹进行操作 我们可以使用File类的方法 创建一个文件/文件夹...原创 2020-01-17 16:17:00 · 611 阅读 · 0 评论 -
Java的知识点1
字节码文件 虚拟机java程序的跨平台主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码进行运行。Java是安全的:在运行环境提供了四级安全性保障机制 字节码校验器 —— 类装载器 —— 运行时内存布局 —— 文件访问限制字节码文件 bytecod...原创 2018-09-26 12:59:16 · 196 阅读 · 0 评论 -
JAVA的知识点2
Java的标识符命名规则:标识符必须以字母、下划线_、美元符号$开头标识符的使用规范:表示类名的标识符:每个单词的首字母大写,如Man, GoodMan表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写,我们称之为“驼峰原则”,如eat(), eatFood()常量:大写字母和下划线:MAX_VALUE注:Java不采用通常语言使用的ASCII字符集,而是采...原创 2018-10-07 16:17:31 · 153 阅读 · 0 评论 -
JAVA的知识点3——浮点数的相关处理
浮点类型float,double的数据不适合在不容许舍入误差的金融计算领域。如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类。因为由于字长有限,浮点数能够精确表示的数是有限的,因而也是离散的。浮点数一般都存在舍入误差,很多数字无法精确表示(例如0.1),其结果只能是接近, 但不等于。二进制浮点数不能精确的表示0.1、0.01、0.001这样10的负次幂。并不...原创 2018-10-09 23:14:56 · 199 阅读 · 0 评论 -
JAVA的知识点4——字符型变量/常量 boolean类型变量/常量
字符型变量/常量 字符型在内存中占2个字节,在Java中使用单引号来表示字符常量。例如’A’是一个字符,它与”A”是不同的,”A”表示含有一个字符的字符串。例子:package pro01;public class test1 { public static void main(String [] args) { /* char eChar='a'; char cC...原创 2018-10-10 13:28:11 · 1534 阅读 · 0 评论 -
Java的知识点5——扩展赋值运算符、 关系运算符、 逻辑运算符、字符串连接符、 条件运算符
扩展运算符程序public class Dd1 { public static void main(String[] args) { int a=3; int b=4; a+=b;//相当于a=a+b; System.out.println("a="+a+"\nb="+b); a=3; a*=b+3;//相当于a=a*(b+3) System.out.pri...原创 2018-10-14 15:20:24 · 647 阅读 · 0 评论 -
Java的知识点6—— 强制类型转换、基本类型转化时常见错误和问题、 简单的键盘输入和输出
强制类型转换强制类型转换,又被称为造型,用于显式的转换一个数值的类型。在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。public class Test2 { public static void main(String [] args) { double x=3.14; int nx=(int)x; char c='a'; int d...原创 2018-10-14 16:10:17 · 482 阅读 · 0 评论 -
java知识点7——面向过程和面向对象、面向对象的内存分析、构造方法
面向过程和面向对象解决简单问题可以使用面向过程 解决复杂问题:宏观上使用面向对象把握,微观处理上仍然是面向过程。 面向对象具有三大特征:封装性、继承性和多态性,而面向过程没有继承性和多态性,并且面向过程的封装只是封装功能,而面向对象可以封装数据和功能。所以面向对象优势更明显。属性(field,或者叫成员变量)属性用于定义该类或该类对象包含的数据或者说静态特征。 属性作用范围是整...原创 2018-10-20 22:56:32 · 398 阅读 · 0 评论 -
java知识点8——垃圾回收原理和算法、通用的分代垃圾回收机制、 JVM调优和Full GC、开发中容易造成内存泄露的操作
垃圾回收原理和算法内存管理 Java的内存管理很大程度指的就是对象的管理,其中包括对象空间的分配和释放。 对象空间的分配:使用new关键字创建对象即可 对象空间的释放:将对象赋值null即可垃圾回收器将负责回收所有”不可达”对象的内存空间垃圾回收过程 任何一种垃圾回收算法一般要做两件基本事情: 1. 发现无用的对象 2. 回收无用对象占用的内存空间。...转载 2018-10-21 15:23:25 · 242 阅读 · 0 评论 -
Java的知识点9——this关键字
this关键字构造方法是创建Java对象的重要途径,通过new关键字调用构造器时,构造器也确实返回该类的对象,但这个对象并不是完全由构造器负责创建。创建一个对象分为如下四步: 1. 分配对象空间,并将对象成员变量初始化为0或空 2. 执行属性值的显式初始化 3. 执行构造方法 4. 返回对象的地址给相关的变量this的本质就是“创建好的对象的地址”! 由于在构造...原创 2018-10-27 18:46:07 · 302 阅读 · 0 评论 -
Java的知识点10——static关键字、静态初始化块、 参数传值机制、包、导入类import、 静态导入
static 关键字在类中,用static声明的成员变量为静态成员变量,也称为类变量。 类变量的生命周期和类相同,在整个应用程序执行期间都有效。它有如下特点: 1. 为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化。 2. 对于该类的所有对象来说,static成员变量只有一份。被该类的所有对象共享!! 3. 一般用“类名.类属性/方法”来调用。(也可以...转载 2018-10-27 20:21:36 · 556 阅读 · 0 评论 -
java的知识点11——面向对象的三大特征之一继承、instanceof 运算符、方法的重写override、Object类基本特性、toString方法
面向对象的三大特征:继承、封装、多态继承的实现 继承让我们更加容易实现类的扩展。子类是父类的扩展使用extends实现继承package cn.sxt;public class Test { public static void main(String [] args) { Student s=new Student("止小兮",167,"java"); s.res...原创 2018-10-28 14:58:47 · 218 阅读 · 0 评论