自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 JAVA并发编程(4)——(线程池,ThreadLocal)

​如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结 束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线 程需要时间。​ 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁, 而是可以继续执行其他的任务?​在 Java 中可以通过线程池来达到这样的效果。线程池里的每一个线程代码 结束后,并不会死亡,而是再次回到线程池中成为空闲状态,等待下一个对象来 使用。

2023-03-19 15:16:47 792 1

原创 JAVA并发编程(3)——(java各种锁和锁状态(乐/悲观锁,可重入锁,读写锁,分段锁,自旋锁,共享锁,AQS,公平锁,java对象头, Synchronized和ReentrantLock)

JAVA并发编程(3)——(java各种锁和锁状态(乐/悲观锁,可重入锁,读写锁,分段锁,自旋锁,共享锁,AQS,公平锁,java对象头, Synchronized和ReentrantLock)

2023-03-18 20:42:46 447

原创 JAVA并发编程(2)——(如何保证原子性,原子类,CAS乐观锁,JUC常用类)

如原先的内存值为(A,1),线程将(A,1)修改为了(B,2),再由(B,2) 修改为(A,3)。此时另一个线程使用预期值(A,1)与内存值(A,3)进行 比较,,因为被 synchronized 修饰某段代码 后,无论是单核 CPU 还是多核 CPU,只有一个线程能够执行该代码,所以一 定能保证原子操作.但是不断的自旋,会导致 CPU 的消耗,在并发量大的 时候容易导致 CPU 跑满。当且仅当预期值 A==V,将内存值 V=B,否则什么都不做。②预估值 A (比较时,从内存中再次读到的值)

2023-03-18 20:15:17 1872

原创 JAVA并发编程(1)——(概念注意事项,核心问题-可见性,原子性,有序性,volatile关键字)

大家排队在一个咖啡机上接咖啡,交替执行,是并发;两台咖啡机上面接咖啡, 是并行。

2023-03-18 20:02:23 830

原创 javaSE-回顾线程基本问题

javaSE 线程基本问题

2023-03-17 19:21:00 669

原创 JAVA对象克隆(为什么,如何实现,浅克隆和深克隆,解决多层克隆问题)

先介绍一下两种不同的克隆方法,浅克隆(ShallowClone)和深克隆(DeepClone)。在 Java 语言中,数据类型分为值类型(基本数据类型)和引用类型,值类型包 括 int、double、byte、boolean、char 等简单数据类型,引用类型包括类、 接口、数组等复杂类型。可以是可以,但是一来麻烦不说,二来,大家通过上面的源码都发 现了。需要注意的是能够实现序列化的对象其类必须实现 Serializable 接口,否则无法实现序列化操作。这种形式的代码复制的是引用,即对象在内存中的地址,

2023-03-15 15:16:41 672

原创 JAVA注解(什么是注解,内置注解,自定义注解)

Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同, Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌 入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容。当然它也支持自定义 Java 标注。参考代码实例声明的注解类用注解的实体类。

2023-03-15 15:10:29 528

原创 JAVA设计模式

java设计模式

2023-03-15 15:03:44 397

原创 UML可视化建模语言,面向对象设计原则

UML可视化建模语言,面向对象设计原则

2023-03-15 14:40:00 788

原创 Spring进阶(回顾,组件,springBean生命周期,bean线程安全,循环依赖,过滤器与拦截器区别)

Spring进阶(回顾,组件,springBean生命周期,bean线程安全,循环依赖,过滤器与拦截器区别)

2023-03-14 09:34:15 313

原创 JAVA虚拟机——JVM 运行时数据区(数据区组成表述,程序计数器,java虚拟机栈,本地方法栈)

JVM运行时数据区

2023-03-10 19:22:40 763

原创 JAVA虚拟机——JVM结构-类加载(类加载子系统,类加载的角色,类加载的过程,类加载器分类,双亲委派机制,类的主/被动使用)

JVM结构-类加载

2023-03-10 18:59:56 585

原创 JAVA虚拟机——JVM(学习原因,虚拟机,作用,位置,组成,各部分用途,执行流程,架构类型)

JVM概述

2023-03-10 18:41:51 589

原创 Stream流(简化开发)

Stream流Stream流什么是 Stream?获取流操作流注:Stream流什么是 Stream?Stream 是 Java8 的新特性,它允许你以声明式的方式处理数据集合,可以把 它看作是遍历数据集的高级迭代器。此外与 stream 与 lambada 表达示结合后 编码效率与大大提高,并且可读性更强。 要澄清的是 java8 中的 stream 与 InputStream 和 OutputStream 是完全不同的概念.简单案例:我们的需求是在 applestore 集合中找出红色苹果手

2022-01-27 08:21:01 512

原创 JAVA 8 Lambda表达式(简化开发)

Java 8 Lambda 表达式出现的背景Java 是一流的面向对象语言,除了部分简单数据类型,Java 中的一切都是 对象,即使数组也是一种对象,每个类创建的实例也是对象。在 Java 中定义的 函数或方法不可能完全独立,也不能将方法作为参数或返回一个方法给实例。 在 Java 8 以前,若我们想要把某些功能传递给某个方法,总要去写匿名类。代码示例在上面的例子里,为了对集合集合进行排序,我们为 Comparator 接口创建 了一个它的匿名内部类对象,重写接口中的方法,来实现排序功能. 简而

2022-01-27 08:13:46 257 1

原创 JAVA--泛型高阶

泛型高阶泛型高阶为什么用泛型什么是泛型泛型类从泛型类派生子类泛型接口泛型通配符类型擦除泛型高阶为什么用泛型早期的Object类型可以接收任意的对象类型,但是在实际的使用中, 会有类型转换的问题。也就存在这隐患,所以Java提供了泛型来解决这个安全问题什么是泛型● 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形 参,然后调用此方法时传递实参。● 参数化类型,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式,然后在使用/调用时传入具体的类型。●

2022-01-26 15:47:55 197

原创 Redis(主从复制,哨兵机制,缓存穿透、缓存击穿、缓存雪崩,解决缓存穿透之布隆过滤器)

Redis主从复制哨兵机制缓存穿透,缓存击穿,缓存雪崩解决缓存穿透之布隆过滤器主从复制主从复制,是指将一台 Redis 服务器的数据,复制到其他的 Redis 服务器。 前者称为主节点(master),后者称为从节点(slave),数据的复制是单向的,只能 由主节点到从节点。使用一个 Redis 实例作为主机,其余的作为备份机。主机和备份机的数据完 全一致,主机支持数据的写入和读取等各项操作,而从机则只支持与主机数据的 同步和读取。也就是说,客户端可以将数据写入到主机,由主机自动将数据的写 入操作同步

2022-01-26 15:43:54 3606

原创 SpringBoot集成使用Redis

SpringBoot集成使用redisJedis 是 Redis 官方推出的一款面向 Java 的客户端,提供了很多接口供 Java 语言调用。可以在 Redis 官网下载. Spring-data-redis 是 spring 大家族的一部分,提供了在 srping 应用中通 过简单的配置访问 redis 服务,对 reids 底层开发包(Jedis, JRedis, and RJC)进 行了高度封装,RedisTemplate 提供了 redis 各种操作spring-data-redis 针对 j

2022-01-26 15:35:39 1356

原创 Redis(设置失效时间,RedisDesktopManger远程管理工具)

Redis设置失效时间RedisDesktopManager工具设置失效时间有时候我们并不希望 redis 的 key 一直存在。例如缓存,验证码等数据,我们希 望它们能在一定时间内自动的被销毁。redis 提供了一些命令,能够让我们对 key 设置过期时间,并且让 key 过期之后被自动删除.设置值时直接设置有效时间EX 表示以秒为单位PX 表示以毫秒为单位EX,PX 不区分大小写set name jim EX 30 设置失效时间为 30 秒ttl 键 查看剩余时间(秒)pttl 键

2022-01-25 10:14:07 1792

原创 Redis(概述,关系型数据库和非关系型数据库,linux安装Redis,redis数据类型)

RedisRedis是什么关系型数据库与非关系型数据库linux安装Redisredis数据类型Redis是什么Redis 是一个开源(BSD 许可)的,使用 C 语言编写的,支持网络交互的, 内存中的 Key-Value 数据结构存储系统,它可以用作数据库、缓存和消息中间 件。它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列 表(lists), 集合(sets), 有序集合(sorted sets)。 redis 的作者,叫 Salvatore Sanfilippo

2022-01-25 10:09:37 1201

原创 linux上搭建常用环境(linux下安装jdk,tomact,mysql,nginx)

常用环境在linux上搭建常用环境在linux上搭建linux下安装jdk在linux下安装tomactLinux 安装 mysqllinux安装nginx常用环境在linux上搭建linux下安装jdk上传 liunx 操作系统使用的 jdk的压缩文件 到/usr/local/ 目录下解压文件 tar –zxvf 解压.tar.gz 文件现在在local中已经存在jdk文件了:配置环境变量vim /etc/profile 修改环境变量文件加入如下两行(具体视安装 java 地址修

2022-01-25 09:59:09 3644 2

原创 linux(linux常用命令,软件安装,vim编辑器)

linux2linux常用命令软件安装vim编辑器linux常用命令系统信息date 显示系统日期cal/ cal 2018关机 (系统的关机、重启以及登出 )shutdown -h now 关闭系统shutdown -r now 重启reboot 重启logout 注销Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的 权限。为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目 录文件)的权限做了不同的规定。 在 Linux 中我们可以使用

2022-01-24 08:58:22 729

原创 linux(概述,使用linux的两种方式,虚拟机搭建,云服务组建,Xshell Xftp,linux目录结构)

这里写目录标题linuxlinux概述使用linux的两种方式第一种:自安装虚拟机安装 vmware workstation 虚拟机安装 linux 操作系统这里的版本是 cent-os-8.x网络配置第二种:使用云服务器【推荐】Xshell,Xftplinux目录结构linuxlinux概述Liunx?Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大 学上学时出于个人爱好而编写的Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个多用户、

2022-01-24 08:53:37 482

原创 Nginx(Web 代理服务器 概述,正反向代理,负载均衡,下载安装,配置,案例)

这里写目录标题Nginx概述什么是代理服务器正向代理反向代理负载均衡及调度算法负载均衡算法下载安装nginx配置文件一个案例:Nginx概述Nginx 是一款是由俄罗斯的程序设计师所开发高性能的 Web 和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 其特点是占有内存少,并发能力强,事实上 nginx 的并发能力在同类型的 网页服务器中表现较好,中国大陆使用 nginx 网站用户有:百度、京东、新浪、 网易、腾讯、淘宝等。 Nginx 专为性能优化而开发,性能是服务器最重要的

2022-01-24 08:41:31 2600

原创 Vue前端+ElementUI+SpringBoot后端动态显示管理员数据(ElementUI表格,Vue数据集成,Element表格的基本设置,新开服务器存图片,查询条件,分页)

这里写目录标题Vue前端+ElementUI+SpringBoot后端动态显示管理员数据:ElementUI表格:Vue数据集成:前端管理员的头像显示:在ElementUI表格中的基本设置:(1)自定义模板(2)格式化数据:(3)表格中数据排序查询条件分页Vue前端+ElementUI+SpringBoot后端动态显示管理员数据:ElementUI表格:最后效果:Vue数据集成:后端读取sql:有几个相关知识点(在以下笔记中我会一一赘述):**mybatis的嵌套查询(collecti

2022-01-12 23:46:59 1201

原创 Vue+ElementUI+SpringBoot 动态获取管理员菜单 (Vue嵌套路由)

Vue+ElementUI+SpringBoot 动态获取管理员菜单 (Vue嵌套路由)在布局已和样式经搭建好的情况下怎样来动态获取管理员菜单呢?请看以下赘述:前端:先将后端的管理员的操作菜单的信息请求回来并放入自己的前端代码中先生成菜单项:主要代码:后端:通过前端传过来的 token获取其中已经被封装入其中的用户id和类型:传到数据访问段用sql 通过id和type获取管理员的菜单:type==0数据库查询出来的信息:然后通过上方前端的代码一封装就达到目的了Vue 路

2022-01-12 23:36:08 694

原创 JWT(解决前后端分离和微服务的用户会话跟踪问题)

这里写目录标题JWT:解决前后端分离和微服务的用户会话跟踪问题与传统sessio验证的区别:基于 token 的鉴权机制JWT的主要引用场景及优点JWT的构成:JWT搭建案例:JWT:解决前后端分离和微服务的用户会话跟踪问题JWTJson web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准((RFC 7519).定义了一种简洁的,自包含的方法用于通信双方之间以 JSON **对象的形式安全的传递信息。**因为数字签名的存在,这些 信息是可信的,

2022-01-12 23:29:19 2535

原创 跨域(前后端分离架构通信,微服务通信)

这里写目录标题跨域(前后端分离,微服务)什么是跨域?为什么浏览器要限制跨域访问呢?为什么要跨域?解决跨域问题的方法 :方式 1:手工设置响应头(HttpServletResponse )方式 2:使用注解(@CrossOrigin)方式 3:返回新的 CorsFilter跨域(前后端分离,微服务)什么是跨域?跨域是指从一个域名的网页去请求另一个域名的资源。比如从 www.baidu.com 页面去请求 www.google.com 的资源。但是一般情况下不能这么做,它是由 浏览器的同源策略造成的,是浏

2022-01-10 00:15:15 369

原创 Vue前端框架集成ElementUI

这里写目录标题Vue集成ElementUI:安装配置及使用介绍:布局组件:Vue集成ElementUI:安装配置及使用介绍:Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组 件库.1.安装:安装 ElementUInpm i element-ui -S2.配置在 main.js 中写入以下内容:import ElementUI from ‘element-ui’;import ‘element-ui/lib/theme-chalk/index.cs

2022-01-10 00:08:14 655

原创 Vue前端框架(路由安装、使用、搭建,网络请求,路由导航守卫,axios的请求拦截和响应拦截)

这里写目录标题Vue路由安装使用步骤,搭建:Vue的网路请求:路由导航守卫:axios的请求拦截和响应拦截:注:main.js文件是vue的核心全局配置文件Vue路由vue router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建 单页面应用变得易如反掌安装vue-router 是一个插件包,所以我们还是需要用 npm/cnpm 来进行安装的。打开命令行工具,进入你的项目目录,输入下面命令。npm install vue-router --save-dev

2022-01-10 00:06:08 851

原创 Spring(事务管理,事务传播行为,集成MyBatis)

这里写目录标题八.Spring事务管理九.事务传播行为十.Spring集成MyBatis八.Spring事务管理事务可以看作是对数据库若干操作组成的一个单元**(整体)**。我们在开发企业应用时,对于业务成员最常见的操作是对数据读写的多步操作的结合。由与数据库在顺序执行的过程中,任何一步都可能发生异常,异常会导致后续操作无法完成,此时由于业务逻辑并未正确的完成,之前的成功操作的数据并不可靠,需要在这种情况下进行回退。事务的作用就是为了保证用户的每一个操作都是可靠的,事务的每一步操作都必须成功执行,只要

2022-01-05 12:18:51 445

原创 Spring(IOC(SpringBean管理),集成JDBC,AOP(面向切面编程))

这里写目录标题五.Spring Bean管理(IOC体现)1.基于xml需要spring管理的类2.Xml 配置方式依赖注入【DI:Dependency Injection】(1)注解方式注入属性**【DI:Dependency Injection】**@Autowired(Spring)@Resource(JDK)(2)注解与xml配置bean的对比六.Spring JDBC七.AOP概述1.不使用AOP的开发方式2.AOP概述3.AOP的优点及原理4.AOP的基本案例5.AOP使用的基本概念6.Sp

2022-01-05 12:13:40 833

原创 Spring(概述,五大优点,体系结构,Spring的第一个搭建)

这里写目录标题Spring框架一.Spring是什么二.Spring优点1.轻量级2.非侵入式3.IOC4.AOP Aspect(切面) Oriented Programming5.一站式三.Spring体系结构四.基本Spring搭建Spring框架一.Spring是什么spring于2003年兴起的一个轻量级的IOC和AOP的java开发框架,为了简化企业级开发而生的二.Spring优点1.轻量级Spring 框架使用的 jar 都比较小,一般在 1M 以下或者几百 kb。Spring 核

2022-01-05 12:03:09 198

原创 前端框架Vue(概述,特点,安装,helloWorld,模板语法,指令,组件)

这里写目录标题Vue什么是Vue.js?Vue.js优点Vue安装第一个Vue demo模板语法Vue指令Vue生命周期**Vue组件**Vue什么是Vue.js?Vue(读音 /vjuː/,类似于 view())是一套用于构建用户界面的渐进式框架。与其他大型框架不同的是Vue被设计为可以自底向上逐层应用。Vue的核心库之关心视图层,不仅易于上手,还便于与第三方库或既有项目整合。​ Vue.js是前端的主流框架之一,和Angular.js,React.js,并成为前端三大主流框架Vue.js优点

2021-12-28 14:44:16 13506

原创 前后端分离架构,MVVM

前后端分离架构​ 前后端分离已经成为互联网项目业界开发的标准使用方式,通过nginx+tomact的方式有效进行解耦,并且前后端分离会为以后的大型分布式框架,弹性计算架构,微服务架构,多段化服务(多种客户端 例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。这个步骤是不可或缺的​ 核心思想是前端html页面通过ajax调用后端的restuful api 接口并使用json数据进行交互。前后端分离的优势:1.可以实现真正的前后端解耦,前端服务器使用nginx/tomact。前端/WEB服

2021-12-26 22:13:47 1993

原创 SpringBoot(整合阿里数据源,sql监控,整合mybatis以及案例)

这里写目录标题SpringBoot整合阿里数据源SpringBoot整合mybatisSpringBoot整合mybatis案例:SpringBoot整合阿里数据源导入阿里数据源jar<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.10</version><

2021-12-26 20:31:51 914

原创 SpringBoot(配置文件,自动配置,集成JDBC)

这里写目录标题SpringBoot配置文件SpringBoot自动配置SpringBoot集成JDBCSpringBoot配置文件Spring Boot 使用一个全局的配置文件(配置文件名是固定的)application.properties 属性文件格式,内容为键值对server.port=8080application.ymlyml 是 YAML(YAML Ain’t Markup Language)语言的文件,以数据为中心.yml 配置示例server:port: 8080y

2021-12-24 23:06:59 1101

原创 SpringBoot(概述,特点,开发环境搭建以及第一个helloWord)

这里写目录标题Spring Boot回顾springSpring Boot概述SpringBoot特点Spring Boot开发环境构建Spring Boot helloWorldSpring Boot回顾spring优点:开源,轻量级,非侵入式的一站式框架,简化企业级开发。控制反转(IOC),依赖注入(DI)降低了组件之间的耦合性,实现了各软件之间的解耦。面向切面(AOP),利用它可以很容易实现一些拦截,如事务控制等spring对于主流的应用框架有很好的支持 如:mybatisspr

2021-12-24 21:13:10 1271

原创 MyBatis框架

文章目录MyBatis框架一.概述二.传统jdbc编程三.MyBatis架构四.三层架构五.MyBatis环境搭建1.导入Mybatis jar包数据驱动包2.创建Mybatis全局配置文件数据库连接池【重要】:后面补充3.创建sql映射文件面试必问【重要】4.Mybatis-Dao层 Mapper接口5.测试MyBatis6.MyBatis日志7.参数传递(简单,复杂)六.访问数据库时结果处理1.简单类型输出映射2.POJO 对象输出映射3.resultMap【重要】七.多表关联处理结果集一般处理:懒加载

2021-11-08 00:16:40 203

原创 Maven-项目构建工具

文章目录Maven1.为什么我们要学习maven2.Maven简介及概念3.Maven开发环境搭建(1)安装配置Maven服务器(2)安装配置Maven(3)idea中设置Maven(4)创建Maven工程4.Pom.xml配置5.maven命令6.添加jar到Maven仓库Maven1.为什么我们要学习mavenmaven 还未出世的时候,我们有很多痛苦的经历。痛点 1:jar 包难以寻找 (数量多)痛点 2:jar 包依赖的问题 ( 一个jar中依赖于另一个jar包)痛点 3:jar 不方便

2021-11-05 00:15:09 363

空空如也

空空如也

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

TA关注的人

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