自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(78)
  • 资源 (11)
  • 收藏
  • 关注

原创 垃圾回收算法详解(二)分代垃圾回收算法

概念堆空间结构新生代空间作用记录集对象结构分配新生代GC老年代GC概念 首先,“分代垃圾回收”不能单独用来执行 GC。它是用来和之前介绍的基本算法结合在一起使用,来提高那些基本算法的效率的。 也就是说,分代垃圾回收不是跟 ”GC 标记 - 清除算法”和 “GC 复制算法”并列在一起供我们选择的算法,而是需要跟这些基本算法一并使用。好了,来看看什么是分代垃圾回收算法吧。首

2017-04-08 23:16:33 1604

原创 垃圾回收算法详解(一)基础算法

一算法图谱二算法介绍1标记清除法2引用计数法3复制法4标记压缩法一、算法图谱二、算法介绍2.1标记清除法 标记清除法分为标记阶段与清除阶段,先来看个图解。 上图描述:从根节点出发,标记所有能从根节点到达的节点。 上图描述:从堆开头开始遍历,遇到未被标记的节点就将其插入到空闲链表中,遇到已标记的节点则清除其标记。 伪代码描述如下 以上是垃圾标记清除阶段伪代码,总过程就是先标记,后

2017-04-04 20:51:27 909

原创 Twitter Snowflake算法详解

一、简介Twitter Snowflake算法是用来在分布式场景下生成唯一ID的。举个栗子:我们有10台分布式MySql服务器,我们的系统每秒能生成10W条数据插入到这10台机器里,现在我们需要为每一条数据生成一个全局唯一的ID, 并且这些 ID 有大致的顺序。二、算法图解 如图:最后生成的ID是一个long类型,long占64bit,符号位占1位,剩下63位,我们将这63位拆分成4段,就可以表示

2016-10-09 19:48:56 4407 5

转载 spring 拦截器 spring自定义注解

从别人处转载 找不到出处 最近项目里加上了用户权限,有些操作需要登录,有些操作不需要,之前做项目做权限,喜欢使用过滤器,但在此使用过滤器比较死板,如果用的话,就必须在配置文件里加上所有方法,而且 不好使用通配符。所以想了想,之前在人人用过的一种比较简单灵活的权限判断,是采用spring 的 methhodInterceptor拦截器完成的,并且是基于注解的。 现在自己写了一套。大概是用法是这样的

2017-08-29 20:09:55 610

原创 自定义注解实战

自定义注解,spring

2017-08-29 19:59:20 717

原创 [转载]垃圾收集分析(1)-Java对象结构(上)

一直想通过代码实践去分析一下GC的机制,突然发现膜拜已久的大神哈希哥刚好不久前做了这件事情。而且做得非常的仔细,文章也非常好,于是通过大神的文章指导去做了实验。在此感谢哈希哥! 向哈希哥致敬!大神的文章标明禁止转载,因此就在此就贴个链接吧。垃圾收集分析(1)-Java对象结构(上)

2017-05-14 18:32:46 542

转载 RocketMQ与kafka对比(18项差异)

本文转自RocketMQ与kafka对比(18项差异) 并对原文将书写错误做了修正。 淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Linkin开源了Kafka这个优秀的消息中间件,淘宝中间件团队在对Kafka做过充分Review之后,Kafka无限消息堆积,高效的持

2017-04-23 15:44:07 643

原创 动态代理详解(二)原理解析

