自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

转载 异步时代-java的协程路在何方

面试官:你知道协程吗?你:订机票的那个吗,我常用。面试官:行,你先回去吧,到时候电话联系。。。。。。。。很尴尬,但是事实是,很大一部分的程序员不知道协程是啥玩意,更大一部分的程序员,项目中没用到协程。先介绍下协程吧。计算机有进程,线程和协程。前两者大家都知道,很常见的玩意。而协程,则是基于线程之上的,自主开辟的异步任务,很多人更喜欢叫它们纤程(Fiber)...

2019-04-15 20:15:00 221

转载 developer的996,需要谁来拯救

不为996辩护,但向奋斗者致敬!随着996.icu愈演愈烈,不仅是国际友人发文问候,连国内互联网的大佬都被卷进风波,整理下大致思路如下:马云:因为有自己想要实现的目标,因为有奔头,所以我们努力工作。我们不在乎时长,只在乎自己为了目的而干了什么。雷军:人应该有强大责任心、强大的自我驱动力,强大的梦想和抱负。刘强东:享受拼搏的快感,为自己要守护的人承担压力。沈...

2019-04-13 16:26:00 220

转载 使用protostuff自定义编解码器优化springcloud-feign性能

前言Spring Cloud feign是伪RPC方式解决微服务间的调用。翻看FeignCloudFeign源码,可以看到Feign默认使用HttpUrlConnection; 代码在DefaultFeignLoadBalancedConfiguration 的Client.Default。这里特意说明下,其他替代方式有OKhttp和HTTPClient,这两种方式有连接池,可以...

2018-11-09 10:54:00 712

转载 netty同端口监听tcp和websocket协议

