自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 问答 (2)
  • 收藏
  • 关注

原创 jvm内存溢出分析

包括:1.    栈溢出(StackOverflowError)2.    堆溢出(OutOfMemoryError:java heap space)3.    永久代溢出(OutOfMemoryError: PermGen space)4.    OutOfMemoryError:unable to create native threadJava虚拟机规范规定JVM的内存分

2016-12-28 18:37:03 832

转载 MySQL优化

当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量:字段

2016-12-26 11:31:57 390

转载 基于Redis实现分布式锁

分布式锁的基本功能:1.同一时刻只能存在一个锁2.需要解决意外死锁问题,也就是锁能超时自动释放3.支持主动释放锁分布式锁解决什么问题:多进程并发执行任务时,需要保证任务的有序性或者唯一性准备:redis版本>=2.6redis是主从+sentinel模式(为了高可用)原理:redis2.6之后,SET命令支持超时和key存在检查,这是一个原子操作

2016-12-12 11:11:10 851

转载 Java常见性能优化总结

常见性能优化策略的总结2016-12-11 晓明Java北京本文要感谢我职级评定过程中的一位评委,他建议把之前所做的各种性能优化的案例和方案加以提炼、总结,以文档的形式沉淀下来,并在内部进行分享。力求达到如下效果:1. 形成可实践、可借鉴、可参考的各种性能优化的方案以及选型考虑点,同时配合具体的真实案例,其他人遇到相似问题时,不用从零开始。2. 有助于开阔视野,

2016-12-12 10:15:50 7637 2

转载 动态代理proxy与CGLib的区别

静态代理与动态代理代理分为静态代理和动态代理   按照代理创建的时期,可以分为动态代理和静态代理: 静态代理:由程序员或者自动生成工具生成代理类,然后进行代理类的编译和运行。在代理类、委托类运行之前,代理类已经以.class的格式存在。 动态代理:在程序运行时,由反射机制动态创建而成。 静态代理实例    静态代理实例:    首先需要一个接口:      ...

2016-12-09 11:01:32 3508

原创 Java 动态代理作用是什么 ==AOP?

关于动态代理设计模式很可能题主就在不知不觉中使用了,例如Spring中的AOP,Struts2中的拦截器等。先来看静态代理模式代码:package test;public interface Subject { public void doSomething(); }package test;public class RealSubj

2016-12-08 14:38:36 2896 1

转载 前端安全之XSS攻击

XSS(cross-site scripting跨域脚本攻击)攻击是最常见的Web攻击,其重点是“跨域”和“客户端执行”。有人将XSS攻击分为三种,分别是:1. Reflected XSS(基于反射的XSS攻击)2. Stored XSS(基于存储的XSS攻击)3. DOM-based or local XSS(基于DOM或本地的XSS攻击)Reflected XS

2016-12-07 12:13:40 418

转载 浅谈 CSRF 攻击&&防御

一.CSRF是什么?  CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么?  你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取

2016-12-07 10:57:56 748

转载 异常、堆内存溢出、OOM的几种情况

1、堆内存溢出【情况一】:   Java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环;   如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决:   -Xms3062m    -Xmx3062m     【情况二】   java.lang.Ou

2016-12-06 15:58:42 2279

原创 你真的理解了Collection和Map集合吗?

我们在学习java的集合时,都知道接口Collection下有2个子接口:    List   是有序的集合    Set   是无顺序的集合问题一:怎么有序了?那么List所谓的有序是什么意思呢?初学者可能会有这个误解,就是我每次add进List的元素,它会自动排好序。这其实是不对的。我们看一个例子:package CollectionTest;import java.u

2016-12-06 15:15:23 6013

原创 RSA ~ 非对称加密算法

RSA: 非对称加密,加密与解密使用的密钥不是同一密钥,对中一个对外公开,称为公钥,另一个只有所有者知道,称为私钥。 用公钥加密的信息只有私钥才能解开,反之,用私钥加密的信息只有公钥才能解开(签名验签)。 代表:RSA算法。速度慢,适合少量数据加密。对称加密算法不能实现签名,因此签名只能非对称算法。RSA算法非常简单,概述如下:

2016-12-06 10:10:50 23307 1

原创 DES ~ 对称加密算法

DES属于对称加密算法对称加密指加密和解密使用的密钥是同一个密钥,代表:DES算法,RC算法。速度快,适合大量数据加密。上面的两个密钥是同一把。java代码实现:package security;/** * * @author zhengchao */import java.security.SecureRand

2016-12-05 18:25:52 1716

原创 MD5~单向散列加密

MD5算法具有以下特点:1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。2、容易计算:从原数据计算出MD5值很容易。3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。MD5属于单向散列加密     单向散列加密是通过对不同输入长

2016-12-05 17:52:53 2558

原创 java算法10~判断是否为平衡二叉树

概念:平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它                                  的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。(百度百科)算法目的:判断一个二叉树是否是平衡二叉树。算法要求:时间复杂度O(N),N为节点数目。算法思路:解法

2016-12-01 15:01:14 1394

空空如也

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

TA关注的人

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