JavaSE进阶学习
文章平均质量分 63
初来乍到戌先生
这个作者很懒,什么都没留下…
展开
-
线程安全问题
线程安全线程安全:线程锁:当某线程取得该锁后,其他线程需要等待线程的安全与否,主要取决于多线程同时访问同一个对象的其中某一个方法时,可能会触发同时运行其中的某一条代码,导致最后得出的运算结果与实际不符合先来看看线程不安全的一个类Account(不安全)class Account{ int deposite=1000; String name; static Map<String,Integer>ids=new HashMap<>(); st原创 2020-07-15 20:37:20 · 189 阅读 · 0 评论 -
多线程
本文主要介绍了线程创建的四种方式,以及线程的获取信息的相关方法,线程的调度原创 2020-07-15 19:12:07 · 118 阅读 · 0 评论 -
JSON入门简介
概念package SE05.n2JSON;public class Demo01Introduce { /* * 一、概念 JavaScript Object Notation * JavaScript对象表示法 * Person p = new Person(); * p.setName("张三"); * p.setAge("李四"); * p.原创 2020-07-13 20:29:00 · 160 阅读 · 0 评论 -
XML的约束技术
约束:规定xml文档的书写规则1.作为框架的使用者(程序员)的掌握要求:1)能够在xml中引入约束文档2)能够简单的阅读约束文档2.分类1)DTD:一种简单的约束技术2)Schema:一种复杂的约束技术简单约束student.dtd<!ELEMENT students (student+) ><!ELEMENT student (name,age,sex)><!ELEMENT name (#PCDATA)><!ELEMENT age (#PC原创 2020-07-13 20:19:35 · 196 阅读 · 0 评论 -
XML入门介绍
XML 简介/**一.概念:Extensible Markup Language 可扩展标记语言*(1)可扩展:标签都是自定义的*(2)功能:存储数据。<1>配置文件 <2>在网络中传输*(3)xml和html的区别:3.1、xml标签都是自定义的,html标签都是预定义的3.2、xml语法严格,html语法松散。3.3、xml是存储数据的,html是展示数据的。*(4)w3w:万维网联盟——xml的技术维护组织二.语法:1.基本语法1.2 xml文档后缀原创 2020-07-13 20:10:51 · 148 阅读 · 0 评论 -
PrintStream类与PrintWriter类
PrintStream类/*java.io.PrintStream是java.io.OutputStream的子类的子类,为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式是单纯的输出流,没有输入流构造方法:PrintStream(File file)PrintStream(String fileName)*/package SE04.n8PrintStream;import java.io.FileNotFoundException;import java.io.原创 2020-07-13 19:55:41 · 235 阅读 · 0 评论 -
对象流
概述/*概述Java提供了一种对象序列化的机制,用一个字节表示一个对象,该字节序列包含该对象的数据、对象的类型和对象中存储的属性等信息。字节序列写出文件之后,相当于文件中持久保存了一个对象的信息。反之,该字节序列还可以从文件中读取回来,重构对象,对他进行反序列化。对象的数据、对象的类型和对象中存储的数据信息,都可以用来在内存中创建对象操作序列化的流叫做对象流,又叫序列化流*/ObjectOutputStream类/*java.io.ObjectOutputStream类,将Java对象的原创 2020-07-13 19:49:23 · 134 阅读 · 0 评论 -
转换流
在了解本流之前先补充一些关于字符编码的知识点/*字符编码计算机中存储的信息都是用二进制表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符都是二进制数转换之后的结果。按照某种规则,将字符存储到计算机中,称为编码。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码。比如说,按照A规则存储,同样按照A规则解析,那么就能显示正确的文本符号。反之,按照A规则存储,再按照B规则解析,就会导致乱码现象字符编码Character Encoding就是一套自然语言的字符与二进制数原创 2020-07-13 19:41:35 · 97 阅读 · 0 评论 -
Properties类
/*** java. util. Properties继承于Hashtable,来表示一个持久的属性集。* 它使用键值结构存储数据,每个键及其对应值都是一个字符串。* 该类也被许多Java类使用,比如获取系统属性时,System.getProperties方法就是返回一个Properties对象。* Properties类构造方法* public Properties() :创建一个空的属性列表。* 基本的存储方法* public 0bject setProperty(String key,原创 2020-07-09 09:45:58 · 112 阅读 · 0 评论 -
CharacterStream字符流
CharacterStream当使用字节流读取文本时,可能会有一个问题,就是遇到中文字符时,可能不会显示完整的字符。那是因为一个中文字符可能占用多个字节存储。所以,Java提供一些字符流类,以字符为单位读写数据专门用于处理文本文件字符输入流Readerjava.io.Reader抽象类是表示用于读取字符流的所有类的超类,可以读取字符信息到JVM中。它定义了字符输入流的基本共性功能方法void close();关流int read();int read(char[]cbuf);从输入流原创 2020-07-07 20:31:31 · 808 阅读 · 0 评论 -
IO类
IO/*数据传输,可以看做是一种数据的流动,按照流动的方向,以JVM为基准,分为输入input和输出output即流向JVM是输入流,流出JVM是输出流Java中的IO操作主要是指java.io包下的内容,进行输入输出操作,输入也叫读取数据,输出也叫做写出数据根据数据的流向分为:输入流和输出流输入流:把数据从其他设备上读取到JVM中的流输出流:把数据从JVM中写出到其他设备上的流根据数据的类型分为:字节流和字符流字节流:以字节为单位,读写数据的流。字符流:以字符为单位,读写数据原创 2020-07-07 20:19:38 · 166 阅读 · 0 评论 -
File类
File类/*java.io.File类代表硬盘上的一个文件或者目录每个File类文件的对象表示一个磁盘文件或目录,其对象属性中包含了文件或目录的相关信息如:名称、长度、所含文件个数等调用它的方法则可以完成对文件或者目录的常用管理操作例如:创建、删除等操作File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法*/类中静态方法1.分隔符:1-1:File.pathSeparatorChar 与系统有关的路径分隔符Windows:分号(;) Linux:冒号(:)(该原创 2020-07-06 20:36:30 · 140 阅读 · 0 评论 -
Collections类
Collections/*Collections提供了操作集合的常用算法,这些算法都是以静态方法的形式提供的。这些方法的第一个参数都是需要操作的集合的引用。Collections提供的多数算符都是针对List类型的,也有部分可以操作任何类型的集合排序:void sort();随机排序:void shuffle()反转集合中的顺序:void reverse()二分查找:int binarySearch();大量数据时查找快*/package SE03.n3Collections;原创 2020-07-04 10:58:36 · 3374 阅读 · 0 评论 -
一个集合类的小练习(Map类)
练习:计算一个字符串中每个字符出现的次数,使用Map今天老师布置了一个小作业,老师说有点点难度,起初抱着钻研的心态试试,花了十几分钟写出来并优化了一下package Work2;import java.util.*;public class homework2 {// 练习:计算一个字符串中每个字符出现的次数,使用Map public static void main(String[] args) { Scanner scanner = new Scanner(S原创 2020-07-02 20:40:59 · 182 阅读 · 0 评论 -
泛型
泛型:把类型作为变量的值 泛型也可以自定义使用,也有四步骤: 1.泛型的定义:定义在类、定义在方法、定义在成员变量 2.泛型的设置:成员变量、方法参数…… 3.泛型的确定:当调用定义的代码时 4.泛型的触发:当调用设置的代码时package SE03.n2泛型;import java.util.ArrayList;public class Demo02Generic { public static void main(String[] args) {/* * 泛型 */ A原创 2020-07-02 20:30:01 · 116 阅读 · 0 评论 -
Map类
Map与Collection的区别/*Collection中集合,元素都是孤立存在的,向集合中添加元素采用的是一个一个的添加的方式Map中的集合,元素都是成对出现的,每个元素由键和值两部分组成,通过键可以找到对应的值,向集合中添加元素采用的是一对一对的添加的方式。Map中有多个子类,主要有HashMap和LinkedHashMap。HashMap:存储数据采用哈希表结构,元素的存取顺序不能保持一致(无序)。由于要保证键的唯一、不重复,需要重写键的hashCode()和equals()键和原创 2020-07-02 20:02:54 · 253 阅读 · 0 评论 -
List类及子类
List类概述/*List接口继承自Collection接口,是单列集合的一个重要分支,习惯上我们把实现了List接口的集合称为List集合1.允许出现重复的元素,所有元素以线性方式存储,在程序中可以通过索引来访问结合中指定的元素。2.元素有序,元素的存入顺序和取出顺序是一致的。*/常用方法1.public E get(int index)返回集合中指定位置的元素2.public E remove(int index)移除集合中指定位置的元素,返回移除的元素3.public E s原创 2020-07-02 19:51:13 · 675 阅读 · 0 评论 -
集合类
Collection集合:集合是Java提供的一种容器,可以用来存储多个数据。数组也是容器,但是数组的长度是固定的,集合的长度是可变的数组中存储的都是同一类型的元素,可以存储基本数据类型的值;集合存储的都是对象,而且对象的类型可以不一致。在开发中,一般对象多的时候,使用集合。集合安装其存储结构可以分为两大类,分别是单例集合java.util.Collection和双列集合java.util.MapCollection:单列集合的根接口,用于存储一系列复合某种规则的元素,它有两个重要的子接口原创 2020-07-01 21:29:39 · 101 阅读 · 0 评论 -
自定义Exception类
自定义异常/*自定义异常的三步骤1.定义:一般是继承Exception,重写构造2.设置:将该异常设置在某段代码中,复合条件则抛出3.触发:调用设置了异常的代码,符合条件则触发异常*/先定义两个自定义异常:年龄异常 取款异常AgeIllegalExceptionpackage SE02.n1Exception;public class AgeIllegalException extends Exception{//年龄非法异常 public AgeIllegalExceptio原创 2020-07-01 20:50:12 · 4114 阅读 · 0 评论 -
Exception类
异常类/*什么是异常(Exception)异常是程序在编译或运行过程中出现的例外,这些例外有的可以避免,有的却无法避免。Exception类继承自Throwable类,Throwable类还有一个子类ErrorError代表的是错误,不再是程序员编程处理的范围。检查异常也称为编译期异常不可避免,必须进行异常处理,要不编译器报错Exception以及它的子类(除去RuntimeException)未检查异常也称为运行时异常可以避免,不需要必须处理RuntimeException以原创 2020-07-01 20:29:49 · 3404 阅读 · 1 评论 -
时间类练习
练习1/*电子表功能:程序启动后,每秒向控制台输出当前系统时间,格式:10:35:33*/package SE01.n8dateFomat;import java.text.SimpleDateFormat;import java.util.Date;public class Demo02Test1 {/* * 电子表功能: * 程序启动后,每秒向控制台输出当前系统时间,格式:10:35:33 * */ public static void main(String[]原创 2020-06-30 21:27:21 · 205 阅读 · 0 评论 -
时间类总结
Date类java.util.DateDate的每一个实例用于表示一个确切的时间点,内部维护了一个long值,该值保存的是自1970年1月1日00:00:00到当前Date所表示时间之间经过的毫秒数。由于Date自身设计问题(主要是时区问题),所以Date大部分的操作时间的方法都被声明为过时方法,实际开发中已经不再建议使用了Date类的构造方法Date() 无参构造Date(long time) 有长整型参数的构造方法其他构造方法以及废弃不用Date类常用方法long getTime(原创 2020-06-30 21:08:29 · 162 阅读 · 0 评论 -
Math类
Math类以下介绍一些Math类中常用的方法,由于Math类为final且构造方法为private,所以在使用Math类时直接用类名调用方法。1.返回参数的绝对值 Math.abs();2.返回大于或等于参数的最小整数。返回值为double类型 Math.ceil();//向大取整3.返回小于或等于参数的最大整数。返回值为double类型 Math.floor();向小取整4.返回值与参数最接近的整数,如果参数与两个整数的距离相等,则返回其中为偶数的那一个。返回值为double类型 Math.ri原创 2020-06-30 20:59:38 · 168 阅读 · 0 评论 -
基本数据类
Integer类java.lang包下,为8种基本数据类型提供了对应的包装类。包装类提供了字符串、基本数据类型、包装类之间的相互转换的方法数字基本数据类型的包装类都继承了Number类,它们的使用方式相似下面以常用的基本数据类型int对象的包装类Integer为例,说明数字类型包装类的使用示例package SE01.n4Integer;public class Demo01Integer { public static void main(String[] args) {// 1原创 2020-06-30 20:50:35 · 169 阅读 · 0 评论 -
System类
System类java.lang.System类代表运行时系统,提供了一些获取设置和获取当前系统运行环境的方法:System有三个成员变量:System.in 标准输入流 System.out 标准输出流 System.err 错误输入流System中的方法: System.currentTimeMillis();//返回以毫秒为单位的当前时间 System.arrayCopy();//快速复制数组的方法 System.exit();//退出Java虚拟机的方法 示例p原创 2020-06-30 20:43:56 · 82 阅读 · 0 评论 -
正则表达式
字符串与正则表达式字符串支持正则表达式的方法之一:boolean matches(String regex)使用给定的正则表达式验证当前字符串是否满足其格式要求,满足则返回true,不满足则返回false需要注意:给定的字符串无论是否添加了边界匹配,都是做全匹配验证,所以在这里给定的正则表达式可以不添加^$这两个字符。正则表达式是一串特定的字符,组成一个“规则字符串”,这个规则字符串是描述文本规则的工具。正则表达式就是记录文本规则的代码。举例package SE01.n1Strin原创 2020-06-30 20:38:17 · 185 阅读 · 0 评论 -
Object类
Object类类中的方法hashCode()/toString()/equals()这三个方法时我们今后在做项目时经常要调用的方法,尤其是在编写一个标准的Java类之后,我们常常重写这三个方法,标准的Java类又称为JavaBean,JavaBean的要求:1.所有成员变量的访问权限:private2.为每一个成员变量设置一对getter和setter3.设置一个无参数和全参构造Person类package SE01.n1Object;public class Person { pri原创 2020-06-30 20:28:45 · 2644 阅读 · 0 评论