
【Java】
文章平均质量分 74
愿有岁月可回首&
软件是目前人类生产出来的最复杂的产品
展开
-
【菜鸟学Java】3:封装一个分页类PageBean
背景介绍: 在做网上商城的项目时,有一个非常高频的功能需求,那就是做Web前端开发都知道的分页显示数据。当然要实现这个功能方法是非常多的,在我之前的做的项目接口管理系统中,使用的实现方式是假分页的方式,即将所有的数据查询出来,在前端进行分页,这个分页是使用前端框架的表格控件来完成的。因此我们在开发的时候,并没有在分页的实现上下多大的功夫,当然也就谈不上什么抽象和封装之类的编程技巧原创 2015-11-08 21:49:00 · 12932 阅读 · 10 评论 -
【Java基础】:线程的生命周期
上篇博客介绍了创建线程的三种方式之间的优劣,我们接着学习多线程的生命周期。 当线程被创建并且启动之后,它既不是一启动就直接进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过new、runnable、running、blocked和dead五种状态。尤其是当线程启动以后,它不可能一直“霸占”着CPU独自运行,否则多线程也就不存在了,这样一来就需要CPU在多条线程之原创 2016-08-31 21:53:39 · 918 阅读 · 2 评论 -
【Java基础】:线程的三种创建方式对比分析
上篇博客介绍了创建线程的三种方式,那么这三种方式有什么不同的地方和相同的地方呢?今天我们就一起简单聊聊这三种方式的差别在哪里。 首先,通过继承Thread类或者实现Runnable、Callable接口都可以实现多线程,不过实现Runnable接口与实现Callable接口的方式基本相同,只是Callable接口里定义的方法有返回值,可以声明抛出异常而已。因此可以将实现Runna原创 2016-08-30 19:49:23 · 890 阅读 · 4 评论 -
【Java基础】:线程的创建和启动
单线程的程序在实际情况中,往往功能是十分有限的,因此随着业务逻辑的复杂度增加好程序并发量的增大,就引入了多线程的概念。Java语言提供了非常优秀的多线程技术支持,程序可以通过非常简单的方式来创建新的线程并启动之。 Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例。通常有三种方式来创建新的线程。 大家都比较熟悉的是前两种方式,原创 2016-08-30 16:58:36 · 922 阅读 · 4 评论 -
【菜鸟学Java】1:Java语言简介
2013年年初认识的Java,因为之前学习过C++,也考过NCRE 二级C++,知晓C++是一种十分让人头疼的OO高级程序设计语言,感觉高不可攀的样子,后来才知道C++大多用来写底层代码的,心里才觉得释然:以当时自己的水平根本配不上人家。 在见到Java之后,我发现她比C++单纯多了,而且是面向对象的,各方面品质条件的都不错,一种怦然心动的感觉啊!可是看到我们系主任给定的教材,原创 2014-09-08 09:04:50 · 2667 阅读 · 17 评论 -
【菜鸟学Java】14:使用ThreadLocal对Connection进行封装
问题背景: 使用JDBC进行开发的时候,每一次的增删改查都必须和数据库建立连接,才可以对数据项进行相应的操作。当我们的业务比较复杂的情况下,可能会出现在一个方法中多次的执行增删改查,这样的话,在这个方法的执行过程中,就需要与数据库建立多次的连接,在这种场景中,如何保证在并发执行这个方法的过程中,与数据库的连接不会混乱,保证这些操作的原子性,就显得尤为重要了。如何解决这个问题呢?原创 2016-02-24 11:53:47 · 2760 阅读 · 6 评论 -
【菜鸟学Java】13:代理模式——动态代理这样玩!
在上篇博客中,我们说到了代理模式的一种形式——静态代理,文章结尾处提到了静态代理的不足之处,其中有一个就是当我们的业务类非常多的时候,还用静态代理显然是一个非常糟糕的选择,那么这种情况该如何解决呢?这就引出了我们的动态代理。 什么是动态代理? 所谓的动态代理是相对于静态代理来讲的,利用反射机制,在程序的运行期决定加载哪个类,很好的规避了静态代理一个业务类对应一个原创 2016-02-23 10:18:13 · 1181 阅读 · 7 评论 -
【菜鸟学Java】12:代理模式——静态代理怎么玩?
什么是静态代理? 周所周知,常用的23种设计模式中,有一个代理模式(Proxy Pattern)。它的定义如下: 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 代理模式的思想是为了提供额外的处理或者不同的操作而在实际对象与调用者之间插入原创 2016-02-22 15:52:06 · 909 阅读 · 8 评论 -
【菜鸟学Java】15:JSP技术中的Model1和Model2开发模式
JavaWeb应用的结构经历了Model1和Model2两个时代,从Model1发展到Model2既是技术发展的必然,也是无数程序员的心血结晶。 Model1的原理及代码示例 在Model1模式下,整个Web应用几乎全部由JSP页面组成,JSP页面接收处理客户端请求,对请求处理后直接作出响应。用少量的JavaBean来处理数据库连接、数据库访问等操作。其流程图如原创 2016-03-03 14:20:48 · 5028 阅读 · 4 评论 -
【菜鸟学Java】11:Session技术
【什么是Session?】 Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session原创 2016-02-16 11:05:02 · 1602 阅读 · 9 评论 -
【菜鸟学Java】4:Servlet 技术
什么是Servlet? Servlet是java语言类,用来拓展通过请求响应模式的服务端的能力。尽管servlets可以响应任何类型的响应,它们通常用于拓展基于Web的应用程序。在这种应用程序中,Java servlet技术定义了特定的HTTP servlet类。 Servlet通常运行在多线程服务器上,因此应该了解到Servlet必须处理并发请求并且要小心翼翼原创 2015-12-01 15:56:30 · 1960 阅读 · 13 评论 -
【菜鸟学Java】7:JSP的基本语法
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%> JSP语法实例 <%! //声明一个整形变量 public int count; //声明一个方法 public String info() { return "hello world!";原创 2015-12-21 21:35:59 · 1028 阅读 · 7 评论 -
【菜鸟学Java】6:JSP的基本原理
在上篇博文中介绍了JavaWeb开发中比较基础也是比较经典的Servlet技术,同时也在文章的结尾点出了Servlet技术所带来的问题,那就是由于包括大量的HTML标签,大量的静态文本及格式等,导致Servlet的开发效率极为低下。所有的表现逻辑,包括布局、色彩及图像等,都必须耦合在Java代码中,这的确让人觉得非常糟糕。 JSP的出现弥补了这种不足,JSP通过在标准的HTML页原创 2015-12-17 17:14:02 · 1803 阅读 · 11 评论 -
【菜鸟学Java】10:Cookie技术
什么是Cookie? Cookie是当你浏览某网站时,网站存储在你机器上的一个小文本文件,它记录了你的用户ID,密码、浏览过的网页、停留的时间等信息,当你再次来到该网站时,网站通过读取Cookie,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等。 Cookie是由服务器端生成,发送给User-Agent(原创 2016-01-18 15:34:49 · 1089 阅读 · 7 评论 -
【菜鸟学Java】9:使用dom4j解析jdbc.xml
最开始的时候,程序中需要操作数据库了,我们会把连接数据库的JDBC代码写到我们的业务逻辑代码里面,这样,每连接一次,就要写一遍JDBC连接-关闭的代码,这样的写法显然是很糟糕的,一旦数据库有所变更,那么你将要修改你的程序中所有使用JDBC的程序块,一个一个的改固然让人抓狂,批量替换也不是什么好办法。 因此我们就开始了抽象和封装,将连接数据库的代码抽取出来,写成一个工具类,专门负责原创 2016-01-16 14:05:30 · 1831 阅读 · 5 评论 -
【菜鸟学Java】8:List实体集合中保证产品名称不重复
问题背景: 在做APP的嵌入页面的时候,部长给提了这么一个需求,需要从生产信息的视图中查询出每种产品中已经成熟的一条信息,为了更好的显示效果。简单的说,就是黄瓜和茄子分别被种植在1号大棚和2号大棚里,这样就会产生4条种植信息,我们想要的结果是按照产品名称检索每个产品名称下的任意一条种植信息即可。比如,黄瓜的种植信息有两条,随便拿出来一条,茄子亦如此,那么我们想要的结果就是两条(不原创 2016-01-15 16:55:39 · 1785 阅读 · 5 评论 -
【菜鸟学Java】5:“徒手”创建一个Web应用
众所周知,JSP、Servlet、Listener和Filter等都必须运行在Web应用中,所以了解一个Web应用的文件结构是十分必要的。作为一个程序员,相信大家都会使用Eclipse来构建一个Web应用,但是如果你仅仅只会在Eclipse等IDE工具中单击“下一步”“确定”等按钮,那你将很难成为一个真正意义上的程序员。要想成为一个优秀的程序员,应该从基本功抓起,所有的代码都应该用简单原创 2015-12-12 10:17:50 · 2180 阅读 · 10 评论 -
【菜鸟学Java】2:初识J2EE
自从软考之后,就没再写过关于Java的博客了,虽然学习Java有段时间了,也正在做着Java开发的项目,但是对于Java技术的总结还开始,真的是不应该啊,今天准备开始写Java技术方面的博客,发现无从下手,不知从哪开始,于是就先对J2EE来个入门总结吧。 众所周知,Java2平台包括标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。今天我们要讨论的是Ja原创 2015-10-31 21:20:41 · 1205 阅读 · 4 评论 -
【Java基础】:线程控制
Java提供了一些控制线程执行顺序的非常方便的工具方法,通过这些便捷的工具方法可以让我们更加灵活地控制线程的执行。 今天我们主要讨论控制线程的几个常用方法:join、sleep、yield以及如何调整线程的优先级。 Join线程 Thread提供了让一个线程等待另一个线程完成之后自己再接着执行的方法:join方法。当某个程序执行流中调用其他线程原创 2016-08-31 22:56:49 · 1140 阅读 · 4 评论