自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (3)
  • 收藏
  • 关注

原创 基于Netty的RPC架构实战演练(六)-protocol buff学习使用

一,protocolbuffer简介protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。它是一种协议,是谷歌推出的一种序列化协议,由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式...

2018-07-31 21:47:51 534

原创 基于Netty的RPC架构实战演练(五)-Netty心跳

一,Netty心跳心跳其实就是一个普通的请求,特点数据简单,业务也简单心跳对于服务端来说,定时清除闲置会话inactive(netty5) channelclose(netty3)心跳对客户端来说,用来检测会话是否断开,是否重连! 用来检测网络延时!二,netty3心跳代码示例package com.heart;import java.net.InetSocketAddr...

2018-07-31 21:11:49 532

原创 基于Netty的RPC架构实战演练(四)-netty5服务端和客户端

一,netty5服务端入门案例package com.server;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.Channel;import io.netty.channel.ChannelFuture;import io.netty.channel.ChannelInitializer;im...

2018-07-31 21:09:57 841 2

原创 基于Netty的RPC架构实战演练(三)-netty3线程模型源码分析

package com.cn;import java.io.IOException;import java.nio.ByteBuffer;import java.nio.channels.ClosedChannelException;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;imp...

2018-07-31 21:06:23 306

原创 基于Netty的RPC架构实战演练(二)-netty3服务端和客户端

一,Netty (1)Netty 是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。也就是说,Netty 是一个基于NIO的客户、服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户、服务端应用。Netty相当于简化和流线化了网络应用的编程开...

2018-07-31 21:00:36 1146

原创 基于Netty的RPC架构实战演练(一)-NIO

一,传统IO与NIO比较1,传统IO代码示例:package OIO;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;import java.util.concurrent.ExecutorService;impo...

2018-07-31 20:58:39 704

转载 web前后端漏洞分析与防御(五)-接入层sql注入

一、什么是sql注入?1、什么是sql注入呢?        所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发生sql注入攻击。...

2018-07-29 10:41:07 805

原创 web前后端漏洞分析与防御(四)-密码安全

需求:NodeJS->接入层->密码管理,加密密码作用 信息摘要算法(哈希算法)这种函数是一种摘要算法,你给他输入一个任意长的数据A他给你返回固定长度的数据B,也称B为“指纹”。明文 -> 密文 雪崩效应(密码混乱) 不可逆性 密文固定长度 md5 sha1 sha256md5单向变换  密码传输安全性(明文)前端加密只能...

2018-07-29 10:32:46 820

原创 web前后端漏洞分析与防御(三)-点击劫持,传输安全

