自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(180)
  • 资源 (3)
  • 收藏
  • 关注

转载 Java IO篇 Java IO编程

Java IO即Java 输入输出系统。不管我们编写何种应用,都难免和各种输入输出相关的媒介打交道,其实和媒介进行IO的过程是十分复杂的,这要考虑的因素特别多,比如我们要考虑和哪种媒介进行IO(文件、控制台、网络),我们还要考虑具体和它们的通信方式(顺序、随机、二进制、按字符、按字、按行等等)。Java类库的设计者通过设计大量的类来攻克这些难题,这些类就位于java.io包中。

2023-02-19 20:57:51 1096 1

原创 Java工具篇-Git 基于IDEA管理的本地仓库同时关联多个远程仓库

我的代码提交到自己的远程仓库,在这个时候源仓库更新了,再从自己的仓库提到源仓库时发生了冲突,并且没法在线合并,就尬在这里了。我原来的这种方式是提交我的代码到自己的远程仓库,然后提pr给开源仓库,而拉代码我一般是先拉到我的远程仓库,然后再更新我的本地仓库(当然也可以直接拉源仓库的代码,但是这样需要用命令拉,需要copy地址)。在关联两个仓库之后,我就可以从源仓库pull代码,向自己的仓库push代码,然后从自己的远程仓库提pr,这样的单向流程就清晰很多,能避免很多问题,结合IDEA使用效率会非常高。

2022-11-04 20:51:57 3235

转载 Linux安装mysql8.0

说明:我这里配置的log-error的路径是在/var/log/mariadb 底下,创建的路径根据自己的实际路径来配置,注意一定也别忘了创建mariadb.log,要不然还是会报错。可能会启动失败: mysqld_safe error: log-error set to ‘/var/log/mariadb/mariadb.log’整体my.cnf的配置没有什么问题,然后一直启动失败,最后发现是mysqld_safe 配置的日志目录并没有创建。mysql 用户和用户对目录进行授权。

2022-10-22 08:00:00 758

转载 Linux安装Oracle 19c

1.在root目录下,执行命令yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm,进行Oracle19c的预安装,等待安装完成。2.在root目录下,执行命令yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm,输入数据库语句确认数据库语句可以正常执行,1.下载安装包oracle-database-ee-19c-1.0-1.x86_64.rpm。

2022-10-19 21:30:37 13478 22

转载 Java集合篇_04 Optional

如上代码是编译不通过的,这里将person进行了Optional来修饰,才可以使用map方法,然后Person里面的Car对象也是用Optional来修饰的,所以使用map方法取出来的是一个用Optional>类型的对象,然后再对其使用map方法是行不通的,这里需要使用flatMap方法,就和之前的stream流一样,“将所有内容都放在最外面的容器里”。它是用来规范我们开发的API,使其语义更加的明确,使用Optional修饰的对象,表示该对象可能为null。

2022-09-18 01:13:23 455

原创 个人习惯阅读源码的方式以及IDEA查看源码常用快捷键(小技巧完善中。。。)

我就是这样,英文特别差劲,以前还不爱学,想看一手资料,就得懂英文,刚开始很难,只能硬着头皮看,借助有道词典,也能看懂,坚持下来习惯了阅读英文,会发现“英语好”这件事变得越来越简单。当然即使是不知道,通过看代码也能明白该功能,但如果知道的话,能直接沿着思路走,可以更快得理解,因此这也是个辅助查看源码的方式。一般来讲,无论是JDK、优秀的第三方框架,还是业务代码,都会有注释的,有的命名规范做得特别好,见名之意,所以我们可以先看看注释或者命名了解它有什么用,然后再看它是怎么实现的。

2022-09-16 23:58:39 1902

原创 Java面向对象_13 可变参数

可变参数意思是参数的个数是可变,用作方法的形参,可以使方法参数个数为动态变化的。可变参数变量底层其实是一个数组;如果一个方法有多个参数,包含可变参数,可变参数要放在最后。在一般情况下,我们对于方法重载是这么写的:但是有了可变参数,我们可以把相同类型用可变参数 来表示;要注意可变参数必须要放在最后。如果要是可变参数放在前面,当形参列表一样的时候,就没法区分第一个参数是单个参数还是个数组,但是如果我们把可变参数放后面,那前面的对应好了,剩下的就都属于数组了。...

2022-09-03 06:00:00 157