前言:  软件通信七层结构(osi模型)中由协议套协议最终组成最高级应用层协议(http等等),下三层结构偏向与数据通信,上三层更偏向于数据处理,中间的传输层则是连接上三层与下三层之间的桥梁,每一层都做不同的工作,上层协议依赖与下层协议。  七层结构的最主要功能就是帮助不同系统的主机在不同的网络中进行数据传输。  数据传输层:tcp、udp协议,tcp协议依赖互联网协议(...

2018-10-31 13:26:00 1353

转载 GC算法 垃圾收集器

GC算法垃圾收集器概述垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。jvm中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因此,我们的内存垃圾回收主要集中于 java 堆和方法区中,在程序运...

2018-06-07 11:43:00 86

转载 rabbitMQ教程(五)rabbitmq 指令 以及解决web管理界面无法使用guest用户登录

安装最新版本的rabbitmq(3.3.1),并启用management plugin后,使用默认的账号guest登陆管理控制台,却提示登陆失败。翻看官方的release文档后,得知由于账号guest具有所有的操作权限,并且又是默认账号,出于安全因素的考虑,guest用户只能通过localhost登陆使用,并建议修改guest用户的密码以及新建其他账号管理使用rabbitmq(该功能是在...

2018-05-10 17:10:00 280

转载 RabbitMQ教程(二) ——linux下安装rabbitmq

安装过程参考官网:Installing on RPM-based Linux (RHEL, CentOS, Fedora, openSUSE)首先需要安装erlang,参考:http://fedoraproject.org/wiki/EPEL/FAQ#howtouserpm -Uvh http://download.fedoraproject.org/pub/epel/7...

2018-05-10 11:57:00 95

转载 Protobuf3语法详解

定义一个消息类型先来看一个非常简单的例子。假设你想定义一个“搜索请求”的消息格式,每一个请求含有一个查询字符串、你感兴趣的查询结果所在的页数,以及每一页多少条查询结果。可以采用如下的方式来定义消息类型的.proto文件了:syntax = "proto3";message SearchRequest { string query = 1; int32 pa...

2018-04-30 21:37:00 135

转载 ReflectASM-invoke,高效率java反射机制原理

前言:前段时间在设计公司基于netty的易用框架时,很多地方都用到了反射机制。反射的性能一直是大家有目共睹的诟病,相比于直接调用速度上差了很多。但是在很多地方,作为未知通用判断的时候,不得不调用反射类型来保障代码的复用性和框架的扩展性。所以我们只能想办法优化反射,而不能抵制反射,那么优化方案,这里给大家推荐了ReflectASM。一、性能对比我们先通过简单的代码来看看,各种调用方...

2018-03-28 13:53:00 190

转载 FFMPEG指令

FFmpeg是一个用于音视频处理的自由软件,被广泛用于音视频开发。FFmpeg功能强大,本文主要介绍如何使用FFmpeg命令行工具进行简单的视频处理。安装FFmpeg可以在官网下载各平台软件包或者静态编译版本,也可以使用包管理工具安装。基本概念获得音视频信息使用ffmpeg进行视频处理选项--y/-n--codec(-c)--ss--t--to-...

2018-03-25 21:27:00 237

转载 shiro权限控制(二):分布式架构中shiro的实现

前言:前段时间在搭建公司游戏框架安全验证的时候,就想到之前web最火的shiro框架,虽然后面实践发现在netty中不太适用,最后自己模仿shiro写了一个缩减版的,但是中间花费两天时间弄出来的shiro可不能白费,这里给大家出个简单的教程说明吧。shiro的基本介绍这里就不再说了,可以自行翻阅博主之前写的shiro教程,这篇文章主要说明分布式架构下shiro的session共享问题...

2018-02-07 13:56:00 435

转载 Dubbo(五) Dubbo入门demo——helloworld

前言前面我已经介绍了dubbo的一些基本工具和知识,让大家简单的了解了下RPC框架和Dubbo。接下来就是重点了,Dubbo的helloworld项目。一、搭建项目首先我们新建三个maven项目如下图:dubbo-provider(服务提供者)dubbo-api(api提供者)dubbo-consumer(消费者)OKOK!这里我们再简单介...

2018-01-09 15:18:00 149

转载 Dubbo(四) Dubbo-Admin项目 Dubbo管理台

前言在dubbo项目中,有注册中心,消费者,提供者就足以构成一个完整的项目了。但是仅仅有这三个角色,很难对整个项目状态有直观的了解,以及对项目操作。因此早有前辈对此原因作出了贡献——一个通用的dubbo-admin管理后台,他可以对dubbo角色进行监控,以及对zookeeper做图形化操作,比如路由、负载均衡。一、下载Github地址:https://githu...

2018-01-07 14:49:00 87

转载 Dubbo(三) 安装Zookeeper 单机-集群

一、下载zookeeperzookeeper下载地址:https://www.apache.org/dyn/closer.cgi/zookeeper/点击下载二、启动配置选择合适版本下载后解压到自己需要安装的目录,进入zookeeper目录下的conf子目录, 创建zoo.cfg:单机模式: # tickTime: zookeepe...

2018-01-06 15:45:00 96

转载 Dubbo(二) 认识Zookeeper

前言在昨天,我们给大家基本介绍了Dubbo,文中反复提到了Zookeeper,那么它到底是什么呢,这篇文章我们将从Dubbo层面去了解Zookeeper,不做全面讲解,毕竟这是Dubbo教程啊~Zookeeper的概念官方给出的文档显示:ZooKeeper是一种为分布式应用所设计的高可用、高性能且一致的开源协调服务,它提供了一项基本服务:分布式锁服务。由于ZooKeepe...

2018-01-04 14:17:00 113

转载 Dubbo(一) 开始认识Dubbo,分布式服务框架

引言:以前的车马很慢,一生只够爱一个人以前的网站人很少,一个单应用服务着一个人————————————————————现在,动不动就谈什么高并发,千万级访问。单应用?BOOM!分分钟爆炸。于是,技术随着业务的需求诞生了新的产物。框架演变:单一应用架构 :所有的功能部署在一个应用中。垂直应用架构 :将应用拆成互不相干的几个应用,以提升效率。...

2018-01-03 14:58:00 123

转载 websocket(三) 进阶!netty框架实现websocket达到高并发

引言:在前面两篇文章中,我们对原生websocket进行了了解,且用demo来简单的讲解了其用法。但是在实际项目中,那样的用法是不可取的,理由是tomcat对高并发的支持不怎么好,特别是tomcat9之前,可以测试发现websocket连接达到的数量很低,且容易断开。所以有现在的第三篇,对websocket的一种进阶方法。什么是NettyNetty是业界最流行的NIO框架之一...

2017-12-02 02:03:00 1753

转载 Netty-Websocket 根据URL路由,分发机制的实现

最近在做netty整合websocket,发现网上很多项目都是最简单的demo,单例的一个项目。然而公司的项目需要接受几个不同功能的ws协议消息,因此最好是用URL来区分,让页面上采用不同的链接方式。网上项目出现地址的方法:private void handleHttpRequest(ChannelHandlerContext ctx, FullHttpReques...

2017-11-02 11:01:00 1092

转载 谈谈序列化—实体bean一定要实现Serializable接口?

导读:最近在做项目的过程中,发现一个问题,就是我们最开始的时候,传递参数包括返回类型,都有map类型。但是由于map每次都要匹配key值,很麻烦。所以在之后就将参数传递和返回类型全都改成了实体bean,并且让每个bean都实现了Serializable接口。然后,在这里的时候,就有点疑惑。首先:为什么要进行序列化;其次:每个实体bean都必须实现serializabel接口吗?最后:我做...

2017-09-04 11:43:00 169

转载 解决MAVEN项目因achetype加载太慢的问题

解决方案:加载太慢由于achetype-catalog.xml文件的访问问题,导致了整个构建过程的缓慢,所以是否能够将文件保存到本地,成为一种解决思路。翻阅Maven官方文档可以找到,确实是可以的。官方链接如下:http://maven.apache.org/archetype/maven-archetype-plugin/specification/archetype-ca...

2017-08-14 21:40:00 136

转载 rabbitMQ教程(四) spring整合rabbitMQ代码实例

一、开启rabbitMQ服务,导入MQ jar包和gson jar包(MQ默认的是jackson,但是效率不如Gson,所以我们用gson)二、发送端配置,在spring配置文件中配置<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.or...

2017-07-29 17:05:00 233

转载 rabbitMQ教程(三)一篇文章看懂rabbitMQ

一、rabbitMQ是什么:  RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上。  学过websocket的来理解rabbitMQ应该是非常简单的了,websocket是基于服务器和页面之间的通信协议,一次握手,多次通信。 而rabbitMQ就像是服务器之间的socket,一个服务器连上MQ监听,而另一个服务器只...

2017-07-29 16:40:00 545

转载 RabbitMQ教程(一) ——win7下安装RabbitMQ

RabbitMQ依赖erlang,所以先安装erlang,然后再安装RabbitMQ;下载RabbitMQ,下载地址:rabbitmq-server-3.5.6.exe和erlang,下载地址:otp_win64_18.1.exe先安装erlang,双击erlang的安装文件即可,然后配置环境变量: ERLANG_HOME=D:\Program Fil...

2017-07-25 11:11:00 349

转载 websocket(二) websocket的简单实现,识别用户属性的群聊

没什么好说的,websocket实现非常简单,我们直接看代码。运行环境:jdk8 tomcat8 无须其他jar包。 具体环境支持自己百度package com.reach.socketController;import java.io.IOException;import java.util.HashMap;import ja...

2017-07-03 20:38:00 335

转载 websocket教程(一) 非常有趣的理解websocket

一、websocket与httpWebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)首先HTTP有1.1和1.0之说,也就是所谓的keep-alive,把多个HTTP请求合并为一个,但是Websocket其实是一个新协议,跟HTTP协议基本没有关系,只是为了兼容现有浏览器...

2017-07-03 20:30:00 94

转载 前端插件——头像截图上传插件的使用(带后台)

效果图:实现上传头像,右边是预览,有三个大小,可以对头像进行裁剪HTML:toParentData 和 img 返回的是图片裁剪后的base64编码。其中toParentData用于业务需求,可以忽略。<!DOCTYPE html><%@ taglib prefix="c" uri="http://java.sun.com/jsp/j...

2017-07-03 19:20:00 345

转载 如何减轻ajax定时触发对服务器造成的压力和带宽的压力?ajax-长轮训

AJAX长轮询的方法来解决频繁对后台的请求,进一步减小压力在实现过程发现AJAX的多次请求会出现多线程并发的问题又使用线程同步来解决该问题个人对ajax长轮询的一点愚见ajax请示后台时,后台程序并没有立即返回信息而是挂起,当符合条件时才会返回信息从ajax定时请求变成轮询模式:function getRtmMsg(show){ ...

2017-06-27 10:55:00 361

转载 spring整合quartz

Quartz介绍   Quartz is a full-featured, open source job scheduling service that can be integrated with, or used along side virtually any Java application - from the smallest stand-alone applic...

2017-06-10 22:36:00 86

转载 Vue.js——60分钟快速入门

Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的。相比于Angular.js,Vue.js提供了更加简洁、更易于理解的API,使得我们能够快速地上手并使用Vue.js。本文摘自:http://www.cnblogs.com/keepfool/p/5619070.html如果你之前已经习惯了用jQuery操作DOM,学习Vue.js时...

2017-06-05 18:06:00 93

转载 JAVA图片批量上传JS-带预览功能

这篇文章就简单的介绍一个很好用的文件上传工具,批量带预览功能。直接贴代码吧,都有注释,很好理解。HTML页面<!DOCTYPE html><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><html><head><c:set va...

2017-05-22 16:22:00 198

转载 shiro权限控制(一):shiro介绍以及整合SSM框架

  shiro安全框架是目前为止作为登录注册最常用的框架,因为它十分的强大简单,提供了认证、授权、加密和会话管理等功能 。  shiro能做什么?       认证:验证用户的身份        授权:对用户执行访问控制:判断用户是否被允许做某事        会话管理:在任何环境下使用 Session API,即使没有 Web 或EJB 容器。        加密:...

2017-05-18 00:07:00 145

转载 解决openssh漏洞,升级openssh版本

关于解决漏洞的问题我就不详说了,主要就是升级版本。这里我们就直接简单记录下步骤:1、升级使用root用户登录系统进入到/home/guankong ,上传openssh-6.6p1.tar.gz到该目录下1: 备份原rpm启动脚本到当前路径下#cp /etc/init.d/sshd /home/guankong2:停止服务#/etc/init.d/ss...

2017-04-19 17:12:00 495

转载 解决NTPD漏洞,升级Ntpd版本

关于解决漏洞的问题我就不详说了,主要就是升级版本。这里我们就直接简单记录下步骤:1、升级使用root用户登录系统进入到/home/guankong ,上传ntp-4.2.8p9-1.el6.x86_64.rpm到该目录下2.安装依赖包yum install gcc gcc-c++ openssl-devel libstdc++* libcap*3.备份旧版...

2017-04-19 17:10:00 805

转载 解决mysql漏洞 Oracle MySQL Server远程安全漏洞(CVE-2015-0411)

有时候会检测到服务器有很多漏洞,而大部分漏洞都是由于服务的版本过低的原因,因为官网出现漏洞就会发布新版本来修复这个漏洞,所以一般情况下,我们只需要对相应的软件包进行升级到安全版本即可。通过查阅官网信息,Oracle MySQL Server远程安全漏洞(CVE-2015-0411),受影响系统:OracleMySQL Server <= 5.6.21Oracle MyS...

2017-04-19 17:04:00 3282

转载 im4java包处理图片

使用方法:首先要安装ImageMagick这个工具,安装好这个工具后,再下载im4java包放到项目lib目录里就行了。package com.stu.util; import java.io.IOException; import java.util.ArrayList; import org.im4java.core.CompositeCmd; ...

2017-04-13 11:36:00 81

转载 centOS7 mini配置linux服务器(五) 安装和配置tomcat和mysql

配置java运行环境,少不了服务器这一块,而tomcat在服务器中占据了很大一部分份额,这里就简单记录下tomcat安装步骤。下载首先需要下载tomcat7的安装文件,地址如下:http://tomcat.apache.org/download-70.cgi。进去之后找到Core:tar.gz(pgp,md5,sha1)即可点击下载第一步:确认已经安装...

2017-04-10 21:54:00 92

转载 RedisPool操作Redis,工具类实例

redis.properties配置文件内容redis.pool.maxActive=100redis.pool.maxIdle=20redis.pool.maxWait=3000redis.pool.testOnBorrow=falseredis.pool.testOnReturn=falseredis.ip=127.0.0.1redis.port=6379redi...

2017-04-10 11:49:00 138

转载 centOS7 mini配置linux服务器(四) 配置jdk

这里简单写一下centos7Mini 安装jdk1.8的全过程。一、下载jdk,linux版本。地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html。二、查看是否已经安装过linux,并卸载。检查系统是否自带了OpenJDK以及相关安装包,如果有的话则应先将其卸载。 检...

2017-04-04 21:31:00 111

转载 java-FFmpeg(一) 实现视频的转码和截图功能

  FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运...

2017-03-29 17:24:00 262

转载 mySQL优化方案

1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务...

2017-03-28 15:31:00 47

空空如也

空空如也

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

TA关注的人

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