自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

在路上

在路上,要懂得积累;在路上,要学会放下;我在路上。Stay hungry,Stay foolish。

  • 博客(76)
  • 资源 (10)
  • 收藏
  • 关注

原创 一张图了解RSA加解密与加验签

RSA加密验签是对安全性要求比较高的机构间通信常用的方式,密钥足够长的情况下,当前的计算能力还不足以解密(不过量子计算机...未来谁知道呢!)。然而,我发现还是有人对这种过程一知半解。比如你们的加签算法用的什么?回答RSA......比如有些机构会对生成的密钥对再用Base64进行编码,这样使用的时候就需要对应的解码,这个过程都被封装在工具类里面了,所以大家看代码的时候尽量多进去看看源码。RSA只

2017-05-10 19:58:08 14603 2

原创 一张图了解TCP/IP五层网络模型

计算机网络有OSI七层模型和TCP/IP五层模型两种,七层模型在应用层和传输层之间多了表示层和会话层,有兴趣的可以去了解一下。下面是我在学习TCP/IP五层网络协议的时候画的一张图,通过这张图就可以简单的了解这五层网络模型的层级划分,并且不同层根据它的职责产生了不同的协议。上图:

2017-03-17 15:00:07 18042

原创 Excel导出公共组件设计

自己动手实现一个Excel导出公共组建!!!!文章主要分为以下几个部分来说明:1、明确目标2、技术预研3、技术方案选型与方案设计4、技术实施下面是实现一个Excel导出模块的目标:通过自定义注解解析需要导出的Excel格式支持自定义日期显示格式支持是否显示自增列支持约定的属性的枚举转换(比如YWG->已

2017-03-16 10:11:22 4871 3

原创 MAVEN创建多模块项目(水平与树形结构)

很久没有写过博客了,很多东西都在笔记里面,没有整理过。不太喜欢写没有经过自己消化和整理的知识,如果自己都没有搞明白,那还是不要写的好,免得误导其他同学。这次写的内容主要就是使用MAVEN创建多模块的web项目,之前写过一个SSM整合的博客,也是MAVEN创建的WEB项目,里面的web/dao/service层使用的是package来隔离的,而企业级开发一般不是这么做的,我们会将不同职能的模块使

2016-11-01 23:09:08 13188 1

转载 送给前线码农的话 - 大牛们的经典语录

看了之后觉得不错,可以共勉。原文地址:http://blog.csdn.net/mazhimazh/article/details/16949869    近半年来,本人几乎天天逛各大论坛网站,浏览大牛们的博客,摘抄了不少经典的好词好段,虽是只言片语,但是这都是当代大牛们的语录心得,所以今天拿出来与大家分享,希望多留言,共同探讨。1、很多问题不见得会出在你身

2016-03-12 13:07:10 6112 3

原创 JAVA并发编程-线程间协作(Object监视器方法与Condition)

JAVA并发编程第一篇    说到线程间协作,不得不提到经典的生产者与消费者模型:有一个商品队列,生产者想队列中添加商品,消费者取出队列中的商品;显然,如果队列为空,消费者应该等待生产者产生商品才能消费;如果队列满了,生产者需要等待消费者消费之后才能生产商品。队列就是这个模型中的临界资源,当队列为空时,而消费者获得了该对象的锁,如果不释放,那么生产者无法获得对象锁,而消费者无法消费对象

2016-02-29 22:11:12 5957 1

原创 JVM-内存分配与回收策略

JAVA技术体系中的自动内存管理实际上就是自动化的解决了给对象分配内存以及回收给对象分配的内存这两个问题。回收部分通过之前的《GC设计思路分析》和《垃圾收集器》这两篇博文进行了总结,那么接下来主要就是谈谈自己对JVM是如何给对象分配内存这一部分的理解。JVM的内存空间是有限的,并且堆内存是共享的,那么不同线程共用堆内存如何保证线程安全都是需要考虑的问题。    通过之前对JVM中的内存

2016-02-24 21:44:37 4983 1

原创 JVM-垃圾收集器

通过学习了解到现在商用的JVM中的垃圾收集采用的是分带收集算法,那么针对不同年代采用了不同的收集算法,从而在JVM发展的过程中,就产生了不同的垃圾收集器,一般分为新生代收集器和老年代收集器,两者相互组合进行GC操作(下图中相连的垃圾收集器表示可以相互组合,注意Serial Old和CMS也可以联合进行老年代的垃圾收集)。JDK6u14中开始测试的G1垃圾收集器,正式发布于JDK7u4中,是目前唯一

2016-01-31 15:25:18 5264 3

原创 JVM-GC设计思路分析

JAVA中将内存的控制交给JVM来实现,方便了JAVA程序猿,当然牺牲了一部分效率,不过总体来看是值得的。那么JVM中是如何设计GC的呢,本文从几个问题入手,然后分析了一下设计思路,如果有理解错误的地方,请批评指正!主要参考了《深入理解JAVA虚拟机》这本书,图是盗来的,图的内容和书上一样。    在JVM的内存模型中,堆内存是JAVA内存区域中最大的一部分,GC主要就是发生在堆中,用来回收那

2016-01-25 23:20:44 4317 1

原创 JVM-OutOfMemory异常重现

JVM中常见的OOM,那么如何通过自己编写代码产生这些OOM异常呢?通过写代码重现异常,是为了避免在工作中写出有OOM BUG的代码。之前虽然看过相关文章,但是没自己写过这些代码,这次在编写的实际过程中,由于和书本使用的JDK版本不一致,也会有点问题。其中印象最深刻的就是从JDK1.7开始常量池就已经不放在方法区了,而是改到了JAVA堆中,所以《深入理解JAVA虚拟机》中的有些知识也需要更新了。下面的代码基于JDK1.7来的。并且在运行程序的时候需要设置JVM参数,如果不设置,轻则需要等待很长时间才会出现异

2016-01-23 21:18:44 4025

原创 JVM-JAVA对象的访问

JAVA中对象的访问    JAVA是面向对象的语言,那么在JAVA虚拟机中,存在非常多的对象,对象访问是无处不在的。即时是最简单的访问,也会涉及到JAVA栈、JAVA堆、方法去这三个非常重要的内存区域之间的关联关系。 比如:    Object obj = new Object();     其中,“Object obj”这部分语义作为一个reference类型数据出现,

2016-01-03 17:05:23 4565

原创 2016年计划,2015年总结

2015已过,过去的都过去了,但是回顾整个2015确是人生中非常重要的一年。    2015年考完了驾照,拿到了毕业证,来到了广州开始人生中的第一份工作,真正的独立了。2015年也斩断了过去,是我人生一个新的起点。    2016崭新的一年,相信这一年会比2015更好,我会更努力,对自己的人生负责,脚踏实地,打好自己人生的基石。在这里给自己定下一些计划:做好本职工作,在工作上取

2016-01-01 11:37:55 4617 7

原创 Hadoop集群完全分布式搭建教程-CentOS

本篇在前一篇《Hadoop单机模式和伪分布式搭建教程》的基础上完成完全分布式的搭建,所以本篇的前提是已经按照之前的教程完成了伪分布式的安装。1. 说明       本教程中电脑为8G内存,故而将使用四个节点作为集群环境,其中一个为master,3个为slaver(分别是slaver1、slaver2和slaver3master节点将仅为namenode存在,而slaver节点是da

2015-12-27 18:03:14 11651 2

原创 Hadoop单机模式和伪分布式搭建教程CentOS

首先说明一下:采用的是新装的CentOS的环境,利用xshell进行远程操作来搭建Hadoop单机模式,伪分布式和完全分布式的文档。环节都是一环套一环,有先后顺序存在。本人是在win8.1 64位系统环境下,并且安装的Cent OS也是64位,故所有相关软件都是64位的。此教程只要照着做,都可以完成,祝大家成功!系统和软件以及版本说明:系统和软件

2015-12-26 22:25:46 14495 7

原创 Linux常用命令总结

工作全是在linux环境下进行的,必然需要使用到很多的Linux命令,自己做了一个总结,虽然不全面,但是我会不断进行更新。接下来想把如何搭建hadoop单机分布、伪分布式、完全分布式的过程做个回顾,然后分享一下吧,感觉自己工作后很多东西都没有总结,知识很乱,利用博客这个平台可以帮助自己总结一些知识。红色加粗表示个人(程序员,所以除了基本命令外,其他和运维人员肯定不太一样)使用频率很高的

2015-12-24 18:08:37 4292

原创 JVM-内存模型

本篇其实就是一个读书笔记,书是《深入理解JAVA虚拟机》,在网上搜索JAVA内存,说的比较好的其实很多都源自这本书,作为一个JAVA程序员,理解虚拟机是通向高级程序员的必经道路。本篇中的图片源自当时网上,具体出处找不到了,请见谅。所谓的线程安全,其实就是不同线程对同一个资源的访问和修改引发的数据不一致问题。对于线程安全的理解,需要了解JVM中的内

2015-12-23 21:59:53 5343 3

转载 MapReduce:详解Shuffle过程

最近都在学习hadoop,目前对hdfs,mapreduce,hive,zookeeper,hbase有了基本的认识和了解,搭建了相关开发环境等。现在在进行进一步的学习,看到这篇关于Shuffle过程的详解,觉得写得不错,故而转载。关于自己的学习笔记,也想分享到博客来,但是由于平时工作都是在加紧新东西的学习,故而没有时间整理发布,但是我认为整理是学习的必须阶段,故而想利用接下来的一个大长假对这两个

2015-09-16 16:55:38 2804

转载 表的内连接、外连接(左连接与右连接)

听同学说有校招笔试考到这个概念,一般没有专门学习数据库的话对这个都不是很了解,但是其实很简单,看到一篇博客对这个概念解释的很清楚,故而转载。 有两个表A和表B。  表A结构如下:  Aid:int;标识种子,主键,自增ID  Aname:varchar  数据情况,即用select * from A出来的记录情况如下图1所示:

2015-09-15 09:37:18 11499

转载 服务器负载均衡的基本功能和实现原理

负载均衡设备作为纵跨网络2-7层协议的设备,往往放置在网络设备和应用设备的连接处,对工程师在网络和应用基本知识方面的要求远高于其他设备,所以我们要在基本功能的理解上下更多的功夫。负载均衡设备还有另外一个称呼:4/7层交换机,但它首先是个2-3层交换机,这要求我们首先掌握2-3层的基本知识,然后才是本文介绍的内容。服务器负载均衡有三大基本Feature:负载均衡算法,健康检查和会话保持,这三个特性。

2015-06-03 11:11:29 4618

原创 SVN版本控制服务器安装与配置

版本管理在我们日常学习中一般接触不到,因为我们都是一个人在学习与开发一些练习的项目。但是实际中,一般项目都是协同开发的,这样就需要一个版本管理工具,常见的有SVN/CVS/GitHut等...通过它们我们就可以进行协同项目开发了。没用过的觉得很厉害的样子,用过的就会感觉确实很厉害...配置起来很简单,人人都可以。-----------------------------------------

2015-02-04 14:27:39 6169

原创 MySQL Server找回密码

最近使用了一台院里的服务器,但是不知道MySQL的密码,无奈之下自己去找解决方法,过程很简单哦!    首先输入下面一行语句:mysqld --defaults-file="E:\MySQL Server 5.1\my.ini(这里是自己的mysql安装目录)" --console --skip-grant-tables ,然后就可以看到如下图所示的提示,表示已经进入了mysql管理了

2015-01-30 14:03:29 1684

转载 JAVA代码效率优化

最近在想自己编程时是否注意过代码的效率问题,得出的答案是:没有。代码只是实现了功能,至于效率高不高没怎么关注,这应该是JAVA程序员进阶的时候需要考虑的问题,不再是单纯的实现功能,也不是完全依赖GC而不关注内存中发生了什么,而要考虑到代码的性能。下面是网上找的一篇关于JAVA代码优化的文章,觉得不错,就转载了。这里面设计到了JAVA基础和J2EE方面的优化建议,有时间会整理一下,现在先转载。 

2015-01-04 13:54:46 3501

原创 时间都去哪了?没到最后,怎能懈怠...

好久没写博客,尤其是技术类的博客。很不幸,这次又只是感性情绪出来了,想写点感想。虽然近期也码了一些代码,做了一些设计,但是已经感觉自己没有什么提升了,上次开会老师说我已经进入了一个瓶颈期,这点我认为老师说的很对,我确实已经进入了一个瓶颈期。       从2013年5月第一次接触到JAVA,转眼都已经快到2015年了,这近20个月学习,特别是今年4月份至10月份,成长的很快。现在虽然在开发与设

2014-12-25 22:27:36 1693

原创 FastJson生成和解析JSON数据

生成和解析JSON数据格式的包有很多种:Gson、json-smart、FastJson、jackjson等,FastJson是一个阿里巴巴的大神开发的开源的Json处理工具包,包括“序列化”和“反序列化”两部分,号称最快。但是我认为没有最快,只有更快,只要这个功能满足我的需求,速度不错就行了,这就是我选择工具的基本标准(不是特别追求性能...)。    FastJson功能强大,完全支持Ja

2014-12-04 17:56:25 8787

原创 android——解决Android SDK Manager无法更新的问题

都知道由于某些原因Android SDK Manager无法正常更新,网上有很多方法解决这个问题,以下推荐一个非常简单的方法,今天(2014-11-26)刚刚亲测过,而且下载速度挺快...

2014-11-26 14:01:30 2204

原创 百度地图SDK3.2.0—自定义缩放按钮,与手势同步

百度地图SDK3.0今年6月5号更新之后,全面升级SDK接口设计,不兼容老版本。 本文简介:百度地图自带缩放控件很丑,即使在9月18号发布的3.1.1版本中开放了调整位置的接口依然无法满足我的需要,而且百度地图自己的产品就是位于右侧上下排列的两个缩放按钮,看着舒服,用着方便。故而本文说明的就是模仿这种实现的一个简单方法。

2014-11-22 10:34:12 9212 2

原创 Android——隐藏输入法的小技巧

今天偶然在百度地图提供的DEMO里看到这样一段代码,觉得确实是个小技巧,就写下来分享一下。针对的问题:       我们在开发android界面的时候,经常使用EditText控件,然后每次进入这个页面的时候,获取焦点,自动调用输入法。有时候我们并不需要这样,接下来就是这个小技巧的代码了,加入到这个布局第一个EditText之前即可: <LinearL

2014-11-18 10:36:25 1918

原创 参加宣讲会找工作的流水账

今年十月,是我人生当中第一次

2014-10-30 16:57:41 3108 3

原创 充实的九月,我要毕业了!

九月是忙碌的一个月,

2014-10-01 21:55:59 1859

原创 Android——解决端口占用问题导致的模拟器无法识别

遇到一个问题:昨天模拟器工作还正常,今天eclipse就识别不了了。后来发现是360手机助手占用了5555端口造成的,我就纳闷了,平时这个也不是自动启动,今天就启动了。废话不多说,就几个步骤就可以解决类似的端口占用问题:        打开命令窗口,输入netstat -an  就可以查看到所有的端口占用情况,如下图所示,模拟器需要的5555端口被占用了:下

2014-08-30 12:07:27 3840

原创 Android——SQLite实现面向对象CRUD

android中SQLite的使用,其实倒也不难,但是与JDBC操作数据库相比,这个还是有点不顺手,而且我好久没写底层的封装了,使用SSM框架这些都不需要考虑......好了,废话不多说,下面直接建立一个测试工程来试试SQLite在Android中的应用吧。1、新建一个工程2、配置junit测试环境打开AndroidManifest.xml文件,进行jU

2014-08-27 17:20:44 3712

原创 设计模式——观察者模式(Observer)

要想正确理解设计模式,首先必须明确它是为了解决什么问题而提出来的。设计模式学习笔记,欢迎交流。——Shulin转载请注明出处:http://blog.csdn.net/zhshulin1、概念                观察者模式是对象的行为模式,外号非常多...!!又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/V

2014-08-20 16:52:41 5080 1

原创 设计模式——门面模式(Facade)

要想正确理解设计模式,首先必须明确它是为了解决什么问题而提出来的。设计模式学习笔记——Shulin转载请注明出处:http://blog.csdn.net/zhshulin1、概念        门面模式是对象的结构模式,外部与一个子系统的通信必须通过一个统一的门面对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。2、针对的问题为子系

2014-08-19 13:42:50 5224

原创 Android——判断Service是否已经启动

延续百度地图定位的Demo,采用Service来进行百度定位,并且将数据上传到服务器上遇到了一个问题:在真机中使用清理内存来关闭程序的之后,Service会被关闭,但是过几秒中,它又会自动重启;重启就算了,而且再次登陆系统的时候,又会开启一个一样的服务,在LogCat中就会看到每次都获取到两次的定位数据。然后想想是否可以在建立Service之前判断这个服务有没有被创建?只要能做这个判断,那么服务存

2014-08-18 22:39:35 16628 1

原创 设计模式——装饰模式(Decorator)

要想正确理解设计模式,首先必须明确它是为了解决什么问题而提出来的。设计模式学习笔记——Shulin转载请注明出处:http://blog.csdn.net/zhshulin1、概念        装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。        但是纯粹的装饰模式很难找到,大多数的装饰模式的实现

2014-08-18 20:23:19 54966 11

原创 设计模式——适配器模式(Adapter)

基本概念适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。        在GoF的设计模式中,对适配器模式讲了两种类型,类适配器模式和对象适配器模式。适配器模式还有一个特例,就是缺省适配模式(Default Adapter),又称接口适配模式。1、 类适配器模式        把适配类的API转换成目标类

2014-08-11 21:24:24 2905

原创 设计模式——抽象工厂模式(Abstract Factory)

要想正确的理解设计模式,首先必须明确它是为了解决什么问题而提出来的。抽象设计模式概念:        针对抽象工厂这个设计模式,我查找了不少资料,感觉只有涉及产品级别和产品族的才是理解了抽象工厂设计模式的精髓,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式针对的是多个产品等级结构。有些观点认为抽象工厂模式是为了解决客户端代码与工厂类的耦合问题,我认为这种观点的解决方案只是简单工厂模式

2014-08-02 16:52:37 5370

原创 设计模式——工厂模式(Factory)

1、概念           工厂模式定义:实例化对象,用工厂方法代替new操作。达到解耦的目的(避免硬编码耦合)。工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。        工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序

2014-08-01 16:57:01 3004

原创 设计模式——单例模式(Singleton)

单例模式属于设计模式中的创建模式,即创建对象时,不再由我们直接实例化对象,而是根据特定场景,由程序来确定创建对象的方式,从而保证更大的性能、更好的架构优势。1、概念        单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。选择单例模式就是为了避免不一致状态。使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利于Java垃圾回

2014-07-28 11:35:37 3463

原创 SSM框架——以注解形式实现事务管理

上一篇博文《SSM三大框架整合详细教程》详细说了如何整合Spring、SpringMVC和MyBatis这三大框架。但是没有说到如何配置mybatis的事务管理,实现开发中,事务是必不可少的。本篇作为对上一篇的补充,说明在SSM框架中如何使用注解的形式进行事务管理。什么是事务?          在编写业务的过程中,会需要进行事务处理,当需要执行多条插入语句时,如果前几条成功,而最

2014-07-25 10:03:48 38243 16

百度地图3.0自定义缩放按钮

替换百度默认的缩放控件,对应博文:http://blog.csdn.net/zhshulin/article/details/41378927

2014-11-22

SQLite在android中实现增删改查小例子

本资源对应博文:http://blog.csdn.net/zhshulin/article/details/38872075,在android实现了面向对象的增删改查操作。有问题可以留言,我们一起讨论。

2014-08-27

Spring+SpringMVC+Mybatis框架整合例子(SSM) 下载

本资源对应博文:http://blog.csdn.net/zhshulin/article/details/37956105,可以通过博文进行学习,不建议下载完整源码,博文有详细教程,以及代码。

2014-07-21

百度地图API定位与显示Demo 源码程序

获取自己当前的经纬度坐标,并且显示在地图上的一个小Demo,可供大家参考。获取自己当前的经纬度坐标,并且显示在地图上的一个小Demo,可供大家参考。获取自己当前的经纬度坐标,并且显示在地图上的一个小Demo,可供大家参考。获取自己当前的经纬度坐标,并且显示在地图上的一个小Demo,可供大家参考。

2014-07-07

jq弹出div演示_20131211095542

方法A: 把浮动div和触发元素a放于同一个父级元素内,鼠标经过父级元素时触发显示。这样鼠标移动到div时仍然 处于该父级元素内,则div不会隐藏。 方法B: 鼠标经过a时弹出div,鼠标离开a时设置一个计时器用来关闭div,如果鼠标移动到div后则清除计时器。

2014-07-01

MyEclipse安装SVN插件

MyEclipse安装SVN插件,解压放在SVN文件夹下,然后复制到MyEclipse安装目录中的dropins目录下

2014-05-12

MyEclips中JS代码提示插件(spket)

MyEclips中JS代码提示插件(spket)MyEclips中JS代码提示插件(spket)MyEclips中JS代码提示插件(spket)

2014-05-12

EMF+GEF+VE

本文件中包含了搭建eclipse+ArcEngine二次开发环境的EMF+GEF+VE这三款插件,配合eclipse-jee-helios-SR2-win32可以搭建成功。

2014-01-12

JAVA实现多对多聊天

使用JAVA开发的网络聊天程序,带有UI界面以及客户端和服务器端的全部代码,适合于课程设计和JAVA的Socket编程学习,通信协议为IP。

2013-12-27

堆排序算法(java)

java的堆排序算法实现程序,含测试,可直接运行。java的堆排序算法实现程序,含测试,可直接运行。

2013-11-26

空空如也

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

TA关注的人

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