自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序猿开发日志【学习永无止境】

一个人学习很痛苦!?没人帮助!?想到问题怎么办!?欢迎加QQ群进行交流:466355109...

原创 JAVA Spring Shiro mybaits 后台管理 二次开发框架 OA ERP CMS 微信 IM即时通讯(websocket)

系统架构图   目标:      1:提升开发效率,规范开发标准      2:提高质量,降低复杂度      3:打造一个开发简单.效率快..性能好.. 易上手的框架 兼容性:       1:设备:兼容IPAD,手机,电脑,笔记本等等       2:界面:兼容IE8+,f...

2019-01-14 10:23:47 6233 5

原创 Spring cloud简介及Netflix组件介绍

Spring cloud简介 Spring Cloud是基于Spring Boot的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。最重要的是,跟spring boot框架一起使用的话,会让...

2020-05-18 17:31:48 80 0

原创 【Spring整合Elasticsearch7.x】(第二章)管理Elasticsearch工具kibana

上一章节【Spring整合Elasticsearch7.x】(第一章)部署和启动Elasticsearch(windows、Linux、docker)】 这章我们说一下怎么像mysql这些数据库我们Navicat 工具查看数据分析的 这里我们使用的是官方配套的kibana 1.下载对应版本的...

2020-05-18 17:08:02 57 0

原创 【Spring整合Elasticsearch7.x】(第一章)部署和启动Elasticsearch(windows、Linux、docker)

1.首先Elastic 需要 Java 11 环境 如果是版本7以上,可以忽略这个问题,因为现在已经内置进去了,不需要再配置 2.下载7.x版本的Elasticsearch 【官网下载】 如果是windows的下载windows的 如果是Linux的下载Linux的 如果是docker...

2020-05-18 16:32:47 98 0

原创 【SpringBoot】自定义启动Banner(附:使用生成艺术字体方法)

我们知道Spring Boot项目启动时会在控制台打印出一个banner,下面演示如何定制这个banner。 (1)首先在resources目录下创建一个banner.txt文件。 (2)在这个文件中写入的文本将在项目启动时打印出来。比如我写入如下内容: -----------------...

2020-03-27 15:09:35 241 0

原创 【MyBatis】实现关联表查询

