java
文章平均质量分 78
肖红
这个作者很懒,什么都没留下…
展开
-
高级多线程控制类
Java1.5提供了一个非常高效实用的多线程包:java.util.concurrent, 提供了大量高级工具,可以帮助开发者编写高效、易维护、结构清晰的Java多线程程序。原创 2017-08-08 09:35:59 · 585 阅读 · 1 评论 -
WebService入门HelloWS
编写服务端:服务端接口:package com.atguigu.day01_ws.ws;import javax.jws.WebMethod;import javax.jws.WebService;/** * 定义SEI * @author xiao * */@WebServicepublic interface HelloWS { @WebMethod原创 2015-12-30 17:08:27 · 1141 阅读 · 7 评论 -
SVN备份库+库迁移
前两天负责人给了一个新任务,为搬家做准备,我需要把我们xyb的系统服务器上的SVN备份迁移出来,呵呵,欣然接受,不过这个我也是不懂,但是再想想学习嘛,就是从不懂到懂的过程。呵呵,我也是挺开心的接受这个小任务。于是乎开始不断的问度娘。根据网上资料,自己在别人(感谢伟大的晓春的电脑)的电脑上做了个小实验,毕竟服务器上的东西可不是随便乱动的。下面介绍一个如何进行SVN库备份以及库迁移和检出。(我们的服务原创 2015-11-03 09:56:41 · 1037 阅读 · 14 评论 -
Maven项目构建管理过程的自动流水线
对于包的管理,对比于之前.NET项目中的Nuget,在java版的itoo中使用的是Maven,然而,对于Maven的了解,我们的使用也仅限于冰山一角,准确的说Maven是一个跨平台的项目管理工具,而不是一个包管理工具。就像java不仅是一种编程语言,还是一个平台,maven也一样,它不仅是一种构建工具,更是一种项目依赖管理和项目信息管理工具,它提供了一个中央仓库,能帮助我们自动下载我们需要的构件原创 2015-10-27 08:47:53 · 1694 阅读 · 3 评论 -
Cookie—客户端存储数据技术
在项目中,有一个功能是这样的,前端页面设计中,我们有一个后退操作,保证回退之后依然存在之前设定的信息,其实实现这个的功能的方式有很多,例如我们可以采用回退过程携带参数,也可以页面加载显示隐藏的信息,这些在以往的系统实现过程中都已经应用过了,今天采用一种新的方式,Cooike方式,我们将信息保存到Cookie中,不管是回退还是随便跳转到任何一个之前的页面都可以从Cookie中获取相应的值,然后进行显原创 2015-10-12 10:33:02 · 2220 阅读 · 9 评论 -
ITOO4.0环境搭建Eclipse+Jboss+Maven+SVN
现在跟着项目组开发java版的ITOO4.0,和慕夏一组,两个人的合作,从慕夏身上学到了很多东西,不管是思想还是技术,尤其是她的那句让我醍醐灌顶的话:“你接手了这一部分,就要始终抱着一个信念,把别人没有实现的部分做出来!”。突然感受很深,好像之前的自己缺少了点东西,就是那股执念。现在自己从一个什么都不懂的新手,也开始了解了一些关于项目的高大尚,从小伙伴的身上我也看到了一点,一个人的优秀是无法隐藏的原创 2015-10-04 15:52:36 · 821 阅读 · 8 评论 -
Hibernate中的基本映射和多对一关联映射
Hibernate最核心的思想就是面向对象,最直接的体现方式就是映射文件,本篇博客介绍Hibernate中关于实体与关系的几种映射方式。 一、基本映射: 这种映射是最简单的映射,在映射文件中采用标签表示。标签中的name属性是实体的包路径,可以使用table属性设置为表的名称。实体的主键采用标签,普通属性采用标签映射,其中可以使用column属性重新修改属性在数据库表中的字段名称。原创 2015-01-09 21:39:43 · 725 阅读 · 1 评论 -
CORBA规范和CORBA中间件
本篇博客我们介绍一种流行的集成中间件:基于OMG的CORBA中间件以及CORBA规范。一、OMG:对象管理组织,该组织发布了最有影响的两套规范,一个是UML统一建模语言,另一个就是CORBA规范。OMG的技术规范主要用来支持分布式、异构环境的软件开发项目。这些规范覆盖了从分析、设计到编码、部署、运行和管理的整个软件的开发过程。二、OMA:对象体系结构,描述了一个基于CORBA的应用系统的基原创 2015-03-04 21:52:05 · 3953 阅读 · 1 评论 -
J2SE总结
半个月前就结束了J2SE的学习,原创 2014-09-14 20:36:34 · 863 阅读 · 10 评论 -
page-taglib标签结合SSH框架进行java分页
page-taglib是java中用于分页的框架,框架中各种标签的使用是的java分页变得更加简单,我们以一个简单的例子讲解page-taglib中的各种标签的含义,然后综合使用完成机构管理中的分页。 首先需要搭建环境: 1、将pager-taglib-2.0.jar拷贝到lib目录下。 2、在jsp页面中引入标签库: 3、 采用标签方式对页面进行布局设计:原创 2015-01-15 18:40:57 · 2130 阅读 · 1 评论 -
JBPM工作流引擎
JBPM全称为Java BusinessProcess Management,业务流程管理,它覆盖了业务流程管理、工作流、服务协议等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。 工作流引擎给我们提供了流程逻辑的定义方法,给我们提供了根据流程逻辑来调度业务对象的功能,能使我们避免在代码中硬编码流程逻辑。下面我们在eclipse中安装JBPM的插件,在eclipse中集成插件的方法原创 2015-02-02 16:34:00 · 1522 阅读 · 3 评论 -
Struts2的ModelDriven机制
好久没有写博客了,这段时间个人事情实在太多,耽误了学习,心中惶恐不安! 今天这篇博客我们介绍Struts2中的ModelDriven机制! 在struts2中提供了一种特殊的领域对象的访问方式ModelDriven,我们可以通过ModelDriven直接操作应用程序中的模型对象,我们可以再不同层中使用相同的对象。使用ModelDriven必须要在action原创 2015-09-09 10:48:07 · 909 阅读 · 9 评论 -
Hibernate多对多关联映射和继承映射
多对多关联映射1、多对多单向关联映射: 如同一般的数据库设计,多对多的关系需要一个第三方表来维护关系,Hibernate中的映射关系也一样,需要一个中间表一样来维护关系,Hibernate会自动生成中间表。使用标签来表示多对多的关联,采用集合的方式来映射字段。 单向关联的映射如下图所示: 用户User类:在User类中持有对Role的引用,采用Set集合原创 2015-01-12 10:42:03 · 948 阅读 · 2 评论 -
Hibernate之抓取策略
Hibernate的抓取策略是指当应用程序需要在实体对象的关联关系间进行导航的时候,如何获取关联对象的策略。抓取策略可以在O/R映射的元数据中声明,可以在特定的HQL语句中声明。抓取策略分为了四种:1、连接抓取:Hibernate通过在SELECT语句使用OUTER JOIN来获得对象的关联实例或者关联集合。2、查询抓取(Selectfetching)另外发送一条SELECT语句抓取原创 2015-01-31 16:53:35 · 733 阅读 · 2 评论 -
互操作机制的原理
现有中间件为分布式软件系统提供的基本支持中包含了互操作机制,其实我们提到的互操作既包含了中间层应用构件与数据库、客户层构件与中间层应用构件、中间层应用构件与公共服务构件、中间层应用构件之间的互操作等多个层次。本篇博客我们从互操作机制的原理和具体事例来解释互操作是应用哪些高层通信协议和基于什么开发模式来实现应用程序的编组和解组等跨越网络通信的底层工作。一、互操作的基本原理 互操作机制中应原创 2015-02-28 21:56:30 · 1692 阅读 · 1 评论 -
JBPM的流程服务
在讲解jbpm的各种流程服务之前我们应该先了解JBPM的两个核心对象,ProcessEngine和Configuration,Configuration是jbpm的配置文件管理对象即资源加载对象,负责加载jbpm的各种配置如数据库连接配置,事务配置,身份认证,jpdl等相关配置。 ProcessEngine是一个服务工程,通过Configuration类创建,和hibernate中原创 2015-02-07 15:50:25 · 675 阅读 · 2 评论 -
Linux系统操作mysql数据库
一、mysql服务的操作:启动:service mysqld start停止:service mysqld stop重启:service mysqld restart二、mysql数据库的导入导出:导出数据:(见图1)(1)导出数据,包括表结构和表数据:进入Linux系统的命令控制台:输入/usr/local/mysql/bin/mysqldump –u root原创 2016-01-17 19:43:30 · 720 阅读 · 3 评论 -
List,Map,Entity,Object数据类型之间的转换
前些天在做项目过程中遇到的最多的就是数据类型之间的转换,例如将List集合转换成实体,或者将Object转换成实体再或者将Object转换成Map等,最开始做这些类型转换的实现着实让我头疼了一番,首先我们前台接收的都是Json熟数据,所以在Controller中需要将上面提到的不同类型全部转换为Json,当然了,我们使用的是底层封装的方法,这里我们用起来非常方便,至于Services成或者Dao层原创 2015-12-17 11:20:10 · 10426 阅读 · 6 评论 -
Redis介绍
Redis全称REmote DIctionary Server,是一个开源的高级key-value存储系统,除了代替memcached存储字符串,还可以存储集合、链表和哈希结构等复杂的数据结构。和memcached最主要的不同之处就在于Redis是一个数据存储系统,能够进行数据的持久化,保证数据的存储安全。另外Redis本身支持集群,能够承受高并发之外,同时对大数据的查询实现快速响应的特点。同时R原创 2016-01-31 20:04:08 · 1091 阅读 · 2 评论 -
多线程并发
这两天在复习多线程并发锁的知识,做如下总结原创 2017-08-08 09:34:05 · 516 阅读 · 1 评论 -
多线程基础知识
本文主要讲了多线程的使用方法,线程同步,线程状态以及一些线程函数的用法、概述等内容。原创 2017-06-30 19:22:30 · 515 阅读 · 0 评论 -
【SSO】SSO基础原理
SSO简单介绍 单点登录的英文名称为SingleSign-On,简写为SSO,它是一个用户认证的过程,SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。我们可以形象的理解为:单点登录,全网漫游。SSO将一个企业内部所有域中的用户登录和用户帐号管理集中到一起,SSO的好处显而易见:l、减少用户在不同系统中登录耗费的时间,减少用户登录出错的可能性原创 2016-07-31 20:26:37 · 756 阅读 · 2 评论 -
【多线程】四个同步工具的使用
多线程系列三(同步工具类)今天博客我总结了一下多线程中关于四个同步工具类的使用,每个同步工具类都有自己应用的场景,例如: 信号灯(Semaphore): 应用场景:办公室里有一台打印机,只能让一个人来打印东西,如果别人来了就会被阻塞住,这个人打印完了才会让下一个人来继续打印,如果办公室里面多买了两台打印机,一共有三台打印机了,这样办公室里面就可以同时来三个人打印,再有多余的人才会原创 2016-07-31 20:23:21 · 607 阅读 · 2 评论 -
【多线程】简单的线程和定时器
多线程系列一(入门)本篇博客简单的说明了一下如何编写多线程代码以及如何应用Timer定时器。示例一:创建三个简单的线程:线程一:休眠0.5s打印当前线程的名字://创建第一个线程 Thread thread=new Thread(){ public void run(){ while(原创 2016-07-31 20:13:54 · 614 阅读 · 0 评论 -
【多线程】锁
多线程系列二(锁) 使用多线程可以最大限度的利用CPU,提高程序的执行效率,但是同样也会产生线程安全的问题,如何保证线程安全,就涉及到了今天博客中要介绍的锁。 加锁可以使用synchronized和lock两种方式,经过试验可以看出,当测试的数据量足够多的时候,使用lock方式在性能上要更快一些,在下面我们分别介绍这两种方式:Synchronized加锁方式分为在同步方法和同原创 2016-07-31 20:16:56 · 420 阅读 · 1 评论 -
linux环境搭建dubbo+zookeeper
Zookeeper作为hadoop的一个子项目,主要用来协调分布式应用服务,dubbo作为一种优秀的分布式服务框架,实现了透明化的分布式远程调用。今天博客,主要是在linux系统上搭建dubbo+zookeeper的环境,其实现原理和应用下面的博客分别介绍。服务器:123.56.***.***。原创 2016-05-31 19:55:21 · 3022 阅读 · 2 评论 -
Hadoop(二)实现SSH互联
在搭建好各个虚拟机之后,当我们需要远程连接别的虚拟机的时候,每次都需要重新输入连接虚拟机的密码,为此我们就需要设置SSH的互联免密码登录,只要设置好了SSH免密码登录,即使在信息传输过程中发生了窃听,被其他人截获内容,没有接收方的私钥也不能解开内容。而密码登录的原理就是依靠密钥,也就是自己生成一对密钥,然后把公钥放到服务器上,当我们需要通过ssh连接到服务器的时候,客户端就会向服务器端发送请求,服原创 2016-04-19 20:45:43 · 613 阅读 · 1 评论 -
Hadoop(一)使用Vagrant搭建linux环境
(一)VirtualBox简介 VirtualBox是一款开源的虚拟机软件,支持windows、linux甚至Android等操作系统,使用者可以在VirtualBox上安装并且运行上述的这些操作系统! 下载和安装我们这里不详细介绍,过程很简单,直接下一步即可。(二)Vagrant简介 Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/python原创 2016-04-18 19:42:44 · 931 阅读 · 1 评论 -
Hadoop(三)集群的搭建
下载hadoop压缩包: Hadoop-1.1.2.tar.gz在对应的目录中解压文件,在控制台输入如下命令: tar zxvf ./hadoop-1.1.2.tar.gz进度到conf目录中,修改hadoop的相关文件:配置hadoop-env.sh文件,修改JDK的位置:配置core-site.xml文件: fs.de原创 2016-05-10 16:50:01 · 826 阅读 · 1 评论 -
Mysql优化(三)sql语句优化
继续我们在mysql优化方面的研究,本篇博客,我们用实践的例子在展示我们在编写sql语句方面如何能够使得mysql执行效率更高。1、首先我们用explain关键字来查询我们编写的sql语句的效率,如图所示:table:实际对应的表名possible_keys:可能用到的索引key:实际用到的索引ref:通过索引列可以直接引用到的某些数据行row:实际影响的行数原创 2016-03-14 21:02:07 · 653 阅读 · 3 评论 -
Mysql性能优化(二) 索引优化
承接上一篇博客,今天我们分析一下mysql优化中关于索引优化的解决方案。 首先我们先介绍几个关于索引的常见的概念: 1、多列索引 索引分为了B-tree索引、hash索引等,不同的索引形式又有独特的地方。Mysql的引擎不同,默认的索引形式不同,例如MyIsam和InnoDB默认支持的索引是B-tree。在memory表中默认的是hash索引,hash索引因为其时间复原创 2016-03-11 20:15:22 · 667 阅读 · 3 评论 -
Mysql优化(四)数据库优化
本篇博客是我们mysql优化部分的最后一篇博文了,今天我们从数据库本身出发,了解我们应该从数据库内部入手,如何进行优化。首先是优化表的类型,其次对于大数据量存储可以拆分表来提高访问效率,最后就是使用中间表提高查询的效率。优化表类型: 1)主键id是自增类型的时候,我们仅通过drop命令是不能删除主键的。 做法就是先修改id列,去掉自增类型,然后在drop主键:原创 2016-03-19 11:52:16 · 573 阅读 · 1 评论 -
Mysql优化(一)思路介绍
最近到一家公司面试,人家面试官真是mysql一把手,整个面试大概3个小时,没有一个话题离开了数据库,自己深知在数据库方面不是自己的强项,于是乎,顶着面试受挫的压力,恶补了一下mysql优化部分的知识。 一提到mysql优化,我们不用大脑一片空白,下面我们从三个角度分析mysql优化的整体情况:服务器方面: 一般我们可以通过脚本刷新服务器来观察服务器的status,观察服务器原创 2016-03-06 20:31:12 · 764 阅读 · 2 评论 -
redis集群
redis集群搭建转载 2016-01-31 21:47:50 · 586 阅读 · 1 评论 -
控制逻辑的分离——springMVC
最近开始了4.0的项目,由于是后来加入的项目组,所以这两天一直在进行项目环境的搭建,项目的整体架构的熟悉以及应用到的技术点的学习。环境搭建过程中也遇到了很多问题,接下来的博客我会一一记录下来,和大家一起分享。开发工具我们使用的是eclipse,服务器使用的是Jboss,项目中包管理使用的是maven,关于这些工具的使用,下篇博客我们详细的介绍。在项目架构中值得一提的就是采用了SpringMVC框架原创 2015-09-28 21:41:33 · 3506 阅读 · 17 评论 -
Spring之核心容器IoC
Spring中最核心的部分就是IoC容器了,也就是我们经常所说的控制反转,它主要是通过xml文件的形式将相互依赖的对象进行解耦合,也就是对象之间不必去主动查找,而是通过配置的方式进行注入,当其中一个对象发生改变的时候,我们可以不用去修改源代码,而是直接去更改对象所在的容器即可。下面我们通过Demo简单介绍如何应用spring:一、拷贝Spring相关的包到classpath路径下:原创 2015-02-04 11:28:13 · 721 阅读 · 2 评论 -
对象接口和接口库
一个大型系统程序的开发必然会分为若干个模块,然后将每一个模块与实现分离,并进一步能为一个接口提供多个实现,如此一来,接口与实现的分离就要求将模块的私有部分归属到实现的一方,接口与实现之间不再简单的通过相同的名字进行匹配。这样,客户程序仅仅依赖于对象接口,而不是对象实现,这也正是依赖接口编程的体现。 在CORBA模型中,对象实现对外提供信息和服务,客户程序利用这些信息与服务完成某些功能,这原创 2015-03-18 19:43:26 · 1302 阅读 · 4 评论 -
Spring对AOP的支持
上篇博客中我们介绍了Spring中的IoC控制反转,本篇博客介绍我们介绍Spring中的另一个核心AOP切面编程。 AOP是Spring中对OOP的补充,由面向对象编程转到了面向切面编程,针对业务处理过程中的切面进行提取,然后降低各部分之间的耦合。通过下面的图我们来了解AOP中的几个基本概念,从而更深一步的认识AOP:Cross cutting concern:横切性关注原创 2015-02-06 11:22:21 · 687 阅读 · 1 评论 -
MyEclipse+JBoss+EJB3.0实例 解决XXX Not Found的问题
关于JBoss和EJB3.0的具体知识,我们在后面的总结性博客中介绍,本篇博客主要是对今天自己的成果做一个总结,为我悲惨的一天做一个总结。 这个该死的问题折腾了我一天呀!!最开始自己下载的是jboss4.0.2,所以在MyEclipse中集成的是JBoss4.x: 根据视频中的步骤一步一步做下来,却怎么也不能运行成功,启动Jboss,部署EJB之后,出现了F原创 2015-03-13 19:47:38 · 1140 阅读 · 17 评论 -
CORBA中间件的开发过程
上一篇博客我们介绍了CORBA规范和CORBA中间件中涉及的几个基本概念,例如OMG是什么。OMA参考模型怎么理解,其中的对象请求代理ORB又发挥了什么作用等。本篇博客我们分析CORBA中间件的开发过程。一、开发前的准备: 虽然CORBA中间件对于异类环境下的可互操作性提高了很好的支持,但是对于不同平台之间的系统移植来说还是一个难题,所以在开发过程中我们还是要尽量避免使用与平台有关的原创 2015-03-08 22:01:50 · 3674 阅读 · 3 评论