- 博客(202)
- 资源 (5)
- 问答 (3)
- 收藏
- 关注
原创 使用 Jmeter 对 Java web 执行负载(压力)测试
最近一个月不是写文档就是敲js,这两天难得有个压测,总算跟java挂钩了。先说说压力测试,这绝对是一件很刺激的事情,玩心跳,试想一下,眼睛盯着服务器的性能分析数据,一边在不断地增大负载,心扑通扑通的跳,真刺激!首先感谢两位兄台的启发: http://www.thegeekstuff.com/2015/02/jmeter-load-testing/ https://www.digitalocean
2017-06-06 14:31:46 23581 2
原创 告别session! spring 集成 jwt 验证方式
为什么要告别session?有这样一个场景,系统的数据量达到千万级,需要几台服务器部署,当一个用户在其中一台服务器登录后,用session保存其登录信息,其他服务器怎么知道该用户登录了?(单点登录),当然解决办法有,可以用spring-session。如果该系统同时为移动端服务呢?移动端通过url向后台要数据,如果用session,通过sessionId识别用户,万一sessionId被截获了,别人
2017-05-05 10:33:21 35920 25
原创 Java 实现七牛云回调
有这样一个需求:android将文件上传到七牛云,并将文件在七牛云存储的信息返回业务服务器处理。七牛云的sdk上有一个模型解决这种需求,这是原理图:然而不幸的是,关于回调上传的demo一直找不到,经过一天的折腾,整理了一个demo。大体流程是这样子的: 1、android向业务服务器请求上传凭证,服务端代码如下public class QiniuUtil { //设置需要操作的账号的AK和
2017-04-26 15:23:16 2771 1
原创 iframe 自适应全屏
<iframe src="..." width="100%" height="100%"></iframe>一定要在在页面的最顶部加<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2017-04-24 16:38:00 3036
原创 通用的分页思路
最终效果如下思路前台需要展示的是一页一页的数据,每一页包含的信息有两个:当前页数(pageNow)、每一页有条数据(pageSize)。其他的事情前台不用关心,它的目的只是展示数据。而数据的来源在后台,前台告诉后台需要哪一页的数据以及这一页有多少条数据,pageSize是可以设定的,所以pageNow是前台和后台交互的核心。那么后台接收到前台的pageNow,要去识别它,根据这个参数到数据库取得数据
2017-04-19 20:17:33 9534 5
原创 Fedora24!到此一游
告别Fedora23,来到Fedora24的世界!dnf install dnf-plugin-system-upgradednf system-upgrade download --releasever=24 --best --nogpgcheckdnf system-upgrade reboot
2017-04-13 11:04:18 449
原创 动态的添加、删除表单
在写简历时,有一项实习经历,如果没有就不填,如果有就实习经历,有多少写多少。 这个功能是如何实现的,其实很简单,以bootstrap和jquery为例:具体代码实现:<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> <link href="css/bo
2017-04-12 17:56:12 6773
原创 基于Three.js的360度全景图片
Three.js 是一款运行在浏览器中的 3D 引擎, 处理三维效果。在一些相机的官网首页中,经常有一张图在旋转,图上面悬浮着文字。这种效果是如何做出来的呢?先看效果,再讲解。1).建立一个java web 工程(或者其他工程), 因为three.js 的全景图要通过服务端浏览(安全的考虑)2).在上面的结构中,只有css中的index.css是自定义的,其余css和js都属于three.js自带的
2017-04-05 20:27:33 9242
原创 Tomcat 部署详解
在平常的开发中,一般没有对tomcat做特殊要求,如果要将tomcat部署到服务器上,则要对tomcat做些改动,这里以tomcat8为例子。1).将8080端口改为80,在tomcat的conf/server.xml中,找到如下代码,将8080改为80<Connector port="8080" protocol="HTTP/1.1" connectionTimeou
2017-03-29 19:28:54 516
原创 Java--七牛云存储图片示例
项目中会用到大量的图片和小视频,为了分担服务器压力,将文件都放在七牛云。这里的思路很简单,就是移动端、pc端把文件上传到服务器,服务器做一个临时缓存,保存必要的信息到数据库后,将文件上传到七牛云,最后删除服务器的缓存。当然,也可以直接让移动端、pc端把文件上传到七牛云,七牛云在返回信息给服务器,这种方法虽然更佳,但是敲起代码来有点麻烦,复杂。 1).先去注册一个七牛云帐号,新建一个存储空间,存储空
2017-03-28 17:58:45 3371
原创 SpringMvc 中 session 使用陷阱
已往在struts2中,对于用户登录状态的识别,都是放在session里面的,而struts2中,可以用request.getSession().setAttribute(“manager”, m);去获取session。如果在springMvc中使用会有什么惊喜?看下面代码:...//处理登录 @RequestMapping("/managerLogin") public Str
2017-03-27 19:12:59 571
原创 SpringBoot 整合 Redis 的简单案例
Redis今天看了redis, 只知道redis能做3件事:做缓存 做非关系型数据库做消息中间件1).安装redis 在opt目录下,使用root用户cd /optmkdir rediswget http://download.redis.io/releases/redis-3.2.8.tar.gztar -zxvf redis-3.2.8.tar.gz cd redis-3.2.
2017-03-14 21:58:34 19295 11
原创 基于 SpringBoot 和 webSocket 的匿名聊天室
项目结构:1).pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.
2017-03-09 23:07:08 5097 1
原创 将一个数组拆分成两个数组,两个数组的差的绝对值最小
要求如题,是qq群里一个大神让我敲的demo,花了2个小时,用c语言实现。但是数组的元素只能是正数!思路是: 1).先求出数组的总和sum, sum/2=mid 2).然后将数组的元素跟mid比较,取出跟mid最接近的元素,放在第一个小数组里,然后在原来数组删除刚刚被取出的元素,更新原来数组 3).接着再取出离mid最近的元素,放在第二个小数组,在原数组中删除刚刚被取出的元素,更新原来数组
2017-03-06 22:21:41 14315 3
原创 Java 实现 Dijsktra 算法
看看书中的描述: 书中是用C++实现的,C++比较难,懂个思路就行,这里用java实现:package graph;public class Dijkstra { private static final int MAXSIZE = 1000; private static final int INF = 1200; private static final int
2017-03-04 12:55:54 747
原创 SpringBoot 配置富文本编辑器 xheditor
一年前写过一篇:struts2 配置 xheditor 的文章。那时候还在用ssh,现在开始用spring boot。本来想配置CSDN的markdown编辑器的,可惜在github上找不到。所以,还是用回轻巧的xheditor吧。环境要求:Spring Boot v1.5.1.RELEASE、jdk1.7、myeclipse2015 、xheditor1.1.14xheditoe的官网好像下不了,
2017-03-02 16:29:20 4975 1
原创 详细全面的 SpringBoot 文件上传
这些天忙着刷题,又怕遗忘了spring boot, 所以抽出一点时间折腾折腾,加深点印象。 spring boot 的文件上传与 spring mvc 的文件上传基本一致,只需注意一些配置即可。 环境要求: Spring Boot v1.5.1.RELEASE + jdk1.7 + myeclipse1).引入thymeleaf,支持页面跳转 <!-- 添加thymeleaf
2017-03-02 15:42:02 125972 31
原创 Java 版 Prim 算法求最小生成树
最小生成树: 一个具有n个顶点的加权的无相连通图,用n-1条边连接这n个顶点,并且使得连接之后的所有边的权值之和最小的树。Prim算法:先以一个结点作为最小生成树的第一个结点,然后以迭代的方式找出与最小生成树中各结点权值最小边,加到最小生成树中。加入之后如果产生回路则跳过这条边,选择下一个结点。当所有结点都加入到最小生成树中之后,就找出最小生成树了。举个例子:根据下图3个步骤找出最小生成树:在写程序
2017-02-27 22:43:51 8522 1
原创 Java 实现往红黑树插入结点
红黑树是平衡二叉查找树中的一种,最突出的特点是效率高。时间复杂度:O(log(n))红黑树有如下4个性质: 1).没个结点不是红色就是黑色; 2).根结点是黑色的; 3).每个红色结点的父亲是黑色的; 4).根结点到达每个叶子结点的路径中黑色结点的个数是一样的;那么,为什么红黑树的效率高呢? 根据性质3,先把红色结点跟父亲结点整合在一块,新整合出来的树称为“2-3-4 树”,它的高度为原先
2017-02-26 22:00:12 1087 1
原创 Java 实现 8 大排序
下午闲着没事,把昨晚用C写的几种排序用java实现了一遍,有两点小小的体会: 1). 写 c 程序得注意malloc 和 ferr,java倒是方便,有GC,省事; 2). java程序比较容易调试,更容易定位到错误具体代码如下,在jdk1.7下可以跑。详细的注释在上一篇博文:C语言实现8种排序 中有,在此就不写注释了(java 跟 c 很像的)public class Sort { p
2017-02-25 15:45:11 2532
原创 C语言实现8种排序
最近要开始准备春招了,没什么时间学习spring,得忙着刷题。这两天复习排序,综合网上和书上的资料,整理了下面8种排序算法的实现。基于C语言的,java版本很快就出来。 具体代码:#include<stdio.h>#include<stdlib.h>//冒泡排序void bubleSort(int data[], int n);//快速排序void quickSort(int data[
2017-02-24 22:26:01 35194 9
原创 SpringBoot 整合 SpringData 入门案例(一)
J2EE的核心框架Spring! 而SpringBoot 和SpringData也是非常强大的,大大简化了开发,使我们可以把精力专注于业务上!看看两者的功能:SpringBootSpringData环境: linux + myeclipse2015 + jdk1.7 + maven3.3.3 + SpringBoot 1.5.1+ SpringData + mysql5.5项目结构图:1).po
2017-02-18 23:03:24 12395 5
原创 bash: spring: 未找到命令...
问题:在root用户下往/etc/profile文件添加了一条spring-boot-cli的环境变量,再source /etc/profile后,root用户下可以访问到spring-boot-cli环境变量,而切换到普通用户或者新开一个终端就访问不了。解决办法: 1).指定某个普通用户也可以访问到环境变量 把环境变量也加到 ~/.bashrc 中 2).所有用户都可以访问到环境变量 把环
2017-02-18 18:54:23 2796
原创 Spring 整合 ActiveMQ
Spring 是J2EE 最重要的框架,ActiveMQ 是Jms的框架,用于两个程序、系统中的异步通信,两者的用途都挺广泛。上一篇博文介绍的是发布-订阅形式,今次以点-点形式做一个案例。先看看效果:环境准备:linux + jdk1.7 + myeclipse2014 + maven + tomcat8+ ActiveMQ-5.11.1 + Spring-4.1.6源码在github上:http
2017-02-17 22:44:31 540
原创 第一个JMS程序
jms即Java Message Service,是面向消息中间件的API,用于在两个应用程序之间、分布式系统中发送消息,进行异步通信。下图是jms点-点和发布-订阅两种形式的原理(百度一大堆资料)。下面的程序以发布-订阅为例为例:1).准备环境:linux + eclipse + jdk1.7 + maven + ActiveMQ-5.12.02).安装ActiveMQ,jms是原生,而Acti
2017-02-17 22:07:47 717
原创 ssm整合
整合:spring4.2.5+mybatis3.2.8+springMVC+maven 环境:Myeclipse2014+mysql5.5.20+tomcat8+jdk1.7+linux 目标:实现对用户表的简单添加(分别有表单数据提交和json提交)、分页查看和文件上传 源码在github上:https://github.com/fuckyourdick/myRegisterSystem/t
2017-01-07 10:49:39 883
原创 Maven 核心知识
1).坐标groupId:组织名称+”.”+项目名称 artifactId:项目的模块名 version:项目坂本号 <!-- pom 版本号 --> <modelVersion>4.0.0</modelVersion> <!-- 组织名称+项目名 --> <groupId>com.hsp.maven</groupId> <!-- 模块名称 --> <artifactId>ma
2017-01-06 13:12:12 588
原创 spring整合cxf入门案例
spring是j2ee最重要的容器框架,cxf封装了webservice,使webservice的使用变的更加轻松,是解决异构系统交互问题的首选。spring整合cxf的demo分为如下几个步骤: 1).新建web项目,建包分层 2).引进spring管理各个类 3).使用junit测试spring 4).引进cxf,建cxf的service层,提供对外服务下面开始具体的整合流程: 开发环
2016-12-26 22:58:16 1077 1
原创 不能访问 33GB 卷
原因:在给u盘写入数据时忽然拔出u盘,再次使用u盘时出错。 解决方法: 1.找出u盘的设备名,这里是sddfdisk -l2.修复,一路下去即可fsck /dev/sdd
2016-12-23 21:42:58 1293 1
原创 聊聊维护的那些事儿
刚刚加了一个功能,等待今晚的测试。空闲时间,写下这博客,随笔而已,写的比较散。起因事情要从两周前说起,11月10号的晚上,阴风阵阵,虽是冬季,但20多度的气温还是使人感到舒适。我在学习hadoop,忽然手机的微信一亮,有人给我发信息,拿起手机一看不妙。让我维护一个网站。是以前一个师兄用python写的学校网站,过两天客户要使用,要改一些内容。当时的想法是我是学java的,python不懂啊。不过,只
2016-12-07 21:12:46 564 1
原创 Fedora安装Hadoop
这里聊的是单点安装!–开始: 条件 1).fedora23 2).hadoop-2.5.2 3).已经安装jdk和配置好Java的环境变量了安装步骤 1).下载和解压hadoop (1)下载资源自行在网上找,在root用户下操作,先将hadoop的下载包放在/opt目录下 (2)解压,在终端输入:tar xvf apache-hadoop-2.5.1.tar.gz2).配置环境变量
2016-11-20 22:19:59 2615
原创 《Thinking In Java》 VS 《Effective Java》 VS 《深入理解Java虚拟机》
今天刚考完试,在5天以前的前4个月时间里,我很庆幸自己选了一个看书的学习途径。从上个学期的暑假到现学期的11周里面,读了《Thinking In Java》、《深入理解Java虚拟机》和《Effective Java》,感悟颇多。首先先说明一下,我以前是看视频学习的,就做过两三个学校的网站,都已经上线在使用。没做过什么特别高大上的东西,所以我是处在新手的角度去读书的,我也知道自己的理解很浅,不
2016-11-16 22:34:04 23321 17
原创 Effective Java(Item: 57 to 78)
Eight: Exceptions Item 57: Use exceptions only for exceptional conditions Exceptions are, as their name implies, to be used only for exceptional conditions; they should never be used for ordinary
2016-11-06 21:59:41 1155
原创 Effective Java(Item: 38 to 56)
Six:Methods Item 38: Check parameters for validity Most methods and constructors have some restrictions on what values may be passed into their parameters. And constructors represent a special cas
2016-11-06 21:48:34 1225
原创 Effective Java(Item: 23 to 37)
Four: Generics Item 23: Don’t use raw types in new code 1).If you use raw types, you lose all the safety and expressiveness benefits of generics; 2).You will lose type safety if you use a raw type l
2016-11-06 21:36:46 1837
原创 Effective Java(Item: 13 to 22)
Three:Class and Interfaces Item 13: Minimize the accessibility of classes and members The rule is simple: make each class or member as inaccessible as possible. This concept, knows as information
2016-11-06 21:29:31 833
原创 EffectiveJava(Item: 1 to 12)
In the last five weeks. I was reading the “Effective Java”, which is a truly excellent book and I make some notes about it. I have been learning Java for nearly two years. However, I seldom think abou
2016-11-06 21:21:43 779 1
原创 《深入理解Java虚拟机》--Understanding the Jvm(下)
21.虚拟机字节码执行引擎 执行引擎是Java虚拟机最核心的组成部分之一。所有的Java虚拟机的执行引擎都是一致的:输入的是字节码文件,处理过程是字节码解析的等效过程,输出的是执行结果。解析字节码过程的重点是虚拟机的方法调用和字节码执行。22.运行时栈帧结构 栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈的栈元素。在下图的栈帧概念结构中,活动的线程只有位
2016-10-07 12:51:34 1974
原创 《深入理解Java虚拟机》--Understanding the Jvm(上)
《深入理解Java虚拟机》–Understanding the Jvm(上)前言:跟”Thinking in Java”不同的是,《深入理解Java虚拟机》是一本修炼内功心法的书。因为虚拟机对开发者来说,几乎是屏蔽的,可能了解虚拟机内部运转对敲代码不会有直接的效果,但是对读程序,理解程序如何执行的认识会更深一步。”Thinking in Java”从代码层面上分析代码的设计和高效用法,既有现学现用的
2016-10-07 12:30:29 1756
如何支持500个人同时看视频?
2016-12-17
Azure部署java项目报错
2016-03-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人