一、一对一关联 1.1、提出需求   根据班级id查询班级信息(带老师的信息) 1.2、创建表和数据   创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关系。 CREATE TABLE teacher( t_id INT P...

2020-03-27 14:54:10 95 0

原创 【mysql】实现主从复制、主主复制、双主多从---实操配置方案

一、如何配置MYSQL的主从复制? 1. 两台数据库服务器,IP分别为 192.168.216.128 和 192.168.216.129,在服务器上装MYSQL(我的配置版本为5.5.56) 2. 打开 192.168.216.128 服务器上的MYSQL的配置文件 /etc/my.cnf ...

2019-11-15 11:07:20 111 0

原创 【Java】多线程其实可以设置优先级

Java优先级 Java提供一个线程调度器来监视和控制Runnable状态的线程。线程的调度策略采用抢占式,优先级高的线程比优先级低的线程优先执行。在优先级相同的情况下,按照“先到先服务”的原则。 每个Java程序都有一个默认的主线程,就是通过JVM启动的第一个线程。对于应用程序,主线程执行的...

2019-11-08 17:46:14 237 0

原创 【Java】将文件转为64位字符串保存到数据库(代码直接工具类)

一般情况下,数据库只需要保存图片的路径就可以了,图片文件放在项目文件夹中,显示时只需加载图片路径即可。但是时下信息共享的渠道太多了 ,当IOS,android,微信公众号都操作同一个数据库的时候,上述方案是无法加载到图片的。因此我想到一个办法就是上传图片后,将路径替换为base64编码,存入数据库...

2019-11-06 17:56:07 190 0

原创 关于多线程变量的使用除了synchronized其实还有volatile更好有多少人用?

问题 (1)volatile是如何保证可见性的? (2)volatile是如何禁止重排序的? (3)volatile的实现原理? (4)volatile的缺陷? 简介 volatile可以说是Java虚拟机提供的最轻量级的同步机制了,但是它并不容易被正确地理解,以至于很多人不习惯使用它...

2019-11-05 14:09:10 74 0

原创 【Java代码优化】Zip压缩大文件从30秒到近乎1秒的优化过程(提供源码)

在公司有一个需求需要将前端传过来的10张照片,后端接收过来进行处理以后压缩成一个压缩包通过网络流传输出去。之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用了,改完以后也能使用,但是随着前端所传图片的大小越来越大的时候,耗费的时间也在急剧增加, 最后测了一下压缩20M的文件...

2019-10-29 14:33:21 764 0

原创 使用IText5+Freemarker生成PDF(模板可以使用CCS3分页效果)

iText介绍   iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。iText5是目前比较主流使用的因为免费,iText7是更好但收费的,所以这...

2019-10-17 15:12:26 457 0

原创 Springboot下的Lucene(详细版)

1.搜索大数据 1.1 为什么要搜索 在当前百万级数据的面前,如果全部放在同一个表或者某几个表中,经常搜索数据库特别模糊搜索会爆吗? 答案是没必,但结果可以预测是很慢很慢! 类似:select * from 表名 where 字段名 like ‘%关键字%’ 例如:select * fr...

2019-09-19 15:33:06 611 0

原创 【Java】发送邮件和接收邮件配置超时时间

首先了解一下发邮件如果超时会怎样,一直阻塞,如果你是用多线程组的话,那么不好意思那你会一直阻塞,解决办法有吗?有。 首先先知道一下javamail提供的关于超时的3个参数。 smtp mail.smtp.connectiontimeout:连接时间限制,单位毫秒。是关于与邮件服务器建立连接的...

2019-09-06 10:34:21 710 1

原创 linux安装redis步骤详解(命令版)

安装: 1.获取redis资源    wget http://download.redis.io/releases/redis-4.0.8.tar.gz 2.解压    tar xzvf redis-4.0.8.tar.gz 3.安装   cd redis-4.0.8 ma...

2019-08-30 10:55:34 72 0

原创 bootsrap表单构造器【代码】

如果用户要搞一份表单然而用户不会手写代码,那这个拖拉生成代码不错 index页面 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <tit...

2019-08-30 10:02:26 114 0

原创 【log4j】关于Logger日志级别说明

关于影响打印日志的级别 static Level WARN WARN level表明会出现潜在错误的情形。 static Level ERROR ERROR level指出虽然发生错误事件,但仍然不影响系统的继续运行。 static Level FATAL FATAL level指出每...

2019-08-27 14:10:59 456 0

原创 使用freemarker生成模板(模板存在数据库text类型字段)

以前使用模板都是加载模板文件(*.ftl文件),这次处理的文件是保存在数据库的字符串,在新版freemarker中增加了StringTemplateLoader类,没错这个就是字符串转成模板,以前我们还需要自己继承这个TemplateLoader类重写(当然需要再改造的可以当我没说) 好,废话不...

2019-08-27 14:04:49 391 1

原创 纯Css比较好看的中英文字体样式(持续整理版)

刚好公司要用到,需要纯css的,不用任何插件就可以显示很不错的字体 样式一: <style type="text/css"> .tb-js-yf-style{font-family: "Arial","Microsoft YaHe...

2019-08-15 17:03:38 4573 1

原创 【js】字符串超长用省略号处理(中英文一起处理)

首先先说一个方法,就是有中文的时候,计算真实的长度 function getRealLen( str ) { return str.replace(/[^\x00-\xff]/g, 'aa').length; //这个把所有双字节的都给匹配进去了 } 原理是利用...

2019-08-09 18:24:58 560 0

原创 【html5】纯css实现圆圈中显示居中文字效果

为了实现qq邮箱app的邮件显示效果,就是哪个邮件左边的图案,当没有找到对应logo时,以主题头一个字作为logo 代码如下: <html> <head> <title>圆圈</title> <meta http-equiv="...

2019-08-09 14:26:48 2288 0

原创 eclipse使用代码质量管理审查工具整理sonarlint(第一篇)

Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量 通过插件形式,可以支持包括java、C#、C/C++、PL/SQL、Cobol、JavaScrip、Groovy等等二十几种编程语言的代码质量管理与检测Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质...

2019-07-31 10:58:52 492 0

原创 SpringMV+Ueditor整合方案一(不需要原生提供的Jsp和Jar和配置json放在內部class)

本文旨在整合百度前端富文本Ueditor与SpringMVC,使用Spring Controller作为Ueditor的后端,提供上传图片等后台相关的功能,即使用SpringMVC替换官方提供的JSP后台方式。 创建web工程,本文以maven进行创建和管理,最终目录结构如下: 创建Ued...

2019-07-30 10:38:21 93 0

原创 【Java】判断IP是否内网(使用正则表达式)

判断IP是否内网,看了网上很多是用截断字符床,转数字判断,这些都是坑,慢慢慢,一切从速度优化看,用正则...... 不多说,代码如下 import java.util.regex.Matcher; import java.util.regex.Pattern; public static...

2019-07-08 15:35:56 821 0

原创 【Java】通过ip地址获取详细地域信息(不通过API使用本地库)

首先说一下之前使用了的是百度api和阿里免费的api查询,但是大老板说万一人家接口哪一天有限制访问怎么办,或者网络通讯哪一天不好怎么办,或者人家其实有收集我们的数据怎么办?那这里就必须有自己的库了,然后找了很久很久,大老板发现一个MaxMind GeoIP2,免费的还有维护今天是2019年6月(最...

2019-07-08 15:00:47 878 1

原创 html-邮件模板(适合电商推送邮件)

代码如下 <!DOCTYPE html> <html> <head> <title>Push Email</title> </script> <meta content="width=device-widt...

2019-07-05 16:14:27 1422 2

原创 Twitter分布式自增ID算法snowflake原理解析(Long类型)

Twitter分布式自增ID算法snowflake,生成的是Long类型的id,一个Long类型占8个字节,每个字节占8比特,也就是说一个Long类型占64个比特(0和1)。 那么一个Long类型的64个比特, twitter是这样分配的:正数位(占1比特)+时间戳(占41比特)+机械id(占...

2019-07-05 15:31:26 1527 0

原创 区块链API怎么利用起来!

区块链允许数据提供者和消费者直接在单个开放系统中交易信息,而不是订阅世界各地的数十个集中服务,并编写他们的软件来与每个API进行通信。阅读此区块链API教程,了解如何根据你的特定需求使用它。 API(应用程序编程接口)是单个计算机程序可以用来与另一个程序交互的方法(类,过程,函数,结构或常量)的...

2019-07-03 17:42:41 326 0

原创 纯CSS3渐变色板配色代码

一个比较好看的颜色搭配给大家分享,效果如图 为了方便我写了一个页面,直接给大家页面代码,直接浏览器打开需要哪个copy使用 index.html <!DOCTYPE html> <html lang="en" > <head>...

2019-06-27 10:38:27 600 1

原创 【Java】获取两个List<String>中不同的数据(效率非常不错)

项目背景 刚好项目要快速对比两张表的不同数据,但是提供的是id的列表(list),另外在数据库中,所以这里想出了一个办法,先从数据库中找出有的数据in(sql)出来先,然后用代码匹对,因为这里要查出提供的id列表哪些是多余的数据,所以代码返回多余id的list 结果: 1、list1中有97...

2019-06-26 11:47:56 5403 10

原创 JS实现在线汉字笔画练习特效(平板移动端可用)

代码原因公司之前接了个项目,帮助6-8岁孩童练习手写汉字,这次有空把代码整理分析一下 实现了手写,ai自动写,高亮其中笔画等等,需要可以再修改一下源码哈 首先index页面代码如下: <!DOCTYPE html> <html lang="en-us"...

2019-06-25 14:35:56 1114 0

原创 【Java】Spring内置cron表达式是否有效和给出下一次运行日期时间

Spring提供了CronSequenceGenerator类以便计算cron表达式的具体时间点的next方法(Spring3.2版本)和cron是否合法的isValidExpression方法(Spring4.3版本)。 代码如下: import java.text.SimpleDate...

2019-06-11 13:58:07 1152 1

原创 【Java】巧用AES128密钥加盐加解密密码(应用保存接口密码/邮箱密码/用户密码 etc)

有时候系统数据库需要保存特定的密码,例如邮箱密码发送邮件时要用到,有些会保存到配置文件,但是如果密码一个月改一次,每次重启程序太麻烦了,那保存到数据库,用明文的话(就算第三方已经用加密的密码key)那不太安全吧?如果这样我们要使用加密保存,常见的保存是base64或者md5 1.base64 ...

2019-06-10 16:57:07 1074 1

原创 【Java】实现Base64加解密方法汇总以及性能比较

概述 BASE64 编码是一种常用的字符编码,在很多地方都会用到。但base64不是安全领域下的加密解密算法。能起到安全作用的效果很差,而且很容易破解,他核心作用应该是传输数据的正确性,有些网关或系统只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方...

2019-06-10 16:51:28 296 0

原创 使用@Autowired真的好吗?

在编写代码的时候,使用@Autowired注解是,发现IDE报的一个警告,如下: Spring Team recommends "Always use constructor based dependency injection in your beans. Always us...

2019-06-06 17:04:54 787 0

原创 Java日志正确使用姿势

前言 关于日志,在大家的印象中都是比较简单的,只须引入了相关依赖包,剩下的事情就是在项目中“尽情”的打印我们需要的信息了。但是往往越简单的东西越容易让我们忽视,从而导致一些不该有的bug发生,作为一名严谨的程序员,怎么能让这种事情发生呢?所以下面我们就来了解一下关于日志的那些正确使用姿势。 正...

2019-05-29 10:25:11 295 0

原创 经典策略模式-如何重构聚合支付平台,对接【支付宝,微信,银联支付】

为什么要使用设计模式重构代码 使用设计模式可以重构整体架构代码、提高代码复用性、扩展性、减少代码冗余问题。 Java高级工程师装逼的技能! 什么是策略模式 策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理,最终可以实现解决多重if判断问题。 1.环...

2019-05-23 10:50:44 508 0

原创 【JS】声音提示兼容所有浏览器的方法

直接代码如下: <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"> ...

2019-05-07 10:54:38 386 1

原创 【JS】定时器设置、取消

1、首先定义自己的方法 function test() { alert("测试"); } 2、在定时器中使用 setInterval("test()",1000);//定时器,一定要加双引号,循环执行1秒一次 setTimeout(&qu...

2019-05-07 10:51:19 522 1

原创 【Java实战干货预警】谈谈Web端实现即时消息推送五种方式

引言: 在互联网高速发展的时代里,web应用大有取代桌面应用的趋势,不必再去繁琐的安装各种软件,只需一款主流浏览器即可完成大部分常规操作,这些原因都在吸引着软件厂商和消费者。而随着各大厂商浏览器版本的迭代,前端技术的不断革新,消息推送用到的场景也越来越多了。 收发邮件提醒,在线IM聊天,自动化办公...

2019-05-02 14:01:41 2342 1

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