自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码农@攻城狮

个人学习总结

  • 博客(51)
  • 资源 (1)
  • 收藏
  • 关注

原创 java常用类库——lang包

文章目录lang包Object包装类字符串SystemMathThrowable异常分类注释类型Overridelang包​ java.lang包是提供利用java编程语言进行程序设计的基础类,在项目中使用的时候不需要import。思维导图ObjectObject是所有类的超类Object类定义了一些有用的方法,由于是根类,这些方法在其他类中都存在,一般是进行重载或者重写覆盖,实现了...

2019-06-11 22:12:12 19199 5

原创 JVM经典的垃圾收集器

以上是经典收集器的关系图。

2024-08-24 14:45:15 978

转载 SpringBoot配置优先级

`application.properties`和`application.yml` 这是常用的配置文件命名,大家应该都很熟悉。但是它们的优先级到底哪个更高呢?下面就开始做试验。都以 server.port 来测试

2021-11-19 15:24:19 1213

原创 并发编程之Lock

锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源,但是有些锁可以允许多个线程并发的访问共享资源,比如读写锁。在 java SE 5 之前通过 synchronized 关键字实现锁功能,之后 Lock 可以实现显示的加锁和解锁,并且实现了更多操作,比如:可中断的获取锁,超时获取锁等,这些操作是 synchronized 无法实现的,synchronized 是通过隐式的实现加锁和解锁。而且 synchronized 是重量级锁,当然在 java SE 6 之后进行

2021-06-20 11:45:17 266

原创 并发编程之Synchronized & volatile

并发编程中常常会提到锁,通过添加锁来保证多线程的数据安全,java中每个对象都可以作为锁,具体表现有3种:对于普通同步方法,锁是当前实例对象;对于静态同步方法,锁是当前类的 Class 对象;对于同步方法,锁是括号里配置的对象我们常使用的锁有 synchronized 和 Lock 锁,但是 synchronized 是关键字,而Lock 是一个接口,其实现类分别有重入锁 ReentrantLock 、读锁 ReadLock 以及 写锁 WriteLock 等,ReadLock 和 Writ

2021-06-20 11:23:39 456

转载 ZooKeeper、Eureka、Consul 、Nacos,微服务注册中心怎么选?

ZooKeeper、Eureka、Consul 、Nacos,微服务注册中心怎么选?服务注册中心本质上是为了解耦服务提供者和服务消费者。对于任何一个微服务,原则上都应存在或者支持多个提供者,这是由微服务的分布式属性决定的。更进一步,为了支持弹性扩缩容特性,一个微服务的提供者的数量和分布往往是动态变化的,也是无法预先确定的。因此,原本在单体应用阶段常用的静态 LB 机制就不再适用了,需要引入额外的组件来管理微服务提供者的注册与发现,而这个组件就是服务注册中心。

2021-05-23 20:24:27 445

原创 跨域小结

最近在开发过程中通过 js 调用其他服务接口时出现跨域问题,ajax 请求其他系统接口,能调通但是却总是进 error 方法,很是奇怪,页面控制台有错误信息,经查询是跨域导致的,因为使用的是 IE 浏览器,之前将服务的 ip 设置了安全站点,仍然有错误信息。网上很多关于跨域的帖子,但是看完总感觉缺点什么,所以还是自己总结一下。

2021-03-10 21:05:54 117

原创 非对称加解密

非对称加解密:SM2,RSA

2021-02-28 10:20:03 1917

原创 对称加解密

对称加解密算法:SM4,AES,DES,DESede

2021-02-28 10:13:32 4446

原创 加解密算法概述

本文概述对称加解密,非对称加解密,以及比较应用

2021-02-28 10:03:52 3131

原创 解决:cannot deserialize from Object value (no delegate- or property-based Creator)

解决:cannot deserialize from Object value (no delegate- or property-based Creator)前因后果:前两天在写一个简单页面的时候,前端通过ajax请求发送参数,后端创建了一个实体类用来接收参数,这个实体类添加了Lombok的@Data注解,没有常见其他构造函数,当前端发送请求时后端控制台就会抛出以下异常,后经过查询发现原来是应为实体类没有无参构造函数造成的。解决方式:手动创建一个无参构造器或者添加Lombok注解@NoArgsCo

2021-01-23 12:23:57 14467 4

原创 安全控制Spring Security