点击劫持,clickjacking,也被称为UI-覆盖攻击。 防止点击劫持JavaScript禁止内嵌 没有带frame的页面 带frame的页面   不过H5新增属性,sandbox可以金庸脚本的运行sandbox="allow-forms"X-FRAME-OPTIONS禁止内嵌头设置ctx.set('X-F...

2018-07-29 10:31:11 783

原创 web前后端漏洞分析与防御(二)-CSRF

跨站请求伪造攻击CSRF(Cross Site Request Forgy)SRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:       攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统...

2018-07-29 10:28:48 497

原创 web前后端漏洞分析与防御(一)-XSS

所谓的安全,其实是指两个方面私密性:不被非法获取和利用(Get) 代码层面 架构层面 运维层面 问题 用户身份被盗用 用户密码泄露 用户资料被盗取 网站数据库泄露 其他 可靠性:不丢失不损坏不被篡改跨站脚本攻击XSS(Cross Site Scripting)跨站脚本攻击(Cross Site Scripting),缩写为XSS。恶意...

2018-07-29 10:26:27 1291

原创 Java8新特性(五)-其他新特性

一,接口中的默认方法与静态方法1,接口中的默认方法Java 8中允许接口中包含具有具体实现的方法,该方法称为 “默认方法”,默认方法使用 default 关键字修饰。 接口默认方法的” 类优先” 原则若一个接口中定义了一个默认方法,而另外一个父类或接口中 又定义了一个同名的方法时  选择父类中的方法。如果一个父类提供了具体的实现,那么 接口中具有相同名称和参数的默认方法会...

2018-07-23 16:12:43 284

原创 Java8新特性(四)-新时间日期API

1,LocalDate、 LocalTime、 LocalDateTime  LocalDate、 LocalTime、 LocalDateTime 类的实 例是不可变的对象,分别表示使用 ISO-8601日 历系统的日期、时间、日期和时间。它们提供 了简单的日期或时间,并不包含当前的时间信 息。也不包含与时区相关的信息。2,Instant 时间戳   用于“时间戳”的运算。它是以...

2018-07-23 16:11:27 351

原创 Java8新特性(三)-Fork/Join 框架和Optional 类

一,Fork/Join 框架    就是在必要的情况下,将一个大任务,进行拆分(fork)成若干个 小任务(拆到不可再拆时),再将一个个的小任务运算的结果进行 join 汇总.实现原理图:1,Fork/Join 框架与传统线程池的区别     采用 “工作窃取”模式(work-stealing): 当执行新的任务时它可以将其拆分分成更小的任务执行,并将小任务加到线 程队列中,然...

2018-07-23 16:08:59 579

原创 Java8新特性(二)-强大的Stream API

一,Stream说明     Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对 集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。 使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数 据库查询。也可以使用 Stream API 来并行执行操作。简而言之, Stream API 提供了一种高效且易于使用的处理数据的方式。 1...

2018-07-23 15:55:56 578

原创 Java8新特性(一)-Lambda表达式

一,Java8新特性简介1,速度更快2,代码更少(增加了新的语法Lambda表达式)3,强大的Stream API4,便于并行5,最大化减少空指针异常Optional 二,Lambda表达式1,为什么使用Lambda表达式 Lambda 是一个匿名函数,我们可以把 Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的...

2018-07-23 15:52:07 21149 2

原创 Jvm知识学习(九)-锁

一,线程安全1,示例说明:多线程网站统计访问人数 使用锁,维护计数器的串行访问与安全性多线程访问ArrayList代码:public static List<Integer> numberList =new ArrayList<Integer>();public static class AddToList implements Runnable{  int startnu...

2018-07-09 09:00:56 241

原创 Jvm知识学习(八)-Java堆分析

一,内存溢出(OOM)的原因1,JVM内存区间可以简单的分为:堆,永久区,线程栈,直接内存2,内存溢出的几种:(1)堆内存溢出:(2)永久区内存溢出:(3)Java栈内存溢出:(4)直接内存溢出:备注说明:直接内存需要GC回收,但是直接内存无法引起GC。直接内存使用满时,无法触发GC。如果堆空间很富余,无法触发GC,直接内存可能就会溢出。如果堆空间触发GC,直接内存可以回收二,MAT使用基础支配树...

2018-07-06 14:45:41 256

原创 Jvm知识学习(七)-性能监控工具

1,linux命令(1)uptime系统时间 ,运行时间 (例子中为7分钟) ,连接数 (每一个终端算一个连接) ,1,5,15分钟内的系统平均负载 (运行队列中的平均进程数) (2)top(3)vmstat可以统计系统的CPU,内存,swap,io等情况 (1,4分别代表采样频率和采样次数)       CPU占用率很高,上下文切换频繁,说明系统有线程正在频繁切换(4)pidstat可以细致观察...

2018-07-05 15:28:51 346

转载 Jvm知识学习(六)-类装载器

类加载的机制的层次结构每个编写的”.java”拓展名类文件都存储着需要执行的程序逻辑,这些”.java”文件经过Java编译器编译成拓展名为”.class”的文件,”.class”文件中保存着Java代码经转换后的虚拟机指令,当需要使用某个类时,虚拟机将会加载它的”.class”文件,并创建对应的class对象,将class文件加载到虚拟机的内存,这个过程称为类加载,这里我们需要了解一下类加载的过...

2018-07-04 09:11:07 280

原创 Jvm知识学习(五)-GC参数

一,JAVA堆Java 堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。这个区域是用来存放对象实例的,几乎所有对象实例都会在这里分配内存。堆是Java垃圾收集器管理的主要区域(GC堆),垃圾收集器实现了对象的自动销毁。Java堆可以细分为:新生代和老年代;再细致一点的有Eden空间,From Survivor空间,To Survivor空间等。Java堆可以处于物理上不连续的内存空间中,只要...

2018-07-04 09:04:13 369

原创 Jvm知识学习(四)-GC算法与种类

一,GC的概念Garbage Collection 垃圾收集1960年 List 使用了GCJava中,GC的对象是堆空间和永久区二,GC算法根 对象:(1)栈中引用的对象(2)方法区中静态成员或者常量引用的对象(全局对象)(3)JNI方法栈中引用对象1,引用计数法老牌垃圾回收算法通过引用计算来回收垃圾使用者 :COM,ActionScript3,Python 原理:引用计数器的实现很简单,对于一...

2018-07-03 09:00:48 292

原创 Jvm知识学习(三)-常用JVM配置参数

一,Trace跟踪参数-verbose:gc-XX:+printGC可以打印GC的简要信息[GC 4790K->374K(15872K), 0.0001606 secs][GC 4790K->374K(15872K), 0.0001474 secs][GC 4790K->374K(15872K), 0.0001563 secs][GC 4790K->374K(15872K)...

2018-07-02 13:51:41 255

apache-maven-3.3.9

apache-maven-3.3.9版本,用于jar包管理,解压该文件即可用。

2018-04-09

gson-2.2.4.jar

GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库。可以将一个Json字符转成一个Java对象,或者将一个Java转化为Json字符串。Gson提供了fromJson() 和toJson() 两个直接用于解析和生成的方法,前者实现反序列化,后者实现了序列化。

2017-07-25

fastjson-1.2.2.jar

Fastjson是一个Java语言编写的JSON处理器,由阿里巴巴公司开发。 1、遵循http://json.org标准,为其官方网站收录的参考实现之一。 2、支持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。 3、无依赖,不需要例外额外的jar,能够直接跑在JDK上。 4、开源,使用Apache License 2.0协议开源。 5、具有超高的性能,java世界里没有其他的json库能够和fastjson可相比了

2017-07-25

空空如也

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

TA关注的人

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