- 博客(15)
- 资源 (2)
- 收藏
- 关注
原创 VO,DTO,DO,PO的区别和用法
1.VO(view object): 视图对象,用于展示层,他的作用是一个页面的所有数据封装起来. 2.DTO(data transfer object): 数据传输对象,表示展示层与服务层之间的数据传输对象. 3.DO(domain object ):领域对象,抽象出来的业务实体. 4.PO(persistent object):持久化对象,用于和数据库交互,他与数据库中的表字段是一一对应的. 使用: 不同实体类的转换 引入依赖 <dependency> <g
2020-07-23 20:56:49
1072
原创 算法和数据结构
算法 递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法 结构 10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树 ......
2022-07-01 14:45:21
120
原创 SpringSecurity OAuth2
1.OAuth2分四种模式目前只了解常用的授权码模式和密码模式 1.授权码模式:授权码模式一般用于第三方登录,主要解决了用户登录时密码不会被客户端获取 比较安全. 执行流程: 1;用户打开客户端后,客户端要求用户授权, 具体到实际流程就是登录gitee,点击微信第三方授权登录获取用户授权二维码. 2.用户同意给客户端授权, 具体流程是用户拿微信扫描二维码点击确认授权并用配置好的回调url携带code码跳转到客户端 3.客户端用上一步获取的code去授权服务申请Access_token 4.申请完token就
2022-07-01 14:41:07
259
原创 面向对象和基本原则
mybaits mybaits的执行流程? 1.读取配置文件信息,将配置信息转换成configuration对象, 2.将configuation对象作为参数传给defalutSqlSessionFactory
2021-08-03 10:12:50
78
原创 RabbitMQ
RabbitMq的特点 基于AMQP协议开发,AMQP协议的主要特点是面向消息,队列,路由,可靠性,安全性. 支持多种语言. AMQP核心概念 server:又称broker,接受客户端的连接,实现AMQP实体服务. connection:连接,应用与Broker的网络连接 Channel:信道,所有的操作都是在信道中进行的,一个客户端可以有多个信道.每个信道代表一个会话. Message:消息,服务器和应用之间传输的数据,由properties和body组成.properties可以对消息进行修饰,比如.
2021-07-30 14:30:32
181
原创 线程池
线程池 线程池的相关参数和作用 1.corePoolSize --核心线程数 2.maximumPoolSize --最大线程数 3.keepAliveTime --线程存活时间 4.TimeUnit --线程存活时间单位 5.BlockingQueue --线程队列 6.ThreadFactory --线程工厂 7.RejectedExecutionHandler --拒绝策略 线程池的相关工作流程 3.默认四种线程池的不足 1.newCachedThreadPool-创建可缓存的线
2021-04-19 16:28:12
119
原创 服务器之间的免密登录
1.生成公钥 一般是在home/用户名中,我的是在/home/wujiapeng ssh-keygen -t rsa 一直Enter下去 2.复制公钥到远程服务器 ssh-copy-id -i 本地公钥地址 远程服务器用户名@远程服务器ip 我的 ssh-copy-id -i /home/wujiapeng/.ssh/id_rsa.pub wujiapeng@192.1.. 3.验证 ssh 远程ip 连接成功 ...
2021-03-10 15:41:35
143
原创 Spring boot Starter的原理
## Spring boot Starter的原理 starter的简单了解? starter就是为了简化项目搭建和开发过程. spring-boot-starter-xxx是官方提供的starter,xxx-spring-boot-starter是第三方提供的starter. Spring Boot常用条件依赖注解 @ConditionalOnBean 仅在当前上下文中存在某个bean时,才会实例化这个bean @ConditionalOnClass 某个class位于类路径上,才会实...
2020-11-09 14:23:22
379
原创 git的基本使用简单总结
1.常用的git命令 git clone–下载远程库代码 git init —初始化本地库 git fetch —拉取版本号 git add --添加到暂存区 git coommit --提交代码到本地库 git pull —拉取最新代码 git push --推送代码到远程库 git status --查看仓库状态 git diff–比较暂存区和工作区不同 git reset --回退版本 git remote -v —查看远程库信息 git log —查看提交日志 分支相关 git bran
2020-09-02 13:54:41
147
原创 多线程之间怎么按指定顺序输出
多线程之间按指定顺序输出主要涉及到的是线程之间的同步问题, 线程之间通信主要有: 1.使用CAS自选锁+volatile实现 2.LockSupport 3.原子类 AtomicInteger 4.wait/notify package com.wujiapeng.test.controller; import java.util.concurrent.locks.LockSupport; /** @author wjp @date 2020年06月16日 15:46 @describe */
2020-09-01 17:41:25
612
原创 mysql相关问题总结
MySQL相关问题 一.mysql的acid mysql 默认的隔离级别是可重复读(repeatable_read),oracle默认的数据库隔离级别是读已提交(read_committed) 原子性 一个事务中的操作,要么都成功,要么都失败. 一致性 事务执行前和执行后,来源和去向保持一致. 隔离性 并法时每个事务都是隔离的相互不影响.隔离的粒度由隔离级别决定. 持久性 一旦事务提交成功,应该保证数据的完整性存在. 2.隔离级别 隔离级别有:读未提交,读已提交,可重复读,串行化四种. 隔离级别解决的问题:
2020-08-28 10:34:43
912
原创 CAS和Synchronized的区别
1.什么是cas? cas是乐观锁的一种实现方式,是一种轻量级锁,在java1.5的时候开始引入 2.cas的实现原理? cas有3个操作数,内存值V,旧的预期值A,要更新的新值C,当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么也不做.当多个线程同时尝试使用CAS更新一个变量时,任何时候只有一个线程可以更新成功,若失败线程会重新进入循环再次进行尝试. cas的核心实现是unsafe...
2020-06-07 16:52:24
1583
redis分布式锁带过期时间和方法名代码.zip
2020-06-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