自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dreams of JAVAD

小菜鸟的架构师之路

  • 博客(90)
  • 资源 (1)
  • 收藏
  • 关注

原创 Spring-cache + redis 自定义注解

需求: API 端需要调用我这儿的一个接口,接口的数据是Mysql 全表的数据(涉及很多张表的数据拼接), 于是引入了Spring -cache 和 redis 缓存,Service 层的代码如下:@Override @Cacheable(value = "cache:apiPolicy") public List<PolicyMain>

2018-09-10 13:32:38 943

原创 Springboot2.0 + redis 实现 cache

Spring针对不同的缓存技术,需要实现不同的cacheManager, Spring定义了如下的cacheManger实现。在这里我用的是rediscache, 主要存储机场表和航班表。 在其中看了很多博客, 最好贴一份可用的redis 配置1.Java代码配置RedisCache@Configuration@EnableCachingpublic class Red...

2018-09-05 14:15:51 1095

原创 Springboot 中Swagger2的配置和使用

接口测试Swagger2文档方便Restful接口开发,并且配置十分简单1.引入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version&gt...

2018-07-17 19:52:03 440

原创 Springboot 下 Druid 的使用

搭了一个Springboot + jpa + druid的架子,记录一下druid 的配置。 Mybatis 下类似。1.引入依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <versi...

2018-07-17 19:46:38 406

原创 Vue.js + axios 实现excel下载

在以前实现的excel中,都是用<a href="xxx">DOWNLOAD</a>来实现的。但是由于项目中采用了token验证,上述的做法就不再可行了。在网上找了很多资料,最后给出一种可行的方案。1.后端返回相应的请求头Content-Type: application/octet-stream(下载用的流)2.axios设置expor...

2018-07-02 18:20:07 8664 9

转载 Java8 之 OPTIONAL 妙用

在掘金上看到了一篇关于java8新特性OPTIONAL的使用, 想来平时编写代码过程中判null的情况还是很多,特意记录下。User 结构public class User { private String name; public String getName() { return name; }}使用optional 获取 nameS...

2018-06-16 21:10:52 647

原创 HTTPS = HTTP + 加密 + 证书 + 完整性保护

HTTPS并非是一种新协议,是身披SSL的HTTP协议,只是HTTP通信接口部分用SSL和TLS协议代替而已。 HTTP 的缺点: 1. 通信使用明文,内容可能会被窃听——-加密 2. 不验证通信方的身份,可能遭遇伪装—–证书 3. 无法验证报文的完整性 ————–完整性保护基于HTTP的局限性,出现了HTTPS简单地来说,HTTPS = HTTP + 加密 + 证书 +完整...

2018-04-12 11:00:36 1987

原创 浏览器下载csv 文件工具类

