![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 71
小关同学喜欢吃汉堡
这个作者很懒,什么都没留下…
展开
-
关于main方法里面的参数args的一些知识点
前言今天写代码,突然心血来潮看着熟悉的main方法的写法,我突然产生了一个念头,mian方法里面的参数args好像我以前从来没有使用过,那它到底是怎么使用的呢?这个恐怕是学Java的人都特别眼熟的方法了。名字由来我们来了解一下它为啥叫args,args是"参数"的复数形式(arguments)的缩写,当然我们也可以把它改成其他名字,只要不违反命名规则可以随便改,如:str、string等等;参数类型args这个参数的参数类型只能是String数组,不能改成别的,否则会报错,如下:好家伙,直原创 2021-02-21 01:20:47 · 2471 阅读 · 0 评论 -
Lambda表达式(简单解析)
Lambda表达式Lambda表达式其实是JDK8的一个新特性。所谓Lambda表达式指的是应用在单一抽象方法接口环境下的一种简化定义形式,可以用于解决匿名内部类中定义复杂的问题。我们先来看一段代码,如下:interface Customer{ public void print();}public class Test { public static void print(Customer customer){ customer.print(); }原创 2020-12-19 14:50:08 · 295 阅读 · 0 评论 -
String类的基本概念
String类String类属于引用数据类型,只是编译器对其做了特殊处理(使其和基本数据类型一样)。注意:引用数据类型都可以使用"=="进行比较,只不过比较的并不是内容,而是地址的数值内容,利用这个特性我们可以判断两个不同名的对象是否指向同一块内存空间。当我们要比较两个字符串是否相等的时候我们可以使用**equals()**方法进行比较。字符串常量就是String的匿名对象。关于String类实例化方式的分析:一.直接赋值实例化String类对象的情况例:String string = "h原创 2020-11-21 19:49:52 · 1017 阅读 · 1 评论 -
GC处理的分析
GC处理的深入分析原创 2020-11-21 19:48:57 · 278 阅读 · 0 评论 -
JDBC编程:2(数据库的基本操作)
数据库的基本操作查询数据在开始前先简单地介绍一下什么是静态SQL和动态SQL:静态SQL,在编译阶段就可以确定数据库要做什么事情。在某种高级语言中,如果嵌入了SQL语句,而这个SQL语句的主体结构已经明确,例如在Java的一段代码中有一个待执行的SQL“select * from product where product_price>5”,在Java编译阶段,就可以将这段SQL交给数据库管理系统去分析,数据库软件可以对这段SQL进行语法解析,生成数据库方面的可执行代码,这样的SQL称为静态SQ原创 2020-07-05 19:49:18 · 163 阅读 · 0 评论 -
Java学习总结:58(Collections工具类)
Collections工具类Java提供了一个集合的工具类——Collections,这个工具类可以实现List、Set、Map集合的操作。Collections类的常用方法如下:No.方法类型描述1public static < T > boolean addAll(Collection<? super T> c,T…elements)普通实现集合数据追加2public static < T > int binarySearch原创 2020-05-10 21:19:47 · 151 阅读 · 0 评论 -
Java学习总结:57(Properties子类)
Properties子类Properties类本身是Hashtable的子类,但是由于Properties类都使用String数据类型进行操作,所以在使用Properties类时主要使用本类所定义的方法。Properties类常用方法如下:No.方法类型描述1public Object setProperty(String key,String value)普通设置属性2public String getProperty(String key)普通取得属性,如果原创 2020-05-09 21:36:44 · 247 阅读 · 1 评论 -
Java学习总结:56(Stack子类)
Stack子类Stack表示栈操作,栈也是一种动态对象数组,采用的是一种先进后出的数据结构形式,即在栈中最早保存的数据最后才会取出,而最后保存的数据可以最先取出。Stack类的定义如下:public class Stack<E>extends Vector<E>由上我们可以发现Stack类属于Vector的子类,但是在进行Stack类操作时不会使用Vector类定义...原创 2020-05-08 12:07:00 · 329 阅读 · 0 评论 -
Java学习总结:55(偶对象保存:Map接口)
偶对象保存:Map接口我们前面讲到的Collection属于单值保存父接口,每次只能保存一个对象;而我们这节讲的Map属于偶对象保存接口,利用Map可以保存一对关联数据(按照"key = value"的形式)。Map接口的常用方法No方法名称类型描述1public V put(K key,V value)普通向集合中保存对象2public V get(O...原创 2020-05-07 16:55:42 · 169 阅读 · 0 评论 -
Java学习总结:54(集合输出)
集合输出在Java中,集合的输出操作有四种形式:Iterator输出、ListIterator输出、foreach(加强型for循环)输出、Enumeration输出。迭代输出:IteratorIterator(迭代器)是集合输出操作中最常用的接口,而在Collection接口中也提供了直接为Iterator接口实例化的方法(iterator()),所以任何集合类型都可以转换为Iterato...原创 2020-05-05 21:52:09 · 229 阅读 · 0 评论 -
Java学习总结:53(单对象保存父接口:Collection)
单对象保存父接口:Collection原创 2020-05-04 13:18:37 · 415 阅读 · 1 评论 -
Java学习总结:52(Java网络编程)
Java网络编程开发第一个网络程序java.net包提供了网络编程有关的开发工具类,在此包中有一下两个主要的核心操作类。ServerSocket类:是一个封装支持的TCP协议的操作类,主要工作在服务器端,用于接收客户端请求;Socket类:也是一个封装了TCP协议的操作类,每一个Socket对象都表示一个客户端。ServerSocket类的常用方法No.方法名称类型描...原创 2020-04-29 21:00:38 · 325 阅读 · 1 评论 -
Java学习总结:51(对象序列化)
对象序列化对象序列化的本质实际上就是将内存中所保存的对象数据转换为二进制数据流进行传输的操作。原创 2020-04-29 14:51:13 · 155 阅读 · 2 评论 -
Java学习总结:50(扫描流:Scanner)
扫描流:ScannerScanner类定义在java.util包中,所以此类是一个工具类,利用它可以方便地实现数据的输入操作。Scanner实现了Iterator(迭代)接口与Closeable接口。Scanner类中定义的常用方法如下:No.方法类型描述1public Scanner(InputStream source)构造接收InputStream输入流...原创 2020-04-27 15:33:18 · 176 阅读 · 1 评论 -
Java学习总结:49(字符缓冲流:BufferedReader)
字符缓冲流:BufferedReader在开始前先让我们来看一段代码package Project.Study.IOSystem;import java.io.InputStream;public class Test4 { public static void main(String[]args)throws Exception{ InputStream in...原创 2020-04-27 13:42:52 · 331 阅读 · 0 评论 -
Java学习总结:48(System类对IO的支持)
System类对IO的支持System类与IO有关的3个对象常量No.常量类型描述1public static final PrintStream err常量显示器上错误显示2public static final PrintStream out常量显示器上信息输出3public static final IntputStream in常量...原创 2020-04-24 21:34:13 · 157 阅读 · 1 评论 -
Java学习总结:47(打印流)
打印流打印流包含字节打印流(PrintStream)和字符打印流(PrintWriter)。例:定义打印流工具类package Project.Study.PrintStream;import java.io.File;import java.io.FileOutputStream;import java.io.OutputStream;class PrintUtil{ ...原创 2020-04-24 16:44:43 · 136 阅读 · 0 评论 -
Java学习总结:46(内存流)
内存流在Java中,针对内存操作提供了以下两组类:字节内存流:ByteArrayInputStream(内存字节输入流)、ByteArrayOutputStream(内存字节输出流);字符内存流:CharArrayReader(内存字符输入流)、CharArrayWriter(内存字符输出流)。这两者的唯一区别就在于操作数据类型上,字节内存流使用byte数据类型,而字符内存流操作则使用...原创 2020-04-22 21:04:33 · 153 阅读 · 0 评论 -
Java学习总结:45(字符编码)
字符编码在实际工作中最常见的4种编码如下:GBK、GB2312:中文的国标编码,其中GBK包含简体中文与繁体中文两种,而GB2312只包含简体中文;ISO8859-1:是国际编码,可以描述任何文字信息(中文需要转码);UNICODE:是十六进制编码,但是在传递字符信息时会造成传输的数据较大;UTF编码(Unicode Transformation Format):是一种UNICODE的可...原创 2020-04-22 00:56:38 · 212 阅读 · 0 评论 -
Java学习总结:44(文件复制案例)
案例:文件复制(针对InputStream和OutputStream的操作应用)流程图(比较复杂我就不敲了,直接拍出来)例:实现文件复制操作package Project.Study.FileCopyCase;import java.io.*;public class Test { public static void main(String[]args)throws Ex...原创 2020-04-22 00:19:48 · 288 阅读 · 0 评论 -
Java学习总结:43(转换流)
转换流字节流和字符流的转换可以通过InputStreamReader、OutputStreamWriter两个类转换,下面是这两个类的继承结构和构造方法名称定义构造构造方法InputStreamReaderpublic class InputStreamReader extends Readerpublic InputStreamReader(InputStream ...原创 2020-04-20 23:59:58 · 520 阅读 · 0 评论 -
Java学习总结:42(字节流和字符流)
字节流与字符流上一节我们学习了文件操作类File,但是File类虽然可以操作文件,但是却不能操作文件的内容。如果要进行文件内容的操作,就必须依靠流的概念来完成。流在实际中分为输入流和输出流两种,输入流和输出流是一种相对的概念,关键是要看参考点。Java中针对数据流的操作也分为输入与输出两种方式,并且提供了以下的支持:字节流:InputStream(输入字节流)、OutputStream(输出...原创 2020-04-17 22:47:53 · 271 阅读 · 2 评论 -
Java学习总结:41(文件操作类:File)
Java文件操作类:File在java.io包中,如果要进行文件自身的操作(例如:创建、删除等),只能依靠java.io.File类完成。File类的常用操作方法No.方法类型描述1public File(String pathname)构造传递完整文件操作路径2public File(File parent,String child)构造设置父路径...原创 2020-04-14 22:17:35 · 231 阅读 · 2 评论 -
Java学习总结:40(国际化)
国际化所谓国际化程序指的是同一套程序代码可以在不同的国家使用,可以根据其应用的国家自动在项目中显示出本国的相应文字信息。使用Locale类定义语言环境Locale类的常用方法No.方法类型描述1public Locale(String language,String country)构造设置使用的语言以及国家编码2public static Local...原创 2020-04-13 21:32:59 · 150 阅读 · 2 评论 -
Java学习总结:39(反射机制)
反射机制JAVA中反射是动态获取信息以及动态调用对象方法的一种反射机制。Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。而这也是Java被视为动态语言的一个关键性质。Java反射的功能是在运行时判断任意一个对象所属的类,在运行时构造任意一个类的对象,在运行时判断任意一个类所具有的成员变量和方法,...原创 2020-04-10 22:09:54 · 286 阅读 · 0 评论 -
Java学习总结:38(正则表达式)
正则表达式正则表达式本质上是一种字符串操作语法规则,利用它我们能更加灵活地实现字符串的匹配、拆分、替换等操作。正则标记所有的正则表达式支持的类都定义在java.util.regex包里面。这个包里面定义了如下两个主要的类:1.Pattern类:主要定义要使用的表达式对象2.Matcher类:用于进行正则标记与指定内容的匹配操作。所有可以使用的正则标记都在java.util.regex....原创 2020-04-07 16:04:47 · 161 阅读 · 0 评论 -
Java学习总结:37(比较器)
比较器Arrays类No.方法类型描述1public static boolean equals(int [] a,int [] a2)普通判断两个数组是否相等,此方法被重载多次,可以判断各种数据类型的数组2public static void fill(int [] a,int val)普通将指定内容填充到数组中,此方法被重载多次,可以填充各种数据类...原创 2020-04-03 22:18:55 · 163 阅读 · 0 评论 -
Java学习总结:36(日期处理类)
日期处理类Date类Date类常用方法No.方法类型描述1public Date()构造实例化Date类对象2public Date(long date)构造将数字变为Date类对象,long为日期时间数据3public long getTime()普通将当前的日期时间变为long型例:取得当前的日期时间package Proj...原创 2020-04-02 01:36:14 · 152 阅读 · 0 评论 -
Java学习总结:35(数字操作类)
Java的数字操作类一.Math类Math类是一个专门用来进行数学计算的操作类,它提供了一系列的数学计算方法。在Math类里面提供的一切方法都是static型方法,所以可以直接由类名称进行调用。例:观察四舍五入操作package Project.Study.MathClass;public class Test1 { public static void main(String...原创 2020-03-31 22:36:33 · 212 阅读 · 0 评论 -
Java学习总结:34(对象克隆)
对象克隆对象克隆就是对对象的复制操作,在Object类中存在一个clone()方法用于对象的克隆操作。该方法如下:protected Object clone() throws CloneNotSupportedException;我们注意到:1.此方法使用了protected访问权限,这样使得在不同包产生对象时将无法调用Object类中的clone()方法,因此需要子类来覆写clone...原创 2020-03-31 20:50:28 · 150 阅读 · 0 评论 -
Java学习总结:33(System类)
System类System类的方法No.方法类型描述1public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)普通数组粘贴操作2public static long currentTimeMillis()普通取得当前的日期时间,以long...原创 2020-03-30 21:47:49 · 122 阅读 · 0 评论 -
Java学习总结:32(Runtime类)
Runtime类该类用于表示虚拟机(JVM)运行时的状态,每次启动JVM都对应一个Runtime实例,且只有一个实例,利用Runtime类可以启动新的进程或进行相关运行时环境的操作。此外,该类采用单例模式设计,对象不可以直接实例化。所以,取得Runtime实例化对象的的方法为:public static Runtime getRuntime()No.方法类型描述1pu...原创 2020-03-30 20:30:39 · 127 阅读 · 2 评论 -
Java学习总结:31(StringBuffer类)
StringBuffer类在Java中String类不适合使用于频繁修改字符串的操作上(因为其字符串常量一旦声明则不可改变,只能改变字符串对象,改变的是其内存地址的指向),所以我们可以使用StringBuffer类方便用户进行内容的修改。例:观察StringBuffer类的使用package Project.Study.StringBufferClass;public class Tes...原创 2020-03-28 14:45:04 · 150 阅读 · 0 评论 -
Java学习总结:30
线程的生命周期原创 2020-03-25 19:25:17 · 79 阅读 · 0 评论 -
Java学习总结:29
线程间的经典操作案例——生产者与消费者案例程序基本模型:package Project.Study.Multithreading;class Message{ private String title; //保存信息的标题 private String content; //保存信息的内容 public void setTitle(String title) {...原创 2020-03-24 15:45:17 · 105 阅读 · 0 评论 -
Java学习总结:28
线程的同步和死锁在程序开发中,所有程序都是通过主方法执行的,而主方法本身就属于一个主线程,所以通过主方法创建的新的线程对象都是子线程。利用子线程可以进行异步的操作处理,这样可以在不影响主线程运行的前提下进行其他操作,程序的执行速度不仅变快了,并且操作起来也不会产生太多的延迟。同步操作所谓同步操作就是一个代码中的多个操作在同一个时间段内只能有一个线程进行,其他线程要等待此线程完成之后才可以继...原创 2020-03-23 22:46:08 · 73 阅读 · 0 评论 -
Java学习总结:27
多线程常用操作方法线程的命名与取得由于多线程的状态不确定,所以线程的名字就成为了唯一的分辨标记,则在定义线程名称时一定要在线程启动之前设置名字,尽量不要重名,且尽量不要为已经启动动的线程修改名字。由于线程状态的不确定,所以每次可以操作的都是正在执行run()方法的线程,那么取得当前线程对象的方法为:public static Thread current Thread()。例:观察线程的...原创 2020-03-22 22:24:16 · 73 阅读 · 1 评论 -
Java学习总结:26
线程与进程进程是程序的一次动态执行过程,它经历了从代码加载、执行到执行完毕的一个完整过程,这个过程也是进程本身从产生、发展到最终消亡的过程。线程是比进程更小的执行单位,线程是在进程的基础上进行的进一步划分,一个进程可能包含多个同时执行的线程。注意:所有的线程一定要依附于进程才能够存在,进程一旦消失,线程也一定会消失。 而Java是为数不多的支持多线程的开发语言之一。多线程实现在Java中...原创 2020-03-20 21:41:41 · 162 阅读 · 0 评论 -
Java学习总结:25
内建函数式接口对于可能出现的函数式接口的方法最多只有4类:有参数有返回值、有参数无返回值、无参数有返回值、判断真假。为了简化开发者的定义以及实现操作的统一,Java提供了一个新的开发包:java.util.function,并且在这个包中提供了以下4个核心的函数式接口。1.功能型接口(Function)接口定义如下:@FunctionalInterfacepublic interfac...原创 2020-03-18 23:48:11 · 65 阅读 · 0 评论 -
Java学习总结:24
Lambda表达式Lambda表达式指的是应用在单一抽象方法(SAM)接口环境下的一种简化定义形式,可以用于解决匿名内部类的定义复杂问题。Lambda表达式的语法:(参数)->方法体相当于子类覆写抽象方法的方法体例:Lambda表达式入门操作package Project.Study.Lambda_test;interface IMessage{ public vo...原创 2020-03-17 23:37:24 · 77 阅读 · 0 评论