唛唛丶Information Technology

分享感悟、留下思索
私信 关注
zc搬码工
码龄7年

抬头不是自负,而是仰望星空;低头不是自卑,而是脚踏实地。

  • 155,020
    被访问量
  • 75
    原创文章
  • 42,223
    作者排名
  • 63
    粉丝数量
  • 目前就职 攀枝花学院
  • 于 2013-11-18 加入CSDN
获得成就
  • 获得119次点赞
  • 内容获得47次评论
  • 获得80次收藏
荣誉勋章
兴趣领域
  • #后端
    #MySQL#Java#Spring#Redis#分布式#Spring Boot#架构
TA的专栏
  • 快速上手设计模式
    12篇
  • 逐本溯源
    34篇
  • WEB开发
    18篇
  • HTML
    9篇
  • JavaScript
    4篇
  • Servlet编程
    2篇
  • JavaBean编程
    2篇
  • JSP编程
    8篇
  • CSS
    2篇
  • JDBC编程
    2篇
  • C# .NET编程
    1篇
  • Java
    14篇
  • Hibernate框架开发
    5篇
  • thread.setDaemon服务线程
    1篇
  • 守护线程
    1篇
  • 线程自动释放离开
  • AJAX-js
    1篇
  • AJAX-jq
    1篇
  • struts2框架开发
    2篇
  • 个人心得
    3篇
  • linux
  • 单元测试
    6篇
  • 设计模式
    12篇
  • on the way
    8篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

2020小结,迎战2021

2020,又悄悄的过了一年,感觉今年遇到了很多事情,又仿佛什么事都没有发生,只是大家都长大了一岁。工作和生活今年同样没有写博客,不是因为没有东西分享,而是时间基本都被工作和生活霸占,抓狂!!!好在工作上没有受疫情的影响,反而更加的认识到了互联网的重要意义。这里要十分感谢领导的信任和培养,同时也感谢同伴们的信任和帮助,和大家一起共事真的很开心,希望来年再接再厉,共同进步,合作愉快,少写bug。在生活中也有了很多的感悟,被LOL设计师劝退后,现在会花更多的时间在家庭上,每周都带着老婆孩子买菜逛超市,真.
原创
1849阅读
10评论
4点赞
发布博客于 2 月前

真正的RESTFUL-API