/** * @author : dai * @description: 浏览器下载CSV文件 * @date: 下午4:42 18/4/3 */func WriteCsv2File(headers []string,result [][]string, filename string,ctx *web.Context) { csvBuf := new(bytes.Buffer)...

2018-04-03 17:20:16 700

原创 go 实现从服务器导出excel 到浏览器

需要引入 “github.com/tealeg/xlsx” 这个第三方库关键代码:file := xlsx.NewFile()sheet,_ :=file.AddSheet("sheet")//设置表格头row := sheet.AddRow()var headers = []string {"row1","row2"....}for _,header := range h...

2018-03-30 17:22:17 6678 3

原创 go web 之socket 和 websocket 学习

socket 介绍socket 是客户端和服务器连接的桥梁,socket 用于web浏览器和服务器的通信,socket是一种文件描述符。 socket 分为两种 流式socket 和 数据报式socket 1. 流式socket是一种面向连接的Socket,针对于面向连接的TCP服务应用 2. 数据报式socket是一种无连接的socket,对应于无连接的UDP服务应用socke...

2018-03-27 20:18:01 1778

原创 使用go的http包建立一个简单的web 服务器

go 直接监听tcp 端口,做了nginx 的事,用go实现一个web 服务器非常简单,只需要调用http包的两个函数就可以package mainimport ( "net/http" "fmt" "strings" "log")func sayhelloName(w http.ResponseWriter,r *http.Request){ ...

2018-03-26 19:38:11 619

转载 Nginx 简介

Nginx简介Nginx是一款高性能的HTTP服务器和反向代理服务器,同时支持IMAP / POP3 / SMTP代理服务SMTP:(简单邮件传输协议)即简单邮件传输协议。POP3,全名为“邮局协议 - 版本3”,即“邮局协议版本3”IMAP(Internet Mail Access Protocol,因特网邮件访问协议)以前称作交互邮件访问协议Nginx的工作原理由内核和...

2018-03-21 09:50:57 659

转载 Promise 的基础用法

Promise 的含义Promise 是异步编程的一种解决方案,比传统的解决方案–回调函数和事件--更合理和更强大。它由社区最早提出和实现,ES6将其写进了语言标准,统一了语法,原生提供了Promise所谓Promise ,简单说就是一个容器,里面保存着某个未来才回结束的事件(通常是一个异步操作)的结果。从语法上说,Promise是一个对象,从它可以获取异步操作的消息。 Promise ...

2018-03-07 19:54:07 73950 3

原创 Vue 之状态管理 vuex 学习

Vuex 介绍Vuex 是一个专为 Vue.js 应用程序开发的 状态管理模式。 它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。举一个很常见的例子:子组件调用父组件一般通过event 来完成,比如 this.$emit()…一旦业务复杂,组件越来越多,调用关系越来越复杂的时候,我们可以用Vuex 来集中管理这些组件的变化一.状态管理模式...

2018-03-07 16:24:52 1462

原创 从java到前端学习的一些总结

我所学习的java方向 也称为Java Web, Java 主要有2个方向,android 和 JavaEE, 学习javaEE是因为JavaEE的知识体系后期对应的岗位是架构师,我当时的考虑是以后往服务器方向发展,Javaweb 中的学习知识太多太多,框架上,从简单的servlet 到 一堆配置文件 ssh 再到ssm 最后出现了零配置文件的springboot(其实是代码配置),我一路...

2018-03-04 13:24:58 903

原创 webpack的学习

介绍:webpack 是一个JavaScript 应用程序的静态模块打包器, 当webpack处理应用程序时,它会递归地构建一个依赖关系图(包含应用程序需要的每个模块),然后将所有这些模块打包成一个或者多个bundle.入口[entry]:构建其内部依赖图的开始,指示webpack应该使用哪个模块。 webpack 会找出所有和入口起点依赖的(直接和间接)模块和库。 每个依赖项随...

2018-03-01 16:57:12 326

原创 jaxb实现xml 和 json 之间的转换

jaxb2 实体类转xml:public static String toXML(Object obj, String encode, boolean format, boolean fragment) { try { JAXBContext jaxbContext = JAXBContext.newInstance(obj.getClass());

2018-02-06 14:57:06 970

原创 Jquery 重置input 和 select

Jquery 重置 input 和 select/** * 通用清除方法(清除input 和 select 的内容) * jq 1.6以上attr() 改成 prop */ var resetAll = function(){ $("input[type='text']").prop("value",""); $('se

2018-01-15 10:48:40 1950

原创 git提交代码到代码仓库

git 提交代码到代码仓库1.创建一个空的本地仓库 命令:git init,会在项目中生成一个.git文件 2.将项目的所有文件添加到缓存中 命令:git add . 3.查看文件状态 命令:git status 4.将本地代码commit到git 仓库 命令:git commit -m(描述) 5.将本地的库链接到远程库 命令: git remote add origin

2018-01-10 17:49:31 1174

原创 @Value 读取yml 文件

首先,@Value需要参数,这里参数可以是两种形式: - @Value(“#{configProperties[‘t1.msgname’]}”) - @Value(“${t1.msgname}”);我项目中使用@Value注解读取yml文件中的配置使用方式: @Value("${tag}") private String valuevalue 值为空的原因: -

2017-12-20 15:21:33 10288 1

原创 SpringBoot Rest-api开发

最近要开发Restful风格的WebService,但是不是很了解Rest-Api的开发流程,于是spring官网看了搭建rest-api的例子,从pom.xml开始,简单记录下一个Rest-api的开发。一.pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"

2017-12-20 15:20:09 493

原创 Mac 下 command not found: mvn

在Mac下一般配置了Maven的环境变了一般都不会提示,但是如果使用zsh的扩展之后,系统默认的环境变量配置文件会发生变化,必须在~/.zshrc文件下再次添加环境变量。打开~/.zshrc文件,添加如下环境变量即可:export MAVEN_HOME=/usr/local/maven3export PATH=${PATH}:${MAVEN_HOME}/bin

2017-11-24 21:48:50 10804 1

原创 Mac 下显示隐藏文件

显示:defaults write com.apple.finder AppleShowAllFiles TRUE ; killall Finder 隐藏:defaults write com.apple.finder AppleShowAllFiles FALSE ; killall Finder

2017-11-24 11:26:31 259

原创 spark程序的运行过程

1.先通过idea获得程序打包后的jar2.进入spark的安装目录,启动master: ./sbin/start-master.sh打开浏览器,输入http://localhost:8080/ 启动worker: ./bin/spark-class org.apache.spark.deploy.worker.Worker spark://1598007611deMacBook-Air.lo

2017-10-23 20:41:24 544

原创 java实现 阿拉伯数字转换为汉字数字

private String toChinese(String string) { String[] s1 = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" }; String[] s2 = { "十",

2017-09-29 19:32:46 10419 5

转载 SpringBean的作用域

什么是Bean: bean:在spring中,组成应用程序的主体以及springIoc管理的对象被称为bean,简单来说,bean是spring容器初始化,装配以及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了。 而bean定义以及bean相互间的依赖关系将通过配置元数据来描述。 Bean的作用域: 创建一个bean定义,其实质是用该bean定义对应的类来创建真正实例的“

2017-09-26 10:17:02 491

原创 javaEE项目中WEB-INF目录

/WEB-INF/web.xml Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。 /WEB-INF/classes/ 包含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中。 /WEB-INF/lib/ 存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar

2017-09-25 22:01:30 798

原创 String 和Integer中 == 和 equals的使用

equals的作用:用于判断两个变量是否是对同一个对象的引用,即堆中的内容是否相同,返回值为布尔类型“==”操作符的作用: 1、用于基本数据类型的比较 2、判断引用是否指向堆内存的同一块地址。 public static void main(String[] args){ String a = "Hello"; String b = "Hello";

2017-09-25 20:29:39 492

原创 文本相似度算法----动态规划求子串

public class Computeclass { /* * 计算相似度 * */ public static double SimilarDegree(String strA, String strB){ String newStrA = removeSign(strA); String newS

2017-09-18 12:25:23 782

原创 tfidf算法+余弦相似度算法计算文本相似度

TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF意思是词频(Term Frequency),IDF意思是逆向文件频率(Inverse Document Frequency)。/** * 直接匹配2个文本 * * @author rock * */public class GetText {

2017-09-13 16:43:56 6753 4

原创 maven 打包.bat文件和安装jar到仓库

直接上pom.xml<build> <resources> <resource> <directory>resources</directory> <includes> <include>main.properties</include> </inc

2017-09-13 16:33:09 869

原创 使用Promise异步发送多个fetch

ES6 原生提供了 Promise 对象。所谓 Promise,就是一个对象,用来传递异步操作的消息。它代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个事件提供统一的 API,可供进一步处理。Promise 对象有以下两个特点。(1)对象的状态不受外界影响。Promise 对象代表一个异步操作,有三种状态:Pending(进行中)、Resolved(已完成,又称 Fulfilled)

2017-08-24 17:27:34 1809

原创 TCP/IP 协议:三次握手与四次挥手

1.序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 2.确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。 3.标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN等,具体含义如下: (A)URG:紧急指针(urgent pointer)有效。

2017-08-23 23:00:37 380

原创 javascript实现把指定元素移动到第一位

//移动数组第index位置到第一个元素 static itemtoArraytop(Arr,index){ var temp = Arr[index]; if(index == 0){ return Arr; } for (var i = 0; i < Arr.length; i++) { if (Arr[i] === Arr[index

2017-08-22 17:58:37 6198

原创 MySQL 性能优化

1.查询缓存优化查询 大多数的mysql的服务器都开启了查询缓存,这是提高性能最有效的方法之一。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了//查询缓存不开启 $r = mysql_query( "SELECT username FROM user WHERE signup_date >= CURDATE()");

2017-08-15 21:37:30 383

原创 node.js事件循环

node是单进程单线程的应用程序,但是用过事件和回调支持并发,所以性能非常高。 Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发。 Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。 Node.js 单线程类似进入一个while(true)的事件循环,直到没有事件观察者退出,每个异步事件都生成一个事件观察者,如果有事件发生就调

2017-08-15 16:16:04 400

原创 node.js 初体验

用node编写一个web服务器const http = require('http');const hostname = '127.0.0.1';const port = 3000;const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'te

2017-08-15 11:24:57 379

原创 遍历Map的方式

方法一:通过Map.keySet遍历key和valueMap<Integer,String> map = new HashMap<Integer,String>();Set<Integer> set = map.keySet();for(Integer key : set){ String value= map.get(item); System.out.println(key

2017-08-14 23:42:30 324

原创 循环删除List中的元素

1。通过for循环删除List中的元素for(int i = 0;i<list.size();i++){ if(list.get(i).equals(" "){ list.remove(i); }}这种方法存在的问题是,删除一个元素后,数组的大小发生了变化,而索引也在发生变化,所以会导致你在遍历的时候漏掉某些元素。比如当你删除第1个元素后,继续根据索引访问第2个元素

2017-08-14 23:24:55 512

原创 java中的乐观锁与悲观锁

一.乐观锁与悲观锁:悲观锁:总是假设最坏的情况=>每次拿数据的时候都会上锁,不同线程同时执行时,只能有一个线程执行,其他的线程在入口处等待,直到锁被释放.。 应用:传统的数据库,java 同步synchronized关键字。乐观锁: 每次拿数据的时候都不会上锁。不同线程同时执行时,可以同时进入执行,在最后更新数据的时候要检查这些数据是否被其他线程修改了(version版本和执行初是否相同),没有修

2017-08-10 22:41:16 927

Jfinal Demo增删改查

学习jfinal入门项目,简单易懂,设计很多jfinal基础知识。

2016-07-12

空空如也

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

TA关注的人

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