原创 Java网络篇_01 Socket网络编程

Socket的英文原义是“孔”或“插座”。在网络编程中,网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。Socket套接字是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。...

2022-08-30 20:08:42 321

原创 设计模式——策略模式

①如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为。我这里是使用反射实现的,也可以用多态、Map、IOC等方式实现;③如果一个对象有很多的行为,如果不用恰当的模式,这些行为就只好使用多重的条件选择语句来实现。意图:定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。如何解决:将这些算法封装成一个个类,在调用的时候可以任意地替换。②一个系统需要动态地在几种算法中选择一种。将行为或算法提出来放在策略的接口中;

2022-08-24 18:00:00 159

原创 设计模式——装饰者模式(Decorator Pattern)

比如有一个毛坯房,现在要给这个毛坯房做装饰,想一下,装饰后的房子结构上并没有变化,装饰前的房子功能很局限,而装修后的房子功能全面,能睡觉、能洗澡、能看电视…所以装饰者模式的本质是在不惊动原始设计的基础上,为其添加功能。比如,在毛坯的基础上刮大白、贴瓷砖,在刮了大白的基础上再添加家具。由此例子可以看出,装饰者模式它在没有改变原有的代码基础上,增强代码的功能或者说增加了新的方法。

2022-08-20 23:20:18 112

原创 Java Web篇_10 Java对JSON的处理

JSON在Java中的转换什么是JSONJSON转换工具JacksonJackson介绍Jackson的依赖Jackson常用APIJackson使用演示Java对象与JSON的转换Map什么是JSON如果你没听说过什么是JSON,那就先看一下文档了解一下:https://www.w3school.com.cn/js/js_json_intro.aspJSON转换工具JacksonJackson介绍了解了JSON是在前端Javascript中使用的数据包,用于前后端交换数据的一种对象。当然了,前

2022-07-19 11:45:00 254

原创 微信小程序篇_01 微信小程序与Java后端接口交互

微信小程序与Java后端接口交互准备创建后端项目创建小程序项目本文主要介绍小程序前后端数据的交互,实践演示。准备创建后端项目我这里就创建一个SpringBoot项目作为演示。在创建项目中选择Spring Initializr要勾选SpringWeb框架,当然你也可以后面导入,确认好设置后,创建项目。然后在Maven依赖中调整SpringBoot的版本 <parent> <groupId>org.springframework.boot<

2022-07-17 20:15:48 6892

原创 Java框架篇_13 Spring Boot整合Validation参数校验

中接口的参数校验就是最为常见的。这里就来看一下springboot中参数校验(validation)的使用。hibernate-validator沿用了validation-api中的所有注解约束,同时也定义。在开发中,会经常需要进行参数的校验,比如接口层、业务层、持久层等,其。哪个功能需要该字段,就在groups参数中添加上该功能的接口。最后在用到对应功能的地方加上功能接口。.........

2022-07-16 19:59:59 523

原创 Oracle问题:如何远程连接Oracle数据库

我这里拿19c版本的Oracle举例(12c同样适用)我的Oracle数据库是安装在远程的CentOS7的系统上,所以,你应该确保Linux系统中所存在的问题已经解决,比如是否关闭防火墙、是否启动Oracle服务、是否确定端口号(默认1521)…官网下载轻量版:https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html下载完成后解压它,放到一个稳定的目录中,如这样:在下创建,然后创建tnsna

2022-07-10 17:55:52 1841

转载 Java工具篇-Git SourceTree安装教程

一、sourcetree的免注册安装过程 链接:https://pan.baidu.com/s/1psqTTlimaXAzajhcZC6tcg 提取码:4c0q点击“下一步”会出现账户注册的页面,也就是下面这个页面。由于这两者的账户都是需要外网的连接,所以推荐以下方式。进入网盘下载accounts.json文件,链接地址: https://pan.baidu.com/s/1Taa4LfI-yQBNZ5LaC3o_Gw 提取码:00m1 将该文件拷到C:\Users\Administrator\AppDa

2022-07-09 23:53:47 399

原创 Web篇_05 Node.js

Node.js起步Node.jskoa框架搭建Web服务器起步Node.js当年有个叫Ryan Dahl的哥们,他用C++写高性能的web服务,对于高性能,异步IO事件驱动是基本原则,但是用C/C++来写太痛苦了,它对比了各种高级语言,发现很多语言都支持异步IO,但是一旦写同步IO,他们就懒得写异步IO了。所以Ryan Dahl就将目光放到javascript上了,因为js是单线程、单进程地去执行,根本不能同步地进行IO操作,所以javascript的这一缺陷导致了它只能使用异步IO,正好也符合了Ry

