自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分布式唯一id的生成—雪花算法(snowflake)

id生成系统的可用性要求:高可用:发送请求时能创建成功;低延迟:服务器响应要快;高QPS:来10万个也及时创建成功并且返回。uuid:jdk本地生成,性能高,但是是无序id。并且太长,有32位,8-4-4-12,不适合mysql数据库。数据库主键自增:唯一性,自增有序,但是不适合集群使用,每次新增时都需要先读取数据库是否存在数据。达不到高QPS。redis:可满足上述要求,但是维护成本高,配置麻烦。需要配置一套redis集群。雪花算法:1.可以根据时间有序生成;2.生成的结果是一个64bi

2021-02-15 13:50:54 363

原创 oracle高效率备份数据迁移(从一张表插入到另外一张表)

比较常用的备份方式是insert into TABLE1 SELECT * FROM TTABLE2这种sql语句,但是这种sql备份数据量少的比较方便,写起来简单,快速。但是针对数据量很大的,类如日志表这种,就相对于效率很慢,且容易出现超时甚至失败的情况。所以针对数据量大的就适用于merge inro TABLE1 a using (SELECT * from TABLE2) bon(1=0)when not matched then insert values(b.id,b.name

2020-12-03 16:11:39 2767

原创 Failed to resolve directive: XXX

这个报错有2个原因:1.指令单词拼错2.Vue.directive() 这个方法没有写在 new Vue 之前解决办法:1.检查指令拼写是否正确2.Vue.directive() 这个方法写在new Vue之前`Vue.directive('test',{ bind(el,binding,vnode){ console.log(el); el.style.color = "red" }})new Vue({ el: '#app', components: {

2020-10-17 19:22:17 24586 1

原创 java中的list.add()和list.addAll()的区别

List集合中的add和addAll方法的区别在于:add():是将对象添加到list的集合中,添加一个list的size就+1;addAll():则是将其他的list1,list2,list2=3…对象作为元素添加到当前的list集合中,此时list中的size大小就是list1,list2,list3…中的所有size加起来的大小。list里面的对象也是list1,list2,list3…中所有包含的对象。...

2020-05-25 13:33:29 909

转载 最容易理解的反射机制的底层原理

看了好多关于Java反射机制的文章,大多都太过官方,消化起来比较稍显费劲,本篇,我会依据自己的理解去阐述什么是Java的反射机制,反射用在什么地方,以及怎么来使用?开篇前,我们还是要了解一下,什么是Java的反射机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl、Python(看过我写的Python3学习系列的博文,不止一次突出Python动态语言的特点)、Ruby是动态语言,C++、Java、C#不是动态语言。但是JAVA有着一个非常突出的动态相关机制——

2020-05-21 15:36:14 2971

原创 Redis客户端常用的命令

1、连接操作相关的命令quit:关闭连接(connection)auth:简单密码认证远程访问:redis-cli -h host获取资源缓存:get keyname2、对value操作的命令exists(key):确认一个key是否存在del(key):删除一个keytype(key):返回值的类型keys(pattern):返回满足给定pattern的所有keyrandomkey:随机返回key空间的一个keyrename(oldname, newname):将key由oldnam

2020-05-20 16:49:51 212

原创 vue中的v-if和v-show的区别以及使用场景

vue中显隐方法常用两种,v-show和v-if,但这两种是有区别的。实现本质方法区别vue-show本质就是标签display设置为none,控制隐藏vue-if是动态的向DOM树内添加或者删除DOM元素编译的区别v-show其实就是在控制cssv-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件编译的条件v-show都会编译,初始值为false,只是将display设为none,但它也编译了v-if初始值为false,就不会编译了性能v-show

2020-05-20 14:46:05 1284

原创 文件上传拒绝访问

在项目中做文件上传的时候,遇到了文件拒绝访问的异常,原始代码如下:String filePath = request.getSession().getServletContext().getRealPath("/") + "/doc/" + tb.getId() + ""; File dir = new File(filePath, myfile.getOriginalFilename()); if (!dir.exists()) { dir.mkdirs(); } // 文件写入磁盘 myfile.tr

2020-05-19 12:09:38 1689

原创 HashMap的四种遍历方法详情

public static void main(String[] args) {Map<String, String> map = new HashMap<String, String>();map.put(“1”, “value1”);map.put(“2”, “value2”);map.put(“3”, “value3”);//第一种:普遍使用,二次取值System.out.println(“通过Map.keySet遍历key和value:”);for (Strin

2020-05-19 09:00:26 145

转载 Redis的持久化机制:RDB和AOF

redis的 rdb 和 aof 持久化的区别url: http://ptc.35.com/?p=275aof,rdb是两种 redis持久化的机制。用于crash后,redis的恢复。rdb的特性如下:Code:fork一个进程,遍历hash table,利用copy on write,把整个db dump保存下来。save, shutdown, slave 命令会触发这个操作。粒度比较大,如果save, shutdown, slave 之前crash了,则中间的操作没办法恢复。aof有如

2020-05-18 21:20:10 87

原创 Oracle查询第10条到第20条的数据

oracle的分页跟mysql不同,mysql是用limit关键字进行分页,而oracle是需要伪列来分页的。select * from (select t.*,rownum num from 表名 t where rownum <= 20) where num >=10;必须给rownum起个别名。

2020-05-15 09:25:05 2372

原创 spring boot根据动态的corn表达式执行定时任务

spring boot配置定时任务本人已知的有两种方法,一种是使用注解@Scheduled,使用这个时需要在spring boot的启动类上添加@EnableScheduling注解以及在使用类中添加@Component方能使用,只需要了解corn的表达式便可以配置定时任务执行的时间。但是如果是配置动态的corn表达式,此方法就不是很合适,这时需要用到quart定时器框架。Quartz是纯Ja...

2020-04-20 20:54:11 1576 3

原创 vue根据路由刷新页面(切换菜单刷新页面)

刷新页面有两种方法:一种是用:localtion.reload();但是这种是重新加载页面,造成一闪一闪的效果。一种是用provide+inject,provider/inject:简单的来说就是在父组件中通过provider来提供变量,然后在子组件中通过inject来注入变量。需要注意的是这里不论子组件有多深,只要调用了inject那么就可以注入provider中的数据。而不是局限于只能...

2019-12-24 17:50:42 2406

原创 vue中的axios请求超时处理

在做数据源连接测试时,用axios请求时发现数据库连接超时,前台也没有响应。在此就加了拦截器:import {serialize} from '@/util/util'import {getStore} from '../util/store'import NProgress from 'nprogress' // progress barimport errorCode from '@...

2019-11-09 10:52:50 3388

原创 AOP自定义注解实现项目日志操作管理

本人是spring boot项目,相关注解依赖也已经提前导入OK,下面是实现注解需要的依赖。<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> </dependency>首先需要创建一个实体类:`packag...

2019-08-26 22:58:10 169

原创 mybatis批量插入oracle数据库的sql

本人在做项目的时候试了几种方法:亲测以下的可用<insert id="insertUser" parameterType="java.util.List" useGeneratedKeys="false" > insert into RD_AUTHORITY_USER <include refid="Base_Column_List_Two" /> ...

2019-08-21 09:43:07 180

原创 hibernate中的Session和THHP中的session的区别

HTTP的session:1.概念:提起Session的话,首先想到的是http的session,想到了http这个无状态的协议,没办法保存任何访问对象的信息,所以就出现了session,用来记录访问者的一些信息。2.HTTP的session的创建时间:一个常见的误解是以为session在有客户端访问时就被创建,然而事实是直到某server端程序调用 HttpServletRequest....

2019-08-13 14:33:24 162

原创 普通javaweb(struts框架)工程转maven工程

由于项目升级,需要将SSH(struts,spring,hibernate)框架改成maven工程。这里本人做一下总结。1.本人之前的项目结构是这样的,准备用这种方式来转换:右击项目–》configure–》convert to maven project,就不用重构项目转换啦。但是本人实验过后略显麻烦,因为要改很多配置。不如重新创建一个maven工程项目。2.重新创建一个maven工程项目我...

2019-07-25 10:45:45 607

空空如也

空空如也

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

TA关注的人

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