- 博客(56)
- 收藏
- 关注
原创 时间划过的伤痕叫成长
我要用代码敲出整个世界!也许刚看这句话的时候,很多人都嗤之以鼻,太自大太高傲了,但这是我梦想也是我目标!我出生在一个小县城的普通家庭里,经济状况也只能解决温饱,上高中的时候我就没想着要读大学,我很贪玩,几乎都是和一群"狐朋狗友"去网吧打游戏,对于计算机来说我只关心它能玩什么游戏,别的就一无所知了.那个时候的我很迷茫,我不知道未来是怎样的,父母为了我人生也是多了很多白发,我看在眼里痛在心
2017-06-21 13:23:36 4340 22
转载 mac系统如何生成SSH key与GitHub通信
一、检查 SSH key 是否存在在终端输入:ls -al ~/.ssh如果没有,终端显示如下:No such file or directory如果已经存在,则会显示 id_rsa 和 id_rsa.pub二、生成新的 SSH key在终端输入:ssh-keygen -t rsa -C "your_email@example.com"其中 your...
2018-07-18 10:41:49 387
转载 解决mac安装homebrew后报错-bash: brew: command not found
参照官网上很简单的一句安装命令,/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"安装完毕后,发现使用brew命令,却总是提示:-bash: brew: command not found于是怀疑安装过程出现问题,打算重装,重装却报:...
2018-07-18 09:03:51 17802 3
转载 BaseService --- service层的抽取
service层的抽取和dao层的抽取差不多相同,主要不同点是dao实例化的问题,需要在调用时传入,并在BaseServiceImpl接收。 详细的过程说明请参考dao层的抽取。 dao层的抽取:http://blog.csdn.net/kyle0349/article/details/519145041、抽取前UserService接口package cn.tax.nsfw.user.servi...
2018-07-16 13:46:38 12628 3
转载 BaseDao --- dao层的抽取
通常来说一个项目中,我们会使用到多个Dao,例如一个学生管理系统,可能就包含AdminDao,StudentDao,CourseDao等模块,每个Dao都有相同的增删改查代码,每个Dao去写也是可以的,不过代码量就会偏多。实际上可以通过泛型,来抽取出一个BaseDao,这个BaseDao包含了各个Dao常用的增删改查代码,创建新的Dao时,继承BaseDao,就可以少写很多重复代码。 下面我们先写...
2018-07-16 13:46:16 1509
转载 用FastDFS一步步搭建文件管理系统
目录 一、FastDFS介绍1、简介2、FastDFS的存储策略3、FastDFS的上传过程4、FastDFS的文件同步5、FastDFS的文件下载二、安装FastDFS环境0、前言1、下载安装 libfastcommon2、下载安装FastDFS3、配置FastDFS跟踪器(Tracker)4、配置 FastDFS 存储 (Storage)5、文件上传测试三、安装Nginx1、安装nginx所需...
2018-05-30 09:06:35 375
转载 泛型--- 协变与逆变
定义逆变与协变用来描述类型转换(type transformation)后的继承关系,其定义:如果A、B表示类型,f(⋅)表示类型转换,≤表示继承关系(比如,A≤B表示A是由B派生出来的子类)f(⋅)是逆变(contravariant)的,当A≤B时有f(B)≤f(A)成立;f(⋅)是协变(covariant)的,当A≤B时有f(A)≤f(B)成立;f(⋅)是不变(invariant)的,当A≤B...
2018-05-29 14:52:58 1499
转载 简述TCP的三次握手过程
TCP握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接.第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; SYN:同步序列编号(Synchronize Sequence Numbers)第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),...
2018-05-25 11:09:05 16525 2
转载 Servlet运行原理
一:servlet定义Servlet是一个Java应用程序,运行在服务器端,用来处理客户端请求并作出响应的程序。Servlet多线程体系结构是建立在Java多线程机制之上的,它的生命周期是由Web容器负责的。 当客户端第一次请求某个Servlet时,Servlet容器将会根据web.xml配置文件实例化这个Servlet类,此时它贮存于内存中。。当有新的客户端请求该Servlet时,一般...
2018-05-25 10:54:27 635 2
转载 浅析VO、DTO、DO、PO的概念、区别和用处
概念: VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。 DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。 DO(...
2018-05-24 17:52:42 284
原创 自定义注解
什么是注解? 对于很多初次接触的开发者来说应该都有这个疑问?Annontation是Java5开始引入的新特征,中文名称叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。为程序的元素(类、方法、成员变量)加上更直观更明了的说明,这些说明信息是与程序的业务逻辑无关,并且供指定的工具或框架使用。Annontati...
2018-05-24 17:15:36 237
转载 10分钟搞定Java带token验证的注册登录
这是spring boot框架下的登录注册功能,并且带有token验证,可以用于生产环境的实例原理太简单,直接上代码,让你知道什么叫拿来主义!!1,java中项目介绍 2,resources 中的内容3,用法:创建好所有的需要的类,,数据库中创建好需要的数据库,代码复制粘贴,启动,就可以用了实际代码:pom.xml[java] view plain copy<?xml version="1....
2018-05-21 11:00:28 8602 3
原创 Spring 普通类与工具类调用service层
在Spring MVC中,Controller中使用service只需使用注解@Resource/@Autowired就行,但是一般类(即不使用@Controller注解的类)要用到service时,Spring中的Service不是你想new就能new的,因为通过new实例化的对象脱离了Spring容器的管理,获取不到注解的属性值,所以会是null,就算调用service的类中有@Compone...
2018-05-16 16:09:54 4482 2
原创 hashSet与treeSet的去重原理
地球人都知道set集合是不含重复元素的,那么其去重原理是什么,我们又可以做哪些用途呢?1,treeSet去重原理:compareTo可以实现排序及去重:如果compareTo返回0,说明是重复的,返回的是自己的某个属性和另一个对象的某个属性的差值,如果是负数,则往前面排,如果是正数,往后面排;应用:类实现compareable接口,覆写其compareto方法,根据自己的需要改变其排序及去重规则,...
2018-05-09 08:32:43 1914
转载 你真的懂HashMap和HashTable的区别吗?
HashMap和HashTable,这二者的区别经常被别人问起,今天在此总结一下。(一)继承的历史不同public class Hashtable extends Dictionary implements Mappublic class HashMap extends AbstractMap implements Map12 Hashtable是继承自Dictionary类的,而Ha...
2018-05-09 08:32:08 550
转载 浅谈——页面静态化
现在互联网发展越来越迅速,对网站的性能要求越来越高,也就是如何应对高并发量。像12306需要应付上亿人同时来抢票,淘宝双十一……所以,如何提高网站的性能,是做网站都需要考虑的。 首先网站性能优化的方面有很多:1,使用缓存,最传统的一级二级缓存;2,将服务和数据库分开,使用不同的服务器,分工更加明确,效率更加高;3,分布式,提供多台服务器,利用反向代理服务器nginx进行反向代...
2018-05-09 08:31:28 238
转载 Spring 中的 Environment
Environment是Spring核心框架中定义的一个接口,用来表示整个应用运行时的环境。因为Spring中充斥了各种抽象的接口,所以简单地说Environment是一个接口可能并不会让你觉得Environment是做什么的,有多么重要。所以为了更形象地理解Environment,你也可以把Spring应用的运行时简单地想象成这样两个部分:一个是Spring应用本身,一个是Spring应用所处的...
2018-05-04 11:19:02 1286 1
转载 Java Socket编程
1.简述:Java Socket编程时对于TCP/IP 协议层的通信进行封装,简化了相关的一些操作。//待续2.Socket 通信时序图 3.Socket 数据流的交互 4.单客户端和服务器通信的简单例子:服务器端代码:[java] view plain copypackage com.lou.socket; import java.io.BufferedReader; import ...
2018-05-02 10:49:01 176
翻译 反射是框架设计的灵魂
(使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码))一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Clas...
2018-04-28 16:36:33 260
转载 SpringBoot使用Redis缓存
(1)pom.xml引入jar包,如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> ...
2018-04-24 16:46:52 163
原创 获取地址经纬度
package com.ly.ordering.untils;import org.apache.commons.lang3.StringUtils;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.URL;import ...
2018-04-24 15:16:08 349
原创 根据经纬度计算两者距离
/** * Created with IntelliJ IDEA. * User: Java God * Date: 2018/3/16 下午2:21 * Description: * 根据两个位置的经纬度,来计算两地的距离(单位为KM) * 参数为double类型 * long1 位置1经度 * lat1 位置1纬度 * long2 位置2经度 * lat2 位置...
2018-04-24 15:04:07 427
原创 【SQL之查询】MySQL查询今天、昨天、上周、近30天、去年等的数据的方法
一、MySQL查询今天、昨天、上周、近30天、去年等的数据的方法:删除建立时间超过3天的订单记录delete 订单表 where datediff( dd, order_addtime, getdate() ) > 3用函数datediff() datediff( dd, 时间1, 时间2 ),意思是:计算时间1到时间2之间的天数所以,datediff( dd, order_addtime,...
2018-04-20 09:23:07 746
转载 RESTful登录设计(基于Spring及Redis的Token鉴权)
什么是RESTREST(Representational State Transfer)是一种软件架构风格。它将服务端的信息和功能等所有事物统称为资源,客户端的请求实际就是对资源进行操作,它的主要特点有: – 每一个资源都会对应一个独一无二的url – 客户端通过HTTP的GET、POST、PUT、DELETE请求方法对资源进行查询、创建、修改、删除操作 – 客户端与服务端的交互必须是无状态的关于...
2018-04-04 15:32:24 400
转载 Spring Cloud中如何保证各个微服务之间调用的安全性(下篇)
上篇文章 Spring Cloud中如何保证各个微服务之间调用的安全性 我们介绍了各个微服务之间调用认证的方式以及原理今天我们继续接着上篇文章来聊一聊如何能够在调用方实现token的自动设置以及刷新我们的认证token是放在请求头中的,相对于把token放在请求参数中更为友好,对业务接口无侵入性但是这种方式如果需要自己设置token就麻烦了,如果是参数的形式,那么在调用的时候就把获取的token当...
2018-04-04 14:15:05 766
转载 Spring Cloud中如何保证各个微服务之间调用的安全性
一.背景微服务架构下,我们的系统根据业务被拆分成了多个职责单一的微服务。每个服务都有自己的一套API提供给别的服务调用,那么如何保证安全性呢?不是说你想调用就可以调用,一定要有认证机制,是我们内部服务发出的请求,才可以调用我们的接口。需要注意的是我们这边讲的是微服务之间调用的安全认证,不是统一的在API官网认证,需求不一样,API网关处的统一认证是和业务挂钩的,我们这边是为了防止接口被别人随便调用...
2018-04-04 14:14:35 2187
原创 swagger页面配置正常,常用的浏览器无法显示!
就是浏览器缓存的原因,你清一下浏览器的缓存就好了,就这么简单!是浏览器缓存的原因,你清一下浏览器的缓存就好了,就这么简单!浏览器缓存的原因,你清一下浏览器的缓存就好了,就这么简单!览器缓存的原因,你清一下浏览器的缓存就好了,就这么简单!器缓存的原因,你清一下浏览器的缓存就好了,就这么简单!存的原因,你清一下浏览器的缓存就好了,就这么简单!的原因,你清一下浏览器的缓存就好了,就这么简单!原因,你清一...
2018-03-30 10:58:49 16238 19
原创 SpringBoot之使用Druid连接池以及SQL监控和spring监控
一、引入maven依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId...
2018-03-19 18:13:38 1834
转载 redis乱码
1.首先看乱码的样子2.目前这个Key 在Redis中真实的样子3.解决办法: 替换默认的序列化key 和value 的对象import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;import org.springframew...
2018-03-05 18:56:23 5726
原创 Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码
Intellij IDEA 14 作为Java IDE 神器,接触后发现,非常好用,对它爱不释手,打算离开eclipse和myeclipse,投入Intellij IDEA的怀抱。 然而在使用的过程中会发现Intellij IDEA也有一些不尽如意的地方,难免会有些不爽:Intellij IDEA 的插件库远不及eclipse的丰富。 mybatis-generator在eclip
2018-01-25 14:13:28 229
转载 权限控制方案之——集成shiro
概述: 上一篇文章中我们介绍的权限控制方案的实现方式是通过URL拦截实现的,这里介绍通过shiro实现权限控制。shiro是apache下的开源的权限管理框架。Shiro架构: Subject:主体,是用户和程序的统一抽象。 SecurityManager:安全管理器,认证和授权的核心处理
2017-12-27 18:38:37 675
转载 权限控制方案之——基于URL拦截
概述: 在系统开发过程中需要考虑的一个重要的问题就是权限问题,权限问题也是安全问题的一个范畴,我们要求在用户登录系统之后,要控制用户可以访问的系统资源,使得用户只可以访问到系统事先分配好的资源;这里的资源可以是一个URL地址,也可以是页面上的菜单和按钮等。对于实现权限的控制有多种方案,这里说明一下通过URL拦截的方式进行权限控制的实现方案。基本流程:
2017-12-27 18:35:01 588
原创 Kali Linux 暴力破解 wifi密码
Kali Linux 暴力破解 wifi密码注意:私自破解他人WiFi属于违法行为,我这里使用自己的WiFi热点作为学习和测试。明白了破解原理就知道应该怎么防范了。前期准备暴力破解需要准备的工具:kali linux 操作系统,我使用的是装在虚拟机中的kali linux支持监听模式的无线网卡,我这里使用的是USB无线网卡RT3070字典文件,我这里使用的是
2017-12-27 11:02:42 12437 3
原创 Linux安装apr
安装apr来提高tomcat 的可伸缩性和性能1 cd /usr/local/ 下载apr 和 apr-util最新版1 wget http://apache.fayea.com/apache-mirror//apr/apr-1.5.0.tar.gz 2 3 wget http://apache.fayea.com/apache-mirror//apr/apr
2017-12-26 17:36:05 3177
转载 求N阶乘末尾0的个数
在logn的时间内 找到n!末尾有几个零首先,要清楚 n!末尾有几个零是由这个数字的质因子中有几个成对的2 和5 决定的。我们又知道n! = n(n-1)(n-2)...... 1 ,不难看出随着n的增大,n!中质因子2要比5多的多!那么我们可以计算n中包含5的数量,这个数量就是末尾0的值代码如下所示:[java] view plain copy
2017-12-23 22:25:25 850
转载 判断字符串括号是否闭合(){}[]
今天去面试做了一道狠可爱的题目,判断一个字符串的括号自否闭合(包括大小中括号)当时没马上做出来,只是说了大概的思路一开始的思路就是判断每种括号的开闭数量是否相等,其实虽然也能实现但是搞得太复杂了;回来后查了下发现很多都是利用堆栈实现的,下面是不用栈实现的方式:只需设一个常量,开+1,闭-1,闭合的话为0,没闭合的话不为0,出现 1 pub
2017-12-22 18:59:49 4536 1
原创 脏读、幻读、不可重复读
1. 脏读 :脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。 e.g. 1.Mary的原工资为1000, 财务人员将Mary的工资改为了8000(但未提交事务) 2.Mary读取自己的工资 ,发现自己的工资变为了8000,欢天喜地! 3.而
2017-12-20 22:31:20 168
转载 数据字典
数据字典 数据字典是一种通用的程序设计方法。可以认为,不论什么程序,都是为了处理一定的主体,这里的主体可能是人员、商品(超子)、网页、接口、数据库表、甚至需求分析等等。当主体有很多的属性,每种属性有很多的取值,而且属性的数量和属性取值的数量是不断变化的,特别是当这些数量的变化很快时,就应该考虑引入数据字典的设计方法。 数据字典有两种形式一, 把主体
2017-12-19 23:06:34 2939
原创 在执行Maven Projects下的clean以及compile命令时不再支持源选项 1.5。请使用 1.6 或更高版本。
pom.xml文件中增加jdk的设置,类似如下 UTF-81.81.8
2017-12-16 14:23:31 2000
原创 冒泡排序
public class BubbleSort {/** * N个数字要排序完成,总共进行N-1趟排序,每i趟的排序次数为(N-i)次,所以可以用双重循环语句,外层控制循环多少趟,内层控制每一趟的循环次数。 * @param args */ public static void main(String[] args) { int arr[] = {26,15,29,
2017-12-04 10:35:30 154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人