【Java读书笔记+项目实战】
对java不断深入地学习,在项目中一步步落实书本上的基础知识理论,以实践的方式巩固。
程序猿小亮
精通JAVA,Mysql数据库、MQ、Redis、Netty等中间件。具有多年金融行业分布式开发经验。成功的路上,没有捷径,希望我的博文能够帮助您。
展开
-
【SSH进阶之路】Spring简介,搭建Spring环境——轻量级容器框架(一)
经过对Struts和Hibernate的学习,我们严寒的冬季(Hibernate),终于迎来了阳光灿烂的春天(Spring)。在系列博客开篇【SSH进阶之路】Struts + Spring + Hibernate 进阶开端(一),我们介绍了Spring的基本概念,以及比较重要的两大核心IoC和AOP,基本上介绍的比较简单,一句话带过。从这篇博客开始,我们开始重新介绍Spring框架的基本理论,原创 2014-11-30 08:06:38 · 22262 阅读 · 19 评论 -
【SSH进阶之路】Hibernate映射——一对多关联映射(七)
一对多关联映射和多对一关联映射的映射原理是一致的,都是在多的一端加入一个外键,指向一的一端。关联关系都是由多端维护,一端维护多端的关系,在加载一端时,可以将多端加载上来。原创 2014-11-16 08:10:16 · 18713 阅读 · 11 评论 -
【SSH进阶之路】Hibernate系列——总结篇(九)
这篇博文是Hibernate系列的最后一篇,既然是最后一篇我们进行一下从头到尾,整体上的总结,将这个系列的内容融会贯通。。。原创 2014-11-22 08:18:37 · 19361 阅读 · 18 评论 -
JBoss5.x下配置Log4j简记
JBoss中配置Log4j,从一点一滴做起。。。。原创 2014-12-25 00:54:40 · 5082 阅读 · 9 评论 -
多线程之内存可见性Volatile(一)
从这篇博文开始,我们开始分享一些多线程的内容,毕竟在工作中,使用多线程比较多。多总结一下,终归没有坏处。这个系列的文章不会特别长,争取在3到5分钟之间结束,主要以说明白内容,给出相应的解决方案,重点在于实践。如标题所示,这篇博文我们简单的介绍一下内存可见性问题,之前,要简单的介绍一下什么是内存模型?内存模型什么是JAVA 内存模型?Java Memory Model (JAVA 内存模型)是描述线程原创 2017-03-15 11:59:07 · 6686 阅读 · 9 评论 -
多线程之原子变量CAS算法(二)
上篇博文,我们介绍了多线程之内存可见性Volatile(一),但是也遗留了一个问题,如何保证变量的”原子性操作(Atomic operations)”?Volatile保证部分类型的原子性上篇博文,我们说Voloatile不能保证原子性,有一点局限: 因为在32位(4字节)处理器中,Java中读取long类型变量不是原子的,需要分成两步,如果一个线程正在修改该long变量的值,另一个线程可能只能看原创 2017-03-16 10:06:23 · 2992 阅读 · 6 评论 -
多线程之创建线程的方式之一:实现Callable接口(三)
对于多线程,大家并不陌生,对于如何创建线程也是轻车熟路,对于使用new thread和实现runable接口的方式,不再多说。这篇博文我们介绍第三种:实现Callable接口。原创 2017-03-16 17:23:03 · 5487 阅读 · 5 评论 -
【SSH进阶之路】Hibernate映射——一对一双向关联映射(六)
上篇博文【SSH进阶之路】Hibernate映射——一对一单向关联映射(五),我们介绍了一对一的单向关联映射,单向是指只能从人(Person)这端加载身份证端(IdCard),但是反过来,不能从身份证端加载人得信息。如图所示: 关键原因在于对象模型具有方向性:单向:一端只能加载另一端,不能反过来。双向:两端都可以加载另一端。原创 2014-10-31 08:39:20 · 22652 阅读 · 31 评论 -
【SSH进阶之路】Hibernate映射——一对一单向关联映射(五)
两个实体对象之间是一对一的关联映射,即一个对象只能与另外唯一的一个对象相对应。例如:一个人(Person)只有一张身份证(IdCard)。原创 2014-10-23 08:15:19 · 26822 阅读 · 27 评论 -
【SSH进阶之路】Hibernate映射——多对一单向关联映射(四)
基本映射是对一个实体进行映射,关联映射就是处理多个实体之间的关系,将关联关系映射到数据库中,所谓的关联关系在对象模型中有一个或多个引用。原创 2014-10-22 08:15:25 · 34914 阅读 · 32 评论 -
【SSH进阶之路】Hibernate基本映射(三)
【SSH进阶之路】Hibernate基本原理(一) ,小编介绍了Hibernate的基本原理以及它的核心,采用对象化的思维操作关系型数据库。【SSH进阶之路】Hibernate搭建开发环境+简单实例(二),小编搭建了基本Hibernate的开发环境,并做了一个简单实例,对它的基本原理有了一个理性的认识。 这篇博客小编介绍Hibernate的经典内容:对象关系映射。主要介绍映射的基本概念原创 2014-10-17 08:19:27 · 38726 阅读 · 30 评论 -
【SSH进阶之路】Hibernate基本原理(一)
在开始学Hibernate之前,一直就有人说:Hibernate并不难,无非是对JDBC进一步封装。一句不难,难道是真的不难还是眼高手低? 如果只是停留在使用的层面上,我相信什么技术都不难,看看别人怎么做的,你也可以很快上手。 这难道是学习的最终目的吗? 不是,绝对不是。我们需要了解这门技术的基本概念,它到底是什么,它是干什么的,它有什么优缺点。下面我就带原创 2014-09-22 10:05:25 · 246603 阅读 · 69 评论 -
【SSH进阶之路】深入源码,详解Struts基本实现流程(七)
通过一步步的封装我们实现了Struts,我们解决了Struts怎么实现MVC的问题,我们现在仅仅有了Struts的基础,所以对Struts的学习才刚刚开始,这篇我们要通过对比MVC的执行流程来理解Struts的执行流程,最后深入Struts的源码,一看究竟。MVCM:业务逻辑,业务数据可以重复使用,其实struts没有实现业务层,也无法实现V:显示逻辑,同一份数据,对应多中显示方法,J原创 2014-09-22 08:05:38 · 10648 阅读 · 22 评论 -
菜鸟程序员的成长之路(三)——2014,逝去的半年,奋斗的半年
从3月份到现在,仅仅半年的时间让我扮演了两个完全不同的角色,从在校生一下变成了毕业生,作为毕业生不能再像在校生一样自由自在,无所顾忌,想怎样就怎样,肆无忌惮的生活,浪费时间。如果你想从容的面临未来的生活,就需要彻头彻尾的改变。多一份稳重,多一份责任,多一份担当。 鉴于LZ不太擅长写非技术博文,那就以碎碎念的形式,来回顾一下我的改变历程: 3月份开始备战软考,软考准备了两原创 2014-09-12 08:12:08 · 6905 阅读 · 28 评论 -
【SSH进阶之路】一步步重构MVC实现Struts框架——完善转向页面,大功告成(六)
第四篇博客【SSH进阶之路】一步步重构MVC实现Struts框架——封装业务逻辑和跳转路径(四),我们解决了第一个问题:封装业务逻辑和跳转路径。第五篇博客【SSH进阶之路】一步步重构MVC实现Struts框架——彻底去掉Servlet中的逻辑判断(五),我们解决了第二个问题:彻底去掉Servlet中的逻辑判断。这篇我们解决最后一个问题,完善转向页面,显示和控制分离。原创 2014-09-12 08:13:25 · 7680 阅读 · 29 评论 -
【SSH进阶之路】一步步重构MVC实现Struts框架——彻底去掉逻辑判断(五)
Struts的第二篇博客【SSH进阶之路】Struts基本原理 + 实现简单登录(二),我们介绍了MVC模型和Struts的基本理论,对比学习了他们之间的联系和区别。从第三篇博客【SSH进阶之路】一步步重构MVC实现Struts框架——从一个简单MVC开始(三)开始,我们实现了一个简单MVC模型,提出了三个重构的问题。 上篇博客【SSH进阶之路】一步步重构MVC实现Struts框架原创 2014-09-06 07:58:34 · 8659 阅读 · 12 评论 -
【SSH进阶之路】一步步重构MVC实现Struts框架——封装业务逻辑和跳转路径(四)
Struts的第一篇博客【SSH进阶之路】Struts基本原理 + 实现简单登录(二),我们介绍了MVC和Struts的基本理论,上篇【SSH进阶之路】一步步重构MVC实现Struts框架——从一个简单MVC开始(三),我们实现了一个MVC模型,这篇博客我们解决一下上篇博客留下的第一个问题:封装业务逻辑和跳转路径。 我们先回顾一下上篇博客中的TestServlet的代码:原创 2014-09-05 08:01:41 · 9194 阅读 · 12 评论 -
【SSH进阶之路】一步步重构MVC实现Struts框架——从一个简单MVC开始(三)
上篇【SSH进阶之路】Struts基本原理 + 实现简单登录(二),我们介绍MVC和Struts的基本理论,并实现了一个简单登录的实例。从中我们知道了,Struts是MVC的框架,MVC其实是Model2,M代表了模型,我们可以理解为业务逻辑,V代表了视图,主要是界面显示,使用jsp显示,C代表控制,控制最典型方式是使用servlet,可以获取参数,调用业务逻辑,另外还可以转向其他界面。原创 2014-09-05 08:01:05 · 12330 阅读 · 16 评论 -
【SSH进阶之路】Struts + Spring + Hibernate 进阶开端(一)
Long Long ago,就听说过SSH,起初还以为是一个东东,具体内容更是不详,总觉得高端大气上档次,经过学习之后才发现,不仅仅是高大上,更是低调奢华有内涵,经过一段时间的研究和学习SSH框架的基本原理与思想,总算接地气了。作为初学者,有点小小收获,想通过以博文的形式和大家一起分享,共同进步,在更新博文的过程中难免有认识不足的地方,还请各位大牛提出宝贵的建议,对于好的建议一定虚心接受,认真学习原创 2014-08-29 07:56:11 · 23380 阅读 · 32 评论 -
【SSH进阶之路】Struts基本原理 + 实现简单登录(二)
上面博文,主要简单的介绍了一下SSH的基本概念,比较宏观,作为初学者能够有一个整体上的认识,个人认为对学习有很好的辅助功能,它不仅仅是一个瞭望塔,更是检验是否真正掌握所有内容的一个前提。 Struts是基于MVC的框架,它进一步的对MVC进行了封装,它是怎么封装的,我们从先回顾一下MVC再到Struts,再用Struts给大家实现一个简单登录的实例。我们开始吧。MVC原创 2014-08-29 07:56:04 · 20423 阅读 · 28 评论 -
【java项目实战】代理模式(Proxy Pattern),静态代理 VS 动态代理
这篇博文,我们以类图和代码的形式来对比学习一下静态代理和动态代理,重点解析各自的优缺点。定义 代理模式(Proxy Pattern)是对象的结构型模式,代理模式给某一个对象提供了一个代理对象,并由代理对象控制对原对象的引用。 静态代理VS动态代理,打成了平手,各自有各的独特之处,均不可代替,在项目中到底使用哪种代理,没有最好,只有更合适。原创 2014-08-23 07:50:19 · 12152 阅读 · 9 评论 -
【java项目实践】详解Ajax工作原理以及实现异步验证用户名是否存在+源码下载(java版)
一年前,从不知道Ajax是什么,伴随着不断的积累,到现在经常使用,逐渐有了深入的认识。今天,如果想开发一个更加人性化,友好,无刷新,交互性更强的网页,那您的目标一定是Ajax。 介绍 在详细讨论Ajax是什么之前,先让我们花一分钟了解一下Ajax做什么。如图所示: 如上图展示给我们的就是使用Ajax技术实现的效果。伴随原创 2014-08-15 07:59:34 · 11072 阅读 · 10 评论 -
【java项目实战】ThreadLocal封装Connection,实现同一线程共享资源
线程安全一直是程序猿们关注的焦点,多线程也一直是比较让人头疼的话题,想必大家曾经也遇到过各种各种的问题,我就不再累述了。当然,解决方式也有很多,这篇博文给大家提供一种很好的解决线程安全问题的思路。。。。。。。 ThreadLocal是解决线程安全问题一个很好的思路,在很多情况下,ThreadLocal比直接使用synchronized同步机制解决线程安全问题更简单,更方便,并且程序拥有更高的并发性。原创 2014-08-08 08:02:25 · 13978 阅读 · 18 评论 -
【java读书笔记】JSTL,快速精通
JSTL并不是什么新颖的技术而且很简单,甚至有人认为JSTL已经过时了。但是我认为它既然存在,就有存在的道理,作为技术人员就应该知道它们是什么,怎么使用,有什么优点。JSTL包含两部分:标签库和EL语言。下面先介绍标签库,再介绍EL语言,最后总结一下JSTL的优点。JSTL JSTL简介 JSTL(JavaServer Page Stan原创 2014-07-31 11:11:05 · 5033 阅读 · 15 评论 -
【java项目实战】dom4j解析xml文件,连接Oracle数据库
简介 dom4j是由dom4j.org出品的一个开源XML解析包。这句话太官方,我们还是看一下官方给出的解释。如下图: dom4j是一个易于使用的、开源的,用于解析XML,XPath和XSLT等语言的库。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP等编程标准。特点原创 2014-07-26 07:54:55 · 13986 阅读 · 22 评论 -
【java读书笔记】——Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)
两个月之前准备软考时,简单的从理论上总结了最常用的数据结构和算法,比如:线性表,链表,图。在进行java开发时,jdk为我们提供了一系列相应的类来实现基本的数据结构。jdk所提供的容器API位于java.util包内。本文主要是通过简单的介绍Collection集合,向读者简单阐述各个类的基本定义以及其作用,为后面的学习做一下铺垫。首先,我们先看一下Collection集合的基本结构:原创 2014-06-30 09:59:06 · 37671 阅读 · 27 评论 -
【java项目实战】Servlet详解以及Servlet编写登陆页面(二)
Servlet是Sun公司提供的一门用于开发动态web网页的技术。Sun公司在API中提供了一个servlet接口,我们如果想使用java程序开发一个动态的web网页,只需要实现servelet接口,并把类部署到web服务器上就可以运行了。到底什么是Servlet呢? 通俗一点,只要是实现了servlet接口的java程序,均称Servlet。Servlet是由原创 2014-07-11 09:27:03 · 97045 阅读 · 44 评论 -
【java项目实战】一步步教你使用MyEclipse搭建java Web项目开发环境(一)
首先,在开始搭建MyEclipse的开发环境之前,还有三步需要完成,只要在安装配置成功之后才可以进入下面的java Web项目开发环境的搭建。第一步,下载并安装JDK,到官网上下载安装即可,之后需要细心的配置环境变量,我给大家推荐百度文库的一篇文章,猛戳这里。第二步,下载Tomcat,当然可以去Apache Tomcat的官网,同样,您可以移驾到我的资源下载,外送API文档(免积分)。原创 2014-07-07 09:40:47 · 122091 阅读 · 26 评论 -
【java读书笔记】——java的异常处理
程序在实际环境的运行过程中,安全成为需要首先考虑的重要因素之一,这也是用户和程序员最关心的问题。同时,Java语言健壮性也体现在了能够及时有效地处理程序中的错误,准确的说是Java的异常处理机制为解决安全问题提交了一份满意的答卷。 先从整体上看一下本文要介绍的内容,然后进行详细的分析:原创 2014-06-13 10:01:26 · 3869 阅读 · 17 评论 -
【java读书笔记】——java开篇宏观把控 + HelloWorld
学完java有一段时间了,一直没有做相应的总结,总觉得有一种缺憾。从这篇博客开始,将自己平时的学习笔记进行总结归纳,分享给大家。 这篇博客主要简单的介绍一下java的基础知识,主要的目的是扫盲。原来只是听说过java,现在自己真正开始学习了,看完了第一集视频之后,问自己,你知道java是什么吗?问完之后才发现一无所知,上完查一查,简单了解一下,给自己扫盲。介绍原创 2014-06-06 08:42:11 · 4007 阅读 · 16 评论