转载:如何设计出优秀的Restful API?1 你一直在错误的使用http协议现在微服务真是火的一塌糊涂!大街小巷,逢人必谈微服务,各路大神纷纷忙着把自家的单体服务拆解成多个Web微小服务!而作为微服务之间通信的桥梁,Web API的设计就显得非常重要。Http是目前互联网使用最多的协议,没有之一!但是作为Http协议创始人之一的Roy Fielding认为,过去十年,大家都在错误的使用Http协议。删除一个数据,路径往往是 delete/{id} , 更新一条数据,路径往往被定义为update/{
转载
25阅读
0评论
0点赞
发布博客于 5 月前

2019小结,期待2020

转眼2019年已接近尾声,今年的市场行情比我想象的还要糟糕,有好多朋友相继被裁,虽然自己的工作也有点小变动,不过正好趁机总结一下今年的得与失,希望大家都能够砥砺前行,相信明天会越来越好。一、升级成为father你没猜错,程序员都生小棉袄,虽然工作上没有升职加薪,但这算得上是今年最大的喜悦,现在小宝宝六个月了,每天下班回家总是要先抱抱、亲亲,看着宝宝一天天长大,自己也变得越来越成熟了附上宝宝...
原创
2963阅读
24评论
42点赞
发布博客于 2 年前

三分钟学会java枚举类

什么是枚举 what枚举类enum是jdk1.5引入的,全称enumeration,和class、interface的地位一样,存在java.lang包中什么时候使用枚举 when当变量的值在一个固定的范围内变化时,建议优先使用枚举为什么使用枚举 why正常我们声明常量时public static final String SEASON_SPRING = "春天";public st...
原创
156阅读
0评论
2点赞
发布博客于 2 年前

一分钟搞懂泛型和Object的区别?

泛型声明public <T> T doSomeThing(T t){ return t;}Object声明public Object doSomeThing(Object obj){ return obj;}泛型引用String result = doSomeThing("参数是String");Object引用String result = (String...
原创
1972阅读
0评论
4点赞
发布博客于 2 年前

一行代码解决导出文件的文件名中文乱码问题

通常导出文件都是通过流的形式导出,当导出的文件名包含中文的时候,由于各大浏览器的内核不同,会出现一些浏览器导出的文件名正常,而某狐浏览器或某E浏览器就极有可能出现乱码,不用担心,我这行代码兼容所有的浏览器。response.setHeader("Content-Disposition", "attachment;filename*=utf-8'zh_cn'" + fileName);在响应头...
原创
3132阅读
0评论
1点赞
发布博客于 2 年前

JSR 303 - Bean Validation 基本介绍及常用注解

JSR 303 是什么?JSR-303 是 Java EE 6 中的一项子规范,叫做 Bean Validation,官方参考实现是hibernate Validator。JSR 303 能做什么?1.JSR 303 用于对java Bean 中的字段的值进行验证,使得基本的验证逻辑可以从业务代码中脱离出来。2.是一个运行时的数据验证框架,在验证之后验证的错误信息会被马上返回。都有些什么...
原创
856阅读
0评论
2点赞
发布博客于 2 年前

深入理解js闭包

一直觉得js闭包(closure)很神秘,今天就来看看js闭包是什么东西。谈到js闭包,就要说到变量的作用域,js中的变量作用域和java差不多,应该很好理解。一、变量的作用域变量的作用域无非就是两种:全局变量和局部变量。var n = 999;function f1(){  console.log(n);}f1();  //999n作为全局变量,函数内部也能获取到;换言之,...
原创
320阅读
0评论
2点赞
发布博客于 2 年前

五分钟理解什么是vue

做java开发三年来,最开始用的是jsp,后来freemarket,bootstrap等前端框架都用过,当时前端页面、后端代码都要自己写。现在流行前后端分离开发,就更专注后端开发,以api的形式开放接口给前端,不过还是对当前最流行的vue比较感兴趣,分享一个很有意义的视频, 五分钟帮助理解什么是vue.js...
原创
111阅读
0评论
0点赞
发布博客于 3 年前

快速上手设计模式12 - 责任链模式

终于把项目昨晚了,抽时间开始整理行为型的设计模式,责任链模式;责任链模式概述:责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。不是很理解,举个简单的例子:我要请...
原创
70阅读
0评论
0点赞
发布博客于 3 年前

快速上手设计模式12 - 责任链模式

终于把项目昨晚了,抽时间开始整理行为型的设计模式,责任链模式;责任链模式概述:责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。不是很理解,举个简单的例子:我要请...
原创
70阅读
0评论
0点赞
发布博客于 3 年前

javascript基础

JavaScript(Java脚本)是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。简单的说,js能完成前端页面的逻辑操作。举个例子:<script>function displayDate(){ alert(Date());}</script><button type="button" onclick="...
原创
61阅读
0评论
0点赞
发布博客于 3 年前

快速上手设计模式11 - 享元模式

享元模式概念:使用共享对象进而有效地支持大量的细粒度的对象首先理解两个概念:内部状态、外部状态内部状态:在享元对象内部不随外界环境改变而改变的共享部分。外部状态:随着环境的改变而改变,不能够共享的状态就是外部状态。都不懂,很简单:现在有一个画图软件,能画出各种颜色的圆形。我们就可以把圆形作为享元对象,颜色就作为内部状态是可以共享的。首先创建享元类,圆形public cla...
原创
112阅读
0评论
0点赞
发布博客于 3 年前

快速上手设计模式10 - 外观模式

外观模式概念:隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口很好理解的例子:电脑买好了,只需要按“开机”键就开机了,但对系统来讲开机过程其实挺复杂的,这个开机键就是外观模式的接口,而系统内部的复杂操作不需要外界知道。开机过程需要启动主板、CPU、内存/** 主板类 */public class Mainboard { public void startMain...
原创
70阅读
0评论
0点赞
发布博客于 3 年前

快速上手设计模式9 - 组合模式

组合模式概念:将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。例子:网页通常有导航菜单,菜单分为一级菜单、二级菜单、三级菜单甚至更多,此时就适合用组合模式,表示菜单的树形结构。创建菜单类,同时提供引用自身对象的listpublic class Menu { /* 菜单等级 */ String level; /* ...
原创
87阅读
0评论
0点赞
发布博客于 3 年前

快速上手设计模式8 - 装饰模式

装饰模式概念:以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。例子:还是以打官司为例子,不管过程和结果怎么样,我只是签字而已,可是对外我不能跟人说我只是签个字就赢了这个官司,此时我就需要把这全部的事迹请包装公司包装一下,然后由包装公司帮我对外说我是怎么怎么做才赢下的官司。还是先创建接口public interface Sourceable { /* 打官司 */...
原创
93阅读
0评论
0点赞
发布博客于 3 年前

快速上手设计模式7 - 代理模式

代理模式概念:给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。简单的例子:我请代理律师帮忙打官司,他知道法律相关的东西,而我不了解法律,我只知道签字,如果叫我去打官司我肯定打不赢,所以我叫代理律师代替我去打官司。创建接口public interface Sourceable { /* 打官司 */ public void lawsuit();}接口实...
原创
138阅读
0评论
1点赞
发布博客于 3 年前

java常用日志框架介绍

转载自:java常用日志框架介绍java日志概述对于一个应用程序来说日志记录是必不可少的一部分。线上问题追踪,基于日志的业务逻辑统计分析等都离不日志。java领域存在多种日志框架,目前常用的日志框架包括Log4j,Log4j 2,Commons Logging,Slf4j,Logback,Jul。java常用日志框架类别介绍Log4j Apache Log4j是一个基于J...
转载
134阅读
0评论
0点赞
发布博客于 3 年前

快速上手设计模式6 - 桥接模式

桥接模式概念:把抽象化与实现化解耦,使得二者可以独立变化。不懂,举例:每个公司都有电话转接器,每当客户打电话到总台,然后输入对应的分机号,就可以转接到对应工号的电话上了。这里的电话转接器就作为一个桥,起了桥接的作用,这就是桥接模式。首先创建电话接口,声明接电话方法public interface Phone { void sayHello();}然后至少创建两个实现类...
原创
91阅读
0评论
0点赞
发布博客于 3 年前

快速上手设计模式5 - 适配器模式

前面四篇博客已经把五种创建型的设计模式已经整理完,工厂方法模式和抽象工厂模式在我看来其实属于同一类型,详见快速上手设计模式2 - 工厂方法模式与抽象工厂模式 现在开始整理结构型的设计模式。 适配器模式概念:把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。例子:我新买的充电器只能充安卓手机的电,但是我朋友的苹果手机也想充电,如果有一...
原创
138阅读
0评论
0点赞
发布博客于 3 年前

快速上手设计模式4 - 原型模式

概念:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。关键词:拷贝。获取对象不是通过new(类实例化)的方式,而是通过clone(拷贝)的方式最主要的优点:对象创建速度快,显著提升性能。适用场景:直接创建对象需要花费大量的资源,同时该对象需要大量重复的创建。例子:10000人的公司需要统一使用办公电脑,硬件环境每个人都一样,软件环境则根据每个人的需要自行安装。假设每...
原创
82阅读
0评论
0点赞
发布博客于 3 年前

快速上手设计模式3 - 建造者模式

建造者模式概念:将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。不懂?换个解释: 想玩吃鸡,需要一个性能好一点的电脑主机,可是电脑主机有CPU、主板、内存等配件,如果每个配件都单独购买,就要考虑CPU与主板之间有匹配问题,主板与内存条之间也有匹配问题,作为小白的我不知道怎么办。所以商家直接给出了几个主机套装方案,我只需要选择一个套装方案,付钱,然后等装机师傅组装好就能...
原创
136阅读
0评论
0点赞
发布博客于 3 年前

快速上手设计模式2 - 工厂方法模式与抽象工厂模式

工厂方法模式和抽象工厂模式是两个不同的设计模式,但个人认为两种模式放到一起会更容易理解他们。工厂方法模式的概念:定义一个用于创建对象的接口,让子类决定实例化哪一个类,不懂?接着往下看。常见的工厂方法模式有几种:简单工厂、多方法工厂,工厂方法举例:通过工厂方法模式创建并获取一个因特尔CPU对象,假设这个CPU对象的创建过程很复杂。简单(静态)工厂:工厂静态声明了各个产品的创建接口和参...
原创
157阅读
0评论
0点赞
发布博客于 3 年前

快速上手设计模式1 - 单例模式

很久没有写博客了,最近抽时间来温习一下设计模式,首先整理一下最简单最基础的单例模式,它属于创建型的设计模式。废话不多说,直接上干货。概念:保证一个类只存在一个实例,并将这个实例供整个系统访问。常见的单例模式有五种:饿汉式、懒汉式、双重检查锁、静态内部类、枚举类型饿汉式:这个对象很饿、很急,程序加载就创建实例。关键词:staticpublic static class Singlet...
原创
222阅读
0评论
0点赞
发布博客于 3 年前

如何理解数据库事务?我的回答是:

数据库事务(简称‘事务’)数据库事务是指作为单个逻辑工作单元执行的一系列数据库操作事务的特性ACID(Atomicity-原子性;Consistency-一致性;Isolation-隔离性;Durability-持久性)原子性:把整个事务执行看作一个不可再分的原子,也就是整个事务里的操作要么全部执行,要么都不执行(回滚-ROLLBACK)一致性:事务开始前和结束后,数据库原...
原创
2894阅读
0评论
3点赞
发布博客于 3 年前

一分钟了解String、StringBuffer、StringBuilder的区别

对于String和StringBuffer的区别与联系,相信大多数人都知道: String是不可变的,一旦定义就不会改变,重新赋值只是新建了一个String对象。 StringBuffer是可变的,每次改变是对自身进行修改,因此在经常要对字符串进行拼接的情况最好用StringBuffer。 那为什么会有StringBuilder呢? 可以这么理解,StringBuffer和StringBui
原创
320阅读
0评论
2点赞
发布博客于 4 年前

JUnit自动化单元测试(五):参数化测试

要成为JUnit测试高手必不可少的一项技能就是参数化测试了,现在有一个方法根据不同的参数会有不同的结果,为了测试全面如果把所有可能的情况都逐个写出来测试一遍那未免太low了,此时就可以用参数化测试,举个例子:package junit.demo;import static org.junit.Assert.assertEquals;import java.util.Arrays;import
原创
3357阅读
2评论
1点赞
发布博客于 4 年前

JUnit自动化单元测试(四):@RunWith测试套件运行器的使用

一些常用的测试方法前面已经说了,但有人又说了,JUnit为项目里每个类都创建一个对应的测试类,虽然一次能把类里面所有的方法都测试一遍,但是,我一个项目有可能有上千百个类,总不能每个类都点一下进行测试吧。 没错,@RunWith注解就是为了这种情况,我们先声明用套件运行器进行测试,然后把需要进行测试的所有类放进套件(集合)里面,一次就可以把所有类所有方法测试完,也叫打包测试。当我们没有声明的时候默认
原创
7966阅读
2评论
3点赞
发布博客于 4 年前

JUnit自动化单元测试(三):各常用注解和测试函数详细讲解

@Test:将一个方法修饰成一个可测试的方法;只有@Test修饰之后,这个方法才会被JUnit执行。@Test(expected=XXException.class):表示这个方法一定会抛出某个异常;如果没有抛出该异常则测试失败。 //测试代码 @Test(expected = ArithmeticException.class) public void testDiv()
原创
1760阅读
0评论
2点赞
发布博客于 4 年前

JUnit自动化单元测试(二):简单测试实例讲解

自第一篇起,我们现在有了测试类TestCalcuate,默认是这样的package junit.demo;import static org.junit.Assert.*;import org.junit.Test;public class TestCalcuate { @Test public void testAdd() { fail("Not yet im
原创
2521阅读
0评论
1点赞
发布博客于 4 年前

JUnit自动化单元测试(一):生成测试类

废话不多说,直接上步骤。第一步:导入Junit4包到项目中。可以自己到网上下载junit4 jar包,也可以用JDE自带junit测试工具包。以Eclipse为例第二步,创建测试类。现有Calcuate类,要测试其加减乘除四个方法,在该类的包点击右键 new other… ,新建JUnit Test Case, 填好各参数下一步,选择要测试的函数完成。 第三步,生成测试类,可以开始测试
原创
10793阅读
0评论
3点赞
发布博客于 4 年前

一分钟理解自动化单元测试

一直以来都对自动化测试颇有好感,最近利用空闲时间了解了一下,分享给大家。首先科普一下测试界的金字塔。 UI测试表示面向用户的界面测试,也就是外部质量。单元测试表示内部代码的逻辑测试,也就是内部质量。集成/接口测试则是系统各模块间的测试,连接系统内外的测试。根据金字塔,很显然UI测试很重要在金字塔顶端,但是在如今的软件行业,我们应该把测试的重心放到单元测试上,其次再到接口测试,有了底层内部质量的保证
原创
1275阅读
0评论
1点赞
发布博客于 4 年前

一分钟搞懂mysql、oracle、sql server分页查询

假设表db_table里有100条记录,每页展示十条记录,现在分别用mysql、oracle、sql server实现分页查询第二页记录。 mysql:/** * select * from table limit firstIndex,pageSize * 说明:limit后第一个参数为起始下标,第二个参数为需要查询的记录数 * firstIndex:起始下标(从0开始) * pageS
原创
287阅读
0评论
1点赞
发布博客于 4 年前

一分钟理解乐观锁与悲观锁

悲观锁:很悲观,认为每个数据库操作都想修改数据,因此所有数据库操作(增删查改)都加锁。比较安全,能够实时反映完整数据,但是性能较低。 乐观锁:很乐观,认为每个数据库操作都不会冲突(同一时刻不会有另一个线程进行数据库修改操作)。于是就不加锁了,但是简单的这样实现肯定会出问题(万一同一时刻真有另一个线程进行修改操作呢),于是在每次进行数据更新操作时加锁,判断一下此次更新是否只有我一个人操作。较悲观锁性
原创
213阅读
0评论
1点赞
发布博客于 4 年前

数据结构整理(三)map接口

本文由本人对常见map接口下相关实现类进行整理,包括HashMap、HashTable、WeanHashMap、LinkedHashMap、TreeMap用表进行整理,一目了然,方便大家理解各map概念与用法。 是否有序存储形式是否线程同步(安全)是否允许空(null)值是否允许相同元素其他特性HashMap无序数组+链表不同步
原创
285阅读
0评论
0点赞
发布博客于 4 年前

数据结构整理(二)Collection集合接口

本文主要整理Collection集合相关接口。Collection接口下有两个子接口List和Set,本着大家浅显易懂和便于自我整理的思想,本人整理了一个表。List:List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引来访问List中的元素,这类似于Java的数组。Set:不包含重复的元素的Collection,即任意的两个元素e1和e2都有
原创
251阅读
0评论
1点赞
发布博客于 4 年前

数据结构整理(一)Collection与Map

名词解释:Collection:接口,所有集合接口的父接口,提供更具体的子接口(如 Set 和 List)实现;Collections:类,为集合提供服务的工具类;Map:接口,图,不同于集合,以key-value键值对对数据进行存取;Collection与Map关系Collection├ List│ ├ LinkedList│ ├ ArrayList│ └
原创
281阅读
0评论
1点赞
发布博客于 4 年前

JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m

在linux环境下配置项目运行环境时,部署的人员都会分配一下内存,以保证程序正常的运行。其实在开发的时候(window系统),就已经涉及到内存分配了,只是这些参数有默认值,因此一直没有去重视它。 以Myeclipse为例,在Preferences->Java->Installed JREs下面,就有设置jvm内存分配。 这里我们就可以配置内存,一般我们见到的都是-Xms128m -Xmx512m
原创
23719阅读
2评论
4点赞
发布博客于 4 年前

LINUX 20个常用命令

转载自:http://blog.csdn.net/ljianhui/article/details/11100625/从事软件开发工作,或多或少的会与linux或unix操作系统打交道,在工作中总结一些常用的命令还是挺有用的,至少我们知道了他的存在,至于用的时候再百度详细的参数也来得及。1、cd命令 这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,
转载
329阅读
0评论
0点赞
发布博客于 4 年前

单例模式的八种写法比较

原文 http://tianweili.github.io/blog/2015/03/02/singleton-pattern/ 单例模式是最常用到的设计模式之一,熟悉设计模式的朋友对单例模式都不会陌生。一般介绍单例模式的书籍都会提到 饿汉式 和 懒汉式 这两种实现方式。但是除了这两种方式,本文还会介绍其他几种实现单例的方式,让我们来一起看看吧。简介单例模式是一种常用的软件设计模式,其定义是单例
原创
227阅读
0评论
0点赞
发布博客于 4 年前

深入理解编码字符的发展史

1.鼻祖,ascii,7位(bit)范围128计算机发明后,为了在计算机中表示字符,人们制定了一种编码,叫ASCII码。ASCII码由一个字节中的7位(bit)表示,范围是0x00 - 0x7F 共128个字符。2.随之出现扩展ascii,8位范围256后来他们突然发现,如果需要按照表格方式打印这些字符的时候,缺少了“制表符”。于是又扩展了ASCII的定义,使用一个字节的全部...
原创
879阅读
0评论
0点赞
发布博客于 4 年前

从零开始

从零开始从毕业到工作,从实习算起在公司做java开发已经一年多了,十分感谢老大王总的栽培,我在这一年中学到了很多,不管是技术上还是为人处事方面,懂的了更多的东西,也会去思考更多的东西。想了很久,删了很多遍,确实不知道该如何写,仿佛自己的体会很多,一时半会儿写不完,又仿佛所有的感受都不是那么的重要。对于软件开发来说,最重要的还是坚持吧,坚持不断的学习,不断的受挫与实践,才能找到自己的价值所在。从
原创
226阅读
0评论
0点赞
发布博客于 4 年前

Struts MVC与Spring MVC的区别

昨天下午去面试的时候,面试官跟我说:“给我谈谈struts mvc和spring mvc吧”,我谈着谈着就谈到SSH集成去了,回来后想了想,Struts和Spring mvc确实有必要单独分析比较一下。这里本人只做简单的个人的认识,网上相关的资源很多。Struts MVC:①一个类对应一个请求上下文,也就是一个Action请求做出一次响应。②由于第一点,Struts的类是共享的,其属性
原创
766阅读
0评论
1点赞
发布博客于 6 年前

hibernate-CRUD

CRUD是指在做计算处理时的增加(Create)、读取(Retrieve)(重新得到数据)、更新(Update)和删除(Delete)几个单词的首字母简写。主要被用在描述软件系统中数据库或者持久层的基本操作功能。简单理解为数据库的增删查改操作。下面是自己写的一个hibernate工具类,实现CRUD操作,很实用。import java.io.Serializable;imp
原创
412阅读
0评论
1点赞
发布博客于 6 年前

单例模式-singleton

概念:单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。最初动机:对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;又
原创
486阅读
0评论
0点赞
发布博客于 6 年前

hibernate的load和get加载方式的区别分析

在hibernate中我们知道如果要从数据库中得到一个对象,通常有两种方式,一种是通过session.get()方法,另一种就是通过session.load()方法,然后其实这两种方法在获得一个实体对象时是有区别的,这里给大家整理了一下两者的区别。一.load加载方式当使用load方法来得到一个对象时,此时hibernate会使用延迟加载的机制来加载这个对象,即:当我们使用sessi...
原创
525阅读
0评论
0点赞
发布博客于 6 年前

延迟加载

延迟加载(lazy load)是(也称为懒加载)Hibernate3关联关系对象默认的加载方式,延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。可以简单理解为,只有在使用的时候,才会发出sql语句进行查询。Hibernae 的延迟加载是一个非常常用的技术,实体的集合属性默认会被延迟加载,实体所关联的实体默认也会被延迟加载。
转载
535阅读
0评论
0点赞
发布博客于 6 年前

generator class有哪些

元素中的用来为该持久化类的实例生成唯一的标识,hibernate提供了很多内置的实现。increment:由hibernate自动递增生成标识符,用于为long, short或者int类型生成唯一标识。如DB2、SQL Server、MySQL 中的主键生成机制。 这种方式可能产生的问题是:不能在集群下使用。identity :由底层数据库生成标识符(自动增长),返回的标识符是 l
原创
686阅读
0评论
0点赞
发布博客于 6 年前

hibernate-save方法详解

Session的save()方法使一个临时对象转变为持久化对象。例如以下代码保存一个Customer对象: Customer customer = new Customer();customer.setId(new Long(9)); // 为Customer临时对象设置OID是无效的customer.setName("Tom");Session session = s...
原创
3959阅读
3评论
2点赞
发布博客于 6 年前

JDBC连接包

我自己写的一个JDBC连接包,仅适用于mysql
zip
发布资源于 6 年前

struts开发包

Struts开发用到文件操作时所需的jar包,
zip
发布资源于 6 年前

程序员应该遵守的编程原则

好的编程原则跟好的系统设计原则和技术实施原则有着密切的联系。下面的这些编程原则在过去的这些年里让我成为了一名优秀的程序员,我相信,这些原则对任何一个开发人员来说,都能让他的编程能力大幅度的提高,能让他开发出可维护性更强、缺陷更少的程序。 我不要自我重复 — 这也许是在编程开发这最最基本的一个信条,就是要告诉你不要出现重复的代码。我们很多的编程结构之所以存在,就是为了帮助我们消除重复(例如,循环语句
转载
569阅读
0评论
0点赞
发布博客于 6 年前

一目了然解释getName()、getCanonicalName()和getSimpleName()的异同

对于一般的类:getName()和getCanonicalName()返回结果是一样的,都包括了包名getSimpleName()只有类名,没有包名现在来比较getName()和getCanonicalName()的区别对于数组:比如int[]getName()返回的是:[IgetCanonicalName()返回的是:int[]对于内部类:getName(
原创
1767阅读
0评论
0点赞
发布博客于 6 年前

Struts2框架开发-简介

Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的框架,Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架,实现的重点在C(Controller)。而Struts2是在 Struts 和WebWork 的技术基础上进行了合并产品。以WebWork为核心,采用拦截器的机制来处理用户的
原创
704阅读
0评论
0点赞
发布博客于 6 年前

struts2开发基础包

struts2框架开发必须基础jar包,使用时放到项目lib文件夹下面即可
zip
发布资源于 6 年前

struts开发中文乱码问题总结

中文乱码问题一直是程序员最讨厌的问题。我这里分享了几个我在struts框架开发过程中,用JQuery+Ajax传参时的乱码问题和操作数据库时的乱码问题。Ajax用get方式传参都会出现乱码。解决办法:建议大家都用post方式请求,也是一个编程的好习惯。结果返回乱码。在action处理时打印都是正确的,返回Ajax显示出来就乱码了,解决办法:在处理类执行前都把response
原创
777阅读
0评论
1点赞
发布博客于 6 年前

java中使用JSON必须jar包

java中使用JSON必须使用的jar包,
zip
发布资源于 6 年前

静态web表格管理(菜单)

用JQuery简单实现的一个静态web表格管理器
zip
发布资源于 6 年前

JQuery简介

JQuery(JavaScript和查询)是轻量级的js库,其核心理念是write less,do more(写的更少,做的更多)。其实JQuery不难理解,只要懂javascript,jquery很好上手的。使用JQuery需现在jQuery.com官网上下载jQuery库,然后把文件放在项目里面,在jsp、html中引用就可以了Jquery-1.8.0.js然后就可
原创
625阅读
0评论
0点赞
发布博客于 6 年前

Jquery-1.8.0

Jquery-1.8.0.js,使用Jquery需要的jar包,
js
发布资源于 6 年前

jquery1.8线下教程

jquery线下教程,帮助文档,查看也比较方便,
chm
发布资源于 6 年前

W3CSchool线下教程完整版

W3CSchool线下教程完整版,个人比较喜欢,不用联网就能查看,像JDK一样方便。
chm
发布资源于 6 年前

JSON语法-对对象的简单定义

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于阅读和编写,同时也易于机器解析和生成(网络传输速)。...
原创
1092阅读
0评论
0点赞
发布博客于 6 年前

第五届在线编程大赛月赛第一题:完全平方数的个数

给定整数区间[A,B]问其中有多少个完全平方数。 输入格式: 多组数据,包含两个正整数A,B     1输出格式: 每组数据输出一行包含一个整数,表示闭区间[A,B]中包含的完全平方数的个数。 挑战规则: 输入样例 1 1 1 2 3 10 3 3 输出样例: 1 1 2 0题目分析:这道题首先想到的是【A,B】区间从A依次取数判断是否为完全平方数,可是这样很耗时,效率不是
原创
789阅读
0评论
0点赞
发布博客于 6 年前

thread.setDaemon服务线程

定义:守护线程--也称“服务线程”,在没有用户线程可服务时会自动离开。优先级:守护线程的优先级比较低,用于为系统中的其它对象和线程提供服务。设置:通过setDaemon(true)来设置线程为“守护线程”;将一个用户线程设置为守护线程的方式是在线程对象创建之前用线程对象的setDaemon方法。example:垃圾回收线程就是一个经典的守护线程,当我们的程序中不再有任何...
转载
723阅读
0评论
0点赞
发布博客于 6 年前

JAVA中的快捷键

Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+Shift+F :自动排版Ctrl+D: 删除当前行  Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了) Alt+↑ 当前行和上面一行交互位置(同上) Alt+←
转载
1251阅读
0评论
4点赞
发布博客于 6 年前

温故而知新-对象的上转型对象

首先简单解释下什么叫对象的上转型对象:    假设A类是B类的父类,当用子类(B类)创建一个对象b时,并把这个对象b的引用放到父类(A类)的对象a中时,这时就称对象a是对象b的上转型对象。    例如现有A类是B类的父类:      A a;    a=new B();或        A a;    B b=new B();    a=b;    为什么要
原创
905阅读
0评论
1点赞
发布博客于 6 年前

温故而知新-java排序与二分查找

java中自身就有一个函数把数组从小到大排序,也可以用二分查找一个数据是否在一个已排好的数组中。    Array类调用:    public static void sort(double a[])    可以把a数组按升序排序(数组类型有很多,不只是Double)。    Array类调用:    public static void sort(double a[],int
原创
1001阅读
0评论
0点赞
发布博客于 6 年前

温故而知新-冒泡排序

冒泡排序是我们最先接触的排序方法,我简单说下原理:    设待排序元素的个数为n,首先反向比较第n-2个元素和第n-1个元素(第n-1个元素就是最后一个元素,即元素的索引),如果逆序(前一个比后一个大),则将这两个元素交换,反之则不交换;    然后比较第n-3个元素和第n-2个元素,做同样比较处理;    重复此过程直到处理完第0个元素和第一个元素(全部比较完)。    此过程称
原创
781阅读
0评论
1点赞
发布博客于 6 年前

温故而知新-String类

String不算是一种类型,而算是一个类,就是说String不仅可以表示string类型,还有一些自带的方法可以调用。温故而知新,现在给大家总结了String类应该注意的地方。(1)“==”与“equals”的区别。当两字符串用“==”比较时,比较的是引用,就是两字符串在内存中是否存储在同一个地方。而“equals”则是比较两字符串的值。详见代码:{CSDN:CODE:M1m451
原创
869阅读
0评论
0点赞
发布博客于 7 年前

MVC模式编程示例-登录验证(静态)

好,上篇博客分享了本人总结的JSP-Servlet-JavaBean三层架构编程模式的实现思想和基本流程,接下来给大家分享一个MVC编程模式的实现示例-登录验证的过程,这里我仍然用的是静态的验证用户名和密码,连接数据库的过程我其他博客有,这里只是把一个实现过程告诉大家,不多说,见代码:    首先建一个JSP登录页面 MVC_test用户名:密  码
原创
1256阅读
0评论
0点赞
发布博客于 7 年前

MVC三层架构模式编程思想 JSP-Servlet-JavaBean

MVC(Mdodel-View-Controller)编程模式,把一个Java应用分成三层:模型层、视图层、控制层,各层分别实现各层的功能,整个过程见下图就一目了然了。JSP、JavaBean、Servlet三层架构即MVC编程模式是现在我们学习web应用编程的基础思想,上图是经本人总结后做出的图,有不对的地方望各位朋友多提意见。
原创
3516阅读
0评论
4点赞
发布博客于 7 年前

Servlet编程-验证码示例

Servlet编程基本思想我上一篇文章已经说过,这里就不多说了,给大家分享一个用Servlet实现验证码验证的示例。    首先我们需要一个Servlet类:ImageServlet.java来产生验证码并将验证码存放到Session中package myservlet;import java.awt.*;import java.awt.image.*;import j
原创
1108阅读
0评论
1点赞
发布博客于 7 年前

Servlet编程基础概述-MVC控制层

要介绍Servlet有一大堆的文字,相信有的朋友像我一样讨厌看很多文字,我长话短说:    大家有没有总结过,我们用JavaBean编程是实现了把Java代码和JSP文件的HTML代码分开了,但是:我们在Java代码中不能使用JSP内置对象,也就是JavaBean不能使用request、response等对象来接收和传递页面信息,只能实现简单的静态功能。    Servlet就是一个可以动
原创
1664阅读
0评论
1点赞
发布博客于 7 年前

JSP内置对象-request传来的数据中文乱码处理

JSP的内置对象request可以接收从客户端传来的参数信息,即用户提交的信息,但是当requesr获取客户端提交的汉字信息时,会出现乱码(仅限中文)。    我们可以对该汉字字符进行重新编码,很简单,看代码:我们先建一个客户端信息提交页面,提交中文: UserName 现在我们新建一个服务器接收页面用来
原创
1440阅读
0评论
0点赞
发布博客于 7 年前

JavaBean编程思想-读取数据库信息

前面我也说过,JavaBean就是实现了:把html代码和java代码分开,在html只需要调用该java代码就行了,这就叫JavaBean。    现在给大家分享一个具体的示例-读取数据库,下面为具体代码+注释首先我们来看看JDBC(详情见另一篇博客JDBC编程基本)直接连接数据库显示在页面上的情况: 学号姓名院系 <%
原创
1604阅读
1评论
3点赞
发布博客于 7 年前

JavaBean编程基本思想-逻辑业务层

JavaBean是一个Java类,用来实现业务逻辑层。    什么意思?我长话短说:我们知道JSP编程是把Java代码写入html文件中,而JavaBean编程就是把Java代码写在另外一个JAVA类文件中,然后我们只需要在html文件中调用该Java文件就行了,当然所有文件都要在一个项目中。这就叫JavaBean,也就是业务逻辑层的代码。    下面就来给大家展示一个简单的JavaBea
原创
2875阅读
2评论
6点赞
发布博客于 7 年前

C# .NET编程基础-throw异常处理-Email格式检测示例

常用的异常处理有两类try-catch语句和throw语句。    try-catch语句通常用于不可预见的错误出现时的异常处理。    throw语句通常用于只要不满足特定要求时就抛出异常。    下面给大家举个用throw处理Email格式输入不正确的异常示例,Email格式检测对有些朋友来说确实是个问题,Email无非就是一个字符串,所以我们检测Email格式是否正确只需要检查‘
原创
1336阅读
0评论
3点赞
发布博客于 7 年前

C# .net编程基础-try-catch异常处理-阶乘示例

在软件开发过程中,程序异常是十分常见的,也就是我们常说的BUG,因此需要我们对不可预期的异常进行处理。    异常处理其实很简单,最开始我也就得很难,不用怕、真的挺简单的,真正理解了顶多也就一个try-catch语句和throw语句。    try-catch语句用法:try{    语句块1  //可能引发异常的代码}catch(异常类型1 异常对象1){    语句
原创
2610阅读
0评论
0点赞
发布博客于 7 年前

JDBC编程技术基本-数据库访问示例

JDBC(Java DataBase Connectivity standard)是一种可用于执行SQL语句的JavaAPI(Java应用程序接口),使开发人员可以用纯Java语言编写完整的数据库应用程序。通过JDBC,编程人员可以很方便地将SQL语句传送给几乎任何一种数据库。这里我用到的数据库是MYSQL,各种数据库相关操作都是差不多的。    简单的说,JDBC可以完成下面三件事:
原创
1314阅读
1评论
0点赞
发布博客于 7 年前

JSP编程技术5-购物车的实现-session会话对象

session内置对象是JSP编程里很重要的一个对象,通过它-客户端与服务器的连接服务器才能判断客户端当前与服务器的连接状态,才能进一步获取客户端传来的信息。在有多个客户端同时在线的时候就服务器需要session对象来辨别客户端。
原创
1492阅读
0评论
0点赞
发布博客于 7 年前

JSP编程技术4-登录与注销(静态)

运用JSP编程技术实现静态的登录与注销功能,也就是没有链接数据库。这里只希望大家先把我们登录与注销整个过程搞清楚,动态链接数据库下次会演示给大家看。
原创
1204阅读
0评论
2点赞
发布博客于 7 年前

JSP编程技术3-服务器时钟示例

JSP编程就是建立在服务器
原创
990阅读
0评论
0点赞
发布博客于 7 年前

JSP编程技术2-动态标签

JSP编程大多运用在动态网页中,即客户端向服务器发送消息,服务器
原创
843阅读
0评论
0点赞
发布博客于 7 年前

JSP编程技术基础1-JSP运行环境的配置

JSP,Java Server Pages,就是用JAVA语言实现
原创
941阅读
0评论
0点赞
发布博客于 7 年前

JavaScrpit事件处理程序

JavaScript里面还有一个强大的功能就是实现良好的人机交互功能,事件处理
原创
818阅读
0评论
0点赞
发布博客于 7 年前

用CSS与DIV进行网页布局(框架)

CSS代码一般是写在一个.css文件里面,在HTML代码中引用
原创
1270阅读
0评论
1点赞
发布博客于 7 年前

CSS基础

CSS,Cascading Style Sheets的英文缩写,
原创
697阅读
0评论
0点赞
发布博客于 7 年前

HTML基本元素(标记)表

HTML常用基本元素标记表
原创
951阅读
0评论
0点赞
发布博客于 7 年前

JavaScript基础

JavaScript(Java脚本)是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。简单的说,js能完成前端页面的逻辑操作。举个例子:&lt;script&gt;function displayDate(){    alert(Date());}&lt;/script&gt;&lt;button type="button" oncl...
原创
708阅读
0评论
0点赞
发布博客于 7 年前

WEB基本表单及代码(HTML)

由于前两年csdn内容整改导致之前的博客内容排版都错乱了,于是我将内容进行修复,同时放到我的个人博客网站里面,网站才建立不久,很多功能也存在bug,所以暂时不对外开放,欢迎你来吐槽哟。我进大学学的第一个东西就是html(超文本标记语言),简单的理解就是用一个一个的标签,把一个界面所有的东西都展示出来。表单也是一个html标签,不过他允许提交数据到后台,于是,我开始从事web开发。 ...
原创
1924阅读
0评论
0点赞
发布博客于 7 年前