![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 82
白居不易.
白家宜
展开
-
策略模式,看一篇就够了
在策略模式中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的context对象。策略对象改变 context 对象的执行算法。...原创 2022-07-14 15:23:59 · 8836 阅读 · 11 评论 -
线程池知识点
线程池知识点1.概述以前我们需要使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁, 而是可以继续执行其他的任务? 在Java中可以通过线程池来达到这样的效果。线程池里的每一个线程代码结束后,并不会死亡,而是再次回到线程池中成为空闲状态,等待下一个对象来原创 2021-08-09 17:41:11 · 2261 阅读 · 0 评论 -
对象克隆知识点
对象克隆知识点1.对象克隆 将原有的一个包含数据的对象,克隆出一个新的对象,新对象包含原来对象数据。2为什么需要克隆? 克隆的对象可能包含一些已经修改过的属性,而new出来的对象的属性都还是初始化时候的值,所以当需要一个新的对象来保存当前对象的“状态”就靠clone方法了。 通过源码可以看到Object中的clone方法是一个native方法。特点:快速,在底层实现的。误区:Student stu1 = new Student ();Student stu2 = stu1 ;这种形原创 2021-08-06 14:38:23 · 399 阅读 · 0 评论 -
HttpClient的学习笔记
HttpClient的学习笔记1.定义 HttpClient是Apache中的一个开源项目。它实现了HTTP标准中Client端的所有功能。使用它能够很容易地进行Http信息的传输。 使用传统JDK自带的URLConnnection是有些不方便的。所以我们使用HttpClient。HttpClient是Apache Jackarta common下的小项目,可以用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。2.特性基于标准、纯原创 2022-02-23 09:54:11 · 2534 阅读 · 0 评论 -
学习Protobuf的一个小demo
学习Protobuf的一个小demo需要导入的依赖 <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>3.1.0</version> </dependency&g原创 2022-02-21 08:53:36 · 299 阅读 · 0 评论 -
Java枚举
Java 枚举1. 枚举概述 **枚举是一个被命名的常数的集合,用于声明一组带标识符的常数。**枚举在日常生活中很常见,例如一个人的性别只能是“男” 或者“女”,一周的星期只能是7天中的一个等。 类似这种当一个变量有几种固定可能的取值时,就可以将它定义为枚举类型。在 JDK 1.5之前没有枚举类型,那时候一般用接口常量来替代。而使用 Java枚举类型 enum 可以更贴近地表示这种常量。枚举类的使用场景: 类的对象是有限个,确定的。例如: 星期:Monday(星期一)······ Su原创 2021-08-23 18:46:59 · 98 阅读 · 0 评论 -
Java并发编程知识点
Java并发编程1.并行与并发 单核cpu下,线程实际还是创兴执行的。操作系统中有一个组件交左任务调度器,将cpu的时间片(windows下时间片最小约为15毫秒)分给不同的线程使用,只是由于CPU在线程间(时间片很短)的切换非常快,给人感觉是同时运行的。 总结:微观串行,宏观并行,一般会将这种线程轮流使用cpu的做法称为并发,concurrent 多核cpu下,每个核(core)都可以调度运行线程,这时候线程可以是并行的。并发(concurrent)是同一时间应对(dealing with原创 2021-08-09 12:15:18 · 379 阅读 · 0 评论 -
线程知识点
线程知识点1.线程概述程序,进程,线程**程序(program)**是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码。(静态的代码)**进程(process)**就是正在执行的程序,从Windows角度讲,进程是含有内存和资源并安置线程的地方。(运行中的代码,加载到内存中执行)线程(thread):进程可进一步细化为线程,是一个进程内部的最小执行单元。举个例子: 我们 在电脑上安装了微信、QQ等,那些安装文件指的是程序。 当我们双击运行微信,这款程序会被加载到内存中,原创 2021-08-08 13:57:46 · 360 阅读 · 0 评论 -
SpringBoot知识点
SpringBoot知识点1.回顾Spring优点开源的,轻量级的(Spring的组件代码),非侵入时的一站式框架,简化企业级应用开发。 控制反转(IOC),依赖注入(DI)降低了组件之间的耦合性,实现了软件各层之间的解耦。 面向切面(AOP),利用它可以很容易实现一些拦截,如事务控制等。可以把一些独立的功能抽取到一个切面中去,在不改变原来代码的基础上对我们的代码进行功能上的增强。 Spring对于主流的应用框架提供了很好的支持,例如mybatis Spring提供自己的MV原创 2021-07-06 15:29:20 · 699 阅读 · 0 评论 -
spring知识点
Spring知识点1.Spring是什么?Spring是于2003年兴起的一个轻量级的,IOC和AOP的Java开发框架,它是为了简化企业级应用开发而生。官网:https://spring.io/2.Spring优点轻量级的Spring框架使用的jar都比较小,一般在1M以下或者几百kb。Spring核心功能所需的jar总共在3M左右。Spring框架运行占用的资源少,运行效率高。非侵入式编写一些业务类(我们写的service,servlet,dao)的时候不需要继承spring特定的类,通原创 2021-07-06 15:20:06 · 129 阅读 · 0 评论 -
从零开始的Java__IO流
Java__IO流1.File类File类是java.io包中很重要的一个类。一个File类的对象表示一个计算机中的文件或者目录(文件夹)。(1)File类的构造方式(3种) // 方式一 File f = new File("D:/message.txt"); // 方式二 String p = "D:\\"; File f1 = new File(p,"message.txt"); File f2 = new File(p,"work"); // 方式三 File fp = ne原创 2021-01-23 12:56:52 · 109 阅读 · 0 评论 -
从零开始的Java集合
集合/容器1.集合的概念当我们需要保存一组类型相同的元素时,可以通过使用数组来存储,数组就是一个容器。但是数组有一个缺点:数组一旦定义,长度将不能再变化。在实践中,我们需要保存一些变长的数据集合,需要保存一些能够动态增长长度的容器来存储数据,同时我们需要对数据的保存的逻辑可能各种各样,于是就有了各种各样的数据结构。Java中对于各种数据结构的实现(存储),就是我们用到的集合。2.使用集合的好处集合类的长度是可变的。不同的数据存储,操作方式不同。3. Java的集合体系Java的集合框架是原创 2021-01-20 22:25:40 · 200 阅读 · 0 评论 -
从零开始的JavaAPI-常用类
JavaAPI-常用类汇总1.APIAPI(Application Programming Interface)应用程序编程接口语言中提供的类、接口;对类、接口功能的说明文档。2.基本数据类型包装类Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类。即Java为每种基本类型提供了一个类,这些类被称为包装类。/*原创 2020-12-19 17:09:15 · 145 阅读 · 1 评论 -
从零开始的Java异常
异常1.异常的概念:广义:一切不正常情况狭义:程序在运行时,出现的不正常情况,经过异常处理机制 后,程序可以继续向下运行。Java程序在执行过程中所发生的的异常(运行时一切不正常情况)事件可分为两类:**Error:**Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。一般不编写针对性的代码进行处理。**Exception:**其它因编程错误或偶然的外在因素导致的一般性问题,可以使用正对性的代码进行处理。2.常见的异常: /*原创 2020-12-15 17:07:33 · 121 阅读 · 0 评论 -
从零开始的面向对象
面向对象知识汇总1.面向过程和面向对象的设计思想面向过程(缩写POP): 分析出解决问题所需要的步骤,然后按步骤一步一步实现; 面向过程直接关注流程/过程。面向对象(缩写OOP): 以分类的方式进行思考和解决问题; 面向对象先对整体进行分类,然后根据不同的类深入细节的处理; 面向对象的思想符合人类的认知习惯。两者间的关系:面向对象无法取代面向过程。面向对象是从宏观上把握事物之间的关系,在具体到如何实现某个细节时,仍然采用面向过程的思维方式。原创 2020-12-04 21:33:37 · 105 阅读 · 0 评论