随笔分类 - Java基础
摘要:RandomAccessFile: RandomAccessFile既可以读取文件内容,也可以向文件输出数据。 同时,RandomAccessFile支持“随机访问”的方式,程序快可以直接跳转到文件的任意地方来读写数据 使用场景: ①、由于RandomAccessFile可以自由访问文件的任意位置,
阅读全文
摘要:我们要想实现IO的操作,就必须要知道硬盘上文件的表现形式。 而java就提供了一个类File供我们使用 File:文件和目录路径名的抽象表示形式 1、构造方法: File(String pathname):根据一个路径得到File对象 File(String parent, String child
阅读全文
摘要:Java中提供的数组是用来存储固定大小的同类型元素 一维数组 1、声明数组变量 必须先声明数组变量,才能使用数组。 dataType[] arrayRefVar; // 首选的方法 或 dataType arrayRefVar[]; // 效果相同,但不是首选方法 2、创建数组 Java中采用new
阅读全文
摘要:一、JDK动态代理 基于接口实现,要求委托类要是接口的实现。 Java的 java.lang.reflect 包下提供了 Proxy 类和一个InvocationHandler接口。 Proxy定义了生成JDK动态代理类的方法 getProxyClass(ClassLoader loader,Cla
阅读全文
摘要:网络编程概述 计算机网络: 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 网络编程: 就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。 网络模型: 计算机
阅读全文
摘要:Java异常分类结构: java.lang.Throwable 顶层父类 |– Error错误:JVM内部的严重问题,如OOM,程序员无法在代码中处理(如StackOverflowError、OutOfMemoryError)。 |–Exception异常:普通的问题。通过合理的处理,程序还可以回到
阅读全文
摘要:什么是泛型及泛型的作用? 泛型,本质是“参数化类型”。也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。在实际使用时指定具体的数据类型。 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。 Java中的泛型
阅读全文
摘要:将一个类的定义放在另一个类的内部,这就是内部类。 在面向对象语言中,任何一个类都可以在内部定义另外一个类,前者为外部类,后者为内部类。 内部类本身就是类的一个属性,与其他属性定义方式一致。内部类可以是静态和非静态的,它可以出现在属性定义、方法体和表达式中,甚至可以匿名出现,具体分为如下四种: 1、成
阅读全文
摘要:Java语言拥有跨平台、分布式、多线程、健壮性等主要特点,是一种面向对象型的编程语言。 面对过程让计算机可以有步骤地做一件事情,是一种过程化的叙事思维。但是在大型软件开发过程中,发现用面向过程语言开发、软件维护、软件复用存在着巨大困难,模块至今互相耦合,流程互相穿插,往往牵一发而动全身。 面向对象提
阅读全文
摘要:FutureTask是Callable的核心实现 多线程的实现方式: 1、继承Thread类 2、实现Runnable接口 3、实现Callable<V> 接口 通过实现Callable接口来创建多线程,在执行完成后可获取执行结果。 Callable接口: 对于需要执行的任务需要实现Callable
阅读全文
摘要:1、Unsafe介绍及源码 Unsafe 类位于 sun.misc 包下,final修饰,无法被继承。 其主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资源等,这些方法在提升Java运行效率、增强Java语言底层资源操作能力方面起到了很大的作用。 Unsafe的使
阅读全文
摘要:一、实现生产者消费者(线程交替执行) Conditon中的await()对应Object的wait(),Condition中的signal()对应Object的notify(),Condition中的signalAll()对应Object的notifyAll() condition.await()方
阅读全文
摘要:SPI(Service Provider Interface) 服务提供发现接口。 不同于微服务中的服务发现,其本质是典型的面向接口编程,使用了策略模式,实现解耦。 同时SPI 使用的是一种 ”插件思维“,即服务提供者负责服务所有的维护,当替换服务提供方时不需要调用方修改代码及配置文件。 理解: 1
阅读全文
摘要:静态变量: 静态变量即类变量,在类中方法之外以statis关键字声明,类的所有对象之间共享。 静态变量在类加载连接阶段的准备阶段在方法区分配内存并设置类变量的初始值(类型的默认值),在首次使用时初始化赋予正确值。 静态变量一般都被声明为常量使用 (public static final),静态常量(
阅读全文
摘要:ChatGPT: 在Java中,有一些重试框架可以帮助处理在执行某些操作时可能发生的错误,并尝试重新执行这些操作。以下是一些常用的Java重试框架: Spring Retry: 特点: Spring Retry是Spring框架的一部分,提供了在方法执行失败时进行重试的机制。它通过注解或者编程方式来
阅读全文
摘要:这种方式适用于接收较多的参数,且其中有些参数是不能为空的,去校验不能为空的参数。 1、接收绑定请求参数到 @ResponseBody @RequestMapping(value = "saveContent", method = RequestMethod.POST) public ContentR
阅读全文
摘要:一、饿汉式 1、在static属性中实例化(类加载的初始化阶段实例化(在准备阶段分配内存)) 2、在static代码块中实例化(类加载的初始化阶段实例化) 3、枚举实现(https://www.cnblogs.com/yangyongjie/p/11056454.html) 二、懒汉式 1、同步方法
阅读全文
摘要:一、线程池 线程池适合处理的任务:执行时间短、工作内容较为单一。 合理使用线程池带来的好处: 1)降低资源消耗:重复利用已创建的线程降低线程创建和销毁造成的开销 2)提高响应速度:当任务到达时,任务可以不用等待线程创建就能立即执行 3)提高线程的可管理性:可以统一对线程进行分配、调优和监控 4)提供
阅读全文
摘要:并发编程的目的是为了充分利用资源让程度运行的更快,原则是,将代码中串行执行的部分变成并发执行。 并发:指多线程交替执行 / 并行:指同时执行 1、多线程面临的挑战 并发编程的目的是为了让程序运行的更快,但是,并不是启动更多的线程就能让程序最大限度地并发执行。在使用多线程时需面临以下的几个挑战: 1)
阅读全文
posted @ 2020-03-03 15:27
杨岂
摘要:Enum源码: Enum.java /* * Copyright (c) 2003, 2009, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject
阅读全文

浙公网安备 33010602011771号