
JavaSE
文章平均质量分 60
JavaSE知识点
Yan Yang
奋斗
展开
-
字符串拆分成数组或集合
// 字符串拆分成数组public abstract class StringSplitUtil { public static String[] splitStr(String str) { if (str != null) { return str.split(","); } return null; }}// 字符串拆分成集合public abstract class StringSplitUtil {原创 2021-07-11 17:54:25 · 2929 阅读 · 0 评论 -
Java JDK 动态代理实现和代码分析
JDK 动态代理内容一、动态代理解析1. 代理模式2. 为什么要使用动态代理3. JDK 动态代理简单结构图4. JDK 动态代理实现步骤5. JDK 动态代理 API5.1 java.lang.reflect.Proxy5.1 java.lang.reflect.InvocationHandler二、JDK 动态代理的实现(代码)1. 项目结构图2. IRentService 接口3. LandlordServiceImpl 真实类4. TransactionInvocationHandler 代理类5.原创 2021-06-02 22:24:33 · 2872 阅读 · 2 评论 -
单例模式的5种实现方式(懒汉模式、饿汉模式、双重锁模式、静态内部类模式、枚举模式)
单例模式2. 单例模式写法2.1 饿汉式2.2 懒汉式2.3 双重加锁机制2.4 静态内部类2.5 枚举 Enum3. 小结总结:参考文章:【1】http://wuchong.me/blog/2014/08/28/how-to-correctly-write-singleton-pattern/【2】https://www.cnblogs.com/xuwendong/p/9633985.html# 学习内容:## 1. 概念设计模式(Design pattern)是一套被反复使用的代码设计经验原创 2021-05-24 21:37:43 · 4805 阅读 · 29 评论 -
Java中的反射以及简单运用(原理+例子)
Java多线程总结内容1. 为什么要使用反射2. 反射的概念3. Java反射加载过程4. 字节码对象理解5. 获取字节码对象(.class)的三种方式6. 反射常用API总结总结内容1. 为什么要使用反射Java属于先编译再运行的语言,程序中对象的类型在编译期就确定下来了,而当程序在运行时可能需要动态加载某些类,这些类因为之前用不到,所以没有被加载到JVM。通过反射,可以在运行时动态地创建对象并调用其属性,不需要提前在编译期知道运行的对象是谁。2. 反射的概念Java反射机制的核心是在程序运行时原创 2021-04-10 19:19:16 · 2052 阅读 · 0 评论 -
用反射实现JavaBean和Map之间的转换
学习内容:需求由于JavaBean结构与Map类似,我们可以把JavaBean与Map进行转换代码如下:package com.yy;import java.beans.BeanInfo;import java.beans.IntrospectionException;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.lang.reflect.Constructor;impo原创 2021-04-10 19:16:12 · 1817 阅读 · 0 评论 -
多线程教程+简单实现案例
Java多线程总结内容1. 进程是什么,线程又是什么2. 进程和线程的区别3. 为什么要学习多线程4. 实现多线程的方式5. 两种实现多线程方法的区别6. 多线程的同步多线程常用方法总结总结内容1. 进程是什么,线程又是什么进程就是正在运行的程序,是操作系统运行程序是产生的,它是独立存在的,进程之间互不干扰。线程是进程的一个子集,是进程中的实际运作单位,开发人员可以通过操作线程进行多处理器编程。2. 进程和线程的区别根本区别:进程是操作系统分配资源的基本单位;线程是CPU调度和执行的基本单原创 2021-04-07 14:13:35 · 1861 阅读 · 4 评论 -
八大基本数据类型对应的包装类以及变量初始值
学习内容:包装类int:Integershort:Shortbyte:Bytechar:Characterlong:Longboolean:Booleanfloat:Floatdouble:Double总结:以上就是八大基本数据类型对应的包装类了。下篇博客包装类和String引用数据类型之间的转换...原创 2021-04-05 22:21:00 · 2184 阅读 · 0 评论 -
String和int、long、double等基本数据类型的转换
学习目标:掌握Java的基本数据类型与String的转换学习内容:1、转化规则String 转 基本数据类型基本数据类型 变量 = 包装类.Parse基本数据类型(String); // char类型不能这样转换,因为char是字节,String需要转成字符数组基本数据类型转StringString 变量 = 包装类.toString(基本数据类型);代码如下:// String 转 intint a = Integer.parseInt("100");System.o原创 2021-04-05 22:08:30 · 2715 阅读 · 2 评论 -
IO流入门+简单案例实现
IO流总结内容1. IO流是什么2. 字符流和字节流3. File常用API(前面类型为返回类型)4. 编码转换5. IO流实现流程6. 输入输出流简单实现7. 输入输出流简单实现总结总结内容1. IO流是什么IO流也叫输入输出流输入流:将数据以字符或字节的方式从外部的存储空间读取到程序中,例如把音频、文档、视频等读取到内存中,所以IO输入流也分为输入字节流和输入字符流;输出流:将数据以字符或字节的方式从程序中写出到外部磁盘中,IO输出流分为输出字节流和输出字符流。2. 字符流和字节流IO原创 2021-04-02 21:25:02 · 1675 阅读 · 0 评论 -
IO流的简单实现
IO流的几种实现方式学习目标:例题:字节输出流字节输入流字符输入流字符输出流学习目标:熟练掌握IO流的基本实现方式例题:字节输出流代码如下:public class OutputStreamDemo01 { public static void main(String[] args) throws IOException { //1):创建源或者目标对象 File file = new File("填你要写入文件的绝对路劲/相对路径,后面都一样,不再提原创 2021-04-01 22:40:30 · 642 阅读 · 0 评论 -
Map集合遍历方式
学习目标:熟练掌握Map的遍历方式例题:需求:遍历Map集合代码如下:package com.yy.object.test.test_collection;import java.util.*;/** * @author YanYang * @projectName day02 * @description: TODO * @date 2021/3/30 19:48 */public class MapTest02 { public static void main原创 2021-03-30 21:17:50 · 1858 阅读 · 0 评论 -
Java异常类
总结目录:什么是异常,为什么要处理异常异常语法和执行顺序以及注意事项异常分类具体异常throw和throws关键字区别和作用自定义异常需要注意的地方总结总结内容:1. 什么是异常,为什么要处理异常在写程序的过程中,可能出现各种程序员没有预料到的情况,或者系统存在一些错误,例如打开一些不存在的文件,逻辑错误等,这就叫异常。为了让用户有一个良好的体验,为了程序的健壮性,不让程序随意崩溃,我们就需要处理异常。2. 异常语法和执行顺序以及注意事项异常语法复制代码try{//原创 2021-03-30 18:24:30 · 1637 阅读 · 1 评论 -
Java自定义异常类的简单实现
学习目标:掌握自定义异常类例题:需求:自定义异常类,简单判断是否注册成功代码如下:RegisterException类:/** * @author YanYang * @projectName day02 * @description: 自定义异常类,简单判断是否注册成功 * @date 2021/3/29 17:25 */public class RegisterException extends RuntimeException{ // 自定义输出的异常信息原创 2021-03-29 22:17:25 · 689 阅读 · 0 评论 -
Java中关键字static静态变量的应用
学习目标:掌握Java中的静态资源的应用学习内容:1、static关键字的概念static 关键字表示静态,可以修饰变量构成静态变量,修饰方法构成静态方法。静态变量和静态方法都归类所有,称为类的静态成员,用static关键字修饰。静态变量注意:静态变量会一直存在于内存空间中,不会被释放,但可以被置空,所以我们要尽量少用静态变量,因为非常耗资源。定义语法:static 数据类型 成员变量 [=初始值];静态变量的访问:类名.静态变量 (推荐写法) 对象/实例.静态变量静原创 2021-03-24 17:04:40 · 1984 阅读 · 0 评论 -
Java面向对象三大基本特征:封装、继承、多态(超详细)
Java面向对象的三大基本特征文章目录Java面向对象的三大基本特征学习目标一、学习步骤1.封装2.继承3.多态总结学习目标熟练掌握三大基本特征的的概念与应用一、学习步骤1.封装学习封装我们需要了解类和对象的概念(1)、类类是拥有相同特性(状态)和行为(功能)的多个事物的抽象描述。类是用来描述群体的,是对群体的抽象描述。例如eacher类用于描述老师这个群体,张三是老师,李四是老师,王五也是老师。在程序中,类就可以作为一种新型的数据类型。可以使用类来声明变量(2)、对象原创 2021-03-19 15:09:09 · 1889 阅读 · 0 评论 -
Java中成员变量和局部变量区别
学习目标:掌握Java的成员变量和局部变量学习内容:1、变量分类变量的定义语法数据类型 变量名 = 初始值;根据变量定义位置的不同,分成两大类成员变量:直接定义在类中,方法外面。又称之为字段(Field),不要称之为属性(错误)局部变量:除了成员变量,其他都是局部变量,具体存在于下面三个地方方法内方法的形参代码块中(一对花括号)下图是成员变量和局部变量在代码中的体现2、变量初始化变量的初始化表示在内存中开辟存储空间,只有初始化之后,才能使用。成员变量:默认是原创 2021-03-19 10:45:55 · 1933 阅读 · 0 评论 -
Idea中创建maven项目(超详细)
Idea中创建maven项目提示:前提条件时maven已经安装好,并且环境变量也配置完成,maven没安装好或者环境变量没有配置好的请参考我上一篇文章——maven的安装和配置文章目录Idea中创建maven项目前言一、使用步骤1.在Idea中配置maven2.在Idea中创建maven项目3.完善maven-web项目模板总结前言测试maven版本:maven-3.6.3、jdk版本:1.8一、使用步骤1.在Idea中配置maven(1)、打开Idea,点击File,然后点击Sett原创 2021-03-16 18:36:45 · 120739 阅读 · 36 评论 -
Java基本数据类型转换
学习目标:掌握Java的基本数据类型转换学习内容:1、转化规则在8大基本数据类型中,boolean不属于数值类型,所以不参与转换,其他类型的转换规则如下。一般的来说(byte、short、char)是平级的,这三种类型相互之间不参与自动类型转换操作但可以进行强制转换操作。转换方式:按照转换方式,有两种(注意:boolean类型不参与类型转换):自动类型转换:范围小的数据类型直接转换成范围大的数据类型,小->大。强制类型转换:范围大的数据类型强制转换成范围小的数据类型,大原创 2021-03-12 20:47:12 · 6507 阅读 · 0 评论 -
Java中重载的应用
学习目标:掌握Java方法的重载学习内容:1、重载定义参数列表:参数的类型 + 参数的个数 + 参数的顺序方法签名:方法名称 + 方法参数列表,在同一个类中,方法签名是唯一的,否则编译报错方法的重载设计(Overload):表示在同一个类中,允许某方法存在一个以上的同名方法,只要它们的参数列表不同即可。方法重载判断原则:“两同一不同”两同:在同一个类中,方法名是相同的一不同:方法参数列表不同(参数类型、参数个数、参数顺序)只要参数类型、参数个数、参数顺序任意一个不同,就叫参数列原创 2021-03-11 22:12:25 · 1795 阅读 · 0 评论 -
Java在方法中定义可变参数类型
学习目标:掌握可变参数的应用学习内容:1、定义在方法中传递数组有一种更简单的方式——方法的可变参数,其本质是一个语法糖,目的是让开发者写代码更简单。2、语法[修饰符] 返回值类型 方法名称(参数类型 参数1,参数类型 参数2,...,可变参数类型 ...参数名) { 方法体; [return 返回值;] }代码如下:public static void changeNum(double discount, double ...num) { System.out.println原创 2021-03-11 21:52:39 · 2203 阅读 · 0 评论 -
Java二维数组的应用
学习目标:掌握二维数组的使用学习内容:1、二维数组的定义二维数组,就是数组中的每一个元素都是一个一维数组。二维数组是存数组的数组三维数组,数组的每一个元素就是一个二维数组。其实发现,这种多维数组都可以简单称之为,数组中的数组。2、二维数组的静态初始化注意:二维数组中的元素类型是一维数组,把数组元素类型[ ]看成一个整体,表示数据类型。初始化语法:数组元素类型[][] 数组名 = new 数组元素类型[][]{数组1,数组2,数组3,...};代码如下://定义三个一维原创 2021-03-10 18:58:01 · 2078 阅读 · 0 评论 -
Java中数组的定义与使用(代码+例子)
学习目标:掌握数组的使用学习内容:1、数组的定义数组(Array),是把具有 相同类型 的多个常量值 有序组织 起来的一种数据形式。这些按一定顺序排列的多个数据称为数组。而数组中的每一个常量值称之为数组元素(item),数组中使用索引/下标(index)来表示元素存放的位置,索引从0开始,步长是1,有点像Excel表格的行号。数组在内存中是一段连续的内存空间2、数组的语法数组元素类型[] 数组名; 如:int[] ages;另一种方式:int ages[]; 不推荐理解:可原创 2021-03-10 16:15:47 · 2177 阅读 · 0 评论 -
break,return,continue的区别和作用
学习目标:理解break、return、continue在循环中的区别和作用学习内容:1、breakbreak表示结束当前所在的循环。// 需求:从1输出到10,当迭代变量为7,就停止循环public class App { public static void main(String[] args) { for (int i = 1; i <= 6; i++) { if(i == 4){ // 结束当前循环 break; } System.o原创 2021-03-09 22:20:53 · 595 阅读 · 0 评论 -
Java中jdk安装与环境变量配置
Java中jdk安装与环境变量配置提示:下面是jdk1.7和jdk1.8的百度网盘链接链接:https://pan.baidu.com/s/1SuHf4KlwpiG1zrf1LLAERQ提取码:fcbx文章目录Java中jdk安装与环境变量配置前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:下面以win7电脑为例,配置环境变量,jdk版本和系统版本不影响,整体流程一样提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas原创 2021-03-06 22:10:33 · 1950 阅读 · 0 评论 -
八大基本数据类型(超详细)
学习目标:Java八大数据类型:(1)整数类型:byte、short、int、long(2)小数类型:float、double(3)字符类型:char(4)布尔类型:boolean学习内容:1、 整数数据类型byte:1个字节,8位,256种状态,取值范围为【-128,127】short:2个字节,16位,65536种状态,取值范围为【-32768,32767】int:4个字节,32位,整数类型默认是int类型,取值范围约21亿long:8个字节,64位,long类型表示long类原创 2021-03-07 11:09:48 · 142205 阅读 · 0 评论 -
Java中 i++和++i 的区别
学习目标:理解i++和++i的区别学习内容:1、i++ / i- -i++/i- -:遇到 i++或 i- -,i先参与运算,然后 i 再自加或自减1代码如下:int a = 1;int b = 1;if(b++ == a) { System.out.println("a等于b");} else { System.out.println("a不等于b");}System.out.println("a = " + a + "\n" + "b = " + b);执原创 2021-03-07 16:34:19 · 1996 阅读 · 0 评论 -
Java中switch语句+例题输出当前月份
学习目标:掌握switch循环的使用学习内容:1、while语法i++/i- -:遇到 i++或 i- -,i先参与运算,然后 i 再自加或自减1代码如下:int a = 1;int b = 1;if(b++ == a) { System.out.println("a等于b");} else { System.out.println("a不等于b");}System.out.println("a = " + a + "\n" + "b = " + b);执行结原创 2021-03-07 22:00:39 · 2423 阅读 · 2 评论 -
Java中if else条件判断语句的执行顺序
学习目标:掌握 if else 条件判断的使用学习内容:1、if语法if(boolean表达式) { 语句体; }if后面的{}表示一个整体—代码块,称之为语句体,当boolean表达式为true,才执行这里的代码块。2、if-else语法int days = 3;switch (days) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); case原创 2021-03-09 16:34:58 · 2517 阅读 · 0 评论