
Java高级编程
多线程、Java常用类、枚举类、注解、Java集合、泛型、IO流、网络编程、Java反射机制,Java8 - 11的新特性
summer丶i
等你熬过所有的苦,会遇见所有的甜❤️
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java多线程(1)
文章目录程序、进程、线程的理解并行与并发创建多线程的两种方式Thread类中的常用的方法:程序、进程、线程的理解程序(program) 概念:是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码。进程(process) 概念:程序的一次执行过程,或是正在运行的一个程序。说明:进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域线程(thread)概念:进程可进一步细化为线程,是一个程序内部的一条执行路径。说明:线程作为调度和执行的单位,每个线程拥独立的运原创 2020-08-29 13:09:16 · 267 阅读 · 0 评论 -
Java多线程(2)
文章目录线程的生命周期线程的同步机制方法一:同步代码块方法二:同步方法方法三:Lock锁 ---> JDK 5.0新增线程同步的利弊线程的生命周期说明:1.生命周期关注两个概念:状态、相应的方法2.关注:状态a —> 状态b:哪些方法执行了(回调方法)某个方法主动调用:状态a —> 状态b3.阻塞:临时状态4.死亡:最终状态线程的同步机制背景:例子:创建个窗口卖票,总票数为100张.使用实现Runnable接口的方式1.问题:卖票过程中,出现了重票、错票 --原创 2020-07-30 14:11:10 · 492 阅读 · 0 评论 -
Java常用类:String
文章目录String概述String的不可变性String实例化的不同方式字符串拼接方式赋值的对比常用方法String与其他结构的转换String与基本数据类型、包装类之间的转换String与字符数组之间的转换String与字节数组之间的转换String与StringBuffer、StringBuilder之间的转换JVM中字符串常量池存放位置说明:常见算法题考察String、StringBuffer与StringBuilder三者的对比StringBuffer与StringBuilder的内存解析对比St原创 2020-08-01 11:48:37 · 474 阅读 · 0 评论 -
Java常用类:比较器
文章目录Java比较器的使用背景:自然排序:使用Comparable接口Java比较器的使用背景:Java中的对象,正常情况下,只能进行比较:== 或 != 。不能使用 > 或 < 的但是在开发场景中,我们需要对多个对象进行排序,言外之意,就需要比较对象的大小。如何实现?使用两个接口中的任何一个:Comparable 或 Comparator自然排序:使用Comparable接口说明:1.像String、包装类等实现了Comparable接口,重写了compareTo原创 2020-08-02 12:09:13 · 191 阅读 · 0 评论 -
Java常用类:关于日期、时间的常用类
文章目录获取系统当前时间:java.util.Date类与java.sql.Date类获取系统当前时间:System类中的currentTimeMillis()java.util.Date类与java.sql.Date类java.util.Date类|—java.sql.Date类 子父类关系1.两个构造器的使用构造器一:Date():创建一个对应当前时间的Date对象构造器二:创建指定毫秒数的Date对象2.两个方法的使用toString():显示当前的年、月、日、原创 2020-08-02 11:47:19 · 1129 阅读 · 0 评论 -
Java常用类:其他类(System、Math、BigInteger、BigDecimal)
文章目录System类Math类BigInteger类、BigDecimal类System类System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。由于该类的构造器是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便的进行调用。方法:native long currentTimeMillis()void exit(int status)void gc()String原创 2020-08-02 12:19:46 · 214 阅读 · 0 评论 -
Java高级编程:枚举类
文章目录枚举类如何自定义枚举类?步骤:使用enum定义枚举类枚举类常用方法:(继承于java.lang.Enum类)使用enum定义枚举类之后,如何让枚举类对象分别实现接口:枚举类1.枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类2.当需要定义一组常量时,强烈建议使用枚举类3.如果枚举类中只一个对象,则可以作为单例模式的实现方式。如何自定义枚举类?步骤://自定义枚举类class Season{ //1.声明Season对象的属性:private final修饰原创 2020-08-03 10:13:47 · 206 阅读 · 0 评论 -
Java高级编程:注解
文章目录注解的理解注解的使用示例如何自定义注解:参照@SuppressWarnings定义元注解 :对现有的注解进行解释说明的注解。jdk 提供的4种元注解:如何获取注解信息:通过发射来进行获取、调用。JDK8中注解的新特性:可重复注解、类型注解注解的理解① jdk 5.0 新增的功能② Annotation 其实就是代码里的特殊标记, 这些标记可以在编译, 类加载, 运行时被读取, 并执行相应的处理。通过使用 Annotation,程序员可以在不改变原逻辑的情况下, 在源文件中嵌入一些补充信息。原创 2020-08-03 10:18:53 · 290 阅读 · 0 评论 -
Java高级编程:集合
文章目录集合与数组存储数据概述:数组存储的特点:数组存储的弊端:集合存储的优点:Collection接口单列集合框架结构Collection接口常用方法:集合与数组存储数据概述:集合、数组都是对多个数据进行存储操作的结构,简称Java容器。说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中)数组存储的特点:一旦初始化以后,其长度就确定了。数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了。比如:String[]原创 2020-08-07 11:02:50 · 1163 阅读 · 0 评论 -
Java高级编程:泛型
文章目录泛型的概念泛型的引入背景泛型在集合中的使用集合中使用泛型总结:自定义泛型类、泛型接口、泛型方法注意点应用场景举例:泛型在继承上的体现:通配符有限制条件的通配符的使用泛型的概念所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时确定(即传入实际的类型参数,也称为类型实参)。泛型的引入背景集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的原创 2020-08-08 15:50:07 · 335 阅读 · 0 评论 -
Java高级编程:IO流
文章目录File类的理解File的实例化路径的分类路径分隔符File类的常用方法File类的理解1.File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)2.File类声明在java.io包下3.File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。4.后续File类的对象常会作为参数传递到流的构造器中,指明读取或写入的"终点".File的实例化常用构造器Fil原创 2020-08-14 20:56:58 · 928 阅读 · 0 评论 -
Java高级编程:反射
文章目录本章的主要内容关于反射的理解体会反射机制的“动态性”反射机制能提供的功能相关APIClass类的理解与获取Class的实例Class类的理解获取Class实例的几种方式:(前三种方式需要掌握)总结:创建类的对象的方式Class实例可以是哪些结构的说明了解ClassLoader类的加载过程----了解类的加载器的作用类的加载器的分类Java类编译、运行的执行的流程使用Classloader加载src目录下的配置文件反射应用一:创建运行时类的对象说明反射应用二:获取运行时类的完整结构反射应用三:调用运行原创 2020-08-16 23:24:14 · 717 阅读 · 0 评论 -
Java高级编程:网络编程
文章目录InetAddress类的使用TCP和UDP的区别TCP三次握手和四次挥手TCP网络编程UDP网络编程URL编程URL的5个基本结构:InetAddress类的使用实现网络通信需要解决的两个问题1.如何准确地定位网络上一台或多台主机;定位主机上的特定的应用2.找到主机后如何可靠高效地进行数据传输网络通信的两个要素:1.对应问题一:IP和端口号2.对应问题二:提供网络通信协议:TCP/IP参考模型(应用层、传输层、网络层、物理+数据链路层)通信要素一:IP和端口号1.IP的理原创 2020-08-14 21:22:41 · 342 阅读 · 0 评论 -
Java高级编程:Java8新特性
文章目录Java8新特性简介Lambda表达式使用前后的对比:Java8新特性简介Lambda表达式使用前后的对比:举例一:@Testpublic void test1(){ Runnable r1 = new Runnable() { @Override public void run() { System.out.println("我爱北京天安门"); } }; r1.run();原创 2020-08-19 22:04:12 · 646 阅读 · 0 评论