2022-07-01 17:12:11 266

原创 Java数据库篇_05 Oracle数据库

Oracle部署相关、Oracle的安装、常见问题、SQL、DDL、建表、约束、DQL、查询、多表查询、子查询、内连接、外连接、DML、增删改、事务、Oracle文档

2022-06-29 22:58:39 469

原创 Web篇_06 搭建Vue项目(Vue3+Element Plus+Vue-cli+Webstorm)

Vue3使用Vue UI搭建项目使用Webstrom创建Vue项目VUE3的文档 https://v3.cn.vuejs.org/使用Vue UI搭建项目我使用Vue ui搭建项目,原因是简单,易于管理,图形化易操作。1. 安装node首先你应该有一个node.js,如果没有可以参考安装和使用:2. 安装Vue CLIVue CLI的文档 https://cli.vuejs.org/zh/vue-cli是官方发布的vue项目脚手架,可以用来快速创建项目,我们本文所用到的vue ui就是基于

2022-06-27 11:42:52 1415

原创 Java工具篇-Git_03 Git、集成IDEA、码云平台、Github操作视频展示

百度网盘链接链接:https://pan.baidu.com/s/1uwZZh4ywc4dw_nvt6haR0Q?pwd=xxxx提取码:xxxx

2022-06-25 21:10:02 119

原创 Web篇_01 了解web开发

Web开发主要分为前端开发和后端开发两部分,前端更侧重于页面的展示与用户的交互,后端更侧重于数据的处理于服务的访问。而HTML语言就属于前端的开发范围。

2022-06-23 11:42:25 1853

转载 一位程序员大佬(现CEO)写给程序员的(十年前的文章放到现在依旧很有深度,并且更加应景)

2010年初写过一篇博客(我们是一群和平年代充满浮躁与抱怨的程序员),一年过去了,社会好像更浮躁,也有网友问我这方面的问题,于是有了下面这篇文章,再次写给我们这些刚入行浮躁的程序员,如何成长,以下是列出了一些成长的心得,我们不必每条都去实践,但是优秀的程序员成长过程中总会实践里面的几条。 不要害怕做事,刚毕业的同学最缺的就是工作经验,乱七八糟的项目能让你很快就了解了一个公司的业务与使用的技术,并且可以多接触同事与客户。 当你毕业后刚进一家公司时,如果主管没有把你安排到项目组工作,那真的很

2022-06-19 22:18:14 184

原创 Java面向对象_31 正则表达式的使用

