J2EE
张青山
这个作者很懒,什么都没留下…
展开
-
J2EE的13个规范
概述 j2ee是规范,具体规范 JDBC(java database connectivty) JDBC是java对于操作关系型数据库的标准,数据库厂商只要根据这些标准生产出与之相对应的驱动,那么,JDBC就可以操作这些驱动,操作响应的关系型数据库,当然,对于实现了ODBC标准的数据库驱动,JDBC也可以访问,此时,需要通过JDB原创 2014-06-05 23:08:41 · 1051 阅读 · 17 评论 -
mongodb的分布式集群(2、副本集)
概述 副本集是主从复制的一种,是一种自带故障转移功能的主从复制,解决了上述主从复制的缺点,实现主服务器发生故障后,不需人为介入,系统自动从新选举一个新的主服务器的功能。部署图 该图是copy别人的,有兴趣的可以查看该人的博客,写的非常的棒副本集配置 //启动服务器(登录每台服务器) mongod --d原创 2015-06-30 23:31:26 · 718 阅读 · 4 评论 -
mongodb的分布式集群(4、分片和副本集的结合)
概述 前面3篇博客讲了mongodb的分布式和集群,其中第一种的主从复制我们几乎不用,没有什么意思,剩下的两种,我们不论单独的使用哪一个,都会出现相应的问题,比较好的一种解决方案就是,分片和副本集的集合使用,这样就比较完美了。部署图 在这里,我们需要注意,我们mongos服务器配置成了集群,所以,我们需要在客户端上分别得添加相应的地址,这个和在副原创 2015-06-30 23:56:50 · 920 阅读 · 4 评论 -
mongodb的分布式集群(3、分片)
概述 上面两篇博客都是关于mongodb的集群的配置,没有涉及到分布式,该片博客就是写mongodb的分布式,把一个整体,分成多个片,每个片部署到不同的服务器上,这个就是mongodb的分布式,即:mongodb的分片操作。部署图 mongos服务器做的是路由服务器,config服务器就是保存相应配置的服务器,shard1和sha原创 2015-06-30 23:42:00 · 798 阅读 · 4 评论 -
java缓存(4、memcached)
概述 之前学习.net缓存的时候,已经讲过memcached,对于其集群、并发和内存回收等问题,都讲过,这里不再赘述,有兴趣的可以看这篇博客:分布式缓存Memcache和Redis。本篇主要讲解是使用java语言操作memcached。memcached的demo 添加第三方jar java_memcached-rel原创 2015-07-31 18:05:08 · 673 阅读 · 2 评论 -
java缓存(2、ThreadLocal<T>)
程序图 描述 ThreadCache类是ThreadLocal类的封装,UserManagerServlet请求方法里面创建一个User对象,然后,将对象放到ThreadLocal中,然后,从UserManagerDao获得该对象,再返回给Servlet程序ThreadCachepackage com.tgb.util;impo原创 2015-07-31 16:50:02 · 1042 阅读 · 2 评论 -
java缓存(3、Oscache和Ehcache)
概述 oscache和ehcache都是进程级缓存,本篇讲解这两个框架的功能和区别。oscache oscache现在已经不再维护,但任可以下载使用,它可以缓存页面,可以实现整个页面的缓存,也可以实现页面其可以缓存数据对象,对于页面的缓存,我们需要注意:同一个浏览器,访问同一个页面多次时,会只访问一次业务逻辑层,不同浏览器,访问同一个页面多次时,每个原创 2015-07-31 17:50:01 · 1109 阅读 · 1 评论 -
tomcat的集群(1、nginx)
概述 tomcat的负载均衡的具体实现有很多种方式,常见的有3种:nginx方式,apache http server + jk,lvs+keepalived。本片博客主要讲解,nginx方式。nginx的功能 nginx的功能大致分为三种:普通的web服务器,反向代理,邮件代理服务器。实现tomcat集群用的nginx的反向代理服务器的功能。原创 2015-08-31 23:16:58 · 454 阅读 · 1 评论 -
java缓存(5、redis)
概述 redis是第三方分布式缓存,采用单线程进行操作数据,支持很多功能。功能介绍 支持简单的事务,redis的事务的机制非常的简单,其主要作用就是保证,一个client的一个事务内的指令的连续性,在这个事务执行的过程中,其它客户端的指令不能让其中断,不支持回滚,注意,对于分布式的redis不支持事务,因为没有提供分布式事务的支持。 支持原创 2015-08-31 21:55:54 · 439 阅读 · 0 评论 -
JMS-ActiveMQ
概述 JMS的全称为Java Message Service,是sun对企业应用程序开发(j2ee)的异步通信方式方面做的规范。消息模型 P2P方式 每个消息只有一个接收者,接收者接收到信息后,需要有回应,是一种安全的通信方式。 Pub/Sub方式 每个消息可有多个消费原创 2015-08-31 22:46:51 · 380 阅读 · 0 评论 -
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 · 520 阅读 · 2 评论 -
JVM的内存
内存模型 JVM的内存模型大致为如下图所示 JVM对内存采用的是分代的方式进行管理,而采用这种方式的原因:不同对象的生命周期是不一样的,不同生命周期的对象可以采取不同的方式进行管理,这样效率更高。JVM按代进行划分,方法区为持久代,堆为老年代和新生代,大致如下图所示 年轻代:原创 2017-09-16 16:07:29 · 426 阅读 · 3 评论 -
JVM的GC
垃圾收集算法 基于回收策略划分 引用计数算法 对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器就加1,当引用失效时,引用计数器就减1,只要对象A的引用计数的值为0,则对象A就不可能再被使用。此算法的问题:引用计数器的维护影响性能;很难处理循环引用。该算法没有被java采用。原创 2017-09-16 20:47:34 · 424 阅读 · 3 评论 -
JVM的基本了解
概述 本篇博客的主要目的是能让大家对JVM有一个基本了解,知道JVM是什么,作用和功能,基本组成结构,以及每个组成的基本作用,对于应用方面的内容,会在之后的博客中叙述。虚拟机和JVM 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。对于VMWare这种软件,我们可以非常容易的理解为它原创 2017-08-31 23:17:54 · 605 阅读 · 1 评论 -
mongodb的分布式集群(1、主从复制)
分布式集群的理解 关于分布式集群的概念有很多的解释,我比较倾向于“分布式集群”为两个概念,即,分布式是一个概念,集群是另一概念。 分布式是把一个整体系统分成多个部分,分别部署到不同的服务器上,然后由中心服务器统一控制,形成的一个对外来说为一个整体的系统。集群是把一个整体,整体的分别部署到多个服务器上的结果。 分布式和集群都是部署上的现象的描述,都涉及原创 2015-06-30 23:05:26 · 1183 阅读 · 3 评论 -
SSO(单点登录)—CAS总结
概述 SSO(Single Sign On),单点登录,多个具有独立运行的系统组成一个大系统,实现用户登录一次,即可随意访问该大系统的子系统。单点登录的具体实现有多种方式,我们可以自己实现,也可以采用第三方提供的框架。自定义SSO 方式一 部署图原创 2015-05-31 21:10:10 · 689 阅读 · 3 评论 -
Hibernate总结
概述 Hibernate是java中ORMapping思想的具体产品,它是在实体上进行相应的映射。映射 实现世界中,对象和对象之间的关系有这么四种:无关系、一对一关系、一对多关系和多对多关系,我们的计算机要想以虚拟的方式保存这种关系,必须要解决这个问题。那么,是如何解决的呢? 在代码的级别上,我们采用面向对象编程中,一个类中定义相应类型的属性来解原创 2015-01-31 20:05:57 · 620 阅读 · 8 评论 -
java泛型中的通配符
概述 在学习java中泛型这块内容的时候,刚开始非常容易理解,但是,到通配符的时候,我就晕了,因为学习java这块内容的指导思想,是比对着.net来的,可是java中的通配符,.net中没有这样的概念,所以,在这个点上花费了一些时间,现对此有了一点了解,分享给大家通配符原创 2014-12-31 00:12:21 · 1143 阅读 · 17 评论 -
JSP/Servlet应该学习什么
概述 DRP的学习战线拉得很长,因为中途学习.net而停止了java的学习。停止java,学习.net,使.net的学习更加的扎实了,也使我再继续学习DRP时,学习目标变得更加的明确了。DRPJSP的内置对象,JSTLServletFilterListenJDBC连接对象连接池动态代理总结原创 2014-12-31 09:00:03 · 1145 阅读 · 16 评论 -
spring的总结
概述 spring的功能分为3部分,分别如下文。IoC和DI 之前在学习spring.net的时候,进行过该块内容的解释,具体大家可以看这篇文章:spring.net中的IoC、DI和MVC,这里要做的补充是主动查找和被动查找。 在spring提供的IoC和DI功能中,涉及到两个词:主动查找和被动查找 主动查找:A类使原创 2015-02-28 17:38:04 · 644 阅读 · 6 评论 -
struts1.0总结
概述 struts1.0是一个框架,是一个实现了MVC思想的一个半产品。MVC思想 MVC思想的核心就是解除页面内容显示和请求处理的耦合。 动态页面最开始的开发模式,都是内容显示和请求处理都在同一个页面上,这种情况的好处就是开发比较简单,因为涉及的文件,涉及的类少,所以,开发较简单,缺点就是修改比较麻烦,因为,类少了,必定类的职责就变多了,这种情原创 2015-02-28 16:53:21 · 903 阅读 · 6 评论 -
struts2.0的总结
概述总结原创 2015-02-28 23:23:40 · 1081 阅读 · 7 评论 -
maven的总结
概述 maven是一个项目管理工具,可以帮助我们管理项目的构建,报告和文档。在学习maven的过程中,主要是学习其对项目构建的管理。maven 针对于比较小的软件开发,maven的作用不是很多,针对于项目比较,需要开发很多模块,每个模块又都是独立的情况下,maven的作用就会变得非常的明显。 多个模块独立的开发,当合并的时候,就会出现原创 2015-03-31 15:43:03 · 612 阅读 · 7 评论 -
log4j的总结
概述 log4j是日志处理的框架,相当于.net中的log4net,由于之前在.net中学习过log4net,所以,在学习log4j上,感觉非常的亲切。本篇博客主要是讲一个图,好了进入正题。log4j类图 Logger类 logger类的作用就是供客户端代码调用。在配置文件(配置文件或者xml文件)进原创 2015-03-31 16:29:41 · 661 阅读 · 9 评论 -
Lucene的总结
概述 当今时代是一个网络时代,是一个信息数字化时代,是一个信息大爆炸的时代,在这个时代中,快速的从信息海洋中获取自己想要的信息,已经是每一个人最迫切的需要,当然,我们现在已经有相应的产品(百度,谷歌等)为人们提供了这样的服务,但是,仍然没有办法满足人们的需求,因为百度和谷歌等搜索引擎公司提供的是大众化的公网搜索服务,只能满足于大众群体,而对于公司级的群体是满足不了的,因为公司级的群原创 2015-03-31 12:49:12 · 544 阅读 · 6 评论 -
Ant的总结
概述 Ant是项目构建的工具,使用Ant工具,可以大大减少我们在构建过程花费的时间。构建是项目源代码到可运行软件的过程的总称,有编译、测试、测试报告、API文档、部署等步骤。 现在java的IDE(Eclipse和MyEclipse)可以很好的解决项目的编译问题,但是,其没有具体实现在构建其它步骤的功能,所以,向Ant这类的构建工具的存在时很有必要的。原创 2015-04-30 15:10:49 · 750 阅读 · 14 评论 -
JBPM的总结
概述 在学习.net的时候,学习过相应的工作流技术,所以,总的来说,对于工作流这方面的知识不是很陌生。java中的工作流的实现由很多种,如:Active和JBPM,该片博客说一说JBPM。工作流为什么这么受欢迎? 工作流中体现了一个思想,就是流程化思想,流程化的思想就是把一件事/任务给流程化,即:确定该任务可以被分为几个活动,确定活动之间严格的顺序限定,原创 2015-04-30 19:00:09 · 872 阅读 · 16 评论 -
POI操作Excel的封装
概述 日常办公,我们使用的最多办公软件是Microsoft的Office,所以,我们开发的系统难免会遇到的一个功能就是和Office交互,所以,某些聪明的人,就开发了相应的功能包,使用我们程序员可以非常方便的进行Microsoft Office格式档案的读和写,该功能包就是POI。封装POI的Excel操作 对于POI具体某一个Excel的操作,这里不再赘述原创 2015-04-30 16:22:01 · 736 阅读 · 14 评论 -
JDBC数据库连接池
概述 数据库连接池在.net的时候就学习了,并且在SQL Server中也接触过,但是使用的时候,非常的方面,因为,VS和SQL Server和操作系统都是微软的,人家做了一个很好的集成,我们使用数据库连接池时,只需要修改相应的连接串就可以,但是,在java中是不一样的,因为java是开源的,他只提供一个标准,剩下的,无论哪个公司都可以实现,好了,言归正传,我们接着说我们的数据库的原创 2015-05-31 17:38:38 · 632 阅读 · 3 评论 -
java中的“委托”
概述 “委托”的实现 总结原创 2015-05-31 16:20:56 · 1911 阅读 · 4 评论 -
CPU高占用和并发操作HashMap的关系
概述 本篇博客是描述生产环境出现的问题,以及解决问题时的整个过程。场景 生成环境出现CPU占用为98%的情况,当时那段时间也有相应的定时任务在运行。定位问题 发现CPU占用为98%的情况后,当时,首先想的是到底是那个点,或者那块代码导致的这个问题啊,于是先查看了占用CPU较高的进程ID,查询进程ID后,再查看该进程下CPU占用较高原创 2017-08-31 23:17:11 · 1903 阅读 · 4 评论