自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 资源 (2)
  • 收藏
  • 关注

原创 反射详细总结

文章目录一、java反射机制概述二、理解Class类并获取Class实例三、类的加载与ClassLoader的理解四、创建运行时类的对象五、获取运行时类的完整结构六、调用运行时类的指定结构七、反射的应用:动态代理一、java反射机制概述二、理解Class类并获取Class实例三、类的加载与ClassLoader的理解四、创建运行时类的对象五、获取运行时类的完整结构六、调用运行时类的指定结构七、反射的应用:动态代理...

2020-09-05 16:52:00 17

原创 网络编程

文章目录网络编程概述网络基础网络通信要素概述网络通信协议通信要素1:IP和端口号InetAddress类代码示例通信要素2:网络协议TCP/IP协议簇TCP和UDP三次握手四次挥手SocketTCP网络编程基于Socket的TCP编程客户端创建Socket对象服务器建立 ServerSocket 对象练习客户端发送内容给服务端,服务端将内容打印到控制台上客户端发送文件给服务端,服务端将文件保存在本地。从客户端发送文件给服务端,服务端保存到本地。并返回“发送成功”给 客户端。并关闭相应的连接。UDP网络编程.

2020-08-29 18:02:54 47

原创 IO流 详细总结

File类的使用IO流原理及流的分类Java IO 原理I/O是Input/Output的缩写, I/O技术是非常实用的技术,用于 处理设备之间的数据传输。如读/写文件,网络通讯等。Java程序中,对于数据的输入/输出操作以“流(stream)” 的 方式进行。java.io包下提供了各种“流”类和接口,用以获取不同种类的 数据,并通过标准的方法输入或输出数据。流的分类按操作数据单位不同分为:字节流(8 bit),字符流(16 bit)按数据流的流向不同分为:输入流,输出流按流的角色

2020-08-24 17:08:57 60

原创 字符编码

编码表的由来计算机只能识别二进制数据,早期由来是电信号。为了方便应用计算机,让它可以识 别各个国家的文字。就将各个国家的文字用数字来表示,并一一对应,形成一张表。 这就是编码表。常见的编码表...

2020-08-14 16:47:11 18

原创 IO流 - File文件

File类的使用java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。 如果需要访问文件内容本身,则需要使用输入/输出流。想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对 象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。File对象可以作为参数传递给流的构造器常用的构造器public File(String pathname) 以pathna

2020-07-31 16:25:19 22

原创 泛型详细讲解

为什么要有泛型泛型的概念所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类 型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如, 继承或实现这个接口,用这个类型声明变量、创建对象时)确定(即传入实 际的类型参数,也称为类型实参)。从JDK1.5以后,Java引入了“参数化类型(Parameterized type)”的概念, 允许我们在创建集合时再指定集合元素的类型,正如:List,这表明 该List只能保存字符串类型的对象。JDK1.5改写了集合框架中的全部接口和类

2020-07-31 08:31:57 51

原创 java集合详细总结

java集合框架的概述一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象 的操作,就要对对象进行存储。另一方面,使用Array存储对象方面具有一些弊 端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容器中。数组在内存存储方面的特点:数组初始化以后,长度就确定了。数组声明的类型,就决定了进行元素初始化时的类型数组在存储数据方面的弊端:数组初始化以后,长度就不可变了,不便于扩展数组中提供的属性和方法少,不便于进行添加、删除、插入等操作,且效率不高。 同时无

2020-07-28 20:21:25 138

原创 JDK5.0新增线程创建方式--实现Callable接口、使用线程池

JDK5.0新增线程创建方式新增方式一:实现Callable接口与使用Runnable相比, Callable功能更强大些相比run()方法,可以有返回值方法可以抛出异常支持泛型的返回值需要借助FutureTask类,比如获取返回结果Future接口可以对具体Runnable、Callable任务的执行结果进行取消、查询是否完成、获取结果等。FutrueTask是Futrue接口的唯一的实现类FutureTask 同时实现了Runnable, Future接口。它既可以作为

2020-07-27 07:56:04 33

原创 多线程--线程的通信

线程的通信涉及到的三个方法:wait():一旦执行此方法,当前线程就进入阻塞状态,并释放同步监视器。notify():一旦执行此方法,就会唤醒被wait的一个线程。如果有多个线程被wait,就唤醒优先级高的那个。notifyAll():一旦执行此方法,就会唤醒所有被wait的线程。说明:ait(),notify(),notifyAll()三个方法必须使用在同步代码块或同步方法中【lock中不行】。wait(),notify(),notifyAll()三个方法的调用者必须是同步代码块或同步