Spring Security是为基于Spring的应用程序提供声明式安全保护的安全性框架。Spring Security提供了完整的安全性解决方案,它能够在web请求级别和方法调用级别处理身份认证和授权。充分利用了依赖注入(DI)和面向切面(AOP)的技术。

2020-12-15 23:23:11 666

原创 数据库Druid配置

Druid是java语言中最好的数据库连接池,并且能够提供强大的监控和扩展功能。

2020-12-01 22:36:49 2122

原创 并发编程之CAS操作

文章目录CAS操作概念CAS原理synchronized的底层实现ReentrantLockReadWriteLockCAS操作概念java并发编程中,必不可少的会提到“锁”,而且会立刻想到synchronized,lock这两把锁,今天提到的这个CAS操作号称无锁优化,或者叫自旋,它是一种计算方式,比如Atomic开头的类,都是用到CAS操作保证线程的安全性。Atomic意思就是原子性,经常面试中会问到i++ 和 ++i 是不是原子性的问题,答案肯定为不是,原因就是无论是 ++i 还是 i++

2020-11-01 11:29:57 312 2

原创 JVM之垃圾收集

在JVM虚拟机内存模型中有一些内存空间会出现OutOfMemoryError异常(简称OOM),这些内存空间分别为堆、方法区、虚拟机栈、本地方法栈以及本地内存。

2020-09-06 12:01:50 208

原创 JVM之类加载机制

Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称为虚拟机的类加载过程。

2020-09-06 11:49:18 181

原创 JVM之内存区域

学习java虚拟机,首先必须熟悉java虚拟机内存模型,为后续学习垃圾回收,性能监控,调优等内存打下坚实基础。

2020-09-06 11:42:13 397

原创 设计模式——行为型

行为型设计模式常用的有观察者模式,模板模式,策略模式,职责链模式,状态模式

2020-08-15 10:16:30 968

原创 设计模式——结构型

结构型设计模式常用的有代理模式、桥接模式、装饰器模式、适配器模式

2020-08-15 10:11:10 713

原创 设计模式——创建型

创建型设计模式常用的有单例模式,工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)

2020-08-15 10:00:41 300

原创 JAVA8新特性(四)

Optionaljava开发中我们最常见的异常大概就是空指针异常NullPointerException。出现空指针异常的情况:空对象调用方法,示例 private static void test1(List<Apple> appleList){ Apple apple = appleList.get(0); System.out.println(apple.toString()); } 此时appleList作为参数

2020-07-23 22:01:34 124

原创 JAVA8新特性(三)

java8提供了一些处理日期和时间非常方便的类

2020-07-21 23:01:35 377

原创 JAVA8新特性(二)

Stream的使用

2020-07-20 21:45:28 213

原创 JAVA8新特性(一)

最近需要进行java8新特性的技术分享,故将学习内容总结整理与大家分享

2020-07-20 20:45:55 402

转载 Redis主从复制

前面介绍Redis,我们都在一台服务器上进行操作的,也就是说读和写以及备份操作都是在一台Redis服务器上进行的,那么随着项目访问量的增加,对Redis服务器的操作也越加频繁,虽然Redis读写速度都很...

2020-03-08 12:36:26 102

原创 java读取jar包文件

通过java代码读取文件的方式有很多种,那么我们应该能理解,不同的场景应该使用不同的读取方式,我在前段时间开发项目的时候遇到一个问题:项目中需要读取xml文件和properties文件,代码示例如下://读取resources目录下xml文件示例try { Resource resource = new ClassPathResource...

2020-02-29 21:06:51 856

原创 文件上传加密/下载解密

项目中有些文件需要上传服务器,或者上传到ftp,或者minio,而对于一些敏感文件,需要加密上传,下载也只能通过特定的程序下载,否则无法看到文件内容,即使登录服务器或者mino手动下载下来的文件都是无法打开的。以下是一个简单的文件加密方式,可直接测试。

2020-02-29 20:01:21 2017

转载 Redis持久化

Redis是一个速度非常快的非关系型数据库(non-relational database),他可以存储键(key)与五中不同类型的值(value)之间的映射,可以将存储到内存的键值对...

2020-02-23 17:43:25 285

转载 Redis数据类型实现原理

在Redis中,并没有直接使用这些数据结构来实现键值对...

2020-02-23 12:04:19 142

转载 Redis的底层数据结构

