- 博客(184)
- 资源 (21)
- 收藏
- 关注
原创 芝诺悖论-阿基里斯与龟
阿基里斯与龟 阿基里斯是古希腊神话中善跑的英雄。在他和乌龟的竞赛中,他速度为乌龟十倍,乌龟在前面100米跑,他在后面追,但他不可能追上乌龟。因为在竞赛中,追者首先必须到达被追者的出发点,当阿基里斯追到100米时,乌龟已经又向前爬了10米,于是,一个新的起点产生了;阿基里斯必须继续追,而当他追到乌龟爬的这10米时,乌龟又已经向前爬了1米,阿基里斯只能再追向那个1米。就这样,乌龟会制造...
2018-08-16 22:13:14
3815
1
原创 学习金字塔
结构图总结 从上图我们可以知道,主动学习比被动学习效率要高的多,而在主动学习中,教授给他人这种方式的效率最高,把自己认为自己会的,通过一些方式教授给别人,这种过程可以使自己获得的更多,相信这样做的你一定会有很大的收获。...
2018-08-16 21:51:00
559
2
原创 JVM的GC
垃圾收集算法 基于回收策略划分 引用计数算法 对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器就加1,当引用失效时,引用计数器就减1,只要对象A的引用计数的值为0,则对象A就不可能再被使用。此算法的问题:引用计数器的维护影响性能;很难处理循环引用。该算法没有被java采用。
2017-09-16 20:47:34
462
3
原创 JVM的内存
内存模型 JVM的内存模型大致为如下图所示 JVM对内存采用的是分代的方式进行管理,而采用这种方式的原因:不同对象的生命周期是不一样的,不同生命周期的对象可以采取不同的方式进行管理,这样效率更高。JVM按代进行划分,方法区为持久代,堆为老年代和新生代,大致如下图所示 年轻代:
2017-09-16 16:07:29
451
3
原创 JVM的基本了解
概述 本篇博客的主要目的是能让大家对JVM有一个基本了解,知道JVM是什么,作用和功能,基本组成结构,以及每个组成的基本作用,对于应用方面的内容,会在之后的博客中叙述。虚拟机和JVM 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。对于VMWare这种软件,我们可以非常容易的理解为它
2017-08-31 23:17:54
658
1
原创 CPU高占用和并发操作HashMap的关系
概述 本篇博客是描述生产环境出现的问题,以及解决问题时的整个过程。场景 生成环境出现CPU占用为98%的情况,当时那段时间也有相应的定时任务在运行。定位问题 发现CPU占用为98%的情况后,当时,首先想的是到底是那个点,或者那块代码导致的这个问题啊,于是先查看了占用CPU较高的进程ID,查询进程ID后,再查看该进程下CPU占用较高
2017-08-31 23:17:11
1953
4
原创 netty的编码,半包和粘包
概述 本篇通过demo讲解netty的编码,半包和粘包的现象。编码 网络传输的都是字节流,不是字符,在netty中使用ChannelBuffer将传输的内容分装了起来,所以,netty服务端再接收到信息后,需要从ChannelBuffer中读取相应的字节流,然后再对这些字节流进行相应的编码,如果发送方的编码和接收方使用的不是同一种编码就会产生乱码。
2017-07-30 19:27:47
2488
2
原创 netty的简单实现
概述 本篇博客通过简单的demo实现netty的使用netty3 1、添加netty3的maven依赖 org.jboss.netty netty 3.2.10.Final 2、服务端的demopackage five.heart3
2017-07-30 18:11:54
658
3
原创 java的NIO实现
单线程处理package one;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;import java.
2017-06-26 00:20:06
371
原创 java的BIO实现
概述 该篇博客主要讲解BIO的使用,以及使用中存在一些问题。单线程处理package one;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;/** * BIO服务端 */public
2017-06-25 22:27:33
1856
1
原创 tomcat的集群(2、apache http server+jk)
概述 apache http server具有静态web服务器和代理服务器的功能,我们使用它的代理服务器的功能,实现请求的转发,使用apache提供的jk插件,实现负载均衡。工作原理apache http server和nginx区别 这两个的区别有很多,主要的区别如下: apache http server时同步多进
2015-08-31 23:53:17
540
2
原创 tomcat的集群(1、nginx)
概述 tomcat的负载均衡的具体实现有很多种方式,常见的有3种:nginx方式,apache http server + jk,lvs+keepalived。本片博客主要讲解,nginx方式。nginx的功能 nginx的功能大致分为三种:普通的web服务器,反向代理,邮件代理服务器。实现tomcat集群用的nginx的反向代理服务器的功能。
2015-08-31 23:16:58
477
1
原创 JMS-ActiveMQ
概述 JMS的全称为Java Message Service,是sun对企业应用程序开发(j2ee)的异步通信方式方面做的规范。消息模型 P2P方式 每个消息只有一个接收者,接收者接收到信息后,需要有回应,是一种安全的通信方式。 Pub/Sub方式 每个消息可有多个消费
2015-08-31 22:46:51
405
原创 java缓存(5、redis)
概述 redis是第三方分布式缓存,采用单线程进行操作数据,支持很多功能。功能介绍 支持简单的事务,redis的事务的机制非常的简单,其主要作用就是保证,一个client的一个事务内的指令的连续性,在这个事务执行的过程中,其它客户端的指令不能让其中断,不支持回滚,注意,对于分布式的redis不支持事务,因为没有提供分布式事务的支持。 支持
2015-08-31 21:55:54
464
原创 java缓存(4、memcached)
概述 之前学习.net缓存的时候,已经讲过memcached,对于其集群、并发和内存回收等问题,都讲过,这里不再赘述,有兴趣的可以看这篇博客:分布式缓存Memcache和Redis。本篇主要讲解是使用java语言操作memcached。memcached的demo 添加第三方jar java_memcached-rel
2015-07-31 18:05:08
692
2
原创 java缓存(3、Oscache和Ehcache)
概述 oscache和ehcache都是进程级缓存,本篇讲解这两个框架的功能和区别。oscache oscache现在已经不再维护,但任可以下载使用,它可以缓存页面,可以实现整个页面的缓存,也可以实现页面其可以缓存数据对象,对于页面的缓存,我们需要注意:同一个浏览器,访问同一个页面多次时,会只访问一次业务逻辑层,不同浏览器,访问同一个页面多次时,每个
2015-07-31 17:50:01
1149
1
原创 java缓存(2、ThreadLocal<T>)
程序图 描述 ThreadCache类是ThreadLocal类的封装,UserManagerServlet请求方法里面创建一个User对象,然后,将对象放到ThreadLocal中,然后,从UserManagerDao获得该对象,再返回给Servlet程序ThreadCachepackage com.tgb.util;impo
2015-07-31 16:50:02
1080
1
原创 java缓存(1、概述)
概述 对于程序员来说,听到缓存,一定会非常的亢奋,因为这年代,你去找工作,说不知道缓存,没用过缓存,都不好意思说自己是程序员,所以说缓存时一个非常热的话题,今天就讲一下自己关于缓存的理解,希望对于对大家有相应的帮助。缓存概念 学习一个东西,我们首先应该清楚他是什么,那么,缓存到底是什么呢?缓存就是内存里面用于存放数据的空间,即,缓存就是内存。缓存的目
2015-07-31 15:56:25
541
2
原创 mongodb的分布式集群(4、分片和副本集的结合)
概述 前面3篇博客讲了mongodb的分布式和集群,其中第一种的主从复制我们几乎不用,没有什么意思,剩下的两种,我们不论单独的使用哪一个,都会出现相应的问题,比较好的一种解决方案就是,分片和副本集的集合使用,这样就比较完美了。部署图 在这里,我们需要注意,我们mongos服务器配置成了集群,所以,我们需要在客户端上分别得添加相应的地址,这个和在副
2015-06-30 23:56:50
946
4
原创 mongodb的分布式集群(3、分片)
概述 上面两篇博客都是关于mongodb的集群的配置,没有涉及到分布式,该片博客就是写mongodb的分布式,把一个整体,分成多个片,每个片部署到不同的服务器上,这个就是mongodb的分布式,即:mongodb的分片操作。部署图 mongos服务器做的是路由服务器,config服务器就是保存相应配置的服务器,shard1和sha
2015-06-30 23:42:00
821
3
原创 mongodb的分布式集群(2、副本集)
概述 副本集是主从复制的一种,是一种自带故障转移功能的主从复制,解决了上述主从复制的缺点,实现主服务器发生故障后,不需人为介入,系统自动从新选举一个新的主服务器的功能。部署图 该图是copy别人的,有兴趣的可以查看该人的博客,写的非常的棒副本集配置 //启动服务器(登录每台服务器) mongod --d
2015-06-30 23:31:26
751
3
原创 mongodb的分布式集群(1、主从复制)
分布式集群的理解 关于分布式集群的概念有很多的解释,我比较倾向于“分布式集群”为两个概念,即,分布式是一个概念,集群是另一概念。 分布式是把一个整体系统分成多个部分,分别部署到不同的服务器上,然后由中心服务器统一控制,形成的一个对外来说为一个整体的系统。集群是把一个整体,整体的分别部署到多个服务器上的结果。 分布式和集群都是部署上的现象的描述,都涉及
2015-06-30 23:05:26
1198
3
原创 SSO(单点登录)—CAS总结
概述 SSO(Single Sign On),单点登录,多个具有独立运行的系统组成一个大系统,实现用户登录一次,即可随意访问该大系统的子系统。单点登录的具体实现有多种方式,我们可以自己实现,也可以采用第三方提供的框架。自定义SSO 方式一 部署图
2015-05-31 21:10:10
710
3
原创 JDBC数据库连接池
概述 数据库连接池在.net的时候就学习了,并且在SQL Server中也接触过,但是使用的时候,非常的方面,因为,VS和SQL Server和操作系统都是微软的,人家做了一个很好的集成,我们使用数据库连接池时,只需要修改相应的连接串就可以,但是,在java中是不一样的,因为java是开源的,他只提供一个标准,剩下的,无论哪个公司都可以实现,好了,言归正传,我们接着说我们的数据库的
2015-05-31 17:38:38
652
3
原创 初谈教育
概述 考上GCT研究生后,需要去学校上几天课,于是就去了保定,在那里,老师们讲的课都非常的好,自己也感觉收获很多,尤其是在政治思想和教育方面,由于对政治思想方面理解的不深,所以,本篇博客,以谈论教育作为此次去保定学习的总结。启发和灌输 教育的本质是启发,不是灌输。 启发式的教育,在初期,效果不是很快,没有灌输的快,但是,其对于被教育者之后的影响是
2015-05-31 15:31:48
751
10
原创 跳出固化的认知
背景 2015年4月6日早上,提高班举办家长座谈会,家长自愿参加(前一天也举行了),但要求同学们都去参加,此时,出现了一种情况,很多学生由于家长要走,所以,纷纷向纪委请假送家长,结果,2个小时过去后,存在有很多请假人,没有续请假,也没有到会场。纪委条例规定,请假最长时间为2个小时。 此现象出现后,米老师非常的生气,于是就开始为期半个月的头脑风暴。该篇博客就是在这段时
2015-04-30 20:03:05
981
14
原创 JBPM的总结
概述 在学习.net的时候,学习过相应的工作流技术,所以,总的来说,对于工作流这方面的知识不是很陌生。java中的工作流的实现由很多种,如:Active和JBPM,该片博客说一说JBPM。工作流为什么这么受欢迎? 工作流中体现了一个思想,就是流程化思想,流程化的思想就是把一件事/任务给流程化,即:确定该任务可以被分为几个活动,确定活动之间严格的顺序限定,
2015-04-30 19:00:09
893
16
原创 POI操作Excel的封装
概述 日常办公,我们使用的最多办公软件是Microsoft的Office,所以,我们开发的系统难免会遇到的一个功能就是和Office交互,所以,某些聪明的人,就开发了相应的功能包,使用我们程序员可以非常方便的进行Microsoft Office格式档案的读和写,该功能包就是POI。封装POI的Excel操作 对于POI具体某一个Excel的操作,这里不再赘述
2015-04-30 16:22:01
771
14
原创 Ant的总结
概述 Ant是项目构建的工具,使用Ant工具,可以大大减少我们在构建过程花费的时间。构建是项目源代码到可运行软件的过程的总称,有编译、测试、测试报告、API文档、部署等步骤。 现在java的IDE(Eclipse和MyEclipse)可以很好的解决项目的编译问题,但是,其没有具体实现在构建其它步骤的功能,所以,向Ant这类的构建工具的存在时很有必要的。
2015-04-30 15:10:49
771
14
原创 log4j的总结
概述 log4j是日志处理的框架,相当于.net中的log4net,由于之前在.net中学习过log4net,所以,在学习log4j上,感觉非常的亲切。本篇博客主要是讲一个图,好了进入正题。log4j类图 Logger类 logger类的作用就是供客户端代码调用。在配置文件(配置文件或者xml文件)进
2015-03-31 16:29:41
677
9
原创 maven的总结
概述 maven是一个项目管理工具,可以帮助我们管理项目的构建,报告和文档。在学习maven的过程中,主要是学习其对项目构建的管理。maven 针对于比较小的软件开发,maven的作用不是很多,针对于项目比较,需要开发很多模块,每个模块又都是独立的情况下,maven的作用就会变得非常的明显。 多个模块独立的开发,当合并的时候,就会出现
2015-03-31 15:43:03
633
7
原创 Lucene的总结
概述 当今时代是一个网络时代,是一个信息数字化时代,是一个信息大爆炸的时代,在这个时代中,快速的从信息海洋中获取自己想要的信息,已经是每一个人最迫切的需要,当然,我们现在已经有相应的产品(百度,谷歌等)为人们提供了这样的服务,但是,仍然没有办法满足人们的需求,因为百度和谷歌等搜索引擎公司提供的是大众化的公网搜索服务,只能满足于大众群体,而对于公司级的群体是满足不了的,因为公司级的群
2015-03-31 12:49:12
564
6
原创 2014年寒假总结
概述 按照常规,该写14年后半年的总结了,本篇文章的组织结构和之前的一样,从技术和思想上进行相应的总结技术 9月中旬到11月之间,还在学习.net(在外实习),这段时间的过程中,跟着组长做了一个项目,在做这个项目中理解最为清楚的是 java 微信项目思想总结
2015-03-01 00:06:04
923
7
原创 spring的总结
概述 spring的功能分为3部分,分别如下文。IoC和DI 之前在学习spring.net的时候,进行过该块内容的解释,具体大家可以看这篇文章:spring.net中的IoC、DI和MVC,这里要做的补充是主动查找和被动查找。 在spring提供的IoC和DI功能中,涉及到两个词:主动查找和被动查找 主动查找:A类使
2015-02-28 17:38:04
674
6
原创 struts1.0总结
概述 struts1.0是一个框架,是一个实现了MVC思想的一个半产品。MVC思想 MVC思想的核心就是解除页面内容显示和请求处理的耦合。 动态页面最开始的开发模式,都是内容显示和请求处理都在同一个页面上,这种情况的好处就是开发比较简单,因为涉及的文件,涉及的类少,所以,开发较简单,缺点就是修改比较麻烦,因为,类少了,必定类的职责就变多了,这种情
2015-02-28 16:53:21
940
6
原创 你表达清楚你的想法了吗?
概述 11月10号开始,java和.net同时开发高校云平台,耗时大概70天左右,终于把1.0开发完了,在此总结一下这段时间的内容。技术和思想 技术方面的内容在此就不多说了,主要说一下思想方面的内容。 在做这个项目的时候,一个很不好的现象出现了,自己脾气突然暴躁了起来,非常容易生气,非常容易怒,为什么呢?总结
2015-01-31 23:51:49
840
5
原创 润物细无声之千分之一
概述 本篇博客讲解的是本人迟到的整个过程过程描述 2015年1月23日早上迟到,被纪委查到,被处罚在4楼机房门口站10天(8:00—8:20),这个是整个事件的起因。 接到纪委的处罚后,就开始执行,每天在门口站着,就这么一天一天的过去了,但是,就在2015年1月26日早上,米老师来到机房门口,给我们上了一堂“教育课”,期间说了一段
2015-01-31 20:53:44
907
6
原创 Hibernate总结
概述 Hibernate是java中ORMapping思想的具体产品,它是在实体上进行相应的映射。映射 实现世界中,对象和对象之间的关系有这么四种:无关系、一对一关系、一对多关系和多对多关系,我们的计算机要想以虚拟的方式保存这种关系,必须要解决这个问题。那么,是如何解决的呢? 在代码的级别上,我们采用面向对象编程中,一个类中定义相应类型的属性来解
2015-01-31 20:05:57
641
8
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人