确定目标问题解答newProxyInstancegetProxyClassgenerateProxyClassJDK生成的字节码invoke的调用位置确定目标问题在上一篇博文 动态代理详解(一)应用示例 中,读完代码之后存在的主要困惑有两点:1.MyInvocationHandler 的 invoke 方法是什么时候调用的?2.Proxy.newProxyInstance(Thread.c

2017-04-15 16:28:27 814

原创 动态代理详解(一)应用示例

import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class MyInvocationHandler implements InvocationHandler{ // 目标对象 private Object

2017-04-15 15:21:37 589

原创 HTTP图解(三)HTTP2.0

本文出自我之前做的PPT,主要讲解HTTP的基本原理和介绍HTTP2.0

2017-04-14 17:14:31 892

原创 HTTP图解(二)HTTP安全

本文出自我之前做的PPT,主要讲解HTTP的基本原理和介绍HTTP2.0

2017-04-14 17:09:08 575

原创 HTTP图解(一)基础篇

本文出自我之前做的PPT

2017-04-14 17:04:40 650 1

原创 地图投影的新猜想

现今地图投影主要采用将三维空间投影到二位平面上的方法,这一方法有许多的局限性和漏洞,其中最大的问题就是将三维空间投影到二维平面上而造成的变形,这将导致在平面上观察和计算三维物体属性的不准确性,从而导致一系列的问题.是否能够将三维物体投影到四维空间或是更高的维度的空间呢?或许这难以理解和想象,让我们先来想想将二维平面投影到三维空间的例子:如果要在一个一维空间里描述二维的空间,我们只能得到二维空间的一个

2017-03-18 15:16:21 530

原创 API网关设计与实现(一)

API网关使用场景API网关技术选型与应用架构API网关使用场景 在使用微服务架构场景下,客户端在调用后台微服务时,都需要进行登陆认证、权限认证、流量控制、负载均衡、健康检查等操作,这些操作是调用每一个微服务都必须。因此需要将该操作交给一个高性能的中间层进行处理,以降低系统间的耦合,并使微服务更加专注于业务逻辑处理,降低整体系统的响应时间。如图,来自各种终端的请求经过一层负载均衡后到达网关,

2017-03-18 14:59:16 15194 1

原创 RocketMQ源码解析(1)--代码结构与模块说明

1.依赖关系图2.模块介绍common:通用的常量枚举、基类方法或者数据结构。remoting:用Netty4写的客户端和服务端,fastjson做的序列化,自定义二进制协议。srvutil:只有一个ServerUtil类,类注解是,只提供Server程序依赖,目的为了拆解客户端依赖,尽可能减少客户端的依赖。store:存储服务,消息存储,索引存储,commitLog存储。client:客户端,包含

2017-03-17 17:43:57 691

原创 RocketMQ报错No route info of this topic解决方案

按照官方文档启动broker ↓↓↓↓↓↓这是错误的!!!↓↓↓↓↓↓nohup sh bin/mqbroker -n localhost:9876 &↑↑↑↑↑↑这是错误的!!!↑↑↑↑↑↑测试时会报错:com.alibaba.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest1

2017-03-16 11:40:17 35323 22

原创 RocketMQ4.0.0环境搭建及HelloWorld

一、linux平台下搭建1 准备条件:64bit JDK 1.7+;且配置好JAVA_HOME环境变量2 去apache官网Downloading the Apache RocketMQ Releases下载rocketmq-all-4.0.0-incubating-bin-release.zip,注意:最好要Binary版,不然后续启动会报ClassNotFound错误。如果官网已经没有4.0.0

2017-03-02 19:50:04 2315

原创 java多线程常用关键字与方法介绍(二)

一ReentrantLock类二ReentrantReadWriteLock类三Condition一、ReentrantLock类服务类:public class MyService { private Lock lock = new ReentrantLock(); public void methodA() { lock.lock(); for

2017-02-25 17:42:02 577

原创 java多线程常用关键字与方法介绍(一)

一synchronizedsynchronized 非静态方法synchronized 静态方法synchronized 代码块二volatile三wait notify一、synchronized1.synchronized & 非静态方法服务类public class MyService{ private int count; synchronized publ

2017-02-25 15:32:36 4407

原创 ReentrantLock方式实现生产者-消费者模式

生产者与消费者类:public class MyService { private ReentrantLock lock = new ReentrantLock(); private Condition condition = lock.newCondition(); private boolean hasValue = false; public void set()

2017-02-25 11:26:27 1118

原创 synchronized方式实现生产者-消费者模式

生产者:public class Producer { private String lock; public Producer(String lock){ super(); this.lock = lock; } public void setValue(){ try{ synchronized (

2017-02-25 11:09:03 1293

转载 IEDA常用快捷键记录

———–自动代码——–Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码(如get,set方法,构造函数等) 或者右键(Generate) fori/sout/psvm + Tab Ctrl+Alt+T 生成try catch 或者 Alt+enter CTRL+ALT+T 把选中的代码放在 TRY{} IF{} ELSE{} 里 Ctrl + O 重

2017-02-09 17:18:39 1445

原创 IDEA为基于Dubbo的web项目配置Tomcat的启动方式

一基本思路二步骤详解1 项目结构介绍2构建Artifacts3配置tomcat一、基本思路用项目生成一个Artifacts,然后将Artifacts在tomcat启动前进行build。二、步骤详解2.1 项目结构介绍2.2构建Artifacts点击右上角“Project structure”,如图 点击Artifacts后,点击绿色“+”按钮,选择Other选项,然后修改Output di

2016-12-21 11:25:59 8621 4

原创 微信小程序开发 之 环境准备(一)

一、相关资源微信小程序开发教程微信小程序开发工具下载二、技术储备JavaScriptCSSHTML

2016-10-26 14:15:56 522

原创 实现bootstrap的dropdown-menu(下拉菜单)点击后不关闭的方法

一、场景描述如图,我要完成一个消息通知框,点击绿色对勾按钮之后会隐藏掉一条通知。我先直接给绿色对勾按钮添加一个点击事件,由于使用bootstrap框架,所以用户在点击通知框中任何地方时,都会隐藏掉整个通知栏。现在要求点击绿色对勾按钮后只隐藏该行通知,而不会隐藏整个通知框。实现原理:其中涉及到javascript的事件冒泡机制,当我们触发了绿色对勾按钮的事件后,需要终止该事件在传播过程的捕获、目标处理

2016-10-19 10:35:22 9661 1

原创 node.js学习之路(二)之“深入理解面向对象的JavaScript”

一、重新认识面向对象为了说明 JavaScript 是一门彻底的面向对象的语言,首先有必要从面向对象的概念着手 , 探讨一下面向对象中的几个概念:一切事物皆对象对象具有封装和继承特性对象与对象之间使用消息通信,各自存在信息隐藏以这三点做为依据,C++ 是半面向对象半面向过程语言,因为,虽然他实现了类的封装、继承和多态,但存在非对象性质的全局函数和变量。Java、C# 是完全的面向对象语言,它

2016-10-15 18:18:01 2157

原创 node.js学习之路(一)之“面向对象的JavaScript入门”

一、前言node.js以JavaScript为基础,因此学习node.js之前有必要复习一下JavaScript,其中我的学习之路是先看《JavaScript高级程序设计》,后看《JavaScript语言精粹》,准备再继续看《webkit技术内幕》。其中JavaScript面向对象的特性在node.js里是必须熟练掌握和深刻理解的知识点,因此特地提出来一起复习。二、JavaScript面向对象入门J

2016-10-13 22:58:14 810 1

原创 Java中的Copy-On-Write简介

一、CopyOnWrite概念CopyOnWrite容器通俗的理解是当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完元素之后,再将原容器的引用指向新的容器。这样做的好处是我们可以对CopyOnWrite容器进行并发的读,而不需要加锁,因为当前容器不会添加任何元素。所以CopyOnWrite容器也是一种读写分离的思想

2016-10-08 09:38:55 856

原创 ConcurrentHashMap简介

1.ConcurrentHashMap结构一个ConcurrentHashMap里包含一个Segment数组,Segment也是一种可重入锁ReentrantLock,在ConcurrentHashMap里扮演锁的角色, 一个Segment里包含一个HashEntry数组,每个HashEntry是一个链表结构的元素,HashEntry则用于存储键值对数据,每个Segment守护者一个HashEntr

2016-10-06 17:34:14 707

原创 ReentrantReadWriteLock与ReentrantLock对比分析

一.前言ReentrantReadWriteLock与ReentrantLockde的关系并不是雷峰塔与雷锋的关系。 个人理解: synchronized ——> ReentrantLock ——> ReentrantReadWriteLock是JVM逐渐向程序员放权的过程。 synchronized是将线程管理的操作全部交给了JVM,开发人员不需要关心线程的锁、线程切换等细节,反正在方法上或

2016-09-26 19:07:15 1090

原创 Java中的synchronized、ReentrantLock两种锁对比

一、结论1.synchronized或ReentrantLock 分别在什么时候使用呢?答:在确实需要一些 synchronized 所没有的特性的时候,比如时间锁等候、可中断锁等候、无块结构锁、多个条件变量或者锁投票。 ReentrantLock 还具有可伸缩性的好处,应当在高度争用的情况下使用它,但是,大多数 synchronized 块几乎从来没有出现过争用,所以可以把高度争用放在一边。我

2016-09-26 16:13:10 556

原创 团队开发中GIT使用流程

1.开发前需要从主master分支fork出自己的master,然后在自己的master的基础上创建一个DEV分支。2.开发中,在DEV分支中修改代码,直接提交到主master,没有冲突直接提交。3.如果遇到冲突,需要先将自己的从master做merger操作到自己的DEV分支,修改冲突后,再从DEV提交到主master。

2016-09-14 14:21:00 1270

原创 大型网站架构演化之路

1.大型网站的架构演化1.单服务器阶段————应用程序、数据库、文件都在一台服务器上。2.应用服务于数据服务分离————应用程序、数据库、文件分别部署在不同的服务器上。3.引入缓存缓解数据库访问压力4.使用应用服务器集群提高并发处理能力5.数据库读写分离–缓解数据库访问压力6.使用反向代理和CDN加速网站响应7.使用分布式文件系统和分布式数据库系统8.使用NoSQL和搜索引擎9.业务拆分10.分布式

2016-09-09 20:03:43 639

原创 Dubbo项目开发及部署的简单示例

Dubbo项目开发及部署的简单示例本文主要讲解以下几个方面知识点:简易版Dubbo项目的结构基于maven的打包操作linux下Dubbo服务的启动linux下项目日志的定时清理1.简易版Dubbo项目的结构 testServer是provider testClient是consumer testCall是测试用的2.基于maven的打包操作1在pom.xml里添加pr

2016-09-02 09:30:13 6775 1

原创 记录微软的BUG一则--Repeater里的RadioButtonList不可以局部刷新

<asp:UpdatePanel runat="server" ID="UpdatePanel2" ViewStateMode="Enabled"><ContentTemplate><asp:Repeater ID="rptAttributeList" runat="server" OnItemDataBound="rptAttributeList_ItemDataBound" visible=

2016-02-02 11:32:24 705

原创 c#导出EXCEL

using NPOI.HSSF.UserModel;using Resources;using System;using System.Collections.Generic;using System.Data;using System.Drawing;using System.IO;using System.Text;using System.Web.UI;using Syste

2016-01-25 14:46:02 477

原创 C#使用iTextSharp打印PDF

打印PDFusing iTextSharp.text.pdf;using iTextSharp.text; //字体 private BaseFont bfHei = BaseFont.CreateFont(@"C:\Windows\Fonts\simhei.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); //

2016-01-25 14:43:42 9838 1

原创 MVC配置路由

using V5print.Components;using V5print.WebFile.Areas;using System;using System.Web.Mvc;using V5print.WebFile;using System.Web.Http;namespace V5print.WebFile.Areas.Shop{ public class ShopArea

2016-01-25 14:38:56 452

原创 MVC在control内传递AJAX

前台: //重新提交审核 function ReConfirm(OrderId) { $.ajax({ type: "POST", dataType: "text", url: "/UserCenter/UpdateOrderStatus", data: { OrderId

2016-01-25 14:36:05 465

原创 .net的web开发前后端传值系列(二)

使用一般处理程序处理AJAX请求 前台: function SaveSKU(SkuId) { var Elements = $("." + SkuId); var CostPrice1 = Elements[0].value; var CostPrice2 = Elements[1].value; var Weight = Eleme

2016-01-25 14:31:55 610

RocketMQ4.0.0安装包

RocketMQ4.0.0安装包,Apache官网下载存档,每次RocketMQ版本升级,之前的版本就找不到了,特此备份。

2017-03-02

RocketMQ原理简介

RocketMQ原理简介,高清,阿里巴巴官方出品

2017-03-02

RocketMQ用户指南

RocketMQ用户指南,高清,阿里巴巴官方出品

2017-03-02

图解把SQLServer数据导入Access

超级详细的介绍把SQLServer数据导入Access的步骤,因为博客显示不了这些图片,所以以文档的方式上传资源。应该可以帮到大家。

2015-07-26

ojdbc7.jar

Oracle的JDBC驱动,oralc 最新驱动,基于JDK7的驱动,看网上没有,去官网下了个共享下

2015-01-04

MyEclipse反编译class工具.zip

MyEclipse反编译class工具,帮助你查看任何jar包的源代码,功能强大,具体使用教程课查看本人的CSDN博客

2014-12-17

C语言课程设计(学生信息管理系统)

信息包含:学生的学号,姓名,性别,出生年月,年龄,电话,地址,email. 功能包括:输出,输入(包含检验是否重复输入的函数),查询,删除,保存。 其他:主要用到结构体、数组、文件等内容。该系统用模块化处理,简洁,健壮,可添加和移植性强。是C语言课设的满分的答案,实属居家旅行、拿奖砍分的必备之神代码也!

2014-01-03

arcgis10.0注册机

使用该注册机可以快速获得破解arcgis10.0的service.txt文件,将该文件复制便可永久免费使用arcgis10.0了.

2013-12-03

空空如也

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

TA关注的人

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