redis关于key相关的命令有查看数据类型的命令...

2020-02-22 16:38:13 143

原创 Redis默认有16个数据库

Redis是一个字典结构的存储服务器,而实际上一个Redis实例提供了多个用来存储数据的字典,客户端可以指定将数据存储在哪个字典中。这与我们熟知的在一个关系数据库实例中可以创建多个数据库类似,所以可以将其中的每个字典...

2020-02-19 23:13:13 2308

原创 Redis之数据结构

Redis是一个速度非常快的非关系型数据库(non-relational database),他可以存储键(key)与五中不同类型的值(value)之间的映射,可以将存储到内存的键值对数据持久化到硬盘,可以使用复制特性类扩展读性能,还可以使用客户端分片来扩展写性能,...

2019-12-15 16:35:41 180

原创 设计模式——概览

设计模式的概念就是一个定义,被大多数学者认可的说明,软件设计模式(Software Design Pattern),又称 设计模式 ,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不...

2019-11-27 00:13:21 352

原创 设计模式——UML类图

类图(ClassDiagram)是用来显示系统中的类、接口、协作以及它们之间的静态结构和关系的一种静态模型。它主要用于描述软件系统的结构化设计,帮助人们简化对软件系统的理解,它是系统分析与设计阶段的重要产物,也是系统编码与测试的重要模型依据。类图中的类可以通过某种编程 语言直接实现。类图在...

2019-11-26 00:11:19 808

原创 SpringBoot应用监控——HTTP方式

利用SpringBoot作为微服务单元的实例化技术选型时,不可避免的要面对一个问题,就是如何实时监控应用的运行状况数据,比如:健康度,运行指标,日志信息,线程状况等等SpringBoot提供三种应用监控的方...

2019-11-24 17:10:50 1301

原创 SpringBoot核心注解

SpringBoot核心注解SpringBoot项目通常有一个*Application的入口类,这个类里面有main方法即项目的主方法,启动项目,在入口类上有一个注解 @SpringBootAppliaction 此注解就是SpringBoot项目的核心注解。通过学习此注解可以了解SpringBoot项目运行的基本原理。注解@SpringBootApplication是SpringBoot的核...

2019-11-20 23:55:46 350

原创 Spring定时任务

文章目录Spring定时任务场景应用单线程多线程Spring定时任务场景(1)项目中有些数据需要定时处理,比如每隔一年会删除久的数据,或者每隔半年会将数据库的某些数据进行持久化保存等等对数据的处理;(2)项目中有些任务需要使用定时任务完成,比如每隔几秒查询一下任务状态,如果任务状态变成了可执行状态那么就需要通过定时任务执行;注意的是如果任务是数据库中的某条数据,某个字段表示任务状态,那么如...

2019-09-07 18:04:34 235

原创 Mybatis框架

文章目录Mybatis环境搭建单独使用MyBatis基础语法namespace属性sql语句中id的属性sql语句中resultTypesql语句中parameterTypesql语句中的resultMap@Paramif标签where标签set标签trim标签choose标签bind标签foreach标签resultMap标签sql标签嵌套查询鉴别器分页插件其他面向接口的编程思想缓存一级缓存二级...

2019-09-02 22:25:55 631

原创 Apache Commons常用工具类

文章目录Commons类库StringUtils两个字符串的比较判断字符串是否为空判断包含关系DateUtils日期增加日期比较其他CollectionUtilsFileUtils拷贝文件或目录删除文件或目录读写文件IOUtilsHttpClientGetMethodPostMethodHttpURLConnection加密Base64DigestUtils文件压缩zipCommons类库工具...

2019-09-01 18:06:34 4984 1

原创 Spring框架之AOP面向切面编程

文章目录AOP面向切面概念Spring对AOP的支持通过切点来选择连接点使用注解创建切面创建环绕通知处理通知带参数AOP面向切面概念1、什么是面向切面编程?切面能帮助我们模块化关注点。简而言之,横切关注点可以被描述为影响应用多处的功能。项目开发过程中有些功能需要在多个模块中使用,比如:安全,事务等,那么就可以将安全和事务作为一个模块贯穿所有用到他们的模块中,类似一个切面,那么不需要每个模...

2019-08-26 00:02:23 476

minio简易安装包

minio安装包以及启动脚本

2021-02-13

空空如也

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

TA关注的人

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