学习
文章平均质量分 96
大i程序猿
一只不想当码农的程序猿!
展开
-
SpringCloud使用Nacos服务发现实现远程调用
本文使用SpringCloud结合Nacos服务发现,Feign远程调用做一个简单的Demo。1 Nacos关于Nacos之前写了两篇文章关于SpringBoot对它的使用,感兴趣可以查看一下。《SpringBoot使用Nacos配置中心》《SpringBoot使用Nacos服务发现》在SpringBoot使用的时候,需要自行去向Nacos服务注册自己的服务,Nacos也提供了Spr...转载 2020-04-17 14:46:44 · 642 阅读 · 0 评论 -
盐值加密
(一)盐值加密第一次听说盐值加密的时候,总是感觉怪怪的。因为总会联想到咸,联想到密码是咸的。 其实这里所说的盐,简单的说,就是一组安全随机数。它会在特定的时候,加入到密码中(一般来说是加密后的密码)。从而使密码变得更有味道(从单一简单化到复杂化),更安全。下面我们就通过安全威胁分析分别说说当前两种加盐的形式:一、数据库泄露众所周知,用户名和密码是被保存在数据库中。可是一旦数据库发生了...转载 2020-04-14 16:08:52 · 7764 阅读 · 0 评论 -
SpringBoot开发案例之整合日志管理
有一种力量无人能抵挡,它永不言败生来倔强。有一种理想照亮了迷茫,在那写满荣耀的地方。 概述参考文档:Logging这里顺便引用以下部分原文,当然看不明白也没关系,我们有有道翻译,如果翻译的不准确,后面会提供详细配置分享给大家。Spring Boot uses Commons Logg...转载 2020-04-14 13:59:37 · 283 阅读 · 0 评论 -
mybatis-plus-generator代码生成器体验
介绍mybatis-generator是一款在使用mybatis框架时,自动生成model,dao和mapper的工具,很大程度上减少了业务开发人员的手动编码时间,今天自己研究了一下,也分享一下使用心得供大家简单使用。配置添加maven依赖本人使用的是maven构建,首先需要在pom.xml文件添加mybatis-generator依赖包以及插件,配置如下:dependenc...原创 2020-04-10 15:49:30 · 354 阅读 · 0 评论 -
ShowDoc文档管理系统
简介在线文档管理系统很多, 比如阿里的语雀、腾讯的 TAPD 平台也包括文档管理功能, 但这些系统需要联网的, 企业内文档协作工具不是很多, 最有名的是收费的 confluence 了, 禅道有文档管理功能, 但功能较弱, 比较适合附件上传管理.这里介绍 Showdoc 这款开源(免费)文档管理系统, 可以部署企业内部, 后台使用 php + sqlite, 支持 Windows/Linux/...原创 2020-04-02 14:33:41 · 642 阅读 · 0 评论 -
Gradle安装与使用
Gradle安装使用以及基本操作阅读目录简单介绍安装使用idea创建一个web的Gradle项目如何进行打包解释build.gradle和settings.gradle有关gradle的jar冲突本地jar包位置和修改 这两天看到越来越多的在接触Gradle,然后发现我之前没有做过记录,而且之后下个月的一些有关SpringBoot的东西也需要用到,所以这里就来...转载 2020-04-01 14:00:24 · 291 阅读 · 0 评论 -
PostgreSQL下载与安装
PostgreSQL下载进入官网:官网下载地址选择安装系统下载安装包选择相应版本本文选择的是9.6.17 【9.6.17下载地址安装点击exe文件开始安装选择文件的安装路径:安装时有默认的安装路径,将其设置为我们常用的安装目录即可,此处用户可以自行设定,如下图所示。设置Postgresql的密码,在密码输入框中输入密码,重复输入两次即可。在接下来弹出的设置...原创 2020-04-01 10:53:55 · 939 阅读 · 1 评论 -
Java学习之路
原文链接:Java学习的正确打开操作 在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲...转载 2020-02-28 09:47:45 · 677 阅读 · 0 评论 -
深拷贝的四种方式
1、浅拷贝 概念:子对象复制父对象,父子对象发生关联,两者属性值指向同一内存空间。简单来讲,就是改变其中一个对象,另一个对象也会跟着改变。2、深拷贝 概念:拷贝对象各个层级的属性。简单的讲,就是复制出来的每个对象都有属于自己的内存空间,不会互相干扰。实现方式:实现Cloneable接口,并且重写Object类中的clone()方法 实现Serializable接...原创 2020-02-25 15:35:41 · 1080 阅读 · 0 评论 -
linux安装nginx过程(版本:centos7)
安装gcc gcc-c++(如新环境,未安装请先安装)$ yum install -y gcc gcc-c++2.安装PCRE库$ cd /usr/local/$ wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.tar.gz$ tar -zxvf pcre-8.36.tar.gz$ cd p...原创 2018-09-22 11:33:14 · 188 阅读 · 0 评论 -
HashMap源码分析底层原理
HashMap原理先以一个简单的例子来理解hashmap的原理。在Java中先随机产生一个大小为20的数组如下:hash表的大小为7,将上面数组的元素,按mod 7分类如下图:将这些点插入到hashmap中(简单hashmap)后如下图: 由上图可知: ① hashmap是用链地址法进行处理,多个key 对应于表中的一个索引位置的时候进行链地址处理,hashmap...转载 2018-09-11 10:37:41 · 141 阅读 · 0 评论 -
JVM中GC垃圾回收机制与垃圾回收算法
推荐相关文章:GC算法1.运行时内存区 要想了解GC垃圾回收机制,首先要了解虚拟机中内存分布以及管理。如下图所示,运行时数据区分为方法区、堆、虚拟机栈、本地方法栈和程序计数器等。每一块区域解释如下:方法区:是线程共享的内存区域,用来存储类加载的信息、常量、静态变量、即时编译器编译后的代码等。其中方法区中还有个经常会用到的区域叫做运行时常量池,主要用于...转载 2018-09-13 15:50:39 · 171 阅读 · 0 评论 -
单例模式理解
单例模式在开发过程中遇到的几个场景: 1、网站计数器,一般是采用单例模式实现,否则难以同步。 2、由于配置文件一般都是共享资源,即web应用的配置对象的读取,一般采用单例模式来实现。如:spring的配置文件的读取等 3、多线程的线程池的设计一般也是采用单例模式,这是由于线程池要方便对池中的线程进行控制。 4、数据库连接池的设计也是采用单...原创 2018-09-07 15:42:32 · 210 阅读 · 0 评论 -
通讯帝国之TCP三次握手和四次挥手
三次握手 四次挥手转载 2018-09-12 14:22:49 · 169 阅读 · 0 评论 -
spring相关总结
Java Web(八) MVC和三层架构:https://www.cnblogs.com/whgk/p/6435300.htmlSpring:源码解读Spring IOC原理https://www.cnblogs.com/ITtangtang/p/3978349.html#a1原创 2018-09-16 12:10:20 · 114 阅读 · 0 评论 -
Java实现敏感词过滤
博客原地址:http://www.cnblogs.com/chenssy/p/3751221.html敏感词、文字过滤是一个网站必不可少的功能,如何设计一个好的、高效的过滤算法是非常有必要的。前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢。我把它程序拿过来一看,整个过程如下:读取敏感词库、如果HashSet集合中,获取页面上传文字,然后进行匹配。我...转载 2019-01-18 11:10:22 · 319 阅读 · 0 评论 -
Java内存模型和java内存结构
https://www.cnblogs.com/nexiyi/p/java_memory_model_and_thread.htmlhttps://blog.csdn.net/javazejian/article/details/72772461原创 2018-09-08 23:32:05 · 514 阅读 · 0 评论 -
安装配置keepalived
安装keepalived下载keepalived地址:http://www.keepalived.org/download.html解压安装:tar -zxvf keepalived-1.2.18.tar.gz -C /usr/local/yum install -y openssl openssl-devel(需要安装一个软件包)cd keepalived-1.2.18/ &...转载 2018-09-23 09:39:05 · 258 阅读 · 0 评论 -
查找算法巩固
二分查找又称为折半查找: 仅适用于事先已经排好序的顺序表。其查找的基本思路:首先将给定值K,与表中中间位置元素的关键字比较,若相等,返回该元素的存储位置;若不等,这所需查找的元素只能在中间数据以外的前半部分或后半部分中。然后在缩小的范围中继续进行同样的查找。如此反复直到找到为止。算法如下: //二分查找算法-折半查找 public static int binarySea...原创 2018-10-07 21:10:03 · 129 阅读 · 0 评论 -
sql之分组取组内前几条数据
一、对分组的记录取前N条记录:例如:取每组的前3条最大的记录1.用子查询:SELECT * FROM tableName a WHERE(SELECT COUNT(*) FROM tableName b WHERE b.id=a.id AND b.cnt>a.cnt) < 3ORDER BY a.id,a.account DESCwhere中的select是保证:...原创 2018-10-10 21:20:29 · 10651 阅读 · 3 评论 -
SSH使用Maven构建分层聚合项目
参考:http://www.cnblogs.com/whgk/p/7121336.html项目代码下载地址:https://download.csdn.net/download/cyn_653620/10866776一、maven父工程与子模块的拆分与聚合原理问题描述:将ssh工程拆分为多个模块开发1.1、拆分原理创建一个maven project(pom),然后在创建四个子模...原创 2018-12-21 11:55:23 · 302 阅读 · 0 评论 -
浅谈Redis数据库的键值设计
转自:http://www.cnblogs.com/ggjucheng/p/3348268.html丰富的数据结构使得redis的设计非常的有趣。不像关系型数据库那样,DEV和DBA需要深度沟通,review每行sql语句,也不像memcached那样,不需要DBA的参与。redis的DBA需要熟悉数据结构,并能了解使用场景。下面举一些常见适合kv数据库的例子来谈谈键值的设计,并与关系型数...转载 2018-12-27 17:43:13 · 769 阅读 · 0 评论 -
流媒体服务器搭建之Live555
原文地址:https://www.cnblogs.com/stulzq/p/7118598.htmlLive555介绍Live555是一个实现了RTSP协议的开源流媒体框架,Live555包含RTSP服务器端的实现以及RTSP客户端的实现。Live555可以将若干种格式的视频文件或者音频文件转换成视频流或者音频流在网络中通过RTSP协议分发传播,这便是流媒体服务器最核心的功能。linu...转载 2019-02-22 10:27:58 · 1046 阅读 · 0 评论 -
流媒体服务器搭建之Red5
原文地址:http://www.zuidaima.com/blog/3826631891356672.htm1.RED5的简介 Red5是一个采用Java开发的开源Flash流媒体服务器。功能类似于我们熟悉的Adobe公司的Flash Media Server,但它是免费开源的,而Flash Media Server则不是。Red5具有流化FLV、MP3文件,实时录制客户端流为FLV...转载 2019-02-22 11:02:30 · 354 阅读 · 0 评论 -
javacv工具之实现视频截图
原文地址:https://blog.csdn.net/zhou_hai_feng/article/details/81453169一、项目需要的jarjar下载地址: https://pan.baidu.com/s/1VjhwDoMpz7Y3IIyz89Sqmw二、实现代码package com.caoyn;import java.awt.image.BufferedIm...转载 2019-02-22 11:42:55 · 1700 阅读 · 0 评论 -
第一次在Linux下部署PHP项目,采用LAMP网站架构(Linux+Apache+MySQL+PHP)
原文地址:https://www.cnblogs.com/huanglinxin/p/8643635.htmlLAMP指的Linux(操作系统)、Apache(HTTP服务器),MySQL(数据库软件)和PHP(有时也是指Perl或Python)的缩写,一般用来搭建web服务器。(1)Mysql 5.61.下载mysql-server文件[root@Centos ~]#...转载 2019-04-02 15:18:37 · 1011 阅读 · 0 评论 -
Nginx + Tomcat 配置负载均衡集群
一、Hello world1、前期环境准备 准备两个解压版tomcat,如何同时启动两个tomcat,请看我的另一篇文章《一台机器同时启动多个tomcat》。 nginx官网下载解压版nginx。 创建一个简单的web项目。为了直观的区分访问的哪个tomcat,在页面写上标记8081、8082。 分别部署到对应的tomcat下。如图: 2、配置nginx 进入nginx-1.10.1conf路...转载 2018-04-14 11:30:31 · 196 阅读 · 0 评论 -
神奇的Volatile关键字
volatile关键字的作用、原理在只有双重检查锁,没有volatile的懒加载单例模式中,由于指令重排序的问题,我确实不会拿到两个不同的单例了,但我会拿到“半个”单例。而发挥神奇作用的volatile,可以当之无愧的被称为Java并发编程中“出现频率最高的关键字”,常用于保持内存可见性和防止指令重排序。保持内存可见性内存可见性(Memory Visibility):所有线程都能...转载 2018-09-08 23:24:15 · 171 阅读 · 0 评论 -
Java中的锁
一、悲观锁(排它锁) 总是假设最坏的情况,每次取数据时都认为其他线程会修改,所以都会加锁(读锁、写锁、行锁等),当其他线程想要访问数据时,都需要阻塞挂起。可以依靠数据库实现,如行锁、读锁和写锁等,都是在操作之前加锁,在Java中,synchronized的思想也是悲观锁。select * from book_info where id =#{id} for update二、乐观锁...原创 2018-09-11 17:05:30 · 120 阅读 · 0 评论 -
超强、超详细Redis入门教程
转载自:http://www.h5min.cn/article/56448.htm这篇文章主要介绍了超强、超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下【本教程目录】1.redis是什么2.redis的作者何许人也3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端7.redis数据结构 – 简介8.redis数据...转载 2018-05-25 09:51:57 · 309 阅读 · 0 评论 -
进步之路问题总结
数据库的乐观锁和悲观锁的原理及其使用?传送门使用数据库的时候会考虑哪些因素,怎样去建表?传送门GC 传送门 传送门2数据库有几种锁? 共享(S)锁:多个事务可封锁一个共享页;任何事务都不能修改该页; 通常是该页被读取完毕,S锁立即被释放。 排它(X)锁:仅允许一个事务封锁此页;其他任何事务必须等到X锁被释放才能对该页进行访问;X锁一直到事务结束才能被释放。 更新(U)锁:用来预定要对此...原创 2018-05-14 16:55:14 · 252 阅读 · 0 评论 -
装饰模式和AOP
3.3 装饰模式和AOP 装饰模式和AOP在思想上有共同之处。可能有些朋友还不太了解AOP,下面先简单介绍一下AOP的基础知识。1:什么是AOP——面向方面编程 AOP是一种编程范式,提供从另一个角度来考虑程序结构以完善面向对象编程(OOP)。 在面向对象开发中,考虑系统的角度通常是纵向的,比如我们经常画出的如下的系统架构图,默认都是从上到下,上层依赖于...转载 2018-05-18 19:23:50 · 334 阅读 · 0 评论 -
新建虚拟机+LINUX虚拟机中部署java项目
创建虚拟机:新建虚拟机教程文档:https://blog.csdn.net/qq_34272964/article/details/79393613 安装图形界面软件包:https://blog.csdn.net/qq_39521554/article/details/79718886 安装图形界面后重启操作:https://www.linuxidc.com/linux/2018-04/1...原创 2018-05-10 17:04:03 · 2479 阅读 · 0 评论 -
wx-charts 微信小程序图表插件使用
微信小程序图表插件(wx-charts)基于canvas绘制,体积小巧,支持图表类型饼图、线图、柱状图 、区域图等图表图形绘制,目前wx-charts是微信小程序图表插件中比较强大好使的一个支持图标类型饼图 pie圆环图 ring线图 line柱状图 column区域图 area雷达图 radar下载地址https://github.com/xiaolin3303/wx-charts 解压后,把d...原创 2018-05-02 17:35:27 · 2264 阅读 · 0 评论 -
WebMagic使用体验
http://webmagic.io 官方文档原创 2018-04-26 17:53:27 · 299 阅读 · 0 评论 -
腾讯云WebIM和阿里百川即时通讯使用总结
主要使用流程:1.注册平台账号2.创建应用,获取相应的登录凭证 腾讯云:聊天账号所需登录凭证有sdkAppID(所属应用id),identifier(相当于当前登录账户ID),accountType(所属应用帐号类型),userSig(当前用户身份凭证,通过identifier+秘钥TLS生成)。默认会创建一个当前用户,可使用demo或API创建其他用户。 阿里百川:聊天账号所需登录凭...原创 2018-03-19 17:37:14 · 7670 阅读 · 6 评论 -
微博、QQ第三方登录接入流程总结
参考文档:https://www.cnblogs.com/liuxianan/p/java-qq-weibo-login.html微博接入流程:1)使用微博账号登入微博开放平台,可以到文档去稍微了解下接入流程。2)完成开发者的身份认证,需要填写一系列信息。3)创建应用,填写相关应用的信息,填写好后能获取到App Key和AppSecret。4)填写回调地址,就你微博登录成...原创 2018-03-21 18:06:00 · 557 阅读 · 0 评论 -
JAVA项目上线发布步骤流程
需要准备的东西: 你的java项目(已写好的整套项目文件包括数据库文件),项目的环境部署的工具。购买云服务器(ECS) 链接:https://ecs-buy.aliyun.com/,相当于挂在云端的电脑。云服务器厂商有很多,建议选择大公司的比较稳定,如:阿里云,京东云,华为云等。购买后,厂商会发给你服务器的一系列信息,用这些信息远程你的服务器,也可以用你的账号管理你的服务器开放端口之类的。原创 2017-12-25 17:33:20 · 18416 阅读 · 0 评论 -
MySQL比like语句更高效的写法locate position instr find_in_set
你是否一直在寻找比MySQL的LIKE语句更高效的方法的,下面我就为你介绍几种。LIKE语句SELECT `column` FROM `table` where `condition` like `%keyword%'事实上,可以使用 locate(position) 和 instr 这两个函数来代替一、LOCATE语句SELECT `column` from转载 2017-12-01 11:39:33 · 529 阅读 · 0 评论 -
JavaScript 操作 Cookie
从事web开发也有些日子了,cookie 是个啥差不多能说明白,可是实际自己一上手操作就是得去搜索(你们懂的),结果被鄙视了...所以就写一篇博文做为自己的学习笔记,嘿嘿,博客的好处在此体现出来了。 什么是 Cookie “cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和转载 2017-11-07 13:52:21 · 251 阅读 · 0 评论