- 博客(53)
- 收藏
- 关注
原创 解决删除chrome注册表残留问题
将下面这个全部复制下来并粘贴到命名为“remove.reg”的文件中。双击执行即可Windows Registry Editor Version 5.00;WARNING, this file will remove Google Chrome registry entries ;from your Windows Registry. Consider backing up your registry before; using this file: http://support.mic
2021-02-18 21:31:22 5640 8
转载 springcloud微服务项目
前言Cloud-Platform是国内首个基于Spring Cloud微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用Spring Boot 2.1.2以及Spring Cloud (Greenwich.RELEASE) 相关核心组件,采用Nacos注册和配置中心,集成流量卫兵Sentinel,前端采用vue-element-a
2020-12-01 23:07:22 194
原创 乐优商城学习
csdn链接:https://blog.csdn.net/lyj2018gyq/article/details/81981466b站视频:https://search.bilibili.com/all?keyword=%E4%B9%90%E4%BC%98%E5%95%86%E5%9F%8E&from_source=nav_suggest_new
2020-11-11 23:49:22 274
原创 数据库优化总结
博主负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长的竟然高达5分钟。导出日志后分析,主要原因竟然是没有命中索引和没有分页处理。 其实这是非常低级的错误,我不禁后背一凉,团队成员的技术水平亟待提高啊。改造这些SQL的过程中,总结了一些经验分享给大家,如果有错误欢迎批评指正。MySQL性能最大数据量抛开数据量和并发数,谈性能都是耍...
2020-01-04 22:40:35 157
原创 使用springboot和redis实现redis权限认证
一、引言登录权限控制是很多系统具备的功能,实现这一功能的方式有很多,其中使用token是现在用的比较多的好处:可以防止CSRF攻击二、功能实现:用户登录成功后,后台生成一个token并存在redis中,同时给此用户的token设置时限,返回一个token给调用者,同时自定义一个@AuthToken注解,被该注解标注的API请求都需要进行token效验,效验通过才可以正常访问,实现接...
2019-12-19 22:25:33 528
转载 Spring boot 和 Vue 前后端分离项目的启动部署(详细版)
一、首先拿到spring boot + vue项目,可以从git 上获取到 1、spring boot 项目导入idea中启动,运行mian函数启动项目(tomcat端口改为80)二、安装node(最新版)https://nodejs.org/en/download/(具体安装过程,查百度) 1、测试node和cpm是否成功 1...
2019-12-11 20:51:38 8494 1
原创 ThreadLocal
ThreadLocal是什么以前面试的时候问到ThreadLocal总是一脸懵逼,只知道有这个哥们,不了解他是用来做什么的,更不清楚他的原理了。表面上看他是和多线程,线程同步有关的一个工具类,但其实他与线程同步机制无关。线程同步机制是多个线程共享同一个变量,而ThreadLocal是为每个线程创建一个单独的变量副本,每个线程都可以改变自己的变量副本而不影响其它线程所对应的副本。官方API上...
2019-12-07 22:28:24 144
转载 Rabbitmq之消息过期设置
消息的过期时间目前有两种方法可以设置消息的 TTL 。第一种方法是通过队列属性设置,队列中所有消息都有相同的过期时间。第二种方法是对消息本身进行单独设置,每条消息的TTL可以不同。如果两种方法一起使用,则消息的TTL以两者之间较小的那个数值为准。对于第一种设置队列属性的方法,一旦消息过期,就会从队列中抹去,而在第二种方法中,即使消息过期,也不会马上从队列中抹去,因为每条消息是否过期是在即将投...
2019-11-28 22:40:12 2468
原创 【Postman】chrome浏览器插件Postman的使用(接口测试)
1 下载安装postman1.1 下载地址:http://download.csdn.net/detail/wabiaozia/9450359修改下载后的Postman文件后缀为zip(Postman_v4.1.3.zip)并解压1.2 安装打开chrome浏览器打开开发者模式,点击加载已解压的扩展程序,选中解压后的postman目录,安装即可2 使用地址栏里输入c...
2019-10-27 19:31:29 567
原创 面试官:集群部署时,分布式 session 如何实现?
面试官心理分析面试官问了你一堆 dubbo 是怎么玩儿的,你会玩儿 dubbo 就可以把单块系统弄成分布式系统,然后分布式之后接踵而来的就是一堆问题,最大的问题就是分布式事务、接口幂等性、分布式锁,还有最后一个就是分布式 session。当然了,分布式系统中的问题何止这么一点,非常之多,复杂度很高,但是这里就是说下常见的几个,也是面试的时候常问的几个。面试题剖析session 是啥?...
2019-10-21 23:24:09 127
转载 kubernetes核心对象 —— kubernetes实用随笔(三)
这篇开始就主要对kubernetes核心对象进行讲解。我们可以把Kubernetes构建容器的过程当做一个制造积木零件和搭建积木的过程。首先我们通过一种方式去描述积木零件长什么样子,机床就为我们生成什么样的零件。接着我们再利用造好的各个零件去组装成我们想要的积木造型,最终完成我们业务需求要求的积木模型。而Kubernetes中的这些积木零件就是像namespace、pod、in...
2019-04-25 22:45:29 235
转载 最常用的kubectl命令(附带场景和截图) —— kubernetes实用随笔(二)
上几篇博客主要介绍了k8s核心概念、接下来直接上手操作,在操作命令时,最好还是现将概念弄懂,否则排查问题时无从下手。本文主要介绍kubernetes排查问题时经常用到的命令。这里主要借助kubectl命令来实现。以下列出常用命令,后面会对每个命令进行详细解释,并举例: ...
2019-04-25 22:32:05 392
转载 kubernetes和Docker —— kubernetes实用随笔(一)
最近项目用到kubernetes(以下简称k8s,k和s之间有8个字母),虽然之前也有简单使用过,但最近发现k8s概念较多,命令也有些不够用了,故想借此机会写点东西,更全面认识并使用k8s。本系列目的:让你更全面了解k8s概念,以及学到在工作中常用的操作。整体更偏向于原理和应用。在正式开始k8s之前,我们先看看k8s和Docker的关系,分别从虚拟化角度、部署方式角度叙述why use容器,话...
2019-04-25 22:07:14 290
转载 JData数据处理及高潜用户购买意向预测
竞赛概述:本次大赛以京东商城真实的用户、商品和行为数据(脱敏后)为基础,参赛队伍需要通过数据挖掘的技术和机器学习的算法,构建用户购买商品的预测模型,输出高潜用户和目标商品的匹配结果,为精准营销提供高质量的目标群体。同时,希望参赛队伍能通过本次比赛,挖掘数据背后潜在的意义,为电商用户提供更简单、快捷、省心的购物体验。数据介绍:符号定义:S:提供的商品全集;P:候选的商品子集(JD...
2018-09-24 12:12:06 2026 3
转载 如何辨别高潜牛人的六个方法,据说源自500强HR
如果你是一名领导,当老板派下来任务让你招人的时候,你有考虑过怎么招到合适的人么?今天,架构师米洛特意分享一篇优秀的网络文章,据说来自500强的HR,希望对你招人有所帮助。 如何识人是HR及管理者重要的技能,市面上有很多的测评工具及所谓的结构化面试的技巧,但是这些都是在特定情况下的特定行为的判断,那么如何在人们的日常行为以及交谈中发现高潜牛人呢?今日南哥为您推荐一篇靠...
2018-09-24 11:16:27 590
转载 Git-生成SSH公钥
第一步:打开【Git Bash】工具,复制粘贴以下命令,回车结束。ssh-keygen -t rsa -b 4096 -C "your_email@example.com"。示例:ssh-keygen -t rsa -b 4096 -C "zhangsan@sina.cn"。如图所示:第二步:基于第一步的操作结果,建议保持原有配置,所以不需要键入任何的信息,直接回车...
2018-06-04 10:13:11 479
转载 oracle正确卸载步骤
oracle正确卸载步骤oracle 11g如何完全卸载方法/步骤1:停用oracle服务:进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止方法/步骤2:在开始菜单中,找到oracle->Universal Installer,运行Oracle Universal Installer,单击卸载产品在产
2018-01-22 10:53:26 325
转载 Restful风格API接口开发springMVC篇
Restful风格的API是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。在Restful风格中,用户请求的url使用同一个url而用请求方式:get,post,delete,put...等方式对请求的处理方法进行区分,这样可以在前后台分离式的开发中使得前端开发人员
2018-01-06 20:54:40 235
转载 Druid,目前最好的数据库连接池
Druid是什么?Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。同时Druid不仅仅是一个数据库连接池,它包括四个部分:D
2018-01-03 14:57:54 9390 1
转载 Spring WebSocket+SockJS+Stomp实现一对一、一对多通信
最近项目上要做扫码登录,所以研究了一下Spring WebSocket。网上找了很多资料 springmvc(18)使用WebSocket 和 STOMP 实现消息功能、spring websocket + stomp 实现广播通信和一对一通信,要么就是不是自己想要的,要么就是只有中间一部分。所以特别写了这篇文章,一方面怕自己遗忘,另一方面是希望可以给大家一些参考。先放代码,在文章的最
2017-12-25 15:51:23 1347
转载 Netty——基本使用介绍
1.为什么选择Netty上一篇文章我们已经了解了Socket通信(IO/NIO/AIO)编程,对于通信模型已经有了一个基本的认识。其实上一篇文章中,我们学习的仅仅是一个模型,如果想把这些真正的用于实际工作中,那么还需要不断的完善、扩展和优化。比如经典的TCP读包写包问题,或者是数据接收的大小,实际的通信处理与应答的处理逻辑等等一些细节问题需要认真的去思考,而这些都需要大量的时间和经历,以及
2017-12-25 15:39:52 298
转载 Netty——1、网络编程基本概念
1.阻塞IO—SocketSocket又称“套接字”,应用程序通常通过“套接字”向网络发出请求或应答网络请求。Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,不会因为
2017-12-25 15:31:15 210
转载 redis实现session共享
这几天在做session共享这么一个小模块,也查了好多资料,给我的感觉,就是太乱了,一直找不到我想要的东西,几乎全部实现方法都与我的想法不一样,在这里,我总结一下自己是如何用redis实现session共享的,方便自己以后查询,也希望能给有这方面需求的朋友一些帮助(此句可忽略不看,嘎嘎)先说一下我的开发环境:nginx、redis、tomcat,用moven构建项目,jetty服务器运
2017-12-18 12:12:52 163
原创 单点登录原理与简单实现
一、单系统登录机制1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系 但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必
2017-12-15 13:28:58 216
转载 Spring Bean 的5种作用域介绍
Spring Bean 中所说的作用域,在配置文件中即是“scope”在面向对象程序设计中作用域一般指对象或变量之间的可见范围。而在Spring容器中是指其创建的Bean对象相对于其他Bean对象的请求可见范围。在Spring 容器当中,一共提供了5种作用域类型,在配置文件中,通过属性scope来设置bean的作用域范围。1. singleton:
2017-12-15 11:15:41 397
转载 HashTable和HashMap的区别详解
一、HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。 HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。 HashMap 实现了Serializable接
2017-12-12 20:51:03 248
原创 什么是对象,为什么要面向对象,怎么才能面向对象?
一、 面向对象,这个对象到底是什么? 这个对象不是C#中的实例,C#中我们把一个类的实例也叫做对象,这种对象严格的说应该是面向对象的编程实现(OOP)中的对象,面向对象编程,也不是面向类的实例编程。对象的定义是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。也有的定义为“一切都是对象”然而面向对象也不能简单
2017-12-11 22:50:22 720
原创 Java四种线程池的使用
Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。
2017-12-11 18:04:18 184
原创 NoSQL 简介
NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。在现代的计算系统上每天网络上都会产生庞大的数据量。这些数据有很大一部分是由关系数据库管理系统(RDMBSs)来处理。 1970年 E.F.Codd's提出的关系模型的论文 "A relational model of data for large shared data banks",这使得数据建模和应用程序
2017-12-10 12:04:20 152
原创 String,StringBuffer与StringBuilder的区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常
2017-12-10 10:39:11 161
原创 cookie 和session 的区别详解
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。1.1 Cookie机制在程序中,会话
2017-12-10 10:11:56 177
原创 银行常用加密算法PINBlock加密
1.首先知道PIN的数据格式和如何获取PINPIN的格式应符合ANSI X9.8 Format(带主账号信息)PIN的长度为4-12位格式:LV位置长度内容11字节PIN长度27字节4-12位PIN(每个字符占4个BIT,不足右补F)
2017-12-09 22:08:56 2677 1
原创 数据库的几种索引
(1)按照索引列值的唯一性,索引可分为唯一索引和非唯一索引①非唯一索引:B树索引create index 索引名 on 表名(列名) tablespace 表空间名;②唯一索引:建立主键或者唯一约束时会自动在对应的列上建立唯一索引(2)索引列的个数:单列索引和复合索引(3)按照索引列的物理组织方式①B树索引create index 索引名 on 表名(列名) table
2017-12-09 22:06:58 2109
转载 JAVA多线程实现的三种方式
JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。1、继承Thread类实现多线程继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的一个
2017-12-09 15:58:34 131
原创 反射机制获取Class对象的三种方式:
Person person = new Person();//1、通过Object类的getClass()方法:(需要先实例化一个对象)Class clazz1 = person.getClass();//2、通过对象实例方法获取对象:(需要先实例化一个对象)Class clazz2 = person.class;//3、类的全路径:(不许呀实例对象)Class clazz
2017-12-09 11:39:34 218
转载 SVN和Git的比较
最近开始学Git,跟以前常用的SVN来做个对比,以便对双方的优缺点了解更多些。其实Git和SVN还是挺像的,都有提交,合并等操作,看来这是源码管理工具的基本操作。1. Git是分布式的,SVN是集中式的,好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上,一段时间后再提交、合并,也可以不用联网在本地提交;2. Git下载下来后,在本地不必联网就可以看到所有的log,很
2017-12-09 11:35:59 181
原创 java事务管理
什么是事务: 事务,就是一组操作数据库的动作集合。 一组处理步骤或者全部发生或者一步也不执行,我们称该组处理步骤为一个事务。当所有的步骤像一个操作一样被完整地执行,我们称该事务被提交。由于其中的一部分或多步执行失败,导致没有步骤被提交,则事务必须回滚到最初的系统状态。 事务必须满足ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(is
2017-12-09 11:26:01 177
转载 Java事务处理全解析——使用动态代理(Dynamic Proxy)完成事务
在本系列的上一篇文章中,我们讲到了使用Template模式进行事务管理,这固然是一种很好的方法,但是不那么完美的地方在于我们依然需要在service层中编写和事务处理相关的代码,即我们需要在service层中声明一个TransactionTemplate。在本篇文章中,我们将使用Java提供的动态代理(Dynamic Proxy)功能来完成事务处理,你将看到无论是在service层还是DAO层
2017-12-09 11:13:50 567
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人