2020-07-26 16:29:01 16

原创 线程的同步--线程安全的练习

练习银行有一个账户。 有两个储户分别向同一个账户存3000元,每次存1000,存3次。每次存完打 印账户余额。问题:该程序是否有安全问题,如果有,如何解决?【提示】确哪些代码是多线程运行代码,须写入run()方法明确什么是共享数据。明确多线程运行代码中哪些语句是操作共享数据的。/** * 银行有一个账户。 有两个储户分别向同一个账户存3000元,每次存1000,存3次。每次存完打印账户余额。 分析: 1.是否是多线程问题? 是,两个储户线程 2.是否有共享数据? 有,账户

2020-07-18 22:09:47 28

原创 线程的同步----解决线程安全问题(Lock锁 — JDK5.0新增)

线程的死锁问题死锁不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃 自己需要的同步资源,就形成了线程的死锁出现死锁后,不会出现异常,不会出现提示,只是所有的线程都处于 阻塞状态,无法继续解决方法专门的算法、原则尽量减少同步资源的定义尽量避免嵌套同步public class ThreadTest { public static void main(String[] args) { StringBuffer s1 = new StringB

2020-07-18 21:59:10 26

原创 线程的同步----解决线程安全问题(synchronized)(Lock)

理解线程安全问题多线程出现了安全问题问题的原因:当多条语句在操作同一个线程共享数据时,一个线程对多条语句只执行了一部分,还没有 执行完,另一个线程参与进来执行。导致共享数据的错误。解决办法:对多条操作共享数据的语句,只能让一个线程都执行完,在执行过程中,其他线程不可以 参与执行。例子:创建三个窗口卖票,总票数为100张.使用实现Runnable接口的方式问题:卖票过程中,出现了重票、错票 -->出现了线程的安全问题问题出现的原因:当某个线程操作车票的过程中,尚未操作完

2020-07-18 21:18:47 46

原创 线程的生命周期

线程的生命周期JDK中用Thread.State类定义了线程的几种状态要想实现多线程,必须在主线程中创建新的线程对象。Java语言使用Thread类 及其子类的对象来表示线程,在它的一个完整的生命周期中通常要经历如下的五 种状态:新建: 当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建 状态就绪:处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已 具备了运行的条件,只是没分配到CPU资源运行:当就绪的线程被调度并获得CPU资源时,便进

2020-07-18 17:36:29 20

原创 多线程的创建和使用

线程的创建和使用Java语言的JVM允许程序运行多个线程,它通过java.lang.Thread 类来体现。API中创建线程的两种方式之一(继承Thread类 )每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常 把run()方法的主体称为线程体通过该Thread对象的start()方法来启动这个线程,而非直接调用run()Thread类构造器Thread():创建新的Thread对象Thread(String threadname):创建线程并指定线程实例名

2020-07-18 17:14:27 33

原创 简单概念:程序、进程、线程、并行与并发、多线程的优点

程序、进程、线程程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一 段静态的代码,静态对象。进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态 的过程:有它自身的产生、存在和消亡的过程。——生命周期线程(thread),进程可进一步细化为线程,是一个程序内部的一条执行路径。若一个进程同一时间并行执行多个线程,就是支持多线程的线程作为调度和执行的单位,每个线程拥有独立的运行栈和程序计数器(pc),线程切换的开 销小一个进程中的多

2020-07-18 14:15:15 27

原创 BigInteger与BigDecimal类

BigInteger类Integer类作为int的包装类,能存储的最大整型值为231-1,Long类也是有限的, 最大为263-1。如果要表示再大的整数,不管是基本数据类型还是他们的包装类 都无能为力,更不用说进行运算了。java.math包的BigInteger可以表示不可变的任意精度的整数。BigInteger 提供 所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。 另外,BigInteger 还提供以下运算:模算术、GCD 计算、质数测试、素

2020-07-14 08:38:17 43

原创 Math类

Math类java.lang.Math提供了一系列静态方法用于科学计算。其方法的参数和返回 值类型一般为double型。abs 绝对值acos,asin,atan,cos,sin,tan 三角函数sqrt 平方根pow(double a,doble b) a的b次幂log 自然对数exp e为底指数max(double a,double b)min(double a,double b)random() 返回0.0到1.0的随机数 long

2020-07-14 08:34:22 29

原创 System类

System类System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。 该类位于java.lang包。由于该类的构造器是private的,所以无法创建该类的对象,也就是无法实 例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便 的进行调用。成员变量System类内部包含in、out和err三个成员变量,分别代表标准输入流 (键盘输入),标准输出流(显示器)和标准错误输出流(显示器)。成员方法native long currentTimeMillis(

2020-07-14 08:32:49 21

原创 Java比较器

Java比较器在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间 的比较问题。Java实现对象排序的方式有两种:自然排序:java.lang.Comparable定制排序:java.util.Comparator方式一:自然排序java.lang.ComparableComparable接口强行对实现它的每个类的对象进行整体排序。这种排序被称 为类的自然排序。实现 Comparable 的类必须实现 compareTo(Object obj) 方法,两个对象即

2020-07-14 08:29:19 28

原创 JDK8中新日期时间API

新日期时间API出现的背景如果我们可以跟别人说:“我们在1502643933071见面,别晚了!”那么就再简单不 过了。但是我们希望时间与昼夜和四季有关,于是事情就变复杂了。JDK 1.0中包含了 一个java.util.Date类,但是它的大多数方法已经在JDK 1.1引入Calendar类之后被弃用 了。而Calendar并不比Date好多少。它们面临的问题是:可变性:像日期和时间这样的类应该是不可变的。偏移性:Date中的年份是从1900开始的,而月份都从0开始。格式化:格式化只对Date有用

2020-07-14 08:17:03 24

原创 JDK8之前日期时间API

JDK8之前日期时间APIjava.lang.System类System类提供的public static long currentTimeMillis()用来返回当前时 间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。 此方法适于计算时间差。计算世界时间的主要标准有:UTC(Coordinated Universal Time)GMT(Greenwich Mean Time)CST(Central Standard Time)此方法前面有介绍!https://blog

2020-07-14 08:04:03 35

原创 String的算法题目

一、将一个字符串进行反转。将字符串中指定部分进行反转。比如“abcdefg”反转为”abfedcg”方式一:转换为char[] */ public String reverse(String str,int startIndex,int endIndex){ if(str != null){ char[] arr = str.toCharArray(); for(int x = startIndex,y = endInde

2020-07-11 12:20:23 40

原创 System类中获取时间戳的方法、java中两个Date类的使用(java.util.Date类,java.sql.Date类)

System类中获取时间戳的方法System类中的currentTimeMillis()@Test public void test1(){ long time = System.currentTimeMillis(); //返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。 //称为时间戳 System.out.println(time); }java中两个Date类的使用java.util.Da

2020-07-10 21:00:06 23

原创 StringBuffer和StringBuilder三者的异同,以及常用的方法和效率的比较

StringBuffer和StringBuilderString、StringBuffer、StringBuilder三者的异同?String:不可变的字符序列;底层使用char[]存储StringBuffer:可变的字符序列;线程安全的,效率低;底层使用char[]存储StringBuilder:可变的字符序列;jdk5.0新增的,线程不安全的,效率高;底层使用char[]存储源码分析:String str = new String();//char[] value = new char[0]

2020-07-10 20:52:45 24

原创 String类与其他结构之间的转换、String 与基本数据类型,包装类之间的转换、String 与 char[]之间的转换、String 与 byte[]之间的转换

String类与其他结构之间的转换String 与基本数据类型、包装类之间的转换String --> 基本数据类型、包装类:调用包装类的静态方法:parseXxx(str)基本数据类型、包装类 --> String:调用String重载的valueOf(xxx) @Test public void test1(){ String str1 = "123";// int num = (int)str1;//错误的 int num =

2020-07-10 20:39:16 26

原创 String的常用方法

String的常用方法int length():返回字符串的长度: return value.lengthchar charAt(int index): 返回某索引处的字符return value[index]boolean isEmpty():判断是否是空字符串:return value.length == 0String toLowerCase():使用默认语言环境,将 String 中的所有字符转换为小写String toUpperCase():使用默认语言环境,将 String 中的所有

2020-07-10 20:31:37 25

原创 String类的概述、理解String的不可变性、String不同实例化方式的对比、String不同拼接操作的对比、面试题

String类的概述String:字符串,使用一对""引起来表示。1.String声明为final的,不可被继承2.String实现了:Serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示String可以比较大小3.String内部定义了final char[] value用于存储字符串数据4.String:代表不可变的字符序列。简称:不可变 性。体现:(1)当对字符串重新赋值时,需要重新指定内存区域赋值,不能使用原有的value进行赋值。(2)

2020-07-10 20:16:18 33

原创 开发团队调度系统

开发软件调度系统目 标主要涉及以下知识点:类的继承性和多态性对象的值传递、接口static和final修饰符特殊类的使用:包装类、抽象类、内部类异常处理需求说明该软件实现以下功能:软件启动时,根据给定的数据创建公司部分成员列表(数组)根据菜单提示,基于现有的公司成员,组建一个开发团队以开发一个新的项目组建过程包括将成员插入到团队中,或从团队中删除某成员,还可以列出团队中现有成员的列表开发团队成员包括架构师、设计师和程序员用单级菜单方式工作。运行时,主界面显示公司成员的列表

2020-07-09 21:04:04 94

原创 throw 、自定义异常

throw异常对象:(1)jvm自动抛出(2)程序员手动抛出无论是jvm自动抛出还是throw手动抛出,最懂都用try…catch处理或者通过throws抛给上级throw关键字是用于主动抛出异常对象。语法格式:语句:throw 异常对象;说明:如果没有try…catch,他可以替代return语句结束当前的方法。但是无法返回正常对的结果,只能带回异常的对象Exception:(1)构造器 可以给message属性赋值new Exception(“校验码输入错误”)(2)Strin

2020-07-06 09:06:59 152

原创 当finally和return一起出现时的情况、throws、 throws与方法重写

当finally和return一起出现时的情况当finally和return一起出现时的情况:(1)情况一:finally里面有return,结果就是返回finally中的(2)情况二:finally里面没有return,结果就是返回try或catch中的说明:一般情况下不建议在finally中写return,因为写了return其他的return就没有用了public class TestFinallyReturn_5 { public static void main(String[] ar

2020-07-06 08:59:25 27

原创 异常处理:try..catch、 异常处理:try..catch...finally、命令行参数的赋值、 final,finalize,finally的区别

异常处理:try…catch1、语法结构try{可能发生异常的代码}catch(异常类型1 异常名称){捕获到该异常,如何处理的代码(1)什么也不写(2)打印异常(3)其他的处理方法}catch(异常类型2 异常名称){捕获到该异常,如何处理的代码}catch(异常类型3 异常名称){捕获到该异常,如何处理的代码}…说明:多个catch有要求,必须是小的在上面,如果没有大小(这里的大小是继承的关系,父类大于子类)随意2、执行的特点(1)如果try中的代码没有发生

2020-07-06 08:54:21 54

原创 异常的介绍、异常的父类Throwable、运行时异常、编译时异常

异常的介绍程序正常的情况下是可以运行的,知识偶尔因为其他的原因导致了程序的不正常。列如:用户输入参数的问题(除数不能为零),用户文件被删除,用户控件已满,网络中断程序的运行过程中,可能遇到了“不正常”的情况,导致程序暂停或者崩溃了。不是异常的情况:(1)语法错误,编译都不通过(2)逻辑错误java如何处理异常,java的异常的处理机制是什么样子的?java运行中,如果某句代码发生异常,那么java会在这句代码处停下来,java会创建一个“异常的对象”,并且“抛”出来。java会检测这句代

2020-07-06 08:47:06 86

原创 静态导入

静态导入import导包(1)import 包.类名;(2)import 包.;(3)import static 包.类名.静态成员;(4)import static 包.类名.;具体的情况看代码的演示://import java.lang.annotation.ElementType;import java.lang.annotation.Target;//这个样子导包的话就可以把ElementType省略了,代码就不会特别的长import static java.lang.annot

2020-07-03 14:07:44 22

原创 五、配置参数

配置参数1、如何声明配置参数?格式:【权限修饰符】 @interface 注解名{数据类型 配置参数名1();数据类型 配置参数名2();}2、配置赋值的问题(1)如果注解声明的配置参数,那么在使用这个注解时,要给这个配置参数赋值标准的复制格式:(配置参数名 1= 参数值1,配置参数名 2= 参数值2…)(2)如果配置参数的个数只有一个,并且名称是value,那么可以省略“配置参数名 =”(3)如果配置参数有默认值,那么可不赋值3、配置参数的类型有要求类型只能是八种数据类型、

2020-07-03 14:00:58 23

原创 四、自定义注解

自定义注解一、声明格式:【权限修饰符】 @interface 注解名{}二、使用@注解名三、读取:特别说明如果需要用反射读取某个注解,这个注解声明的时候,一定要增加这个元注解@Retention(RetentionPolicy.RUNTIME)四、元注解元注解:注解注解的注解,给注解加的注解,在注解声明时,在上面加的注解1、@Target 用来标记这个注解可以使用在XXX位置这个位置由ElementType枚举的常量对象来指定。2、@Retention(xx)作用:标记这个注解

2020-07-03 13:59:00 14

原创 三、单元测试的注解

单元测试的注解1、声明:第三方声明,不是JDK声明的2、读取:有JUnit框架来读取3、使用(1)引入第三方回归测试框架jar(一堆类的class文件)目前的IDE(Eclipse IDEA)都有集成项目名称 上右键选择 Build Path - Add Library- JUnit - 选择版本(2)可以使用的注解(在方法上面)@Test运行:1、Run as -> JUnit Test 单元测试2、如果没有选择方法,那么当前类的所有的@Test标记的方法都会执行,如果选择其中

2020-07-03 13:56:02 28

原创 二、用于文档注释的注解、以及如何设置如何显示文档注解的时间

用于文档注释的注解java中的注释:(1)单行注释(2)多行注释(3)文档注释,java特有需要配合注解使用用于文档注释的注解@author@version@since…@param(1)必须该方法有形参,才能写,有几个形参写几个(2)格式:@param 形参名 形参数据类型 解释@return(1)必须方法的返回值类型不是void,一个方法@return最多有一个(2)格式:@return 返回值类型 解释@throws(1)必须方法throws异常,有几个写几个

2020-07-03 13:52:24 105

原创 注解的介绍、一、系统预定义的三个最基本的注解

注解注解长什么样子@注解名注解是什么注解也是注释,这是代码级别的注释,用代码给代码注释注解有三个部分组成(1)声明注解,定义注解我们开发绝大多数都是别人定义好的。(2)使用注解(重要)我们开发中,主要就是使用注解(3)读取注解的信息我们把读取注解信息的代码叫:注解信息处理流程如果没有这一步前面的两部也没有意义读取注解的信息的代码基本上也是别人写好的,读取注解信息代码需要“反射”的知识常见的注解一、系统预定义的三个最基本的注解1、@Override它是由JDK的核心类库定义

2020-07-03 13:06:09 35

原创 枚举的练习、声明一个枚举类型Status, Status(员工状态),可以限定为4个:空闲(Free),忙(Busy),休假(Vocation),离职(Left)

枚举的练习1、声明一个枚举类型Status,Status(员工状态),可以限定为4个:空闲(Free),忙(Busy),休假(Vocation),离职(Left)2、给Status声明一个属性,String desc,并在创建常量对象时,为desc赋值为对应的意思,例如Busy对象赋值为“忙”3、声明一个员工类型Employee,有属性:编号,姓名,状态4、在测试类中,创建一个员工数组,5个对象,分别初始化为不同的状态,遍历显示//1、声明一个枚举类型Statuspublic enum Sta

2020-07-03 12:58:34 93

原创 枚举的介绍、枚举是JDK1.5之后引入的,那么之前如何实现的、以及枚举当中的一些方法

枚举的介绍枚举:列举,罗列枚举是代表这样的一系列的类型,这些类型有一个非常明显的特征,他们的对象是有限个**列如:**Week(星期),我们可以限定Week类型的对象只有7个Season(季节),可以限定对象为四个员工的状态(Status),可以限定为:空闲(Free),忙(Busy),休假(Vocation),离职(Left)枚举类是JDK1.5之后引入的。那么我们先看看JDK1.5之前没有枚举的类型是如何实现枚举的需求?Jdk1.5之前:如何实现这种枚举的需求要点:整个系统中,某个类型

2020-07-03 12:54:33 43

MySQL Word 版本笔记超级详细版本.docx|MySQLWord版本笔记超级详细版本.docx

mysql的笔记详细总结,用于自己的学习笔记记录DB:数据库(Database)即存储数据的“仓库”。它保存了一系列有组织的数据。 DBMS:数据库管理系统(Database Management System):是一种操纵和管理数据库的大型软件,例如建立、使用和维护数据库。

2020-09-08

开发软件调度系统.zip

https://blog.csdn.net/qq_41005604/article/details/107237486 本片文章的系统资源代码以及PPT

2020-07-09

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除