JavaSE
文章平均质量分 82
Java基础性知识,夯实基础。
农村小白i
奋斗的农村小白
展开
-
设计模式(单例、多例、工厂)
设计模式(单例、多例、工厂)一、单例设计模式1.1 单例设计模式的作用单例模式,是一种常用的软件设计模式。通过单例模式可以保证系统中,应用该模式的这个类只有一个实例。即一个类只有一个对象实例。1.2 单例设计模式实现步骤将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。在该类内部产生一个唯一的实例化对象,并且将其封装为private static类型的成员变量。定义一个静态方法返回这个唯一对象。1.3 单例设计模式的类型根据实例化对象的时机单例设计模式又分为以下两种:原创 2021-08-18 16:57:17 · 259 阅读 · 0 评论 -
xml+dom4j+反射--实现接口解耦(框架注解原理)
xml+dom4j+反射–实现接口解耦(模拟框架创建实例原理)public class BeanFactory { public static Object newInstance(String id) throws Exception { // 创建xml解析器 SAXReader sax = new SAXReader(); // 读取注册文件 Document document = sax.read("exercise\\sr原创 2021-08-16 16:21:09 · 129 阅读 · 0 评论 -
反射、注解、动态代理
反射、注解、动态代理一、反射1.1 类的加载器1.1.1 类的加载当我们的程序在运行后,第一次使用某个类的时候,会将此类的class文件读取到内存,并将此类的所有信息存储到一个Class对象中上图:Class对象是指:java.lang.Class类的对象,此类由Java类库提供,专门用于存储类的信息。我们程序中可以通过:“类名.class”,或者"对象.getClass()"方法获取这个Class对象1.1.2 类的加载时机创建类的实例。类的静态变量,或者为静态原创 2021-08-16 16:18:37 · 157 阅读 · 0 评论 -
NIO、AIO
NIO、AIOBuffer类Channel通道Selector选择器AIO一、NIO(同步、阻塞)NIO概述在我们学习Java的NIO流之前,我们都要了解几个关键词(NIO面向块的I/O系统)同步与异步(synchronous/asynchronous):同步是一种可靠的有序运行机制,当我们进行同步操作时,后续的任务是等待当前调用返回,才会进行下一步;而异步则相反,其他任务不需要等待当前调用返回,通常依靠事件、回调等机制来实现任务间次序关系阻塞与非阻塞:在进行阻塞操作时,当前线原创 2021-08-11 21:45:46 · 392 阅读 · 0 评论 -
Socket网络编程
Socket网络编程一、网络变成入门1.1 软件结构C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。两种架构各有优势,但是无论哪种架构,都离不开网络的支持。网络编程,就是在一定的协议下,实现两台计算机的通信的程序。1.2 网络通信协议**网络通信协议:**通信协议是计算机必须遵守的规则,只有遵守这些规则,计算机之间才原创 2021-08-08 22:15:11 · 2919 阅读 · 1 评论 -
File类、IO概述、字节流、字符流、属性集、缓冲流、转换流、序列化流
File类、IO概述、字节流、字符流、属性集、缓冲流、转换流、序列化流一、File类1.1 概述java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。1.2 构造方法public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的File实例。public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。public Fi原创 2021-08-07 19:14:16 · 127 阅读 · 0 评论 -
多线程(死锁、等待与唤醒)
多线程(死锁、等待与唤醒)一、死锁(面试)代码实现:// 实现死锁机制public class MyRunnable implements Runnable { public static String lockA = "A锁"; public static String lockB = "B锁"; @Override public void run() { while (true) { synchronized (loc原创 2021-08-05 22:42:08 · 126 阅读 · 0 评论 -
Lambda表达式、函数式思想、Stream流
Lambda表达式一、Lambda表达式1.1 函数式编程思想概述 在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿什么东西做什么事情”。相对而言,面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做。做什么,而不是怎么做我们真的希望创建一个匿名内部类对象吗?不。我们只是为了做这件事情而不得不创建一个对象。我们真正希望做的事情是:将 run 方法体内的代码传递给 Thread 类知晓。传递一段代码——这才是原创 2021-08-03 22:45:01 · 154 阅读 · 0 评论 -
多线程、高并发及线程安全、volatile关键字、原子性、并发包、线程池、线程状态、定时器
多线程、高并发及线程安全、volatile关键字、原子性、并发包、线程池、线程状态、定时器一、多线程1.1 并发与并行并发:指两个或者多个事件,在同一时间段内发生(交替执行)。并行:指两个或者多个事件,在同一时刻发生(同时执行) 在操作系统中,安装了多个程序并发是指的是在一段时间内宏观上有多个程序同时运行,这在单CPU系统中,每一时刻只能有一道程序执行,即微观上这些程序是分时的交替运行,只不过给人的感觉是同时运行,那是因为分时的交替运行的时间是非常短的。而在多个 CPU 系统中,则原创 2021-08-03 22:36:03 · 248 阅读 · 0 评论 -
Collection、泛型、List、Collections、Set、Map
Collection、泛型、List、Collections、Set、Map一、Collection集合1.1 集合概述 集合:集合是java中提供的一种容器,可以用来存储多个数据。 集合和数组的区别:数组的长度是固定的。集合的长度是可变的。数组中存储的是同一类型的元素,可以存储任意类型数据。集合存储的都是引用数据类型。如果想存储基本类型数据需要存储对应的包装类型1.2 集合常用类的继承关系 Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个原创 2021-07-30 19:41:01 · 215 阅读 · 0 评论