正则表达式(Regular Expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串。除了这种方式验证,字符串String类自身也有是支持正则表达式的API:正则表达式复杂点的写法:这里有两个连续的[ ],可以拼接表示允许的范围,后面的{ }中的量词表示字符的范围。比如,例子中验证前7位范围是否都在a-z,后面的8-15位的范围是否都在A-z或0-9内。正则表达式还支持字符串的截取:该例就表示字符

2022-06-17 20:08:40 103

原创 Java集合篇_03 Stream

Stream 是JDK1.8 中处理集合的关键抽象概念,Lambda 和 Stream 是JDK1.8新增的函数式编程最有亮点的特性了,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用SQL执行的数据库查询。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。.

2022-06-15 14:34:14 176

原创 Java面向对象_30 泛型

要注意,泛型参数一定是类类型,不能是基本数据类型;泛型类不能继承Throwable及其子类。在谈到泛型应用时,我个人遇到使用泛型的场景大都是与集合指定类型相关,因此我有个建议就是查看Java的ArrayList、HashMap等集合的源码,看看他们是怎么写的。上面的关于泛型的抽象概念你看起来可能一知半解,不是很清晰,不过没关系,下面的3个例子认真看着,要注意注释的内容,它能帮助你快速掌握泛型的使用。首先我们来谈谈泛型是如何使用的,我拿ArrayList集合举例。...............

2022-06-13 18:16:48 94

原创 Java框架篇_12 AOP+反射+自定义注解应用封装限流注解

封装限流注解限流API封装限流注解设计定义一个注解AOP的环绕通知实现限流的代码限流注解的完整源码

2022-06-09 19:57:17 325 1

原创 Java框架篇_11 Spring @Async异步注解

@AsyncSpring的@Async注解手写实现@Async注解Spring的@Async注解首先来看看@Async异步注解的使用,它的作用的用的方法变为异步方法,本质就是创建了线程。它相比传统的创建线程的方式,使用@Async有多简洁呢?先看这个演示,我这是一个Spring Boot项目:这个@Async注解是直接加在方法上面,这样getStatus()就变成了异步方法@SpringBootConfigurationpublic class AsyncService { @Asyn

2022-05-25 16:52:52 367

原创 Java框架篇_10 Spring Bean的生命周期

Spring BeanFactory BeanSpring Bean的作用域Spring Bean的生命周期Factory BeanSpring中bean的类型有两种,分别为普通bean和工厂bean(Factory Bean)。普通的bean在配置文件中定义什么类型,就必须要与返回类型保持一致;而factory bean在配置文件中,可以与返回类型不一致。下面演示一下普通bean与factory bean的使用和区别。现在有一个实体类User创建一个factorybean包,在该包下创建U

2022-05-22 22:34:22 192

原创 Java框架篇_09 Spring AOP

面向切面编程AOP介绍动态代理使用jdk实现动态代理AOP介绍AOP(Aspect Oriented Programming),面向切面编程,它是对面向对象思想的一种补充。面向切面编程,就是在程序运行时,不改变程序源码的情况下,动态地增加方法的功能。常见的使用场景非常多:日志: 一般来讲不会把日志写在业务代码中,如果真的卸载业务代码中以后修改起来会特别麻烦,我们使用Aop的方式在不改变代码的情况下就能把日志加进去了;事务:事务操作起来是很麻烦的,使用Aop的方式可以把公共的代码抽取出来;数

2022-05-20 12:34:10 112

原创 Java框架篇_08 Spring DI

依赖注入什么是依赖注入?Bean的注入方式p名称空间注入注入空值注入特殊符号注入属性外部bean注入内部bean级联赋值注入集合类型属性注入对象集合类型引入公共list什么是依赖注入?依赖注入(Dependency Injection,DI)是Spring框架的核心之一。当某个角色(可能是一个Java实例,调用者)需要另一个角色(另一个Java实例,被调用者)的协助时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在Spring里,创建被调用者的工作不再由调用者来完成,因此称为控制反转

2022-05-16 18:45:41 108

原创 Java框架篇_07 Spring IOC

IOC容器底层原理IOC是什么IOC容器底层实现原理IOC是什么IOC,控制反转,把整个对象创建的过程,统一交给我们SpringIOC容器来实现管理IOC容器底层实现原理IOC容器中非常核心的接口 BeanFactoryBeanFactoryBean对象 Factory工厂IOC容器基本的概念:控制反转把对象的创建过程与使用统一都交给我们的Spring来进行管理,不需要开发者自己去new对象IOC容器底层实现技术:反射技术、解析xml、工厂模式IOC作用: 降低我们代码

2022-05-14 20:40:14 93

原创 Java框架篇_06 SpringBoot整合日志框架

Spring Bootlogback配置日志级别整合logback配置整合log4j日志使用aop统一打印日志信息目前主流的日志框架主要是logback和log4j,而Spring Boot已经默认整合好了logback,日志输出文件在当前项目路径log文件夹下。logback配置日志级别ALL 最低等级的,用于打开所有日志记录。TRACE designates finer-grained informational events than the DEBUG.Since:1.2.12,很低的日志

2022-05-12 12:14:49 188

原创 Java框架篇_05 SpringBoot整合读取配置文件

Spring Boot使用@Value注解读取配置文件Properties转yml格式@ConfigurationProperties注解配置文件占位符用法整合多环境不同配置文件修改端口与上下文路径使用@Value注解读取配置文件在Spring Boot中,配置文件有两种:application.propertiesapplication.yml或者是bootstrap.propertiesbootstrap.yml配置文件在resources目录下,application.pr

2022-05-11 10:30:56 347

原创 Java框架篇_04 SpringBoot整合热部署框架

Spring Boot整合devtools什么是热部署依赖idea设置整合lombok让代码更简洁整合devtools什么是热部署当我们修改java类或页面或者静态文件,必须重启部署才能访问,而热部署就是我们修改代码时,正在运行的项目自动更新部署,不需要重启。原理:类加载器要注意热部署适合于本地开发环境,不适用于生产环境。依赖<!--SpringBoot热部署配置 --><!-- https://mvnrepository.com/artifact/org.springf

2022-05-08 22:35:02 331

原创 Java框架篇_03 SpringBoot整合数据库访问层

Spring Boot整合JdbcTemplate引入依赖application.yml新增配置整合JdbcTemplate引入依赖引入mysql连接和jdbc的依赖:<!-- 整合数据库访问层--> <!--mysql--> <dependency> <groupId>mysql</groupId> <artifactId>mysq

2022-05-07 11:49:28 195

原创 Java框架篇_02 SpringBoot整合web开发

Spring Boot整合静态资源YML与Properties整合静态资源在我们开发Web应用的时候,需要引用大量的js、css、图片等静态资源。Spring Boot默认提供静态资源目录需置于classpath下,目录需符合如下规则:/static/public/resources/META-INF/resources举个例子,我们可以在src/main/resources/目录下创建static,在该位置放置一个图片文件。启动程序后,尝试访问http://localhost:8

2022-05-06 19:48:58 1029

原创 Java框架篇_01 SpringBoot入门

SpringbootSpringBoot简介SpringBoot、SpringMVC、SpringCloud的区别SpringBoot快速入门注解使用-@RestControllerSpringboot启动SpringBoot简介SpringBoot 是一个快速开发的框架, 封装了Maven常用依赖、能够快速的整合第三方框架;简化XML配置,全部采用注解形式,内置Tomcat、Jetty、Undertow,帮助开发者能够实现快速开发,SpringBoot的Web组件(spring-boot-starte

2022-05-05 11:18:44 381

原创 Java集合篇_02 Collcetions工具类

Collcetions工具类Collections介绍List反转List随机排序List排序List交换元素Collection统计个数List复制List替换元素控制线程安全Collections介绍Collections是一个操作Set、 List 和Map等集合的工具类。要注意它跟Collection可不一样,Collection是接口,不要混淆。Collections中提供了一系列静态的方法对集合元素进行排序、 查询和修改等操作,还提供了对集合对象设置不可变、对集合对象实现同步控制等方法。

2022-05-04 16:59:06 361

原创 Java多线程_11 线程通信

线程通信线程通信机制什么是线程通信为什么需要线程通信线程通信的方式线程通信机制什么是线程通信线程间同步可以归纳为线程间通信的一个子集,对于线程通信指的是两个线程之间可以交换一些实时的数据信息。为什么需要线程通信线程是操作系统中独立的个体,但这些个体如果不经过特殊的处理就不能称为一个整体,线程间通信就成为整体的必用方式之一。当线程存在通信指挥,系统间的交互性会更强大,在提高CPU利用率的同时还会使开发人员对线程任务的处理过程中进行有效的把控和监督。线程通信的方式...

2022-05-01 10:09:23 188

原创 Java集合篇_01 实用集合详细介绍

Collection集合框架简介集合框架简介集合可以看作是一种容器,用来存储对象信息。集合类都位于java.util包下,支持多线程安全的集合类都位于java.util.concurrent包下Collection集合框架图 (图示标注错了,是B继承或实现A)Map集合框架图Java集合类主要由两个根接口Collection和Map派生出来的,Collection派生出 了三个子接口: List、 Set、Queue,因此Java集合大致也可分成List、Set、 Queue、Map四种接

2022-04-30 09:05:52 276 1

原创 Java代码重构篇_02 重复代码

Refactor:Duplicated code

2022-04-29 13:15:51 2352

httpClient 工具类

httpClient 工具类,简化请求开发,拿来即用,我用在SpringBoot框架;对于依赖,你可以根据包名导入。

2022-05-06

eclipse2021-6-请直接解压到D盘根目录下.7z

对于字体,编码,背景主题,自动提示,jre,Javaweb集成tomcat,还有工作空间等等,这一切的配置,我全部都设置好了。你可以不用管上面官网下载的,你只需要下载我这个解压到D盘根目录下即可直接使用!

2021-12-25

操作系统期末复习.pdf

操作系统的整合资料,干货在加上个人理解、解释,重点题目; 内容范围有:操作系统、进程管理、处理机调度与死锁、存储器管理、虚拟存储、输入输出系统、文件管理、磁盘管理 面向群体:有操作系统课程的本科生,尤其是沈医、沈航的学弟学妹们

2021-12-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除