
【java学习之旅】
文章平均质量分 78
李晓娜
活泼开朗
展开
-
Maven学习总结(八)——使用Maven构建多模块项目
原文地址:http://www.cnblogs.com/xdp-gacl/p/4242221.html在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,最常见的就是分为domain(域模型层)、dao(数据库访问层)、service(业务逻辑层)、web(表现层),这样分层之后,各个层之间的职责会比较明确,后期维护起来也相对比较容易,今天我们就是使用Maven来构建以转载 2015-10-07 18:19:15 · 502 阅读 · 3 评论 -
Spring压缩包目录说明
在学习Spring之前,先来了解一下Spring的包目录结构,似乎这是我学习东西的一个必须进行的阶段,本来想自己总结一下,上网查看原来有的人已经总结的很全面了,做点补充,共同学习。 原文链接:http://blog.youkuaiyun.com/ambow_cq/article/details/7433301 1.Spring压缩包目录说明 aspectj目录下是在Spring框架下使用asp转载 2015-09-24 16:43:35 · 1803 阅读 · 9 评论 -
Java之旅Spring框架学习(1)——掀起你的盖头来
我们知道Spring和hibernate的建立与项目无关,可以随意建立项目。而Struts只能是web项目。今天我们来学习Spring,Spring是一种轻量级的框架,因为它不需要实现和继承就可以管理,故而我们称之为轻量级,上篇的博客已经对Spring包的目录结构进行了一个介绍,大家对于spring也应该有个大致的理解了。 1. 框架介绍 提到Spring,首先不得不提的就是I原创 2015-09-24 18:00:04 · 1097 阅读 · 8 评论 -
Linux—命令效率大于拖拖拽拽
最近这几天一直忙于项目的集成和部署,一般服务器来讲,选择Linux的居多,那么与windows系统相比,它的优越性在哪里呢? 1.linux本身是网络操作系统,支持所有TCP/IP协议,网络功能是内核中六大模块之一 2.linux和unix兼容,unix是早期的服务器霸主,现在份额逐渐让给linux了 3.linux是多用户多进程系统,windows是单用户伪多用户系统,不适合服原创 2015-12-29 21:57:23 · 719 阅读 · 4 评论 -
CDN(1)—掀开你的面纱
Ø CDN定义 CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离原创 2015-12-30 08:49:59 · 610 阅读 · 4 评论 -
Tomcat的三个端口(一个电脑同时启动两个tomcat)
Tomcat我们经常在使用,那么关于tomcat你又知道多少呢?在tomcat中存在多个脚本命令,如下图所示: 最近负责系统的集成和部署,发布在了Linux系统一版,为了调试方便也为了调试的速度加快,同样在window系统上部署了一版,为了更加高效的部署,将两个项目打成zip包,解压后放到了tomcat下面。 同一个tomcat,但是修改了端口号,就可以实现两个程序一块运行原创 2015-12-31 22:21:37 · 3826 阅读 · 3 评论 -
Jfinal—悄悄走近你
不同于其他的,JFinal是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。 在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋友 。 jfinal的使用官方文档已经介绍的很详细了,大家可以参考官方文档进行学习,这里大致介绍原创 2015-12-31 22:23:13 · 560 阅读 · 2 评论 -
在程序世界,寻找更多精彩——线程的启动
原来生命从不缺乏精彩,只是我们从不善于发现,你的时间不能活在别人的眼里,而是在自我看来,你无法左右别人的口舌,却能左右自己的心情和未来。 当你实在控制不了自己的情绪的时候,就去绕着城市的房子转一圈吧,也许你会有所新的追求。在你不经意的瞬间。 其实人在一定的条件下是跟随者心情进行波动的,如何掌控心情,使得自己的效率达到最高呢,那只能是自己做主了。好了,不发表这么多感慨了,进入正题。原创 2016-01-30 19:47:32 · 478 阅读 · 4 评论 -
用一颗热心,迎接生活的挑战——nginx初始
生命中总是充满着未知,但是未知并不可怕,可怕的是你面对未知,你却选择了退缩或者是逃避,人生从不缺乏勇气,关键在于你是否具备了这样的品质。 总是喜欢在花开的季节,赏花,总是希望在春天到了的时候,踏青,因为从大自然我可以汲取更多的勇气,从而带着我在生活中更加的自信,更加的有勇气。 当我面对新的东西的时候,我是那么的欢喜,欢喜自己又可以学到新的东西。Nginx,让我/知道了一个名词就是代理,原创 2016-01-30 20:23:39 · 494 阅读 · 4 评论 -
Java之旅Struts系列(4)——Struts2(精华)
很多人都会文Struts2和Struts1的区别,讲完这篇文章相比大家对于Struts1和Struts2都能有一个理解。 Struts1蓬勃发展的同时,也存在了一些问题,那就是侵入性的设计使得代码的复用性降低,为了能够应对这种情形,WebWork的出现将其在一定程度上得到了解决;新事物不断地崛起,为了给“老”的Struts1注入新的血液,Struts也在不断地发展。 Struts分化出原创 2015-09-23 22:01:28 · 713 阅读 · 8 评论 -
Java之旅Struts系列(2)——Struts1(精华)
上篇已经基本介绍了关于MVC的一些知识,现在我们来讲解Struts估计很容易就会理解了。 1. 理论讲解 Struts1的程序流程图: 流程详解: Struts1框架是以ActionServlet作为核心控制器,整个的应用由客户端请求驱动,当我们的客户端向web发送请求的时候,请求将被Struts1的核心控制器ActionServlet拦截,ActionSe原创 2015-09-23 14:53:52 · 766 阅读 · 8 评论 -
Java之旅Struts系列(1)——Struts1(前奏)
上来就说Struts估计大家很陌生,那么让我们一步一步的娓娓道来。我们知道Struts的核心思想是基于MVC的设计模式,那么什么是MVC?和传统的三层是否一样呢?估计很多人有这样的疑惑。 1. MVC与三层架构 从大的方面来说,MVC是一种设计模式,而三层架构是一种架构。 敲过机房的同学都知道什么是三层架构,准确的来说就是分为表现层,业务逻辑层以及数据访问层;三层的划分标原创 2015-09-22 22:36:07 · 743 阅读 · 3 评论 -
Maven学习总结(九)——使用Nexus搭建Maven私服
原文地址:http://www.cnblogs.com/xdp-gacl/p/4068967.html一、搭建nexus私服的目的 为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上,这样的话就可以通过这台搭建了nexus私服的电转载 2015-10-07 18:27:10 · 679 阅读 · 5 评论 -
Maven学习总结(一)——Maven入门
一、Maven的基本概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。1.1、项目构建 项目构建过程包括【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】这几个步骤,这六个步骤就是一个项目的完整构建过程。 理想的项目构建是高度自动化,跨平台,可重用的组件转载 2015-10-07 15:50:49 · 544 阅读 · 1 评论 -
Java之旅mybatis学习(一)——走进mybatis
1. 原生jdbc连接 在讲述mybatis之前,我们先来介绍一下原生jdbc,代码如下: 那么原生的jdbc存在哪些问题呢? (1)数据库的连接,使用的时候就创建,不使用的时候就释放,对数据库进行频繁连接开启和关闭,造成数据库资源的浪费,影响数据库的性能。 解决方法:使用数据库连接池管理数据库连接。 (2)将sql语句硬编码(在计算机程序或文本编辑中,原创 2015-10-07 21:25:18 · 685 阅读 · 8 评论 -
为何加入:private static final long serialVersionUID
原文地址:http://lhp--2006.iteye.com/blog/623373 1,serialVersionUID 用来表明类的不同版本间的兼容性。如果你修改了此类, 要修改此值。否则以前用老版本的类序列化的类恢复时会出错。为了在反序列化时,确保类版本的兼容性,最好在每个要序列化的类中加入private static final long serialVer转载 2015-10-06 20:43:13 · 944 阅读 · 1 评论 -
Maven学习总结(五)——聚合与继承
原文地址:http://www.cnblogs.com/xdp-gacl/p/4058008.html一、聚合 如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合1.1、聚合配置代码1 modules>2 module>模块一module>3 module>模块二module>4 module>模块三mod转载 2015-10-07 16:38:14 · 512 阅读 · 0 评论 -
Maven学习总结(七)——eclipse中使用Maven创建Web项目
原文地址:http://www.cnblogs.com/xdp-gacl/p/4054814.html一、创建Web项目1.1 选择建立Maven Project 选择File -> New ->Project,如下图所示: 在New窗口中选择 Maven -> Maven Project。点击【next】如下图所示: 1.2 选择项目路径转载 2015-10-07 17:06:12 · 657 阅读 · 1 评论 -
你真的知道你所熟悉的map吗?
Map我们经常在使用,可以当别人问你map是什么的时候,你会怎么回答呢?是是一个类吗?是一个可以直接写实现的类吗? 我们经常这样来使用它: Map map=newHashMap(); 为什么这样用呢? 和set以及list一样,我们经常使用的Map其实是一个接口,而HashMap是它的具体的实现,正如set的具体实现是:HashSet和TreeSet; HashSet类按照哈希原创 2015-10-24 11:15:10 · 810 阅读 · 12 评论 -
Java之旅Struts系列(3)——Struts2(前奏篇)
上篇博客我们已经讲到了Struts1的Action类这种侵入式设计使得代码的复用率极低,那么是不是有别的解决方案呢,答案当然是有的。 可能有的同学已经想到了是Struts2,也就是我们本篇要讲的,但是在讲解这个之前,我们先来了解一个别的mvc模式的框架:WebWork,了解了这个之后我们再来了解Struts2,效果肯定会更加的明显和高效。 WebWork来自于另一个优秀的开源组织,相对原创 2015-09-23 19:14:41 · 558 阅读 · 5 评论 -
人海中寻找,真的遇到你——Spring @ responsebody
当你面对一件事情,无计可施的时候,你是选择放弃,还是选择继续呢?生活中的我们总是在寻找下一个路口,也许就是在下一个路口就是我们转角处。 今天在调试ajax发送post请求的时候遇到了一个问题,就是发送的请求明明成功了,但是就是返回不了结果,后台使用的是spring mvc进行接收的,与前面的很多方法进行对比,发现一样了,试了很多方法就是不行,最后采取的是再试试。 终于发现了不一样的地方原创 2016-01-30 20:43:55 · 528 阅读 · 5 评论 -
java多线程------向线程传参
向线程传参的背景是:多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别。由于线程的运行和结束是不可预估,因此,在传递和返回数据时就不同于函数通过函数参数和return语句来返回数据。 不同于函数的调用,函数的调用通常是我们传入相应的参数,并且把这个函数将最终的计算结果进行返回,但是在多线程的异步开发模式下,数据的传递和返回与同步是存在很大的问题的。 最近在做项目的时候遇原创 2016-03-31 08:14:23 · 5274 阅读 · 2 评论 -
Java实用篇------文件的压缩
生活当中的我们经常使用一个写文件压缩和解压的工具,也就是可视化的工具。比如,好压还有360等等使我们比较常见的工具。 那么一个工具的使用背后往往是代码或者说是程序在操控的,我们习惯了司空见惯的东西,比如能够使用工具的东西我们肯定不会使用手动操作来完成,能够机械化的东西我们也不会使用人工来完成。 但是这些东西使用的前提,那就是必须要人 先制造出这些东西,我们才能使用呢,所以工具不是从石头原创 2016-03-31 08:33:57 · 502 阅读 · 2 评论 -
Oauth2.0协议简介
Ø 什么是Oauth2.0授权 概念 Oauth2.0授权是一个关于开放授权的一个开放标准,它可以允许用户授权第三方应用并且访问他们存储在另外的服务提供者上面的信息,而不需要将用户名和密码提供给第三方应用或者分享他们的数据的所有内容。 访问的原理是:Oauth允许用户提供一个令牌给第三方网站,一个令牌对应一个特定的第三方网站,同时该令牌只能在特定的时间内访问特定的资源。原创 2016-06-29 09:53:22 · 786 阅读 · 4 评论 -
Nosql数据库——redis(一)
最近一直在看redis相关方面的书籍,突然有种感受,看的东西多了,反而觉得自己知道的东西是那么的少,未知的东西是那么的多。记得老师总是在说一句话,学习是一件终身的事情,现在对于这句话真是深有感受,真是学无止境啊~在学习redis之前,我们必须对于Nosql有个了解,因为像我们经常说的redis,mongdb,memcached在本质上都是一种非关系型数据库,所以我们得先来了解一下关于Nosql原创 2015-09-28 20:36:46 · 827 阅读 · 8 评论 -
Nosql数据库——redis(二)简介和安装
1. 简介 概念 Redis是一个开源的,先进的key-value存储。它通常被称为数据结构服务器,因为键可以包含字符串,哈希,链表,集合和有序集合。 Redis是一个key-value存储系统,它支持存储的value类型很多,包括String(字符串)、list(链表)、set(集合)、zset(有序集合)。这些数据类型都是支持push/pop、add/remove及原创 2015-09-28 22:05:16 · 1122 阅读 · 12 评论 -
Nosql数据库——redis(三)数据类型
上节课还有点小的内容那就是我们的redis配置文件。Redis的主要配置文件是redis.config. 1. 配置文件redis.config 上节课我们在window系统下面启动了redis,服务端如下图: 在没有建立相应的客户端的时候,此时的连接是0,当我们启动一个客户端连接的时候此时为1,但是此时出现是暂用session也就是前台在运行,那么使得其在后原创 2015-09-29 19:48:02 · 731 阅读 · 5 评论 -
Nosql数据库——redis(四)数据类型
上篇博客介绍了两种数据类型string和hash,下面我们接着来看~ 1. List类型 Redis 是一个链表结构,主要的功能是push、pop/获取一个范围的所有值等等,操作中key理解为链表的名字。Redis的list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以原创 2015-09-29 21:44:59 · 701 阅读 · 6 评论 -
Nosql数据库——redis(五)主从复制
Redis提供了丰富的命令对数据库以及各种数据类型进行操作,不仅仅适用于windows,同样适用于Linux等等终端。 主要包括:键值相关命令以及服务器相关命令。这里不再一一介绍,网上有大量的资料。 我们主要来说说redis的一些高级的应用比如安全性以及主从复制。 在之前的讲解中,我们的服务开启之后,客户端和服务端进行相连后,便可以进行相应的操作,没有密码等等安全机制的验证。原创 2015-09-30 16:56:30 · 778 阅读 · 3 评论 -
Nosql数据库——redis(六)事务和持久化
Redis对于事务的支持目前很简单。只能保证client发起的事务中的命令可以连续执行,而不会插入其他client命令,当一个client在一个连接中发出multi命令时表示连接进入了事务上下文,该连接后续的命令不会立即执行,而是先放一个队列中,当执行exec命令时,redis会顺序的执行队列中的所有命令。 1. 事务处理 执行事务 一个事务从开始到执行会经历以下三个阶段:开始事务原创 2015-09-30 19:56:38 · 736 阅读 · 7 评论 -
并发(1)--线程池简介
通常情况下,当我们使用一个线程的时候,采用new方式去创建一个线程,这样实现起来很方便,但是与此同时存在一个问题:大量创建线程,会带来资源的消耗,并且如果并发的数量很多的时候,并且每个线程的执行时间很短的话,频繁创建线程会很消耗效率,因为频繁创建和销毁线程是一个很耗时间的过程。 如何使得线程可以复用,即执行完毕并不会销毁,进而可以执行其他的任务,那该多好啊,在java中可以通过线程池来达原创 2017-08-31 22:34:35 · 532 阅读 · 1 评论 -
Java8新特性(四)------接口中可以定义方法体
Java8比起以前的版本存在很大的变化,我们知道在之前的版本中接口只能是定义抽象的方法,是不能定义实现的,但是在java8环境下,这个不可能已经变得可能。下面我们通过例子一步一步的来讲解下java8的用法。 定义静态方法 在接口中定义的静态方法,不是抽象的,具体实现的,可以直接使用接口名称调用。/** * Created by xiaona on 2016/5/30. */pu原创 2016-05-30 16:12:21 · 18119 阅读 · 10 评论 -
Java8新特性(三)------Stream
Ø 基础讲解 在java8中Stream被定义为泛型接口,这个接口代表的是数据流,但是Stream并不是一个数据结构,不直接进行数据的存储。Stream主要是通过管道来操作数据。 Stream 不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的,它更像一个高级版本的 Iterator。原始版本的Iterator,用户只能显式地一个一个遍历元素并对其执行某些操作;高级版本的原创 2016-05-30 16:03:18 · 712 阅读 · 3 评论 -
Java8新特性(二)------lamda表达式
Ø 基础讲解 Lambda表达式是一种基于函数的编程语言,下面我们来演示一下java8中lambda表达式的运用,根据例子来分析一下java8中lambda表达式的改进。 新建一个项目,这个项目必须是基于java8的,我使用的IDE编辑器是idea,故而配置idea的jdk环境为java8,配置如图: 我们先来看一下传统的写法:第一种实现方式interface原创 2016-05-30 15:59:10 · 794 阅读 · 3 评论 -
Java实用篇--如何在指定文件位置创建文件
为什么提到这个问题呢?还是接着上次的创建完压缩文件后,会把文件存放在一个地方,这样的话所有商户创建的文件都会存在一个地方,这样就无法对商户的查看权限进行控制了,这样导致的结果就是其他商户创建的压缩文件被所有商户所共享,而这个不是我们所希望的,所以实现对压缩文件后的查看权限的实现变得很有必要了。 其实实现这个并不难。只要在商户压缩的文件的时候,把文件的压缩存放的地址动态进行创建,而不是事先创建原创 2016-03-31 08:46:12 · 2387 阅读 · 2 评论 -
java使用篇—解析json数组
在程序的世界中,前台和后台的是很常见的事情,但是不同的情况下的处理可能不一样,最近做一个活动的时候,需要将前台的tab中所以选中的数据异步提交到后台,经过处理后将处理的结果返回给前台,并且进行显示。 Tab中的数据经过一系列的转换后是一个json的数组,那么接下来的事情就是如何在后台进行接收和处理了。 数据的格式是:$.ajax({ type: 'P原创 2016-03-31 09:06:04 · 3158 阅读 · 3 评论 -
微信之旅——微信公众号
最近做的项目是基于微信的二次开发,那么我们首先来了解什么微信的二次开发?可能有的人会想,微信的二次开发是不是很难?对于微信的二次开发存在很大茫然,其实并不像我们想象的那样,因为微信结合的是手机,很多时候在想,难不成还得学习手机开发的相关的技术吗? 其实这觉得这可能是很多人的疑虑,但是最近的学习中发现其实不是这个样子的,微信开发技术有以下的好处:不需要使用手机app的相关技术,并且开发语言并不原创 2016-02-29 09:12:06 · 959 阅读 · 3 评论 -
Java mail学习之邮件基础
了解相关邮件的基础知识,才能更好滴编写邮件,那么关于邮件有哪些基础的知识呢? Ø 邮件服务器 要在internet上提供电子邮件功能,必须具有专门的电子邮件服务器,就比如我们之前没有电子邮件之前,使用现实生活中的邮局一样,我们必须将我们的信件发送到邮局,然后邮局再次进行转发,才能达到我们想要的目的地。 电子邮件也是同理,电子邮件的传送也是需要有一个电子邮件服务器的,完成的功能就是原创 2016-04-29 19:58:06 · 606 阅读 · 2 评论 -
java.io------BufferedReader
java中的IO,也就是Input与Output的缩写。在java中,IO涉及的范围很大,我们主要来理解对于文件的读写操作。 对于文件内容的操作我们主要可以分为两类,是:字节流和字符流。而对于字符流有FileWriter和FileReader,其中他们的抽象类是Writer和Reader;而字节流主要是FileInputStream和FileOutputStream,其抽象类是InputStr原创 2016-04-29 20:35:20 · 660 阅读 · 1 评论 -
Java mail API学习
Java mail API学习是sun公司为了方便java开发人员在程序中实现邮件的发送和接受而提供的一套标准的开发包,它支持一些常用的协议SMTP,POP3,IMAP以及MIME协议等等,java开发人员编写邮件处理程序的时候,只是需要调用相应的API类就可以了,java mail API主要是封装在一个mail.jar的文件中,mail.jar是邮件开发的核心包。 Ø Java mail原创 2016-04-29 23:19:48 · 720 阅读 · 1 评论