- 博客(32)
- 收藏
- 关注
原创 有关反射以及框架的一些理解
反射反射是一种能力反射是一种在程序运行时能够动态获取当前类对象的所有属性和方法的能力,可以动态执行方法,给属性赋值等操作的能力.反射主要是让我们的java程序具有动态性. 这种能力带来很多好处,在许多框架的背后实现上都使用了反射这种机制来实现动态效果.框架更多的是提供一种编程的约定谈谈你对Spring的认识解耦核心的IOC容器技术(控制反转)IOC 帮助我们自动管理依赖的对象,不需要我们自己创建和管理依赖对象,从而实现了层与层之间的解耦. 重点是 解耦核心的AOP技术 (面向切面编
2021-02-05 00:57:34
418
原创 零零碎碎的一些小知识点
MybatisORM框架: 持久化框架, 对象关系映射框架用于实现面向对象编程里 不同类型系统的数据 之间的转换mappers 标签 . 加载有几种方式? (4种)1.package2.resource3.url4.mapperClass优先级: package>resource>url>mapperClassmybatis有三种执行器Executor1.simple2.reuse3.batch openSession实质上是对 执行器进行初始化mybat
2021-02-04 14:16:20
670
原创 springdata jpa生成表的时候会自动生成一个hibernate_sequence表解决方法
今天发现用spring data jpa的时候生成表会自动增加一个hibernate_sequence表,主要是用来记录其他表的主键的.所以id的生成策略需要用IDENTITY而不是默认的 @Id @GeneratedValue(strategy = GenerationType.IDENTITY) //生成策略 private Long id;这样就可以解决...
2021-01-15 20:44:53
673
原创 js时间统计
// 时间统计 function secondToDate(second) { if (!second) { return 0; } var time = new Array(0, 0, 0, 0, 0); if (second >= 365 * 24 * 3600) { time[0] = parseInt(second / (365 * 24 * 3600));
2021-01-09 18:42:06
347
原创 springboot自定义异常处理拦截器
/** * 返回自定义的错误页面 * @author Paracosm * @ControllerAdvice 拦截所有的标注有controller这个注解的控制器, * @ExceptionHandler 标识这个方法可以做异常处理的 Exception.class表示只要是exception级别的都可以 */@ControllerAdvice@Slf4jpublic class ControllerExceptionHandler { /*private Logger logg
2020-12-30 20:41:32
1012
原创 axios的get和post封装
前端封装的方法//http基本请求import axios from 'axios';import { resolve } from '../../build/webpack.base.conf';import router from '../router';axios.defaults.timeout = 5000; //超时时间是5秒axios.defaults.withCredentials = true; //允许跨域//Content-type 响应头axios.defaul
2020-12-19 15:59:44
350
1
原创 关于springboot2.4.0的小坑 跨域异常
今天做项目的时候发现跨域一直报错,只有设置allowedOrigins为localhost:8080才能进得去.无论是用@CrossOrigin注解还是实现WebMvcConfigurer类,哪怕是继承WebMvcConfigurerAdapter类重写addCorsMappings方法,都是不起作用了.报错:@CrossOrigin 响应中的“Access Control Allow Origin”标头的值不得为通配符“*This is a part of security, you cannot
2020-12-11 01:38:43
932
2
原创 springboot实现mysql数据的Redis缓存
/***因为rediscache本身是由mybatis进行实例化的,所以不能用spring工厂创建.*也就不能用spring的注入语法. 所以需要开发一个工具类*/@Componentpublic class ApplicationContextUtils implements ApplicationContextAware { private static ApplicationContext applicationContext; @Override public
2020-12-08 23:17:18
484
原创 springboot验证码实现
学习的B站不良人老师的视频/*** 工具类*/public class VerifyCodeUtils{ //使用到Algerian字体,系统里没有的话需要安装字体,字体只显示大写,去掉了1,0,i,o几个容易混淆的字符 public static final String VERIFY_CODES = "23456789ABCDEFGHJKLMNPQRSTUVWXYZ"; private static Random random = new Random();
2020-12-08 23:11:55
234
原创 秒杀系统并发情况下解决超卖问题
非分布式秒杀系统 并发情况下解决超卖问题乐观锁防止超卖 / 令牌桶限流/ redis缓存 /接口限流/接口加盐/单用户限制访问频率/消息队列异步处理订单#数据库表drop table if exists `stock`;create table `stock`( `id` int(11) unsigned not null auto_increment, `name` varchar(50) not null default '' comment '名称', `count` int(11
2020-12-06 22:44:21
1409
2
原创 Mybatis-Plus 笔记
Mybatis的一个增强工具官方文档:https://baomidou.com/guide/1.加入Mybatis-Plus依赖<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter --><dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plu
2020-12-05 18:36:02
247
原创 Docker基本命令和操作
Docker 基于GO语言开发.虚拟机技术缺点:1.资源占用多2.冗余步骤多3.启动慢容器化技术容器化技术不是模拟的一个完整的操作系统与虚拟机技术的不同:传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后再这个系统上安装和运行软件容器内的应用直接运行在 宿主机的内容, 容器时没有自己的内核的,也没有虚拟硬件. 所以就轻便了.每个容器间互相隔离,每个容器内有一个属于自己的文件系统, 互不影响. 可以保证安全DevOps (开发, 运维)应用更快速的交付和部署. D
2020-12-02 20:49:24
839
原创 POI-Excel读写以及easyExcel简单读
POI-Excel写导入依赖<dependencies> <!--xlsx(03)--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9</version> </dependency> <!--xlsx(07)
2020-11-21 20:17:20
286
原创 计算机网络总结
计算机网络 将 “地理位置不同” 的具有独立功能的"多台计算机及外部设备,通过通信线路连接起来",在网络操作系统,网络管理软件以及"网络通信协议"的管理和协调下,实现"资源共享"和信息传递的计算机系统.网络编程的目的? 传播交流信息,数据交换,通信 网络编程:TCP/IP C/S网络通信的要素 1.如何实现网络通信? 通信双方地址: IP port 规则:网络通信的协议TCP/IP参考模型[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DZqHN
2020-11-21 15:36:12
586
原创 23种设计模式 纯理论 笔记
设计原则产业强盛的原因: 接口标准化1.依赖倒置原则(DIP)高层模块(稳定)不应该依赖于低层模块(变化),二者都应该依赖于抽象(稳定).抽象(稳定)不应该依赖于实现细节(变化),实现细节应该依赖于抽象(稳定).2.开放封闭原则(OCP)对扩展开放,对更改封闭类模块应该是可扩展的,但是不可修改.3.单一职责原则(SRP)一个类应该仅有一个引起它变化的原因.变化的方向隐含着类的责任.4.Liskov 里氏替换原则(LSP)子类必须能够替换他们的基类(is-a)继承表达类
2020-11-21 15:34:41
252
原创 Swagger 学习心得
Swagger前后端分离Vue+SpringBoot后端时代:前端只用管理静态页面; html==>后端. 模板引擎JSP=>后端是主力前后端分离时代:后端:控制层,服务层,数据访问层前端:控制层,视图层前后端如何交互?===>API前后端相对独立,松耦合;前后端甚至可以部署在不同的服务器上.产生一个问题前后端集成联调,前端人员和后端人员无法做到"及时协商,今早解决",最终导致问题集中爆发解决方案:首先指定schema[计划],实时更新最新的API,
2020-11-18 20:46:12
272
原创 Shiro的整合springboot的上手
Authentication:身份认证,登录,验证用户是不是拥有相应的身份;Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限,即判断用户能否进行什么操作,如:验证某个用户是否拥有某个角色,或者细粒度的验证某个用户对某个资源是不是具有某个权限Session Manager:会话管理,即用户登录后就是第一次会话,在没有退出之前,它的所有信息都在会话中,会话可以是普通的javase环境,也可以是web环境。Cryptography:加密,保护数据的安全性,如密码加密存储到.
2020-11-18 15:33:57
126
原创 SpringSecurity集合springboot
在web开发中,安全第一位。 过滤器,拦截器spring security 是针对 Spring项目的安全框架,也是Spring Boot 底层安全模块默认的技术选型,它可以实现强大的Web安全控制, 对于安全控制,我们仅需要引入spring-boot-starter-security 模块,进行少量的配置,即可实现强大的安全管理!记住几个类:WebSecurityConfigurerAdapter: 自定义Security策略AuthenticationManagerBuilder:自定义认证策
2020-11-17 20:51:16
142
原创 单例模式
单例模式构造器私有 饿汉式package com.singleMode;public class Hungry {private byte[] bytes1 = new byte[1024*1024];private byte[] bytes2 = new byte[1024*1024];private byte[] bytes3 = new byte[1024*1024];private byte[] bytes4 = new byte[1024*1024];private byte
2020-11-12 17:42:43
153
2
原创 错题集
在 Applet 中,方法执行的顺序是 ?(A )A init(), start(), paint(),stop(),destroy().B init(),paint(),start(),stop(),destroy().C paint(),start(),stop(),destroy().D init(), start(),stop(),destroy(),paint().下面程序的运行结果(D) Object obj=new Object(); List aList=new
2020-11-06 22:37:03
294
原创 2020.11.03 底层相关,汇编
概述机器语言##### 什么是机器语言?#目前主流的电子计算机 状态: 0和1 #最早的程序员:穿孔卡带简化这些复杂的计算机语言,助记符,汇编语言#就是把人能理解的语言,转换成机器理解的语言加 INC -->编译器减 DEC 乘 MUL除 DIV 汇编一般用于底层编写,单片机进制二进制:思想—每一种进制都是完美的,都有自己的计算方式。八进制:八进一十进制:十进一十六进制:16进1 . 0123456789abcdef进制远远没有想象那么复杂, 查数加密
2020-11-03 19:55:25
273
原创 GUI
GUI编程## 1.简介GUI的核心技术: Swing AWT 为什么不流行? 因为不美观 . 需要JRE环境2.AWT2.1 AWT介绍 1.包含了很多类和接口. GUI: 图形用户界面编程 2.元素:窗口,按钮,文本框 3.java.awt [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vrpnrEVu-1604379232646)(C:\Users\2020\AppData\Roaming\Typora\typora-user-imag
2020-11-03 12:54:26
158
原创 计算机网络顺带复习一下io流的小总结
计算机网络 将 “地理位置不同” 的具有独立功能的"多台计算机及外部设备,通过通信线路连接起来",在网络操作系统,网络管理软件以及"网络通信协议"的管理和协调下,实现"资源共享"和信息传递的计算机系统.网络编程的目的? 传播交流信息,数据交换,通信 网络编程:TCP/IP C/S网络通信的要素 1.如何实现网络通信? 通信双方地址: IP port 规则:网络通信的协议TCP/IP参考模型[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YOV4t
2020-11-02 21:42:44
168
原创 关于创建springboot的时候出现编译打包插件爆红的情况
start.spring.io经常创建项目失败,所以我一般都在用 start.aliyun.com 来构建springBoot项目,好处在于它不会出现这种有的时候ping不通的清空,而且会自动帮我们写应用名称,端口,静态资源扫描路径的properties文件. 感觉挺方便的.但是有的时候总会发生spring-boot-maven-plugin这个插件爆红的情况,显示的是not Found.1.最开始我是以为依赖出错,所以去本地仓库里面删掉了这个插件重下, 无果.2.setting.xml重新过了一
2020-10-31 14:38:08
902
原创 EditPlus_5.3 中文版
链接:https://pan.baidu.com/s/1U2SBzzKt3deHW9MlBlWpKQ提取码:zsbd免安装版本的,下载解压然后导入注册表就完事了
2020-10-31 14:01:57
1639
3
原创 学习RabbitMQ的一些个人总结
RabbitMQ是流行的开源消息队列系统,用erlang语言开发,RabbitMQ是AMQP(高级消息队列协议)的标准实现。采用该技术,我们可以实现异步处理、流量削峰、系统解耦;消息 Message 是指在应用件传送的数据,消息可以非常简单,比如只包含文本字符串.也可能包含嵌入对象.消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的科可靠传递.//异步协作机制RabbitMQ 消息队列基于Erlang语言开发的AMQP的开源实现.AM
2020-10-30 16:34:54
229
1
原创 Nginx+SpringSession+FastDFS总结
Nginx主要功能:静态代理、负债均衡、动静分离、虚拟主机SpringSessionTTP协议本身是无状态的,为了保存会话信息,浏览器Cookie通过SessionID标识会话请求,服务器以SessionID为key来存储会话信息。在单实例应用中,可以考虑应用进程自身存储,随着应用体量的增长,需要横向扩容,多实例session共享问题随之而来。Spring Session就是为了解决多进程session共享的问题Nginx是一个高性能的Web服务器和反向代理服务器,也可以作为邮件代理服务器内存少,
2020-10-30 16:32:33
126
原创 Redis总结和部分操作命令
Redis(REmote DIctionary Server)是一个Key Value存储系统,是非常著名的NoSQL数据库之一。Redis常常作为系统的缓存Cache使用1.访问量大2.高并发3.高可用4.海量数据一.Nosqlnot Only sql (non-relational) 非关系型数据库 (数据结构服务器)优点:1.大数据量,高性能. 2.灵活的数据模型 3.高可用 4.低成本劣势:1.数据之间无联系 2.不支持标准的SQL 3.没有关系型数据库的约束,也没有索引 4.没有事
2020-10-30 16:28:41
195
原创 Maven笔记
概述:Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 Maven的主要目标是希望开发人员能在最短的时间内理解开发的完整状态。为了达到这个目标,Maven在下面几个方面做出了努力:简化构建过程、统一构建体系、提供高质量的项目信息、提供开发的最佳实践指南、实现透明的向新特性的迁移、简化构建过程。使用Maven不须要知道一些潜在的或底层的机制,Maven屏蔽了非常多细节//=========================================
2020-10-30 16:27:31
229
原创 动态代理的总结
java的设计模式中有一项设计模式叫做代理模式,所谓代理模式,就是通过代理方来操作目标对象,而不是自己直接调用。代理又分为静态代理和动态代理,静态代理就是针对每个被代理对象写一个代理类,操作不够优雅;动态代理,可以根据接口动态的生成代理类,这动态生成的类不需要自己书写,jdk帮你完成了动态代理:基于反射机制1.什么是动态代理?使用jdk反射机制,在程序执行时,创建对象的能力,创建的是代理类的对象,而不用你创建类文件,不用写.Java文件.动态:在程序执行时,调用jdk提供的方法才能创建代理类的对象.
2020-10-30 16:25:22
168
原创 互联网通信流程和Http网络协议
自己当初学习的时候的一些小总结2020/8/14控制服务器Java行为技术:Http服务器,servlet,JSP互联网通信流程开发规则:MVC1.什么是互联网通信?两台计算机通过网络来实现文件共享的行为,就是"互联网通信".2.互联网通信过程角色划分客户端计算机:用于发送请求,来索要资源文件的计算机.服务端计算机:用于接收请求,bing 提供对应的资源的计算机.3.互联网通信模型3.1 C/S通信模型:C, client software; 客户端软件客户端软件专门安装在客户端计算
2020-10-30 16:24:27
231
1
原创 linux基本操作
查看ip地址: ifconfigcd进入ls查看文件vi和vim: linux中的文本编辑器 //vim是vi的增强版一般使用一般模式,只读. 但是按i A a I 可以进入编辑模式(但是不能保存),按esc回到一般模式进入命令模式可以保存:在一般模式下按shift+: ,进入命令模式 q! -->不保存强制退出 wq!保存并退出 q只退出vi和vim快捷键.复制当前行 yy赋值当下5行 5yy查找关键字 /关键字删除当前行 dd删除当下5行 5dd撤销 u显示行号,
2020-10-30 16:22:05
113
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人