Java笔记
文章平均质量分 78
Java学习笔记
BigDevil_
文章皆为个人笔记与理解,仅供参考
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
反射学习笔记
文章目录1.java的反射机制:2、反射机制的实现实质:Class因为每个类都是一个Class对象,想操作类,就要先获取类,所以要获取与其映射的Class对象1.获取类的Class对象2.暴力反射3.根据Class对象创建实例(获取构造方法)4.根据Class对象获取属性5.根据Class对象获取方法1.java的反射机制:JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类...原创 2019-12-19 20:15:43 · 582 阅读 · 0 评论 -
枚举,网络编程
文章目录枚举网络编程InetAddress 描述ip地址的类UDP编程TCP编程枚举枚举: 列举出 有穷序列集枚举类其实用了多例模式,枚举类的实例是有范围限制的。enum类,反编译后就是一个 class 继承了Enum(注意:我们不能显示继承这个Enum),如果枚举类里定义了抽象方法,他就是abstract类,如果没有抽象方法,他就由final修饰。final修饰的类不能被继承enum...原创 2019-12-18 19:49:41 · 350 阅读 · 0 评论 -
设计模式(单例模式)
java23中设计模式里氏代换原则,适配器模式单例模式:一个类只能有一个实例①对于单例类来说,可以有其他的属性,也可以有静态和非静态的其他方法。②要求按照既定的步骤来执行,就能实现一个单例:1)私有构造方法2)提供一个私有的属性,该属性是该类一个静态私有对象。3)提供一个静态的getter方法,供外界访问。4)理论上,懒汉式要优于饿汉式,提高了空间的利用率,但是在实际开发中,使用饿...原创 2019-12-17 22:24:02 · 165 阅读 · 0 评论 -
线程学习笔记
文章目录1.引入程序,进程,线程并发,并行2.线程执行的原理: cpu抢占式分时调度模式,并发执行3.线程的状态4.创建线程(掌握)1、继承Thread类2、实现Runnable接口3、实现Callable接口,通过FutureTask包装器创建Thread4、使用线程池例如用Executor框架创建线程方法的对比1、继承Thread和实现Runnable接口两个方法对比5.线程常用方法(熟悉)重...原创 2019-12-16 23:36:34 · 918 阅读 · 0 评论 -
IO流
字节流字符流,转换流其他流各种流的复制(包括异常处理)文件字节流复制import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;public class CopyInputStream { public static void main(String[] args) {...原创 2019-12-15 14:54:15 · 785 阅读 · 1 评论 -
字符流,转换流
文章目录1 字符流字符输入流:Reader字符输出流:Writer2文件字符流(==继承自转换流,转换流继承自字符流==)字符输入流FileReader2.1 常用构造方法1、FileReader(File file) ;指定一个File文件(一般只是用文件路径名)2、FileReader(String fileName);指定一个文件名2.1常用方法1、read();读取一个字符,返回该字符的i...原创 2019-12-15 14:06:53 · 1649 阅读 · 0 评论 -
File类学习,递归算法
文章目录File概述File构造方法1. File(String pathname) 给定路径名字2. File(File parent, String child) 给定父目录(File对象)跟子路径3. File(String parent, String child) 给定父目录跟子对象绝对路径和相对路径File类常用方法File遍历方法递归学习案例1:学习案例2: 斐波那契数列File概...原创 2019-12-11 20:47:58 · 415 阅读 · 0 评论 -
异常 学习笔记
文章目录异常的好处 :异常的体系:异常的发生过程:异常的处理方式:(1) 异常的声明: throws Exception 告诉调用者该方法可能会出现的问题。(2) 异常的捕获(三种形式):try-catch异常的处理异常的使用,throw 异常对象异常体系总结异常的好处 :(1) 提高程序健壮性。异常的体系:异常的发生过程:(1)当异常发生时,jvm会封装一个异常对象给调用该方法的对象...原创 2019-12-10 22:19:07 · 283 阅读 · 0 评论 -
Scanner类的使用笔记
import java.util.Scanner;public class TestScanner1 { public static void main(String[] args) { System.out.println("请输入若干单词,以空格作为分隔"); Scanner sc = new Scanner(System.in); while (sc.hasNext())...原创 2019-12-10 16:50:15 · 794 阅读 · 0 评论 -
Map集合
hashMap 可以null键 null值hashTable 不可以空键空值原创 2019-12-10 21:11:39 · 213 阅读 · 0 评论 -
二叉树简介笔记
1.什么是二叉树?二叉树是n(n>=0)个节点的有限集合。由一个根节点和两棵互不相交的、分别称为左子树和右子树的二叉树组成。且 每个节点最多有两个孩子节点!2.特征1.每个节点最多只能有两个孩子节点。2.是有序树,左子树和右子树次序不能颠倒,及时树中某个节点只有一棵子树,也要区分是左子树还是右子树3分类二叉树存储结构1.顺序存储:用一组连续的存储单元来存放二叉树的节点元素。(...原创 2019-12-09 21:26:31 · 256 阅读 · 0 评论 -
Set集合
文章目录Set简述1 HashSet1.1不多比比,先看源码**结论:HashSet是HashMap的一个实例。set的底层就是hashMap,所有的操作都是基于map的操作。**1.2HashSet的存储过程简述扩展:加载因子存储过程:1.3HashSet存储的自定义类 去除重复值重写hashCode()为什么prime是31?2TreeSet2.1TreeSet简述:① TreeSet 底层...原创 2019-12-09 20:00:20 · 1267 阅读 · 0 评论 -
String ,StringBuffer,StringBuilder的区别
String 不可变StringBuffer:可变字符串序列,线程安全StringDuilder:可变字符串序列,线程不安全,但是比StringBuffer快java9Java9改进了字符串(包括String、StringBuffer、StringBuilder)的实现。在Java9以前字符串采用char[]数组来保存字符,因此字符串的每个字符占2字节;而Java9的字符串采用byte[]...原创 2019-12-06 20:56:33 · 218 阅读 · 1 评论 -
面向对象思维导图
原创 2019-12-06 20:46:43 · 454 阅读 · 0 评论 -
继承和代码块
继承注意:1、final修饰的类不能被继承,final修饰的方法不能被重写,final修饰的变量是常量。2、非静态属性,静态属性,静态方法都能被继承,但不能重写。只能隐藏。...原创 2019-12-06 20:43:44 · 214 阅读 · 0 评论 -
泛型
集合泛型:List<String> list = new ArrayList<String>();1\ 泛型只在编译阶段有效。为了减少类型转换异常。.class文件没有泛型2\泛型避免了向下转型。对于迭代器来说, Iterator后面的泛型必须带,如果不带,就是Object类型。3\泛型的类型参数只能是类类型,不能是简单类型。4\泛型在创建对象时才具体特点:1...原创 2019-12-06 18:44:23 · 184 阅读 · 0 评论 -
集合
集合集合泛型:List<String> list = new ArrayList<String>();1\ 泛型只在编译阶段有效。为了减少类型转换异常。.class文件没有泛型2\泛型避免了向下转型。对于迭代器来说, Iterator后面的泛型必须带,如果不带,就是Object类型。3\泛型的类型参数只能是类类型,不能是简单类型。集合迭代Iterator注意...原创 2019-12-06 10:05:33 · 653 阅读 · 0 评论 -
字符串·常量池·
String类的final修饰的,以字面量的形式创建String变量时,jvm会在编译期间就把该字面量(“hello”)放到字符串常量池中,由Java程序启动的时候就已经加载到内存中了。这个字符串常量池的特点就是有且只有一份相同的字面量,如果有其它相同的字面量,jvm则返回这个字面量的引用,如果没有相同的字面量,则在字符串常量池创建这个字面量并返回它的引用。public class TestSt...原创 2019-12-05 19:55:53 · 332 阅读 · 0 评论 -
内部类
1、一般成员内部类1.1在外部类外创建对象。Outter.Inner in = new Outter().new Inner();1.2一般成员内部类中不能有静态成员,除了static final修饰的常量1.2.1static final修饰的都是一版数据类型和String1.3一般成员内部类可以直接使用外部类的所有成员包括静态和非静态成员。属性名重名的话就近原则,用外部类属性 外部...原创 2019-12-03 09:00:48 · 241 阅读 · 0 评论 -
抽象类和接口
1、抽象类: ① 抽象 :不具体 。面向对象的特征之一。注意:抽象方法没有方法体。注意:如果一个类中有抽象方法,该类必须是抽象类。抽象类的特点 :1》 抽象类中,可以存在一般类的成员,包括属性,方法,构造方法。2》 抽象类中,如果存在抽象方法,该类必然是一个抽象类,一个抽象类中,不一定有抽象方法。3》 抽象类不能直接创建对象。如果需要创建对象,必须实现该抽象类,由子类进行对象的创...原创 2019-12-01 20:56:59 · 257 阅读 · 0 评论 -
子类继承父类,当创建子类时会创建父类对象吗?this和super
在创建子类对象时,会把父类里的成员变量和方法也加载进内存(因为要加载进内存,所以要看下这些数据是怎么初始化的,所以调用了父类的构造,仅此而已,并不是去创建了父类对象)然后用this和super这两个引用来区分是父类的还是子类的,但是这个内存区域是子类的内存区域,绝不是父类的 。this指向了不仅父类中可继承的成员变量和可继承的方法外,它还指向了子类的成员变量和方法 而super仅仅只是指向了子类...原创 2019-11-28 18:57:43 · 10274 阅读 · 2 评论 -
多态学习
多态产生的前提 :1》必须具有继承关系2》在子类中,必须有方法的重写。多态的分类:1》 多态的向上转型父类的引用指向子类对象。①里氏代换原则 :任何基类可以出现的地方,子类一定可以出现②弊端:发生了向上转型的父类引用,只能调用继承父类的方法或者子类重写父类的方法,不能调用子类特有的方法。在向上转型中:1 如果父类中的属性和子类的属性同名的时候, 父类对象认为认为子类的属性...原创 2019-11-28 19:12:51 · 342 阅读 · 0 评论 -
js中时间戳转date字符串格式
时间戳转 date//转换日期格式(时间戳转换为datetime格式) function changeDateFormat(cellval) { var dateVal = cellval + "";//把时间戳转成字符串格式 if (cellval != null) { //取得时间戳部分 如:获取 /Date(1545299299910)/ 中的 1545299299...原创 2019-11-27 15:10:00 · 730 阅读 · 0 评论 -
创建对象的内存过程
创建对象时的内存图:1、首先把类加载到方法区2、main方法压栈,开始执行。(C c= new C();)3、加载C类到方法区,在内存中开辟对象空间4、4.1开辟空间的时候,默认初始化C类中成员变量的值4.2 调用构造方法时,在没有执行构造方法的代码体时,隐式初始化4.3在构造方法里,构造初始化(在构造方法里给变量赋值)5、把对象的引用地址赋值给引用对象cclass 对象的创建内存...原创 2019-11-26 15:48:14 · 870 阅读 · 0 评论 -
ajax的属性和传参方法
一、ajax属性1.url:要求为String类型的参数,(默认为当前页地址)发送请求的地址。2.type:要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。3.timeout:要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局设...原创 2019-11-26 13:59:30 · 1220 阅读 · 0 评论 -
PageHelper使用
There is no getter for property named ‘__frch_criterion_1’ in 'class com.xxxx.dao.domain.XxxExample’之前pagehelper版本 3.4.2可以实现分页,但是加上条件查询就会报错,如果不用pageheler条件查询,没有错,所以这两部分单独来看都没有错,有资料说是因为有的静态分页工具不支持,可是...原创 2019-11-26 08:57:31 · 689 阅读 · 0 评论 -
jquery实现多级联查
思路前端:(都是用的bootstrap和jquery)第一级: 在html写出select标签,然后访问后台的获取数据然后js中添加<option>标签拼接数据-----获取第一级的另一个方法:在后端的controller层中添加Model对象,把获取到的pojo集合放进model属性中,在jsp里 用c标签 循环添加第二级: 在第一级中添加οnchange=“ get...原创 2019-11-24 18:31:12 · 1072 阅读 · 0 评论 -
同步与异步,阻塞和非阻塞(bootstrap-table/ajax获取数据)
同步和异步同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)同步同步,就是在发出一个调用时,在没有得到结果之前,该调用就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由调用者主动等待这个调用的结果。异步异步则是相反,调用在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一...原创 2019-11-24 17:02:33 · 9511 阅读 · 0 评论 -
java基础学习笔记2(各种运算符和赋值类型转换)
1、int转byte首先,计算机里都是以补码形式存储的;补码:正数的补码与原码相同,负数的补码为 其原码除符号位外所有位取反(得到反码了),然后最低位加1。int 4个字节 32位;byte 1个字节 8位;int --》byte会截取int的后8位,截取后,第一位(符号位)为1(负数),求符号位之后7位的补码,转为10进制即最终结果。int 200 转为 byte十进制:二...原创 2019-11-20 11:22:50 · 655 阅读 · 0 评论 -
二、八、十、十六进制转换
二进制、八进制、十六进制 --> 十进制(位权法)(1) 权 : 每一位数字代表的值例如 : 123 表示 10进制的数 其中 2的权 代表 10^1025 : 2表示权 8^1 5 表示的权 8^0(2)每一位的权该位数字的值的和,就是对应的要转换的进制的数值(3) 例如 025 转换成十进制的数:28^1 + 5*8^0=十进制 --&...原创 2019-11-19 16:04:57 · 1483 阅读 · 0 评论 -
java基础学习笔记1(java特点、版本)
java基础学习11、java的特点:简单、面向对象、可移植性、健壮性、安全、分布式、多线程2、java版本分类:JavaME:微缩版;嵌入式设备移动设备软件开发(手机机顶盒导航)JavaSE:标准版;C/S架构软件开发JavaEE:企业版; B/S架构软件开发3、Java如何实现跨平台:java源代码编译后生成.class机器语言,而JVM(java virtual m...原创 2019-11-19 08:41:54 · 213 阅读 · 0 评论
分享